diff --git a/Jenkinsfile b/Jenkinsfile index 2dd18f147..d004f86bc 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -9,7 +9,7 @@ env.TAG = "${env.BUILD_NUMBER}"; switch (branchName){ case branchTest: - env.NODE_ENV = "development"; + env.NODE_ENV = "test"; break; case branchProduction: env.DOCKER_HOST = "tcp://172.16.255.29:2375"; diff --git a/client/client/src/greuge-create/greuge-create.html b/client/client/src/greuge-create/greuge-create.html index 2e8ed2454..ef2f068f1 100644 --- a/client/client/src/greuge-create/greuge-create.html +++ b/client/client/src/greuge-create/greuge-create.html @@ -11,7 +11,7 @@ Add Greuge - + { describe('fireResponse()', () => { it(`should call onResponse()`, () => { - let resposneRes; + let responseRes; controller.onResponse = response => { - resposneRes = response; + responseRes = response; return false; }; let responseRet = controller.fireResponse('answer'); - expect(resposneRes).toEqual({response: 'answer'}); + expect(responseRes).toEqual({response: 'answer'}); expect(responseRet).toEqual(false); }); }); diff --git a/client/item/routes.json b/client/item/routes.json index 1a85e9504..0db762877 100644 --- a/client/item/routes.json +++ b/client/item/routes.json @@ -52,6 +52,15 @@ }, "acl": ["buyer"] }, + { + "url" : "/tax", + "state": "item.card.tax", + "component": "vn-item-tax", + "menu": { + "description": "Tax", + "icon": "folder" + } + }, { "url" : "/history", "state": "item.card.history", diff --git a/client/item/src/item.js b/client/item/src/item.js index ef5846179..504933d06 100644 --- a/client/item/src/item.js +++ b/client/item/src/item.js @@ -8,6 +8,7 @@ import './card/item-card'; import './descriptor/item-descriptor'; import './data/item-data'; import './tags/item-tags'; +import './tax/item-tax'; import './history/item-history'; import './niche/item-niche'; import './botanical/item-botanical'; diff --git a/client/item/src/locale/es.yml b/client/item/src/locale/es.yml index abf9d1859..b96cb64b2 100644 --- a/client/item/src/locale/es.yml +++ b/client/item/src/locale/es.yml @@ -11,6 +11,7 @@ Basic data: Datos básicos History: Historial Item history: Historial del artículo Item tags: Tags del artículo +Tax: IVA Niche: Nicho Picture: Foto Barcode: Código barras @@ -21,4 +22,5 @@ Date: Fecha Preview: Vista previa Clone: Clonar Do you want to clone this item?: ¿Desea clonar este artículo? -Yes, clone: Si, clonar \ No newline at end of file +Yes, clone: Si, clonar +Value: Valor \ No newline at end of file diff --git a/client/item/src/niche/item-niche.html b/client/item/src/niche/item-niche.html index baeb9d910..88206a4a4 100644 --- a/client/item/src/niche/item-niche.html +++ b/client/item/src/niche/item-niche.html @@ -3,11 +3,11 @@ Item Niches - + @@ -34,7 +35,7 @@ margin-medium-left orange icon="add_circle" - ng-if = "niche.showAddIcon" + ng-if = "itemNiche.showAddIcon" ng-click="$ctrl.addNiche()"> diff --git a/client/item/src/niche/item-niche.js b/client/item/src/niche/item-niche.js index f12160483..ae6b25695 100644 --- a/client/item/src/niche/item-niche.js +++ b/client/item/src/niche/item-niche.js @@ -86,6 +86,10 @@ export default class Controller { } }); + if (this.$scope.form.$invalid) { + return this.vnApp.showMessage(this.$translate.instant('Some fields are invalid')); + } + if (repeatedWarehouse) { return this.vnApp.showMessage(this.$translate.instant('The niche must be unique')); } diff --git a/client/item/src/tags/item-tags.html b/client/item/src/tags/item-tags.html index 8f00b0b29..17369ca48 100644 --- a/client/item/src/tags/item-tags.html +++ b/client/item/src/tags/item-tags.html @@ -1,5 +1,43 @@ - - - Item tags - - \ No newline at end of file + + +
+ + + Item tags + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/client/item/src/tags/item-tags.js b/client/item/src/tags/item-tags.js index a390820b7..bdbd8cd48 100644 --- a/client/item/src/tags/item-tags.js +++ b/client/item/src/tags/item-tags.js @@ -1,5 +1,128 @@ import ngModule from '../module'; +class ItemTags { + constructor($http, $scope, $translate, vnApp, params) { + this.$http = $http; + this.$scope = $scope; + this.$translate = $translate; + this.vnApp = vnApp; + this.itemId = params.id; + this.itemTags = []; + this.itemTagsRemoved = []; + this.oldItemTags = {}; + } + + _setIconAdd() { + if (this.itemTags.length) { + this.itemTags.map(element => { + element.showAddIcon = false; + return true; + }); + this.itemTags[this.itemTags.length - 1].showAddIcon = true; + } else { + this.addItemTag(); + } + } + _setDirtyForm() { + if (this.$scope.form) { + this.$scope.form.$setDirty(); + } + } + _unsetDirtyForm() { + if (this.$scope.form) { + this.$scope.form.$setPristine(); + } + } + + removeItemTag(index) { + let item = this.itemTags[index]; + if (item) { + this.itemTags.splice(index, 1); + this._setIconAdd(); + if (item.id) { + this.itemTagsRemoved.push(item.id); + this._setDirtyForm(); + } + } + } + + addItemTag() { + this.itemTags.push({value: null, itemFk: this.item.id, tagFk: null, showAddIcon: true}); + this._setIconAdd(); + } + + _setOlTags(itemTags) { + itemTags.map(tag => { + this.oldItemTags[tag.id] = Object.assign({}, tag); + return tag; + }); + this._setIconAdd(); + } + + _getItemtags() { + let filter = { + where: {itemFk: this.itemId}, + order: "priority ASC", + include: {relation: "tag"} + }; + this.$http.get(`/item/api/ItemTags?filter=${JSON.stringify(filter)}`).then(response => { + this.itemTags = response.data; + this._setOlTags(response.data); + }); + } + + _equalItemTags(tagOld, tagNew) { + return tagOld.tagFk === tagNew.tagFk && tagOld.value === tagNew.value; + } + + submit() { + let codes = []; + let repeatedItemTags = false; + let canSubmit; + let submitObj = { + delete: this.itemTagsRemoved, + create: [], + update: [] + }; + for (let i = 0; i < this.itemTags.length; i++) { + let itemTag = this.itemTags[i]; + let isNewItemTag = itemTag.id === undefined; + + if (itemTag.tagFk && codes.indexOf(itemTag.tagFk) !== -1) { + repeatedItemTags = true; + break; + } + if (itemTag.tagFk) codes.push(itemTag.tagFk); + + if (isNewItemTag && itemTag.tagFk) { + submitObj.create.push(itemTag); + } else if (!isNewItemTag && !this._equalItemTags(this.oldItemTags[itemTag.id], itemTag)) { + submitObj.update.push(itemTag); + } + } + + if (repeatedItemTags) { + return this.vnApp.showMessage(this.$translate.instant('The barcode must be unique')); + } + + canSubmit = submitObj.update.length > 0 || submitObj.create.length > 0 || submitObj.delete.length > 0; + + if (canSubmit) { + return this.$http.post(`/item/api/ItemTags/crudItemTags`, submitObj).then(() => { + this._getItemtags(); + this._unsetDirtyForm(); + }); + } + this.vnApp.showMessage(this.$translate.instant('No changes to save')); + } + + $onInit() { + this._getItemtags(); + } +} +ItemTags.$inject = ['$http', '$scope', '$translate', 'vnApp', '$stateParams']; + ngModule.component('vnItemTags', { - template: require('./item-tags.html') + template: require('./item-tags.html'), + controller: ItemTags }); diff --git a/client/item/src/tax/item-tax.html b/client/item/src/tax/item-tax.html new file mode 100644 index 000000000..9f542fbdf --- /dev/null +++ b/client/item/src/tax/item-tax.html @@ -0,0 +1,24 @@ +
+ + + Item tax + + + + + + + + + + + +
\ No newline at end of file diff --git a/client/item/src/tax/item-tax.js b/client/item/src/tax/item-tax.js new file mode 100644 index 000000000..71a54aa70 --- /dev/null +++ b/client/item/src/tax/item-tax.js @@ -0,0 +1,43 @@ +import ngModule from '../module'; + +export default class Controller { + constructor($stateParams, $http) { + this.$http = $http; + this.$stateParams = $stateParams; + + let filter = { + fields: ['id', 'countryFk', 'taxClassFk'], + include: [{ + relation: 'country', + scope: {fields: ['country']} + }] + }; + + let urlFilter = encodeURIComponent(JSON.stringify(filter)); + let url = `/item/api/Items/${$stateParams.id}/taxes?filter=${urlFilter}`; + $http.get(url).then(json => { + this.taxes = json.data; + }); + + $http.get(`/item/api/TaxClasses`).then(json => { + this.classes = json.data; + }); + } + submit() { + let data = []; + for (let tax of this.taxes) + data.push({id: tax.id, taxClassFk: tax.taxClassFk}); + + let url = `/item/api/Items/${this.$stateParams.id}/updateTaxes`; + this.$http.post(url, data); + } +} +Controller.$inject = ['$stateParams', '$http']; + +ngModule.component('vnItemTax', { + template: require('./item-tax.html'), + controller: Controller, + bindings: { + item: '<' + } +}); diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 4a264e9a9..d6876bf5b 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -137,6 +137,8 @@ export default { createItemButton: `${components.vnFloatButton}`, searchResult: `${components.vnItemProduct} > vn-horizontal > vn-one`, searchResultPreviewButton: `${components.vnItemProduct}:nth-child(1) > vn-horizontal > vn-horizontal > vn-one:nth-child(2) > vn-icon > i`, + searchResultCloneButton: `${components.vnItemProduct} > vn-horizontal > vn-horizontal > vn-one:nth-child(1) > vn-icon > i`, + acceptClonationAlertButton: `vn-dialog.ng-isolate-scope.vn-dialog.shown > div > form > div.buttons > tpl-buttons > button:nth-child(2)`, searchItemInput: `${components.vnTextfield}`, searchButton: `${components.vnSearchBar} > vn-icon-button > button`, closeItemSummaryPreview: 'body > vn-app > vn-vertical > vn-vertical > ui-view > vn-item-list:nth-child(1) > div > vn-dialog > div > button > vn-icon' diff --git a/e2e/paths/item-module/01_item_summary.spec.js b/e2e/paths/item-module/01_item_summary.spec.js index cf8e4e04a..e4142cf60 100644 --- a/e2e/paths/item-module/01_item_summary.spec.js +++ b/e2e/paths/item-module/01_item_summary.spec.js @@ -14,7 +14,7 @@ describe('Item summary path', () => { }); }); - it('should search for the item Gem of Mind', () => { + it('should search for the item Gem of Time', () => { return nightmare .wait(selectors.itemsIndex.searchResult) .type(selectors.itemsIndex.searchItemInput, 'Gem of Time') diff --git a/e2e/paths/item-module/08_item_clone.spec.js b/e2e/paths/item-module/08_item_clone.spec.js new file mode 100644 index 000000000..398bceddf --- /dev/null +++ b/e2e/paths/item-module/08_item_clone.spec.js @@ -0,0 +1,52 @@ +import selectors from '../../helpers/selectors.js'; +import createNightmare from '../../helpers/helpers'; + +describe('Item clone path', () => { + const nightmare = createNightmare(); + + it('should access to the items index by clicking the items button', () => { + return nightmare + .click(selectors.moduleAccessView.itemsSectionButton) + .wait(selectors.itemsIndex.createItemButton) + .parsedUrl() + .then(url => { + expect(url.hash).toEqual('#!/item/list'); + }); + }); + + it('should search for the item Iron Patriot', () => { + return nightmare + .wait(selectors.itemsIndex.searchResult) + .type(selectors.itemsIndex.searchItemInput, 'Iron Patriot') + .click(selectors.itemsIndex.searchButton) + .waitForNumberOfElements(selectors.itemsIndex.searchResult, 1) + .countSearchResults(selectors.itemsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + }); + }); + + it(`should clone the Iron Patriot`, () => { + return nightmare + .waitForTextInElement(selectors.itemsIndex.searchResult, 'Iron Patriot') + .click(selectors.itemsIndex.searchResultCloneButton) + .waitToClick(selectors.itemsIndex.acceptClonationAlertButton) + .waitForURL('tags') + .parsedUrl() + .then(url => { + expect(url.hash).toContain('tags'); + }); + }); + + it('should search for the item Iron Patriot and find two', () => { + return nightmare + .wait(selectors.itemsIndex.searchResult) + .type(selectors.itemsIndex.searchItemInput, 'Iron Patriot') + .click(selectors.itemsIndex.searchButton) + .waitForNumberOfElements(selectors.itemsIndex.searchResult, 2) + .countSearchResults(selectors.itemsIndex.searchResult) + .then(result => { + expect(result).toEqual(2); + }); + }); +}); diff --git a/services/db/01-structure.sql b/services/db/01-structure.sql index 3f08a81d6..0e2c62c27 100644 --- a/services/db/01-structure.sql +++ b/services/db/01-structure.sql @@ -1,74295 +1,74903 @@ --- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) --- --- Host: db.verdnatura.es Database: account --- ------------------------------------------------------ --- 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: `account` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `account` /*!40100 DEFAULT CHARACTER SET utf8 */; - -USE `account`; - --- --- Table structure for table `account` --- - -DROP TABLE IF EXISTS `account`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `account` ( - `id` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`), - CONSTRAINT `account_ibfk_3` FOREIGN KEY (`id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Users allowed to have an account'; -/*!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 `account`.`accountAfterInsert` - AFTER INSERT ON `account` - FOR EACH ROW -BEGIN - UPDATE user SET sync = FALSE - WHERE id = NEW.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 `account`.`accountAfterDelete` - AFTER DELETE ON `account` - FOR EACH ROW -BEGIN - UPDATE user SET sync = FALSE - WHERE id = OLD.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 */ ; - --- --- Table structure for table `accountConfig` --- - -DROP TABLE IF EXISTS `accountConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `accountConfig` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `homedir` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The base folder for users home directories', - `shell` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The default shell', - `min` smallint(6) NOT NULL, - `max` smallint(6) NOT NULL, - `warn` smallint(6) NOT NULL, - `inact` smallint(6) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration parameters for accounts'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `accountDovecot` --- - -DROP TABLE IF EXISTS `accountDovecot`; -/*!50001 DROP VIEW IF EXISTS `accountDovecot`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `accountDovecot` AS SELECT - 1 AS `name`, - 1 AS `password`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `accountLog` --- - -DROP TABLE IF EXISTS `accountLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `accountLog` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `msg` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `pid` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `user` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `host` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `rhost` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `time` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `accountPam` --- - -DROP TABLE IF EXISTS `accountPam`; -/*!50001 DROP VIEW IF EXISTS `accountPam`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `accountPam` AS SELECT - 1 AS `name`, - 1 AS `password`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `ldapConfig` --- - -DROP TABLE IF EXISTS `ldapConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ldapConfig` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `host` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The hostname of LDAP server', - `rdn` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The LDAP user', - `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Base64 encoded password', - `baseDn` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The base DN to do the query', - `filter` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Filter to apply to the query', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='LDAP server configuration parameters'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `mailAlias` --- - -DROP TABLE IF EXISTS `mailAlias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mailAlias` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `alias` varchar(50) CHARACTER SET utf8 NOT NULL, - `isPublic` tinyint(4) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - UNIQUE KEY `alias` (`alias`) -) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail aliases'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `mailAliasAccount` --- - -DROP TABLE IF EXISTS `mailAliasAccount`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mailAliasAccount` ( - `mailAlias` int(10) unsigned NOT NULL, - `account` int(10) unsigned NOT NULL, - PRIMARY KEY (`mailAlias`,`account`), - KEY `account` (`account`), - CONSTRAINT `account` FOREIGN KEY (`account`) REFERENCES `account` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `mailAlias` FOREIGN KEY (`mailAlias`) REFERENCES `mailAlias` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail alias that is assigned to each account'; -/*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, - `domain` varchar(255) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `mailForward` --- - -DROP TABLE IF EXISTS `mailForward`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mailForward` ( - `account` int(10) unsigned NOT NULL, - `forwardTo` varchar(250) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`account`), - CONSTRAINT `mailForward_ibfk_1` FOREIGN KEY (`account`) REFERENCES `account` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail forwarding'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `role` --- - -DROP TABLE IF EXISTS `role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `role` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(14) COLLATE utf8_unicode_ci NOT NULL, - `description` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `hasLogin` tinyint(3) unsigned NOT NULL DEFAULT '0', - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Roles'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `roleInherit` --- - -DROP TABLE IF EXISTS `roleInherit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `roleInherit` ( - `role` int(10) unsigned NOT NULL, - `inheritsFrom` int(10) unsigned NOT NULL, - PRIMARY KEY (`role`,`inheritsFrom`), - KEY `owner_id` (`inheritsFrom`), - CONSTRAINT `roleInherit_ibfk_1` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `roleInherit_ibfk_2` FOREIGN KEY (`inheritsFrom`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Role inheritance'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `roleRole` --- - -DROP TABLE IF EXISTS `roleRole`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `roleRole` ( - `role` int(10) unsigned NOT NULL, - `inheritsFrom` int(10) unsigned NOT NULL, - UNIQUE KEY `role` (`role`,`inheritsFrom`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Calculated role inheritance'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `sambaConfig` --- - -DROP TABLE IF EXISTS `sambaConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sambaConfig` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `host` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The hosname of Samba server', - `sshUser` varchar(30) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The SSH user to connect to servers', - `sshPass` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The SSH password base64 encoded', - `uidBase` int(10) unsigned NOT NULL DEFAULT '10000' COMMENT 'The base for Unix uids', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration parameters for accounts'; -/*!40101 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(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(30) CHARACTER SET utf8 NOT NULL, - `nickname` varchar(127) COLLATE utf8_unicode_ci NOT NULL, - `password` char(64) COLLATE utf8_unicode_ci NOT NULL, - `role` int(10) unsigned NOT NULL DEFAULT '2', - `active` tinyint(1) NOT NULL DEFAULT '1', - `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL, - `lang` char(2) CHARACTER SET utf8 DEFAULT NULL, - `sync` tinyint(4) NOT NULL DEFAULT '0', - `recoverPass` tinyint(3) unsigned NOT NULL DEFAULT '1', - `lastPassChange` datetime DEFAULT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `name` (`name`), - KEY `role` (`role`), - KEY `email` (`email`), - KEY `nickname` (`nickname`), - KEY `lang` (`lang`), - CONSTRAINT `user_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=102551 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; -/*!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 `account`.`userBeforeInsert` - BEFORE INSERT ON `user` - FOR EACH ROW -BEGIN - CALL userCheckName (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 */ ; -/*!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 `account`.`userBeforeUpdate` - BEFORE UPDATE ON `user` - FOR EACH ROW -BEGIN - IF NOT (NEW.`name` <=> OLD.`name`) THEN - CALL userCheckName (NEW.`name`); - END IF; - - IF NOT (NEW.`password` <=> OLD.`password`) THEN - SET NEW.lastPassChange = NOW(); - END IF; - - IF NEW.`sync` <=> OLD.`sync` THEN - SET NEW.`sync` = FALSE; - 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 `userAfterUpdate` - AFTER UPDATE ON `user` - FOR EACH ROW -BEGIN - IF NOT (NEW.`role` <=> OLD.`role`) - THEN - INSERT INTO vn2008.mail SET - `to` = 'jgallego@verdnatura.es', - `reply_to` = 'jgallego@verdnatura.es', - `subject` = 'Rol modificado', - `text` = CONCAT(account.userGetName(), ' ha modificado el rol del usuario ', - NEW.`name`, ' de ', OLD.role, ' a ', NEW.role); - 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 `userConfig` --- - -DROP TABLE IF EXISTS `userConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `userConfig` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `loginKey` varchar(255) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `userPassword` --- - -DROP TABLE IF EXISTS `userPassword`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `userPassword` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `length` tinyint(3) unsigned NOT NULL, - `nAlpha` tinyint(3) unsigned NOT NULL, - `nUpper` tinyint(3) unsigned NOT NULL, - `nDigits` tinyint(3) unsigned NOT NULL, - `nPunct` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Restrictions on user passwords'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `userRole` --- - -DROP TABLE IF EXISTS `userRole`; -/*!50001 DROP VIEW IF EXISTS `userRole`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `userRole` AS SELECT - 1 AS `id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `userView` --- - -DROP TABLE IF EXISTS `userView`; -/*!50001 DROP VIEW IF EXISTS `userView`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `userView` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `active`, - 1 AS `email`, - 1 AS `nickname`, - 1 AS `lang`, - 1 AS `role`, - 1 AS `recoverPass`*/; -SET character_set_client = @saved_cs_client; - --- --- Dumping events for database 'account' --- - --- --- Dumping routines for database 'account' --- -/*!50003 DROP FUNCTION IF EXISTS `passwordGenerate` */; -/*!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 `passwordGenerate`() RETURNS text CHARSET utf8 -BEGIN -/** - * Genera una contraseña aleatoria - * cumpliendo los requisitos mínimos. - * - * @return Generated password +-- MySQL dump 10.16 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) +-- +-- Host: db.verdnatura.es Database: account +-- ------------------------------------------------------ +-- 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: `account` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `account` /*!40100 DEFAULT CHARACTER SET utf8 */; + +USE `account`; + +-- +-- Table structure for table `account` +-- + +DROP TABLE IF EXISTS `account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `account` ( + `id` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + CONSTRAINT `account_ibfk_3` FOREIGN KEY (`id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Users allowed to have an account'; +/*!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 `account`.`accountAfterInsert` + AFTER INSERT ON `account` + FOR EACH ROW +BEGIN + UPDATE user SET sync = FALSE + WHERE id = NEW.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 `account`.`accountAfterDelete` + AFTER DELETE ON `account` + FOR EACH ROW +BEGIN + UPDATE user SET sync = FALSE + WHERE id = OLD.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 */ ; + +-- +-- Table structure for table `accountConfig` +-- + +DROP TABLE IF EXISTS `accountConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `accountConfig` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `homedir` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The base folder for users home directories', + `shell` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The default shell', + `min` smallint(6) NOT NULL, + `max` smallint(6) NOT NULL, + `warn` smallint(6) NOT NULL, + `inact` smallint(6) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration parameters for accounts'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `accountDovecot` +-- + +DROP TABLE IF EXISTS `accountDovecot`; +/*!50001 DROP VIEW IF EXISTS `accountDovecot`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `accountDovecot` ( + `name` tinyint NOT NULL, + `password` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `accountLog` +-- + +DROP TABLE IF EXISTS `accountLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `accountLog` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `msg` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `pid` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `user` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `host` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `rhost` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `time` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `accountPam` +-- + +DROP TABLE IF EXISTS `accountPam`; +/*!50001 DROP VIEW IF EXISTS `accountPam`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `accountPam` ( + `name` tinyint NOT NULL, + `password` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `ldapConfig` +-- + +DROP TABLE IF EXISTS `ldapConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ldapConfig` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `host` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The hostname of LDAP server', + `rdn` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The LDAP user', + `password` varchar(255) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Base64 encoded password', + `baseDn` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The base DN to do the query', + `filter` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Filter to apply to the query', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='LDAP server configuration parameters'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `mailAlias` +-- + +DROP TABLE IF EXISTS `mailAlias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mailAlias` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `alias` varchar(50) CHARACTER SET utf8 NOT NULL, + `isPublic` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `alias` (`alias`) +) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail aliases'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `mailAliasAccount` +-- + +DROP TABLE IF EXISTS `mailAliasAccount`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mailAliasAccount` ( + `mailAlias` int(10) unsigned NOT NULL, + `account` int(10) unsigned NOT NULL, + PRIMARY KEY (`mailAlias`,`account`), + KEY `account` (`account`), + CONSTRAINT `account` FOREIGN KEY (`account`) REFERENCES `account` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `mailAlias` FOREIGN KEY (`mailAlias`) REFERENCES `mailAlias` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail alias that is assigned to each account'; +/*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, + `domain` varchar(255) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `mailForward` +-- + +DROP TABLE IF EXISTS `mailForward`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mailForward` ( + `account` int(10) unsigned NOT NULL, + `forwardTo` varchar(250) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`account`), + CONSTRAINT `mailForward_ibfk_1` FOREIGN KEY (`account`) REFERENCES `account` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Mail forwarding'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `role` +-- + +DROP TABLE IF EXISTS `role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `role` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(14) COLLATE utf8_unicode_ci NOT NULL, + `description` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `hasLogin` tinyint(3) unsigned NOT NULL DEFAULT '0', + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Roles'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `roleInherit` +-- + +DROP TABLE IF EXISTS `roleInherit`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `roleInherit` ( + `role` int(10) unsigned NOT NULL, + `inheritsFrom` int(10) unsigned NOT NULL, + PRIMARY KEY (`role`,`inheritsFrom`), + KEY `owner_id` (`inheritsFrom`), + CONSTRAINT `roleInherit_ibfk_1` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `roleInherit_ibfk_2` FOREIGN KEY (`inheritsFrom`) REFERENCES `role` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Role inheritance'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `roleRole` +-- + +DROP TABLE IF EXISTS `roleRole`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `roleRole` ( + `role` int(10) unsigned NOT NULL, + `inheritsFrom` int(10) unsigned NOT NULL, + UNIQUE KEY `role` (`role`,`inheritsFrom`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Calculated role inheritance'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `sambaConfig` +-- + +DROP TABLE IF EXISTS `sambaConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sambaConfig` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `host` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The hosname of Samba server', + `sshUser` varchar(30) CHARACTER SET utf8 DEFAULT NULL COMMENT 'The SSH user to connect to servers', + `sshPass` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The SSH password base64 encoded', + `uidBase` int(10) unsigned NOT NULL DEFAULT '10000' COMMENT 'The base for Unix uids', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global configuration parameters for accounts'; +/*!40101 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(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(30) CHARACTER SET utf8 NOT NULL, + `nickname` varchar(127) COLLATE utf8_unicode_ci NOT NULL, + `password` char(64) COLLATE utf8_unicode_ci NOT NULL, + `role` int(10) unsigned NOT NULL DEFAULT '2', + `active` tinyint(1) NOT NULL DEFAULT '1', + `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL, + `lang` char(2) CHARACTER SET utf8 DEFAULT NULL, + `sync` tinyint(4) NOT NULL DEFAULT '0', + `recoverPass` tinyint(3) unsigned NOT NULL DEFAULT '1', + `lastPassChange` datetime DEFAULT NULL, + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `name` (`name`), + KEY `role` (`role`), + KEY `email` (`email`), + KEY `nickname` (`nickname`), + KEY `lang` (`lang`), + CONSTRAINT `user_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=102553 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; +/*!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 `account`.`userBeforeInsert` + BEFORE INSERT ON `user` + FOR EACH ROW +BEGIN + CALL userCheckName (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 */ ; +/*!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 `account`.`userBeforeUpdate` + BEFORE UPDATE ON `user` + FOR EACH ROW +BEGIN + IF NOT (NEW.`name` <=> OLD.`name`) THEN + CALL userCheckName (NEW.`name`); + END IF; + + IF NOT (NEW.`password` <=> OLD.`password`) THEN + SET NEW.lastPassChange = NOW(); + END IF; + + IF NEW.`sync` <=> OLD.`sync` THEN + SET NEW.`sync` = FALSE; + 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 `userAfterUpdate` + AFTER UPDATE ON `user` + FOR EACH ROW +BEGIN + IF NOT (NEW.`role` <=> OLD.`role`) + THEN + INSERT INTO vn2008.mail SET + `to` = 'jgallego@verdnatura.es', + `reply_to` = 'jgallego@verdnatura.es', + `subject` = 'Rol modificado', + `text` = CONCAT(account.userGetName(), ' ha modificado el rol del usuario ', + NEW.`name`, ' de ', OLD.role, ' a ', NEW.role); + 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 `userConfig` +-- + +DROP TABLE IF EXISTS `userConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `userConfig` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `loginKey` varchar(255) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `userPassword` +-- + +DROP TABLE IF EXISTS `userPassword`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `userPassword` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `length` tinyint(3) unsigned NOT NULL, + `nAlpha` tinyint(3) unsigned NOT NULL, + `nUpper` tinyint(3) unsigned NOT NULL, + `nDigits` tinyint(3) unsigned NOT NULL, + `nPunct` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Restrictions on user passwords'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `userRole` +-- + +DROP TABLE IF EXISTS `userRole`; +/*!50001 DROP VIEW IF EXISTS `userRole`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `userRole` ( + `id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `userView` +-- + +DROP TABLE IF EXISTS `userView`; +/*!50001 DROP VIEW IF EXISTS `userView`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `userView` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `active` tinyint NOT NULL, + `email` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `lang` tinyint NOT NULL, + `role` tinyint NOT NULL, + `recoverPass` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Dumping events for database 'account' +-- + +-- +-- Dumping routines for database 'account' +-- +/*!50003 DROP FUNCTION IF EXISTS `passwordGenerate` */; +/*!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 `passwordGenerate`() RETURNS text CHARSET utf8 +BEGIN +/** + * Genera una contraseña aleatoria + * cumpliendo los requisitos mínimos. + * + * @return Generated password + */ + DECLARE vMinLength TINYINT(3); + DECLARE vMinAlpha TINYINT(3); + DECLARE vMinUpper TINYINT(3); + DECLARE vMinDigits TINYINT(3); + DECLARE vMinPunct TINYINT(3); + DECLARE vAlpha TINYINT(3) DEFAULT 0; + DECLARE vUpper TINYINT(3) DEFAULT 0; + DECLARE vDigits TINYINT(3) DEFAULT 0; + DECLARE vPunct TINYINT(3) DEFAULT 0; + DECLARE vRandIndex INT; + DECLARE vPwd TEXT DEFAULT ''; + + DECLARE vAlphaChars TEXT DEFAULT 'abcdefghijklmnopqrstuvwxyz'; + DECLARE vUpperChars TEXT DEFAULT 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + DECLARE vDigitChars TEXT DEFAULT '1234567890'; + DECLARE vPunctChars TEXT DEFAULT '!$%&()=.'; + + SELECT length, nAlpha, nUpper, nDigits, nPunct + INTO vMinLength, vMinAlpha, vMinUpper, vMinDigits, vMinPunct FROM userPassword; + + WHILE LENGTH(vPwd) < vMinLength OR vAlpha < vMinAlpha + OR vUpper < vMinUpper OR vDigits < vMinDigits OR vPunct < vMinPunct DO + SET vRandIndex = FLOOR((RAND() * 4) + 1); + + CASE + WHEN vRandIndex = 1 THEN + SET vPwd = CONCAT(vPwd, SUBSTRING(vAlphaChars, FLOOR((RAND() * 26) + 1), 1)); + SET vAlpha = vAlpha + 1; + WHEN vRandIndex = 2 THEN + SET vPwd = CONCAT(vPwd, SUBSTRING(vUpperChars, FLOOR((RAND() * 26) + 1), 1)); + SET vUpper = vUpper + 1; + WHEN vRandIndex = 3 THEN + SET vPwd = CONCAT(vPwd, SUBSTRING(vDigitChars, FLOOR((RAND() * 10) + 1), 1)); + SET vDigits = vDigits + 1; + WHEN vRandIndex = 4 THEN + SET vPwd = CONCAT(vPwd, SUBSTRING(vPunctChars, FLOOR((RAND() * LENGTH(vPunctChars)) + 1), 1)); + SET vPunct = vPunct + 1; + END CASE; + END WHILE; +RETURN vPwd; +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 `toUnixDays` */; +/*!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 `toUnixDays`(vDate DATE) RETURNS int(11) + DETERMINISTIC +BEGIN +/** + * Devuelve el timestamp unix en días de una fecha. + * + * @param vData La fecha + * @return Unix timestamp en días */ - DECLARE vMinLength TINYINT(3); - DECLARE vMinAlpha TINYINT(3); - DECLARE vMinUpper TINYINT(3); - DECLARE vMinDigits TINYINT(3); - DECLARE vMinPunct TINYINT(3); - DECLARE vAlpha TINYINT(3) DEFAULT 0; - DECLARE vUpper TINYINT(3) DEFAULT 0; - DECLARE vDigits TINYINT(3) DEFAULT 0; - DECLARE vPunct TINYINT(3) DEFAULT 0; - DECLARE vRandIndex INT; - DECLARE vPwd TEXT DEFAULT ''; - - DECLARE vAlphaChars TEXT DEFAULT 'abcdefghijklmnopqrstuvwxyz'; - DECLARE vUpperChars TEXT DEFAULT 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; - DECLARE vDigitChars TEXT DEFAULT '1234567890'; - DECLARE vPunctChars TEXT DEFAULT '!$%&()=.'; - - SELECT length, nAlpha, nUpper, nDigits, nPunct - INTO vMinLength, vMinAlpha, vMinUpper, vMinDigits, vMinPunct FROM userPassword; - - WHILE LENGTH(vPwd) < vMinLength OR vAlpha < vMinAlpha - OR vUpper < vMinUpper OR vDigits < vMinDigits OR vPunct < vMinPunct DO - SET vRandIndex = FLOOR((RAND() * 4) + 1); - - CASE - WHEN vRandIndex = 1 THEN - SET vPwd = CONCAT(vPwd, SUBSTRING(vAlphaChars, FLOOR((RAND() * 26) + 1), 1)); - SET vAlpha = vAlpha + 1; - WHEN vRandIndex = 2 THEN - SET vPwd = CONCAT(vPwd, SUBSTRING(vUpperChars, FLOOR((RAND() * 26) + 1), 1)); - SET vUpper = vUpper + 1; - WHEN vRandIndex = 3 THEN - SET vPwd = CONCAT(vPwd, SUBSTRING(vDigitChars, FLOOR((RAND() * 10) + 1), 1)); - SET vDigits = vDigits + 1; - WHEN vRandIndex = 4 THEN - SET vPwd = CONCAT(vPwd, SUBSTRING(vPunctChars, FLOOR((RAND() * LENGTH(vPunctChars)) + 1), 1)); - SET vPunct = vPunct + 1; - END CASE; - END WHILE; -RETURN vPwd; -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 `toUnixDays` */; -/*!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 `toUnixDays`(vDate DATE) RETURNS int(11) - DETERMINISTIC -BEGIN -/** - * Devuelve el timestamp unix en días de una fecha. - * - * @param vData La fecha - * @return Unix timestamp en días - */ - RETURN UNIX_TIMESTAMP(vDate) DIV 86400; -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 `userCheckLogin` */; -/*!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 `userCheckLogin`() RETURNS tinyint(1) - READS SQL DATA - DETERMINISTIC -BEGIN -/** - * Checks that variables @userId and @userName haven't been altered. - * - * @return %TRUE if they are unaltered or unset, otherwise %FALSE - */ - DECLARE vSignature VARCHAR(128); - DECLARE vKey VARCHAR(255); - - IF @userId IS NOT NULL - AND @userName IS NOT NULL - AND @userSignature IS NOT NULL - THEN - SELECT loginKey INTO vKey FROM userConfig; - SET vSignature = util.hmacSha2(256, CONCAT_WS('/', @userId, @userName), vKey); - RETURN vSignature = @userSignature; - END IF; - - RETURN FALSE; -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 `userGetId` */; -/*!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 `USERGETID`() RETURNS int(11) - READS SQL DATA - DETERMINISTIC -BEGIN -/** - * Returns the current user id. - * - * @return The user id - */ - DECLARE vUser INT DEFAULT NULL; - - IF userCheckLogin() - THEN - SET vUser = @userId; - ELSE - SELECT id INTO vUser FROM user - WHERE name = LEFT(USER(), INSTR(USER(), '@') - 1); - END IF; - - RETURN vUser; -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 `userGetMysqlRole` */; -/*!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 `userGetMysqlRole`(vUserName VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 -BEGIN -/** - * A partir de un nombre de usuario devuelve el rol - * de MySQL asociado y con el que deberia autenticarse - * cuando se utilice sistemas de autenticación externos. - * - * @param vUserName El nombre de usuario - * @return El rol de MySQL asociado - */ - DECLARE vRole VARCHAR(255); - - SELECT CONCAT(IF(r.hasLogin, 'z-', ''), r.name) INTO vRole - FROM role r - JOIN user u ON u.role = r.id - WHERE u.name = vUserName; - - RETURN 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 FUNCTION IF EXISTS `userGetName` */; -/*!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 `userGetName`() RETURNS varchar(30) CHARSET utf8 - NO SQL - DETERMINISTIC -BEGIN -/** - * Returns the current user name. - * - * @return The user name - */ - DECLARE vUser VARCHAR(30) DEFAULT NULL; - - IF userCheckLogin() - THEN - SET vUser = @userName; - ELSE - SET vUser = LEFT(USER(), INSTR(USER(), '@') - 1); - END IF; - - RETURN vUser; -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 `userGetNameFromId` */; -/*!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 `userGetNameFromId`(vId INT) RETURNS varchar(30) CHARSET utf8 -BEGIN -/** - * Obtener nombre de usuari a partir de su id - * - * @param vId Id del usuario - * @return Nombre de usuario - */ - DECLARE vName VARCHAR(30); - - SELECT `name` INTO vName - FROM user - WHERE id = vId; - - RETURN vName; -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 `userHasRole` */; -/*!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 `userHasRole`(vRoleName VARCHAR(255)) RETURNS tinyint(1) - DETERMINISTIC -BEGIN -/** - * Comprueba si el usuario actual tiene asociado un rol. - * - * @param vRoleName Nombre del rol a comprobar - * @return %TRUE si tiene el rol, %FALSE en caso contrario - */ - DECLARE vRoleId INT; - - SELECT id INTO vRoleId - FROM role - WHERE `name` = vRoleName COLLATE 'utf8_unicode_ci'; - - RETURN userHasRoleId (vRoleId); -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 `userHasRoleId` */; -/*!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 `userHasRoleId`(vRoleId INT) RETURNS tinyint(1) - DETERMINISTIC -BEGIN -/** - * Comprueba si el usuario actual tiene asociado un rol. - * - * @param vRoleId Identificador del rol a comprobar - * @return %TRUE si tiene el rol, %FALSE en caso contrario - */ - DECLARE vHasRole BOOL DEFAULT FALSE; - - SELECT COUNT(*) > 0 INTO vHasRole - FROM userRole - WHERE id = vRoleId; - - RETURN vHasRole; -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 `privSync` */; -/*!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 `privSync`() -proc: BEGIN -/** - * Sincroniza los permisos de los usuarios 'rol' de MySQL - * en base a la jerarquía de roles. Los usuarios rol resultantes - * de la mezcla de permisos serán nombrados singuiendo el patrón - * z-[nombre_rol]. - * - * Para que el procedimiento funcione debe de existir un usuario - * any@% que se usara como plantilla base. - * - * ¡Atención! Este procedimiento solo debe ser llamado cuando se - * modifiquen los privilegios de MySQL. Si se modifica la jerarquía - * de roles, se debe llamar al procedimiento roleSync() que llama a - * este internamente. - */ - DECLARE vTplUser VARCHAR(255) DEFAULT 'any'; - DECLARE vHost VARCHAR(255) DEFAULT '%'; - DECLARE vPrefix VARCHAR(2) DEFAULT 'z-'; - - DECLARE vTplExists BOOL; - DECLARE vTplHost VARCHAR(255); - DECLARE vPrefixedLike VARCHAR(255); - - -- Comprueba que el usuario plantilla existe - - SELECT COUNT(*) > 0, `Host` - INTO vTplExists, vTplHost - FROM mysql.user - WHERE `User` = vTplUser - LIMIT 1; - - IF NOT vTplExists THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'TEMPLATE_USER_NOT_EXISTS'; - END IF; - - -- Borra todos los privilegios calculados - - SET vPrefixedLike = CONCAT(vPrefix, '%'); - - DELETE FROM mysql.user - WHERE `User` LIKE vPrefixedLike; - - DELETE FROM mysql.db - WHERE `User` LIKE vPrefixedLike; - - DELETE FROM mysql.tables_priv - WHERE `User` LIKE vPrefixedLike; - - DELETE FROM mysql.columns_priv - WHERE `User` LIKE vPrefixedLike; - - DELETE FROM mysql.procs_priv - WHERE `User` LIKE vPrefixedLike; - - DELETE FROM mysql.proxies_priv - WHERE `Proxied_user` LIKE vPrefixedLike; - - -- Tablas temporales - - DROP TEMPORARY TABLE IF EXISTS tRole; - CREATE TEMPORARY TABLE tRole - ENGINE = MEMORY - SELECT - `name` role, - CONCAT(vPrefix, `name`) prefixedRole - FROM role - WHERE hasLogin; - - DROP TEMPORARY TABLE IF EXISTS tRoleInherit; - CREATE TEMPORARY TABLE tRoleInherit - (INDEX (inheritsFrom)) - ENGINE = MEMORY - SELECT - CONCAT(vPrefix, r.`name`) prefixedRole, - ri.`name` inheritsFrom - FROM role r - JOIN roleRole rr ON rr.role = r.id - JOIN role ri ON ri.id = rr.inheritsFrom; - - -- Vueve a crear el usuario - - INSERT INTO mysql.user ( - `User`, - `Host`, - `Password`, - `ssl_type`, - `ssl_cipher`, - `x509_issuer`, - `x509_subject`, - `max_questions`, - `max_updates`, - `max_connections`, - `max_user_connections` - ) - SELECT - r.prefixedRole, - vTplHost, - IF('' != u.`Password`, - u.`Password`, t.`Password`), - IF('' != u.`ssl_type`, - u.`ssl_type`, t.`ssl_type`), - IF('' != u.`ssl_cipher`, - u.`ssl_cipher`, t.`ssl_cipher`), - IF('' != u.`x509_issuer`, - u.`x509_issuer`, t.`x509_issuer`), - IF('' != u.`x509_subject`, - u.`x509_subject`, t.`x509_subject`), - IF(0 != u.`max_questions`, - u.`max_questions`, t.`max_questions`), - IF(0 != u.`max_updates`, - u.`max_updates`, t.`max_updates`), - IF(0 != u.`max_connections`, - u.`max_connections`, t.`max_connections`), - IF(0 != u.`max_user_connections`, - u.`max_user_connections`, t.`max_user_connections`) - FROM tRole r - JOIN mysql.user t - ON t.`User` = vTplUser - AND t.`Host` = vTplHost - LEFT JOIN mysql.user u - ON u.`User` = r.role - AND u.`Host` = vHost; - - INSERT INTO mysql.proxies_priv ( - `User`, - `Host`, - `Proxied_user`, - `Proxied_host`, - `Grantor` - ) - SELECT - '', - vHost, - prefixedRole, - vHost, - CONCAT(prefixedRole, '@', vTplHost) - FROM tRole; - - -- Copia los privilegios globales del usuario - - DROP TEMPORARY TABLE IF EXISTS tUserPriv; - CREATE TEMPORARY TABLE tUserPriv - (INDEX (prefixedRole)) - ENGINE = MEMORY - SELECT - r.prefixedRole, - MAX(u.`Select_priv`) `Select_priv`, - MAX(u.`Insert_priv`) `Insert_priv`, - MAX(u.`Update_priv`) `Update_priv`, - MAX(u.`Delete_priv`) `Delete_priv`, - MAX(u.`Create_priv`) `Create_priv`, - MAX(u.`Drop_priv`) `Drop_priv`, - MAX(u.`Reload_priv`) `Reload_priv`, - MAX(u.`Shutdown_priv`) `Shutdown_priv`, - MAX(u.`Process_priv`) `Process_priv`, - MAX(u.`File_priv`) `File_priv`, - MAX(u.`Grant_priv`) `Grant_priv`, - MAX(u.`References_priv`) `References_priv`, - MAX(u.`Index_priv`) `Index_priv`, - MAX(u.`Alter_priv`) `Alter_priv`, - MAX(u.`Show_db_priv`) `Show_db_priv`, - MAX(u.`Super_priv`) `Super_priv`, - MAX(u.`Create_tmp_table_priv`) `Create_tmp_table_priv`, - MAX(u.`Lock_tables_priv`) `Lock_tables_priv`, - MAX(u.`Execute_priv`) `Execute_priv`, - MAX(u.`Repl_slave_priv`) `Repl_slave_priv`, - MAX(u.`Repl_client_priv`) `Repl_client_priv`, - MAX(u.`Create_view_priv`) `Create_view_priv`, - MAX(u.`Show_view_priv`) `Show_view_priv`, - MAX(u.`Create_routine_priv`) `Create_routine_priv`, - MAX(u.`Alter_routine_priv`) `Alter_routine_priv`, - MAX(u.`Create_user_priv`) `Create_user_priv`, - MAX(u.`Event_priv`) `Event_priv`, - MAX(u.`Trigger_priv`) `Trigger_priv`, - MAX(u.`Create_tablespace_priv`) `Create_tablespace_priv` - FROM tRoleInherit r - JOIN mysql.user u - ON u.`User` = r.inheritsFrom - AND u.`Host`= vHost - GROUP BY r.prefixedRole; - - UPDATE mysql.user u - JOIN tUserPriv t - ON u.`User` = t.prefixedRole - AND u.`Host` = vHost - SET - u.`Select_priv` - = t.`Select_priv`, - u.`Insert_priv` - = t.`Insert_priv`, - u.`Update_priv` - = t.`Update_priv`, - u.`Delete_priv` - = t.`Delete_priv`, - u.`Create_priv` - = t.`Create_priv`, - u.`Drop_priv` - = t.`Drop_priv`, - u.`Reload_priv` - = t.`Reload_priv`, - u.`Shutdown_priv` - = t.`Shutdown_priv`, - u.`Process_priv` - = t.`Process_priv`, - u.`File_priv` - = t.`File_priv`, - u.`Grant_priv` - = t.`Grant_priv`, - u.`References_priv` - = t.`References_priv`, - u.`Index_priv` - = t.`Index_priv`, - u.`Alter_priv` - = t.`Alter_priv`, - u.`Show_db_priv` - = t.`Show_db_priv`, - u.`Super_priv` - = t.`Super_priv`, - u.`Create_tmp_table_priv` - = t.`Create_tmp_table_priv`, - u.`Lock_tables_priv` - = t.`Lock_tables_priv`, - u.`Execute_priv` - = t.`Execute_priv`, - u.`Repl_slave_priv` - = t.`Repl_slave_priv`, - u.`Repl_client_priv` - = t.`Repl_client_priv`, - u.`Create_view_priv` - = t.`Create_view_priv`, - u.`Show_view_priv` - = t.`Show_view_priv`, - u.`Create_routine_priv` - = t.`Create_routine_priv`, - u.`Alter_routine_priv` - = t.`Alter_routine_priv`, - u.`Create_user_priv` - = t.`Create_user_priv`, - u.`Event_priv` - = t.`Event_priv`, - u.`Trigger_priv` - = t.`Trigger_priv`, - u.`Create_tablespace_priv` - = t.`Create_tablespace_priv`; - - DROP TEMPORARY TABLE tUserPriv; - - -- Copia los privilegios a nivel de esquema - - INSERT INTO mysql.db ( - `User`, - `Host`, - `Db`, - `Select_priv`, - `Insert_priv`, - `Update_priv`, - `Delete_priv`, - `Create_priv`, - `Drop_priv`, - `Grant_priv`, - `References_priv`, - `Index_priv`, - `Alter_priv`, - `Create_tmp_table_priv`, - `Lock_tables_priv`, - `Create_view_priv`, - `Show_view_priv`, - `Create_routine_priv`, - `Alter_routine_priv`, - `Execute_priv`, - `Event_priv`, - `Trigger_priv` - ) - SELECT - r.prefixedRole, - vTplHost, - t.`Db`, - MAX(t.`Select_priv`), - MAX(t.`Insert_priv`), - MAX(t.`Update_priv`), - MAX(t.`Delete_priv`), - MAX(t.`Create_priv`), - MAX(t.`Drop_priv`), - MAX(t.`Grant_priv`), - MAX(t.`References_priv`), - MAX(t.`Index_priv`), - MAX(t.`Alter_priv`), - MAX(t.`Create_tmp_table_priv`), - MAX(t.`Lock_tables_priv`), - MAX(t.`Create_view_priv`), - MAX(t.`Show_view_priv`), - MAX(t.`Create_routine_priv`), - MAX(t.`Alter_routine_priv`), - MAX(t.`Execute_priv`), - MAX(t.`Event_priv`), - MAX(t.`Trigger_priv`) - FROM tRoleInherit r - JOIN mysql.db t - ON t.`User` = r.inheritsFrom - AND t.`Host`= vHost - GROUP BY r.prefixedRole, t.`Db`; - - -- Copia los privilegios a nivel de tabla - - INSERT INTO mysql.tables_priv ( - `User`, - `Host`, - `Db`, - `Table_name`, - `Grantor`, - `Timestamp`, - `Table_priv`, - `Column_priv` - ) - SELECT - r.prefixedRole, - vTplHost, - t.`Db`, - t.`Table_name`, - t.`Grantor`, - MAX(t.`Timestamp`), - GROUP_CONCAT(CONCAT(t.`Table_priv`, ',')), - GROUP_CONCAT(CONCAT(t.`Column_priv`, ',')) - FROM tRoleInherit r - JOIN mysql.tables_priv t - ON t.`User` = r.inheritsFrom - AND t.`Host`= vHost - GROUP BY r.prefixedRole, t.`Db`, t.`Table_name`; - - -- Copia los privilegios a nivel de columna - - INSERT INTO mysql.columns_priv ( - `User`, - `Host`, - `Db`, - `Table_name`, - `Column_name`, - `Timestamp`, - `Column_priv` - ) - SELECT - r.prefixedRole, - vTplHost, - t.`Db`, - t.`Table_name`, - t.`Column_name`, - MAX(t.`Timestamp`), - GROUP_CONCAT(CONCAT(t.`Column_priv`, ',')) - FROM tRoleInherit r - JOIN mysql.columns_priv t - ON t.`User` = r.inheritsFrom - AND t.`Host`= vHost - GROUP BY r.prefixedRole, t.`Db`, t.`Table_name`, t.`Column_name`; - - -- Copia los privilegios de los procedimientos - - INSERT IGNORE INTO mysql.procs_priv ( - `User`, - `Host`, - `Db`, - `Routine_name`, - `Routine_type`, - `Grantor`, - `Timestamp`, - `Proc_priv` - ) - SELECT - r.prefixedRole, - vTplHost, - t.`Db`, - t.`Routine_name`, - t.`Routine_type`, - t.`Grantor`, - t.`Timestamp`, - t.`Proc_priv` - FROM tRoleInherit r - JOIN mysql.procs_priv t - ON t.`User` = r.inheritsFrom - AND t.`Host`= vHost; - - -- Libera memoria - - DROP TEMPORARY TABLE - tRole, - tRoleInherit; - - FLUSH PRIVILEGES; -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 `roleGetDescendents` */; -/*!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 `roleGetDescendents`(vRole INT) -BEGIN -/** - * Obtiene los identificadores de todos los subroles - * implementados por un rol (Incluido el mismo). - * - * @param vRole Identificador del rol - * @table tmp.role Subroles implementados por el rol - */ - DECLARE vIsRoot BOOL; - - DROP TEMPORARY TABLE IF EXISTS - tmp.role, parents, childs; - - CREATE TEMPORARY TABLE tmp.role - (UNIQUE (id)) - ENGINE = MEMORY - SELECT vRole AS id; - - CREATE TEMPORARY TABLE parents - ENGINE = MEMORY - SELECT vRole AS id; - - CREATE TEMPORARY TABLE childs - LIKE parents; - - REPEAT - DELETE FROM childs; - INSERT INTO childs - SELECT DISTINCT r.inheritsFrom id - FROM parents p - JOIN roleInherit r ON r.role = p.id - LEFT JOIN tmp.role t ON t.id = r.inheritsFrom - WHERE t.id IS NULL; - - DELETE FROM parents; - INSERT INTO parents - SELECT * FROM childs; - - INSERT INTO tmp.role - SELECT * FROM childs; - - UNTIL ROW_COUNT() <= 0 - END REPEAT; - - -- If it is root all the roles are added - - SELECT COUNT(*) > 0 INTO vIsRoot - FROM tmp.role - WHERE id = 0; - - IF vIsRoot THEN - INSERT IGNORE INTO tmp.role (id) - SELECT id FROM role; - END IF; - - -- Cleaning - - DROP TEMPORARY TABLE - parents, childs; -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 `roleSync` */; -/*!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 `roleSync`() -BEGIN -/** - * Sincroniza la tabla @roleRole con la jerarquía de roles - * actual. Este procedimiento debe ser llamado cada vez que - * se modifique la tabla @roleInherit para que los cambios - * realizados sobre esta sean efectivos. - */ - DECLARE vRoleId INT; - DECLARE vDone BOOL; - - DECLARE cur CURSOR FOR - SELECT id FROM role; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - TRUNCATE TABLE roleRole; - - OPEN cur; - - l: LOOP - SET vDone = FALSE; - FETCH cur INTO vRoleId; - - IF vDone THEN - LEAVE l; - END IF; - - CALL roleGetDescendents (vRoleId); - - INSERT INTO roleRole (role, inheritsFrom) - SELECT vRoleId, id FROM tmp.role; - - DROP TEMPORARY TABLE tmp.role; - END LOOP; - - CLOSE cur; - - CALL privSync(); -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 `userChangePassword` */; -/*!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 `userChangePassword`(vOldPassword VARCHAR(255), vPassword VARCHAR(255)) -BEGIN -/** - * Changes the current user password, if user is in recovery - * mode ignores the current password. - * - * @param vOldPassword The current password - * @param vPassword The new password - */ - DECLARE vPasswordOk BOOL; - - SELECT `password` = MD5(vOldPassword) OR recoverPass - INTO vPasswordOk - FROM user WHERE id = account.userGetId(); - - IF NOT vPasswordOk THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Invalid password'; - END IF; - - CALL userSetPassword (userGetName(), vPassword); -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 `userCheckName` */; -/*!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 `userCheckName`(vUserName VARCHAR(255)) -BEGIN -/** - * Comprueba que el nombre de usuario reune los requisitos - * de sintaxis necesarios, en caso contrario lanza una - * excepción. - * El nombre de usuario solo debe contener letras minúsculas - * o, a partir del segundo carácter, números o subguiones. - */ - IF vUserName NOT REGEXP '^[a-z0-9_]*$' THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'INVALID_USER_NAME'; - 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 `userCheckPassword` */; -/*!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 `userCheckPassword`(vPassword VARCHAR(255)) -BEGIN -/** - * Comprueba si la contraseña cumple los requisitos de seguridad - * establecidos. Lanza una excepción si no se cumplen. - * - * @param vPassword Contraseña a comprobar - */ - DECLARE vChr CHAR(1); - DECLARE vPasswordOk TINYINT; - DECLARE vI TINYINT DEFAULT 1; - DECLARE vNAlpha TINYINT DEFAULT 0; - DECLARE vNUpper TINYINT DEFAULT 0; - DECLARE vNDigits TINYINT DEFAULT 0; - DECLARE vNPunct TINYINT DEFAULT 0; - - WHILE vI <= CHAR_LENGTH(vPassword) - DO - SET vChr = SUBSTRING(vPassword, vI, 1); - - IF vChr REGEXP '[[:alpha:]]' - THEN - SET vNAlpha = vNAlpha+1; - - IF vChr REGEXP '[A-Z]' - THEN - SET vNUpper = vNUpper+1; - END IF; - ELSEIF vChr REGEXP '[[:digit:]]' - THEN - SET vNDigits = vNDigits+1; - ELSEIF vChr REGEXP '[[:punct:]]' - THEN - SET vNPunct = vNPunct+1; - END IF; - - SET vI = vI+1; - END WHILE; - - SELECT - CHAR_LENGTH(vPassword) >= length - AND vNAlpha >= nAlpha - AND vNUpper >= nUpper - AND vNDigits >= nDigits - AND vNPunct >= nPunct - INTO vPasswordOk - FROM userPassword LIMIT 1; - - IF NOT vPasswordOk THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'Password does not meet requirements'; - 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 `userLogin` */; -/*!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 `userLogin`(vUserName VARCHAR(255), vPassword VARCHAR(255)) - READS SQL DATA -BEGIN -/** - * Logs in using the user credentials. - * - * @param vUserName The user name - * @param vPassword The user password - */ - DECLARE vAuthIsOk BOOLEAN DEFAULT FALSE; - - SELECT COUNT(*) = 1 INTO vAuthIsOk FROM user - WHERE name = vUserName - AND password = MD5(vPassword) - AND active; - - IF vAuthIsOk - THEN - CALL userLoginWithName (vUserName); - ELSE - CALL util.throw ('INVALID_CREDENTIALS'); - 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 `userLoginWithName` */; -/*!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 `userLoginWithName`(vUserName VARCHAR(255)) - READS SQL DATA -BEGIN -/** - * Logs in using only the user name. This procedure is - * intended to be executed by users with a high level - * of privileges so that normal users should not have - * execute permissions on it - * - * @param vUserName The user name - */ - DECLARE vUserId INT DEFAULT NULL; - DECLARE vKey VARCHAR(255); - - SELECT id INTO vUserId FROM user - WHERE name = vUserName; - - SELECT loginKey INTO vKey FROM userConfig; - - SET @userId = vUserId; - SET @userName = vUserName; - SET @userSignature = util.hmacSha2(256, CONCAT_WS('/', vUserId, vUserName), vKey); -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 `userLogout` */; -/*!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 `userLogout`() -BEGIN -/** - * Logouts the user. - */ - SET @userId = NULL; - SET @userName = NULL; - SET @userSignature = 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 `userSetPassword` */; -/*!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 `userSetPassword`(vUserName VARCHAR(255), vPassword VARCHAR(255)) -BEGIN -/** - * Cambia la contraseña del usuario pasado como parámetro. - * Solo los administradores deberian de tener privilegios de - * ejecución sobre el procedimiento ya que no solicita la - * contraseña actual del usuario. - * - * @param vUserName Nombre de usuario - * @param vPassword Nueva contraseña - */ - CALL userCheckPassword (vPassword); - - UPDATE user SET - password = MD5(vPassword), - recoverPass = FALSE - WHERE `name` = vUserName; -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: `util` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `util` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -USE `util`; - --- --- Table structure for table `debug` --- - -DROP TABLE IF EXISTS `debug`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `debug` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `connectionId` int(10) unsigned DEFAULT NULL, - `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `host` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `variable` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Log de depuración'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping events for database 'util' --- - --- --- Dumping routines for database 'util' --- -/*!50003 DROP FUNCTION IF EXISTS `capitalizeFirst` */; -/*!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 `capitalizeFirst`(vString VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 - NO SQL - DETERMINISTIC -BEGIN -/** - * Pass the first letter of every word in a string to uppercase. - * - * @param vString String to tranform - * @return Transformed string - */ - DECLARE vNewString VARCHAR(255) DEFAULT ''; - DECLARE vI INT DEFAULT 1; - DECLARE vSpaceIni, vWordIni INT; - DECLARE vLen INT DEFAULT CHAR_LENGTH(vString); - - WHILE vI < vLen - DO - SET vSpaceIni = vI; - - WHILE MID(vString, vI, 1) REGEXP '[[:space:]]' DO - SET vI = vI + 1; - END WHILE; - - SET vWordIni = vI; - SET vI = vWordIni + 1; - - WHILE vI <= vLen AND MID(vString, vI, 1) NOT REGEXP '[[:space:]]' DO - SET vI = vI + 1; - END WHILE; - - SET vNewString = CONCAT(vNewString - ,MID(vString, vSpaceIni, vWordIni - vSpaceIni) - ,UPPER(MID(vString, vWordIni, 1)) - ,MID(vString, vWordIni + 1, vI - vWordIni - 1) - ); - END WHILE; - - RETURN vNewString; -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 `dayEnd` */; -/*!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 `dayEnd`(vDated DATE) RETURNS datetime - NO SQL - DETERMINISTIC -BEGIN -/** - * Formats a date to the end of the day. - * - * @param vDated The date to format - * @return The formatted date - */ - RETURN TIMESTAMP(vDated, '23:59:59'); -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 `firstDayOfMonth` */; -/*!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 `firstDayOfMonth`(vDate DATE) RETURNS date - NO SQL - DETERMINISTIC -BEGIN -/** - * Returns the date formatted to the first day of month. - * - * @param vDate The date to format - * @return The formatted date - */ - RETURN DATE_FORMAT(vDate, '%Y-%m-01'); -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 `hmacSha2` */; -/*!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 `hmacSha2`(`vAlg` SMALLINT, `vMsg` MEDIUMBLOB, `vKey` MEDIUMBLOB) RETURNS varchar(128) CHARSET utf8 - NO SQL - DETERMINISTIC -BEGIN -/** - * HMAC function based on SHA2 vAlgorythms. - */ - DECLARE vHashlen INT UNSIGNED; - DECLARE vOpad, vIpad TINYBLOB; - - CASE vAlg - WHEN 224 THEN SET vHashlen = 64; - WHEN 256 THEN SET vHashlen = 64; - WHEN 384 THEN SET vHashlen = 128; - WHEN 512 THEN SET vHashlen = 128; - ELSE CALL throw ('WRONG_vALGORYTHM_IDENTIFICATOR_USED'); - END CASE; - - IF LENGTH(vKey) > vHashlen THEN - SET vKey = UNHEX(SHA2(vKey, vAlg)); - END IF; - - SET vKey = RPAD(vKey, vHashlen, 0x00); - - SET vIpad = stringXor(vKey, 0x36); - SET vOpad = stringXor(vKey, 0x5C); - - RETURN SHA2(CONCAT(vOpad, UNHEX(SHA2(CONCAT(vIpad, vMsg), vAlg))), vAlg); -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 `lang` */; -/*!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 `lang`() RETURNS char(2) CHARSET utf8 - NO SQL - DETERMINISTIC -BEGIN -/** - * Returns the current language code. - * - * @return The language code - */ - RETURN IFNULL(@lang, SUBSTR(@@lc_messages, 1, 2)); -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 `nextWeek` */; -ALTER DATABASE `util` 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 `nextWeek`(vYearWeek INT) RETURNS int(11) - DETERMINISTIC -BEGIN -/** - * A partir de un perido año/semana en formato AAAASS devuelve el siguiente - * periodo. Esta función trabaja de la misma forma que la función WEEK() en - * modo 3. - */ - DECLARE vYear INT DEFAULT FLOOR(vYearWeek / 100); - - IF vYearWeek < YEARWEEK(CONCAT(vYear, '-12-31'), 3) THEN - RETURN vYearWeek + 1; - ELSE - RETURN ((vYear + 1) * 100) + 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 */ ; -ALTER DATABASE `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `stringXor` */; -/*!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 `stringXor`(vString MEDIUMBLOB, vConst TINYINT UNSIGNED) RETURNS mediumblob - NO SQL - DETERMINISTIC -BEGIN -/** - * Returns XOR of binary string and an 8-bit constant. - */ - DECLARE vLen, vPos INT UNSIGNED; - DECLARE vResult MEDIUMBLOB; - - SET vLen = LENGTH(vString); - SET vPos = 1; - SET vResult = ''; - - WHILE vPos <= vLen DO - SET vResult = CONCAT(vResult, LPAD(HEX( ORD(SUBSTR(vString, vPos, 1)) ^ vConst), 2, '0')); - SET vPos = vPos + 1; - END WHILE; - - RETURN UNHEX(vResult); -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 `today` */; -ALTER DATABASE `util` 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 `today`() RETURNS date - DETERMINISTIC -BEGIN -/** - * Devuelve la fecha actual. Usar en lugar de la función nativa - * CURDATE() en aquellos que se necesite rendimiento ya que la - * la última no es determinista. - * - * @return La fecha actual - */ - RETURN 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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `twoDaysAgo` */; -ALTER DATABASE `util` 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 `twoDaysAgo`() RETURNS date - DETERMINISTIC -BEGIN -/** - * Devuelve la fecha de antes de ayer. - * - * @return La fecha de antes de ayer - */ - RETURN TIMESTAMPADD(DAY, -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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `yearRelativePosition` */; -ALTER DATABASE `util` 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 `yearRelativePosition`(vYear INT) RETURNS varchar(20) CHARSET utf8 - DETERMINISTIC -BEGIN -/** - * Devuelve la posicion del año relativa al año actual. - * Se utiliza como cabecera en informes de balances. - * - * @param vYear Año a evaluar - * @return La posicion relativa del año - */ - DECLARE vCurYear INT DEFAULT YEAR(CURDATE()); - - IF vYear = vCurYear THEN - RETURN 'curYear'; - END IF; - - IF vYear = vCurYear - 1 THEN - RETURN 'lastYear'; - END IF; - - IF vYear = vCurYear - 2 THEN - RETURN 'twoYearsAgo'; - END IF; - - RETURN 'other'; -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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `yesterday` */; -ALTER DATABASE `util` 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 `yesterday`() RETURNS date - DETERMINISTIC -BEGIN -/** - * Devuelve la fecha de ayer. - * - * @return La fecha de ayer - */ - RETURN TIMESTAMPADD(DAY, -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 */ ; -ALTER DATABASE `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `debugAdd` */; -ALTER DATABASE `util` 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 `debugAdd`(vVariable VARCHAR(255), vValue VARCHAR(255)) - MODIFIES SQL DATA -BEGIN -/** - * Añade una entrada de depuración en la tabla @debug. - * - * @param vVariable Nombre de variable - * @param vValue Valor de la variable - */ - DECLARE vIndex INT DEFAULT INSTR(USER(), '@'); - - INSERT INTO debug SET - `connectionId` = CONNECTION_ID(), - `user` = LEFT(USER(), vIndex - 1), - `host` = RIGHT(USER(), CHAR_LENGTH(USER()) - vIndex), - `variable` = vVariable, - `value` = vValue; -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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `exec` */; -/*!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 `exec`(vSqlQuery TEXT) -BEGIN -/** - * Executes a string with an SQL query. - * - * @param vSqlQuery The SQL string - */ - SET @sqlQuery = vSqlQuery; - - PREPARE stmt FROM @sqlQuery; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - SET @sqlQuery = 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 `findObject` */; -ALTER DATABASE `util` 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 `findObject`(vChain VARCHAR(45)) - READS SQL DATA -BEGIN -/** - * Devuelve un listado de todos los procedimientos, funciones - * eventos, disparadores y vistas que inluyen una cadena dada. - * - * @param vChain Cadena a buscar - * @select Listado de objetos - */ - SET vChain = CONCAT('%', vChain, '%'); - - SELECT * FROM - ( - SELECT - `db`, - `name`, - `type`, - `body`, - `created`, - `modified` - FROM `mysql`.`proc` - WHERE `body` LIKE vChain COLLATE utf8_general_ci - UNION ALL - SELECT - `db`, - `name`, - 'EVENT', - `body_utf8`, - `created`, - `modified` - FROM `mysql`.`event` - WHERE `body_utf8` LIKE vChain COLLATE utf8_general_ci - UNION ALL - SELECT - `EVENT_OBJECT_SCHEMA`, - `TRIGGER_NAME`, - 'TRIGGER', - `ACTION_STATEMENT`, - NULL, - NULL - FROM `information_schema`.`TRIGGERS` - WHERE `ACTION_STATEMENT` LIKE vChain COLLATE utf8_general_ci - UNION ALL - SELECT - `TABLE_SCHEMA`, - `TABLE_NAME`, - 'VIEW', - `VIEW_DEFINITION`, - NULL, - NULL - FROM `information_schema`.`VIEWS` - WHERE `VIEW_DEFINITION` LIKE vChain COLLATE utf8_general_ci - ) t - ORDER BY `db`, `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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `throw` */; -/*!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 `throw`(vMessage CHAR(35)) -BEGIN -/** - * Throws a user-defined exception. - * - * @param vMessage The error message - */ - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = vMessage; -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 `warn` */; -ALTER DATABASE `util` 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=`z-developer`@`%` PROCEDURE `warn`(vCode CHAR(35)) -BEGIN - DECLARE w VARCHAR(1) DEFAULT '__'; - SET @warn = vCode; -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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- Current Database: `vn2008` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn2008` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -USE `vn2008`; - --- --- Table structure for table `Agencias` --- - -DROP TABLE IF EXISTS `Agencias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Agencias` ( - `Id_Agencia` int(11) NOT NULL AUTO_INCREMENT, - `Agencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `description` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Vista` int(11) DEFAULT '0', - `m3` double DEFAULT '0', - `cod71` tinyint(3) unsigned DEFAULT '0', - `web` smallint(1) unsigned zerofill NOT NULL DEFAULT '0', - `agency_id` smallint(6) NOT NULL, - `agency_service_id` tinyint(4) NOT NULL DEFAULT '1', - `inflacion` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT 'Este valor se utiliza para aumentar el valor del componente porte.', - `is_volumetric` tinyint(1) NOT NULL DEFAULT '0', - `send_mail` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `show_AgencyName` tinyint(1) DEFAULT '1', - `tpv` tinyint(1) NOT NULL DEFAULT '1', - `externalAgency` tinyint(1) NOT NULL DEFAULT '0', - `flag` blob, - PRIMARY KEY (`Id_Agencia`), - KEY `Agencias` (`Agencia`), - KEY `Vista` (`Vista`) -) ENGINE=InnoDB AUTO_INCREMENT=1112 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Agencias_dits` --- - -DROP TABLE IF EXISTS `Agencias_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Agencias_dits` ( - `idAgencia_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idAgencia_dits`) -) ENGINE=InnoDB AUTO_INCREMENT=15368 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Agencias_province` --- - -DROP TABLE IF EXISTS `Agencias_province`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Agencias_province` ( - `province_id` smallint(6) unsigned NOT NULL, - `agency_id` smallint(5) unsigned NOT NULL, - `zona` tinyint(4) NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - `route` tinyint(4) NOT NULL COMMENT 'Etiqueta zeleris', - PRIMARY KEY (`province_id`,`agency_id`,`warehouse_id`), - KEY `warehouse_id` (`warehouse_id`), - KEY `agency_id` (`agency_id`), - CONSTRAINT `Agencias_province_ibfk_1` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Agencias_province_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Agencias_province_ibfk_3` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_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 `Agencias_zonas` --- - -DROP TABLE IF EXISTS `Agencias_zonas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Agencias_zonas` ( - `Id_Agencia` int(11) NOT NULL, - `zona` tinyint(4) NOT NULL, - `price` double NOT NULL, - `Id_Article` int(10) NOT NULL DEFAULT '71', - `warehouse_id` smallint(6) NOT NULL DEFAULT '1', - `porte_minimo` tinyint(1) NOT NULL DEFAULT '0', - `inflacion` decimal(5,2) NOT NULL DEFAULT '1.00', - PRIMARY KEY (`Id_Agencia`,`zona`,`Id_Article`,`warehouse_id`), - KEY `Id_Article` (`Id_Article`), - CONSTRAINT `Agencias_zonas_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Agencias_zonas_ibfk_2` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`) 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 `Articles` --- - -DROP TABLE IF EXISTS `Articles`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles` ( - `Id_Article` int(11) NOT NULL AUTO_INCREMENT, - `Equivalente` int(11) unsigned DEFAULT NULL, - `Article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Medida` int(10) unsigned DEFAULT NULL, - `Tallos` int(11) DEFAULT '1', - `PVP` double DEFAULT '0', - `Imprimir` tinyint(1) NOT NULL DEFAULT '0', - `Albaranero` tinyint(1) NOT NULL DEFAULT '0', - `iva_group_id` tinyint(4) unsigned NOT NULL DEFAULT '1', - `Familia` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'VT', - `caja` tinyint(1) NOT NULL DEFAULT '0', - `Categoria` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `id_origen` tinyint(2) unsigned NOT NULL, - `do_photo` tinyint(4) NOT NULL DEFAULT '0', - `Foto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Color` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `Nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Codintrastat` int(8) unsigned zerofill DEFAULT NULL, - `Min` tinyint(1) NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `offer` tinyint(4) NOT NULL DEFAULT '0', - `bargain` tinyint(4) NOT NULL DEFAULT '0', - `comments` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'renombrar: reference', - `tipo_id` smallint(5) unsigned NOT NULL, - `generic` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', - `producer_id` mediumint(3) unsigned DEFAULT NULL, - `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `density` double NOT NULL DEFAULT '167' COMMENT 'Almacena la densidad en kg/m3 para el calculo de los portes, si no se especifica se pone por defecto la del tipo en un trigger', - `relevancy` tinyint(1) NOT NULL DEFAULT '0', - `expenceFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '7001000000', - PRIMARY KEY (`Id_Article`), - KEY `Article` (`Article`), - KEY `Color` (`Color`), - KEY `id_origen` (`id_origen`), - KEY `Codintrastat` (`Codintrastat`), - KEY `iva_group_id` (`iva_group_id`), - KEY `tipo_id` (`tipo_id`), - KEY `producer_id` (`producer_id`), - KEY `expenceFk_idx` (`expenceFk`), - CONSTRAINT `Articles_ibfk_1` FOREIGN KEY (`id_origen`) REFERENCES `Origen` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Articles_ibfk_2` FOREIGN KEY (`Codintrastat`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE, - CONSTRAINT `Articles_ibfk_4` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_id`) ON UPDATE CASCADE, - CONSTRAINT `Articles_ibfk_5` FOREIGN KEY (`tipo_id`) REFERENCES `Tipos` (`tipo_id`) ON UPDATE CASCADE, - CONSTRAINT `expenceFk` FOREIGN KEY (`expenceFk`) REFERENCES `Gastos` (`Id_Gasto`) ON UPDATE CASCADE, - CONSTRAINT `producer_id` FOREIGN KEY (`producer_id`) REFERENCES `producer` (`producer_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=301415 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 `vn2008`.`ArticlesBeforeInsert` - BEFORE INSERT ON `Articles` FOR EACH ROW -BEGIN - DECLARE vDensity DOUBLE; - DECLARE vInsertId INT; - - IF NEW.density IS NULL - THEN - SELECT density INTO vDensity - FROM Tipos WHERE tipo_id = NEW.tipo_id; - - SET NEW.density = vDensity; - END IF; - - IF NEW.Foto IS NULL - THEN - SELECT `auto_increment` INTO vInsertId - FROM `information_schema`.TABLES - WHERE `table_name` = 'Articles' - AND `table_schema` = DATABASE(); - - SET NEW.Foto = vInsertId; - 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 `vn2008`.`Articles_AFTER_INSERT` AFTER INSERT ON `Articles` FOR EACH ROW -BEGIN - - CALL itemTagArrangedUpdate(NEW.Id_Article); - - INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) - SELECT NEW.Id_Article, 1, NEW.iva_group_id; - - INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) - SELECT NEW.Id_Article, 5, NEW.iva_group_id; - - INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) - SELECT NEW.Id_Article, 30, NEW.iva_group_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 `vn2008`.`Articles_AFTER_UPDATE` AFTER UPDATE ON `Articles` FOR EACH ROW -BEGIN - - CALL itemTagArrangedUpdate(NEW.Id_Article); - -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 `Articles_PVP` --- - -DROP TABLE IF EXISTS `Articles_PVP`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles_PVP` ( - `Id_Article` int(11) NOT NULL, - `PVP` double DEFAULT NULL, - `Id_Cliente` int(11) NOT NULL, - `Fecha` date NOT NULL, - KEY `id_article_pvp_idx` (`Id_Article`), - KEY `id_cliente_pvp_idx` (`Id_Cliente`), - CONSTRAINT `id_article_pvp` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `id_cliente_pvp` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los precios para etiquetar los articulos a los clientes'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Articles_botanical` --- - -DROP TABLE IF EXISTS `Articles_botanical`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles_botanical` ( - `Id_Article` int(11) NOT NULL, - `botanical` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `genus_id` mediumint(8) unsigned DEFAULT NULL, - `specie_id` mediumint(8) unsigned DEFAULT NULL, - PRIMARY KEY (`Id_Article`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sustituye a antiguo NomBotanic de Articles'; -/*!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 `Articles_botanical_bi` BEFORE INSERT ON `Articles_botanical` FOR EACH ROW -BEGIN - IF NEW.botanical = '' THEN - SET NEW.botanical = 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 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 `Articles_botanical_bu` BEFORE UPDATE ON `Articles_botanical` FOR EACH ROW -BEGIN - IF NEW.botanical = '' THEN - SET NEW.botanical = 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 `Articles_dits` --- - -DROP TABLE IF EXISTS `Articles_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles_dits` ( - `idArticles_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idArticles_dits`), - KEY `fgkey1_idx` (`idaccion_dits`), - KEY `fgkey2_idx` (`Id_Ticket`), - KEY `fgkey3_idx` (`Id_Trabajador`) -) ENGINE=InnoDB AUTO_INCREMENT=19702 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Articles_nicho` --- - -DROP TABLE IF EXISTS `Articles_nicho`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles_nicho` ( - `Id_Article` int(11) NOT NULL AUTO_INCREMENT, - `warehouse_id` smallint(6) unsigned NOT NULL DEFAULT '1', - `nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `modificationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`Id_Article`,`warehouse_id`), - KEY `Articles_nicho_wh_fk` (`warehouse_id`), - CONSTRAINT `Articles_nicho_wh_fk` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Articles_nichos_fk` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=296923 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Articles_old` --- - -DROP TABLE IF EXISTS `Articles_old`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Articles_old` ( - `Id_Article` int(11) NOT NULL DEFAULT '0', - `Equivalente` int(11) unsigned DEFAULT NULL, - `Article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Medida` int(10) unsigned DEFAULT NULL, - `Tallos` int(11) DEFAULT '1', - `PVP` double DEFAULT '0', - `Imprimir` tinyint(1) NOT NULL DEFAULT '0', - `Albaranero` tinyint(1) NOT NULL DEFAULT '0', - `iva_group_id` tinyint(4) unsigned NOT NULL DEFAULT '1', - `Familia` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'VT', - `caja` tinyint(1) NOT NULL DEFAULT '0', - `Categoria` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `id_origen` tinyint(2) unsigned NOT NULL, - `do_photo` tinyint(4) NOT NULL DEFAULT '0', - `Foto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Color` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `Nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Codintrastat` int(8) unsigned zerofill DEFAULT NULL, - `Min` tinyint(1) NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `offer` tinyint(4) NOT NULL DEFAULT '0', - `bargain` tinyint(4) NOT NULL DEFAULT '0', - `comments` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'renombrar: reference', - `tipo_id` smallint(5) unsigned NOT NULL, - `generic` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', - `producer_id` mediumint(3) unsigned DEFAULT NULL, - `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Baldas` --- - -DROP TABLE IF EXISTS `Baldas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Baldas` ( - `Id_Estanterias` int(11) NOT NULL, - `Id_Baldas` int(11) NOT NULL, - `h` int(11) NOT NULL, - PRIMARY KEY (`Id_Estanterias`,`Id_Baldas`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Bancos` --- - -DROP TABLE IF EXISTS `Bancos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Bancos` ( - `Id_Banco` int(11) NOT NULL DEFAULT '0', - `Banco` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `cash` smallint(6) NOT NULL DEFAULT '0', - `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', - `entity_id` int(10) unsigned NOT NULL, - `activo` tinyint(4) NOT NULL DEFAULT '1', - PRIMARY KEY (`Id_Banco`), - KEY `BancosBanco` (`Banco`), - KEY `fk_Bancos_entity1_idx` (`entity_id`), - KEY `foreignkey1_idx` (`cash`), - CONSTRAINT `foreignkey1` FOREIGN KEY (`cash`) REFERENCES `vn`.`accountingType` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Apunta a la vista vn.Accounting\nLa columna cash es la FK de vn.AccountingType'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Bancos_poliza` --- - -DROP TABLE IF EXISTS `Bancos_poliza`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Bancos_poliza` ( - `poliza_id` int(11) NOT NULL AUTO_INCREMENT, - `referencia` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `importe` double NOT NULL, - `com_dispuesto` double DEFAULT NULL, - `com_no_dispuesto` double DEFAULT NULL, - `com_anual` double DEFAULT NULL, - `apertura` date NOT NULL, - `cierre` date DEFAULT NULL, - `Id_Banco` int(11) NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - PRIMARY KEY (`poliza_id`), - KEY `Id_Banco_Poliza_idx` (`Id_Banco`), - KEY `Id_Poliza_Empresa_idx` (`empresa_id`), - CONSTRAINT `Id_Banco_Poliza` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `Id_Poliza_Empresa` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lineas de credito asociadas a cuentas corrientes'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Brasa` --- - -DROP TABLE IF EXISTS `Brasa`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Brasa` ( - `Id_Cliente` int(10) unsigned NOT NULL DEFAULT '0', - `Cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Vista` int(10) unsigned NOT NULL DEFAULT '0', - `Reg` bigint(21) unsigned NOT NULL DEFAULT '0', - `Consumo` double NOT NULL, - `Grupo` int(10) unsigned NOT NULL, - PRIMARY KEY (`Id_Cliente`), - KEY `Index_1` (`Id_Cliente`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Cajas` --- - -DROP TABLE IF EXISTS `Cajas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Cajas` ( - `Id_Caja` int(11) NOT NULL AUTO_INCREMENT, - `Cajafecha` date NOT NULL, - `Partida` tinyint(1) NOT NULL DEFAULT '0', - `Serie` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `Numero` int(11) DEFAULT NULL, - `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Entrada` decimal(10,2) DEFAULT NULL, - `Salida` decimal(10,2) DEFAULT NULL, - `Id_Banco` int(11) DEFAULT '1', - `Id_Trabajador` int(11) DEFAULT NULL, - `empresa_id` smallint(5) unsigned DEFAULT NULL COMMENT 'kakear', - `linked` tinyint(4) DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `ok` tinyint(4) NOT NULL DEFAULT '0', - `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1' COMMENT 'to kak\n', - `conciliado` int(2) NOT NULL DEFAULT '0', - `Proveedores_account_Id` mediumint(8) unsigned NOT NULL, - `id_calculated` varchar(90) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Caja`), - UNIQUE KEY `id_calculated_UNIQUE` (`id_calculated`), - KEY `CajasCajafecha` (`Cajafecha`), - KEY `Id_Banco` (`Id_Banco`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `empresa_id` (`empresa_id`), - KEY `warehouse_id` (`warehouse_id`), - KEY `fk_Cajas_Proveedores_account1_idx` (`Proveedores_account_Id`), - CONSTRAINT `Cajas_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=554756 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 `vn2008`.`CajasBeforeInsert` BEFORE INSERT ON `Cajas` FOR EACH ROW -BEGIN - IF IFNULL(NEW.Concepto,"") = "" THEN - CALL util.throw ('Error. El concepto esta vacío'); - 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 `Cajas eliminadas` --- - -DROP TABLE IF EXISTS `Cajas eliminadas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Cajas eliminadas` ( - `Id_Caja` int(11) NOT NULL DEFAULT '0', - `Cajafecha` datetime DEFAULT NULL, - `Partida` tinyint(1) NOT NULL DEFAULT '0', - `Serie` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `Numero` int(11) DEFAULT NULL, - `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Entrada` double DEFAULT NULL, - `Salida` double DEFAULT NULL, - PRIMARY KEY (`Id_Caja`), - KEY `CajasCajafecha` (`Cajafecha`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Clases` --- - -DROP TABLE IF EXISTS `Clases`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clases` ( - `Id_Clase` int(11) NOT NULL DEFAULT '0', - `Clase` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Clase`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Clientes` --- - -DROP TABLE IF EXISTS `Clientes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes` ( - `id_cliente` int(11) NOT NULL AUTO_INCREMENT, - `cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `descuento` tinyint(3) unsigned NOT NULL DEFAULT '0', - `default_address` int(11) DEFAULT NULL, - `domicilio` longtext COLLATE utf8_unicode_ci, - `if` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, - `telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `fax` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL, - `e-mail` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL, - `cc` varchar(23) COLLATE utf8_unicode_ci DEFAULT NULL, - `vencimiento` smallint(6) NOT NULL DEFAULT '5', - `recibo` int(11) DEFAULT '1' COMMENT 'Deprecated', - `oficial` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Deprecated', - `contabilizado` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', - `movil` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cuenta` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `RE` tinyint(1) NOT NULL DEFAULT '0', - `poblacion` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, - `province_id` smallint(5) unsigned DEFAULT NULL, - `codPostal` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL, - `razonSocial` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, - `contacto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `mayorista` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', - `reexpedicion` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', - `invoice` tinyint(1) NOT NULL DEFAULT '1', - `notas` text COLLATE utf8_unicode_ci COMMENT 'Deprecated', - `notas_administracion` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'Deprecated', - `copiaFactura` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', - `retener` tinyint(1) NOT NULL DEFAULT '0', - `congelado` tinyint(1) NOT NULL DEFAULT '0', - `Id_Trabajador` int(11) DEFAULT NULL, - `credito` decimal(10,2) NOT NULL DEFAULT '0.00', - `cyc` double DEFAULT NULL, - `Id_Pais` mediumint(8) unsigned NOT NULL DEFAULT '1', - `activo` tinyint(1) NOT NULL DEFAULT '1', - `gestdoc_id` int(11) DEFAULT NULL, - `calidad` int(2) DEFAULT '11', - `pay_met_id` tinyint(3) unsigned NOT NULL DEFAULT '5', - `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `mail` tinyint(1) NOT NULL DEFAULT '1', - `chanel_id` smallint(6) DEFAULT NULL, - `vies` tinyint(4) NOT NULL DEFAULT '0', - `split_holland` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'eliminar', - `sepaFth` tinyint(1) DEFAULT '0' COMMENT 'campo para recibir los escritos de los clientes para el sepa', - `sepaVnl` tinyint(1) DEFAULT '0', - `coreFth` tinyint(1) DEFAULT '0', - `coreVnl` tinyint(1) DEFAULT '0', - `risk_calculated` date NOT NULL, - `coreVnh` tinyint(1) DEFAULT '0', - `real` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Define los clientes cuyas ventas hay que tener en cuenta en los calculos estadisticos.', - `clientes_tipo_id` int(11) NOT NULL DEFAULT '1', - `postcode_id` int(11) unsigned DEFAULT NULL, - `mail_address` int(11) DEFAULT NULL, - `codpos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `creditInsurance` int(11) DEFAULT NULL, - `EYPBC` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Email\nYesterday\nPurchases\nBy\nConsigna', - `invoiceByAddress` tinyint(1) DEFAULT '0', - `cplusTerIdNifFk` int(11) NOT NULL DEFAULT '1' COMMENT 'OBSOLETO', - `isCreatedAsServed` tinyint(1) DEFAULT '0', - `hasInvoiceSimplified` tinyint(1) NOT NULL DEFAULT '0', - `iban` varchar(45) CHARACTER SET utf8 DEFAULT NULL, - PRIMARY KEY (`id_cliente`), - UNIQUE KEY `IF` (`if`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `Id_Pais` (`Id_Pais`), - KEY `pay_met_id` (`pay_met_id`), - KEY `canal_nuevo_cliente` (`chanel_id`), - KEY `Cuenta` (`Cuenta`), - KEY `province_id` (`province_id`), - KEY `default_address` (`default_address`), - KEY `Telefono` (`telefono`), - KEY `movil` (`movil`), - KEY `tipos_de_cliente_idx` (`clientes_tipo_id`), - KEY `codpos` (`codpos`,`codPostal`), - CONSTRAINT `Clientes_ibfk_1` FOREIGN KEY (`Id_Pais`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, - CONSTRAINT `Clientes_ibfk_2` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Clientes_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Clientes_ibfk_4` FOREIGN KEY (`default_address`) REFERENCES `Consignatarios` (`id_consigna`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Clientes_ibfk_5` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE, - CONSTRAINT `canal_nuevo_cliente` FOREIGN KEY (`chanel_id`) REFERENCES `chanel` (`chanel_id`) ON UPDATE CASCADE, - CONSTRAINT `tipos_de_cliente` FOREIGN KEY (`clientes_tipo_id`) REFERENCES `clientes_tipo` (`clientes_tipo_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=10185 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 `ClientesBeforeInsert` - BEFORE INSERT ON `Clientes` - FOR EACH ROW -BEGIN - DECLARE isAlreadyUsedIf BOOL; - - SELECT COUNT(*) INTO isAlreadyUsedIf - FROM Clientes - WHERE `IF` = TRIM(NEW.`IF`); - - IF isAlreadyUsedIf THEN - CALL util.throw ('Error. El NIF/CIF está repetido'); - END IF; - - CALL pbx.phoneIsValid (NEW.telefono); - CALL pbx.phoneIsValid (NEW.movil); - CALL pbx.phoneIsValid (NEW.fax); - - SET NEW.cuenta = 4300000000 + NEW.Id_Cliente; - - IF NEW.pay_met_id = 4 AND NEW.Vencimiento = 0 THEN - SET NEW.Vencimiento = 5; - 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 `vn2008`.`ClientesAfterInsert` - AFTER INSERT ON `vn2008`.`Clientes` - FOR EACH ROW -BEGIN - INSERT INTO Consignatarios SET - Id_Cliente = NEW.Id_Cliente, - Domicilio = NEW.domicilio, - Poblacion = NEW.POBLACION, - province_id = NEW.province_id, - Codpostal = NEW.CODPOSTAL, - Consignatario = NEW.Cliente, - Predeterminada = TRUE, - Id_Agencia = 2, - isEqualizated = NEW.RE; -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 `ClientesBeforeUpdate` - BEFORE UPDATE ON `Clientes` - FOR EACH ROW -BEGIN - DECLARE vText VARCHAR(255) DEFAULT NULL; - DECLARE isAlreadyUsedIf BOOLEAN; - - SELECT (COUNT(*) > 1) INTO isAlreadyUsedIf - FROM Clientes - WHERE `IF` = TRIM(NEW.`IF`); - - IF isAlreadyUsedIf THEN - CALL util.throw ('Error. El NIF/CIF está repetido'); - END IF; - - -- Comprueba que el formato de los teléfonos es válido - - IF !(NEW.telefono <=> OLD.telefono) THEN - CALL pbx.phoneIsValid (NEW.telefono); - END IF; - - IF !(NEW.movil <=> OLD.movil) THEN - CALL pbx.phoneIsValid (NEW.movil); - END IF; - - IF !(NEW.fax <=> OLD.fax) THEN - CALL pbx.phoneIsValid (NEW.fax); - END IF; - - -- Actualiza el log del crédito - - IF !(NEW.Credito <=> OLD.Credito) AND IFNULL(NEW.Credito, 0) >= 0 - THEN - INSERT INTO credit SET - Id_Cliente = NEW.Id_Cliente, - amount = NEW.Credito, - Id_Trabajador = vn.getWorker(); - END IF; - - -- Avisar al comercial si ha llegado la documentación sepa/core - - IF NEW.sepavnl AND !OLD.sepavnl THEN - SET vText = 'Sepa de VNL'; - END IF; - - IF NEW.corevnl AND !OLD.corevnl THEN - SET vText = 'Core de VNL'; - END IF; - - IF vText IS NOT NULL - THEN - INSERT INTO mail(`to`, reply_to, subject, text) - SELECT - CONCAT(IF(ac.id,name, 'jgallego'), '@verdnatura.es'), - 'administracion@verdnatura.es', - CONCAT('Cliente ', NEW.Id_Cliente), - CONCAT('Recibida la documentación: ', vText) - FROM Trabajadores t - LEFT JOIN account.user u ON t.user_id = u.id AND active - LEFT JOIN account.account ac ON ac.id = u.id - WHERE t.Id_Trabajador = NEW.Id_Trabajador; - 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 `Clientes_cedidos` --- - -DROP TABLE IF EXISTS `Clientes_cedidos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes_cedidos` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL, - `Id_Trabajador_old` int(11) NOT NULL, - `Id_Trabajador_new` int(11) NOT NULL, - `datSTART` date NOT NULL, - `datEND` date NOT NULL, - `comision_old` double NOT NULL DEFAULT '0.5', - `comision_new` double NOT NULL DEFAULT '0.5', - PRIMARY KEY (`id`), - KEY `trabajador_fk_idx` (`Id_Trabajador_old`), - KEY `new_trabajador_fk_idx` (`Id_Trabajador_new`), - KEY `cliente_cedido_fk_idx` (`Id_Cliente`), - CONSTRAINT `cliente_cedido_fk` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `new_trabajador_fk` FOREIGN KEY (`Id_Trabajador_new`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `trabajador_fk` FOREIGN KEY (`Id_Trabajador_old`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Clientes que se han cambiado de comercial, pero durante un tiempo comisionan a los dos, al anterior y al actual'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Clientes_dits` --- - -DROP TABLE IF EXISTS `Clientes_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes_dits` ( - `idClientes_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idClientes_dits`), - KEY `idaccion_dits` (`idaccion_dits`), - CONSTRAINT `Clientes_dits_ibfk_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=71641 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Clientes_empresa` --- - -DROP TABLE IF EXISTS `Clientes_empresa`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes_empresa` ( - `Id_Clientes_empresa` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL, - `fecha_ini` date NOT NULL, - `fecha_fin` date NOT NULL, - PRIMARY KEY (`Id_Clientes_empresa`), - KEY `empresa_id_idx` (`empresa_id`), - CONSTRAINT `empresa_id` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=470498 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Empresa por defecto para crear los tickets'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Clientes_event` --- - -DROP TABLE IF EXISTS `Clientes_event`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes_event` ( - `Id_Cliente` int(11) NOT NULL, - `quantity` tinyint(3) unsigned NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`Id_Cliente`), - CONSTRAINT `Clientes_event_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `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 `Clientes_potenciales` --- - -DROP TABLE IF EXISTS `Clientes_potenciales`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Clientes_potenciales` ( - `id` int(11) NOT NULL, - `PAIS` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `ACTIVIDAD` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `NOMBRE` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `PROVINCIA` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, - `POBLACION` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `CP` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `DIR_POSTAL` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `TELEFONO` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `TELEFONO2` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `FAX` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `E-MAIL` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `pagweb` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `SERVICIOS` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `state_id` smallint(6) DEFAULT '0' COMMENT '0 no se ha hecho nada\n1 ya existe el cliente\n2 cliente conseguido\n3 desestimado', - `Id_Trabajador` smallint(6) DEFAULT NULL, - `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`NOMBRE`,`POBLACION`,`DIR_POSTAL`,`TELEFONO`,`TELEFONO2`,`FAX`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Colas` --- - -DROP TABLE IF EXISTS `Colas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Colas` ( - `Id_Cola` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Impresora` tinyint(3) unsigned DEFAULT '0', - `Id_Prioridad` tinyint(3) unsigned DEFAULT '2', - `Id_Informe` tinyint(3) unsigned DEFAULT '0', - `Id_Estado` tinyint(3) unsigned DEFAULT '1', - `Hora_Inicio` datetime DEFAULT NULL, - `Hora_Fin` datetime DEFAULT NULL, - `Cola` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Trabajador` int(11) DEFAULT '20', - `Cola2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cola3` text COLLATE utf8_unicode_ci, - `error` text COLLATE utf8_unicode_ci, - PRIMARY KEY (`Id_Cola`), - UNIQUE KEY `Id_Impresora_2` (`Id_Impresora`,`Id_Prioridad`,`Id_Informe`,`Id_Estado`,`Cola`,`Id_Trabajador`,`Cola2`), - KEY `Id_estado` (`Id_Estado`), - KEY `Id_Impresora` (`Id_Impresora`), - KEY `Id_Informe` (`Id_Informe`), - KEY `Id_Prioridad` (`Id_Prioridad`), - KEY `Id_Trabajador` (`Id_Trabajador`), - CONSTRAINT `Colas_ibfk_1` FOREIGN KEY (`Id_Informe`) REFERENCES `Informes` (`Id_Informe`) ON UPDATE CASCADE, - CONSTRAINT `Colas_ibfk_2` FOREIGN KEY (`Id_Estado`) REFERENCES `Estadoskk` (`Id_Estado`) ON UPDATE CASCADE, - CONSTRAINT `Colas_ibfk_3` FOREIGN KEY (`Id_Prioridad`) REFERENCES `Prioridades` (`Id_Prioridad`) ON UPDATE CASCADE, - CONSTRAINT `Colas_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON UPDATE CASCADE, - CONSTRAINT `Colas_ibfk_5` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=43439 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Colores` --- - -DROP TABLE IF EXISTS `Colores`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Colores` ( - `Id_Color` int(11) NOT NULL DEFAULT '0', - `Color` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Color`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Comparativa` --- - -DROP TABLE IF EXISTS `Comparativa`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Comparativa` ( - `Periodo` int(11) NOT NULL, - `Id_Article` bigint(20) NOT NULL, - `warehouse_id` int(11) NOT NULL, - `Cantidad` mediumint(9) NOT NULL DEFAULT '0', - `price` mediumint(8) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`Periodo`,`Id_Article`,`warehouse_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Compres` --- - -DROP TABLE IF EXISTS `Compres`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Compres` ( - `Id_Compra` int(11) NOT NULL AUTO_INCREMENT, - `Id_Entrada` int(11) NOT NULL DEFAULT '0', - `Id_Article` int(11) NOT NULL DEFAULT '90', - `Cantidad` int(11) DEFAULT '0', - `dispatched` int(11) NOT NULL DEFAULT '0', - `Costefijo` decimal(10,3) DEFAULT '0.000', - `Portefijo` decimal(10,3) DEFAULT '0.000', - `Novincular` tinyint(1) NOT NULL DEFAULT '0', - `Etiquetas` int(11) DEFAULT '0', - `Packing` int(11) DEFAULT '0', - `grouping` smallint(5) unsigned NOT NULL DEFAULT '1', - `caja` tinyint(4) NOT NULL COMMENT '0=sin obligar 1=groping 2=packing', - `container_id` smallint(5) unsigned NOT NULL DEFAULT '36', - `Comisionfija` decimal(10,3) DEFAULT '0.000', - `Embalajefijo` decimal(10,3) DEFAULT '0.000', - `Nicho` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci DEFAULT '--', - `Tarifa1` decimal(10,2) DEFAULT '0.00', - `Tarifa2` decimal(10,2) DEFAULT '0.00', - `Tarifa3` decimal(10,2) DEFAULT '0.00', - `PVP` decimal(10,2) DEFAULT '0.00', - `Productor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Vida` int(11) DEFAULT '0', - `Id_Trabajador` int(11) DEFAULT '0', - `punteo` tinyint(1) NOT NULL DEFAULT '0', - `Volumenkk` int(11) DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `cm2kk` int(10) unsigned NOT NULL DEFAULT '0', - `buy_edi_id` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Compra`), - KEY `CompresId_Trabajador` (`Id_Trabajador`), - KEY `Id_Cubo` (`Id_Cubo`), - KEY `Id_Entrada` (`Id_Entrada`), - KEY `container_id` (`container_id`), - KEY `buy_edi_id` (`buy_edi_id`), - KEY `itemFk_entryFk` (`Id_Article`,`Id_Entrada`), - CONSTRAINT `Compres_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, - CONSTRAINT `Compres_ibfk_2` FOREIGN KEY (`Id_Cubo`) REFERENCES `Cubos` (`Id_Cubo`) ON UPDATE CASCADE, - CONSTRAINT `Compres_ibfk_3` FOREIGN KEY (`container_id`) REFERENCES `container` (`container_id`) ON UPDATE CASCADE, - CONSTRAINT `buy_id` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=237918491 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!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 `vn2008`.`compresBeforeInsert` - BEFORE INSERT ON `vn2008`.`Compres` FOR EACH ROW -BEGIN - DECLARE vWarehouse INT; - DECLARE vLanding DATE; - DECLARE vGroup INT; - DECLARE vIsBox BOOL; - - IF NEW.grouping = 0 THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT ='ERROR_GROUPING_ZERO'; - END IF; - - SELECT warehouse_id, landing INTO vWarehouse, vLanding - FROM Entradas E - JOIN travel T ON T.id = E.travel_id - WHERE E.Id_Entrada = NEW.Id_Entrada; - - SELECT grouping, caja INTO vGroup, vIsBox - FROM Compres C - JOIN Entradas E USING(Id_Entrada) - JOIN travel T ON T.id = E.travel_id - WHERE T.landing <= vLanding - AND C.Id_Article = NEW.Id_Article - AND NOT C.Novincular - ORDER BY warehouse_id = vWarehouse DESC,landing DESC, Id_Compra DESC - LIMIT 1; - - SET NEW.grouping = IFNULL(vGroup,IFNULL( NEW.grouping,1)); - SET NEW.caja = IFNULL(vIsBox, IFNULL( NEW.caja,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 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 `CompresAfterInsert` AFTER INSERT ON `Compres` FOR EACH ROW BEGIN - DECLARE vWarehouse INT; - DECLARE vWarehouseOut INT; - - CALL stock.queueAdd ('buy', NEW.Id_Compra, NULL); - - SELECT warehouse_id, warehouse_id_out INTO vWarehouse, vWarehouseOut - FROM Entradas E - JOIN travel T ON T.id = E.travel_id - WHERE E.Id_Entrada = NEW.Id_Entrada; - - -- Actualiza el volumen unitario - - REPLACE bi.rotacion(Id_Article, warehouse_id, cm3) - VALUES (NEW.Id_ARticle, vWarehouse, vn2008.cm3_unidad(NEW.Id_Compra)); - - IF (SELECT fuente FROM warehouse where id = vWarehouseOut AND id <> 13) AND - (SELECT has_notify_passport(NEW.Id_Article,NEW.Id_Compra)) - THEN - CALL notify_passport(NEW.Id_Article, NEW.Etiquetas, NEW.Packing,NEW.Id_Compra); - CALL insert_producer_plantpassport(NEW.Id_Compra); - 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 `CompresBeforeUpdate` - BEFORE UPDATE ON `Compres` FOR EACH ROW -BEGIN - IF NEW.grouping = 0 AND OLD.grouping <> 0 THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT ='ERROR_GROUPING_ZERO'; - 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 `CompresAfterUpdate` - AFTER UPDATE ON `Compres` FOR EACH ROW -BEGIN - DECLARE vWarehouse INT; - DECLARE vWarehouseOut INT; - - CALL stock.queueAdd ('buy', NEW.Id_Compra, OLD.Id_Compra); - - SELECT warehouse_id, warehouse_id_out INTO vWarehouse, vWarehouseOut - FROM Entradas E - JOIN travel T ON T.id = E.travel_id - WHERE E.Id_Entrada = NEW.Id_Entrada; - - IF NOT(NEW.Id_Cubo <=> OLD.Id_Cubo AND NEW.Id_Entrada <=> OLD.Id_Entrada) - THEN - REPLACE bi.rotacion(Id_Article, warehouse_id, cm3) - VALUES (NEW.Id_ARticle, vWarehouse, vn2008.cm3_unidad(NEW.Id_Compra)); - END IF; - - IF (SELECT fuente FROM warehouse where id = vWarehouseOut AND id <> 13) AND - (SELECT has_notify_passport(NEW.Id_Article,NEW.Id_Compra)) > 0 - THEN - CALL notify_passport(NEW.Id_Article, NEW.Etiquetas, NEW.Packing,NEW.Id_Compra); - CALL insert_producer_plantpassport(NEW.Id_Compra); - 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 `vn2008`.`CompresAfterDelete` - AFTER DELETE ON `Compres` FOR EACH ROW -BEGIN - DECLARE vProvider INT; - - CALL stock.queueAdd ('buy', NULL, OLD.Id_Compra); - - SELECT Id_Proveedor INTO vProvider - FROM Entradas WHERE Id_Entrada = OLD.Id_Entrada; - - IF OLD.Vida > 0 AND vProvider <> 4 THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT ='ERROR_DELETING_LIFE'; - 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 `Compres_2014_kk` --- - -DROP TABLE IF EXISTS `Compres_2014_kk`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Compres_2014_kk` ( - `Id_Compra` int(11) NOT NULL AUTO_INCREMENT, - `Id_Entrada` int(11) NOT NULL DEFAULT '0', - `Id_Article` int(11) NOT NULL DEFAULT '90', - `Cantidad` int(11) DEFAULT '0', - `Costefijo` decimal(10,3) DEFAULT '0.000', - `Portefijo` decimal(10,3) DEFAULT '0.000', - `Novincular` tinyint(1) NOT NULL DEFAULT '0', - `Etiquetas` int(11) DEFAULT '0', - `Packing` int(11) DEFAULT '0', - `grouping` smallint(5) unsigned NOT NULL DEFAULT '1', - `caja` tinyint(4) NOT NULL COMMENT '0=sin obligar 1=groping 2=packing', - `container_id` smallint(5) unsigned NOT NULL DEFAULT '36', - `Comisionfija` decimal(10,3) DEFAULT '0.000', - `Embalajefijo` decimal(10,3) DEFAULT '0.000', - `Nicho` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci DEFAULT '--', - `Tarifa1` decimal(10,2) DEFAULT '0.00', - `Tarifa2` decimal(10,2) DEFAULT '0.00', - `Tarifa3` decimal(10,2) DEFAULT '0.00', - `PVP` decimal(10,2) DEFAULT '0.00', - `Productor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Vida` int(11) DEFAULT '0', - `Id_Trabajador` int(11) DEFAULT '0', - `punteo` tinyint(1) NOT NULL DEFAULT '0', - `Volumenkk` int(11) DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `cm2kk` int(10) unsigned NOT NULL DEFAULT '0', - `buy_edi_id` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Compra`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Compres_mark` --- - -DROP TABLE IF EXISTS `Compres_mark`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Compres_mark` ( - `Id_Compra` int(11) NOT NULL, - `comment` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `mark` tinyint(1) DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`Id_Compra`), - CONSTRAINT `Compres_mark_ibfk_1` FOREIGN KEY (`Id_Compra`) REFERENCES `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 `Compres_ok` --- - -DROP TABLE IF EXISTS `Compres_ok`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Compres_ok` ( - `Id_Compra` int(11) NOT NULL, - `valor` tinyint(3) unsigned NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `original_quantity` double DEFAULT NULL, - `Id_Trabajador` int(11) NOT NULL, - `Id_Accion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `Id_Compra_ok` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`Id_Compra_ok`), - KEY `Id_Movimiento` (`Id_Compra`), - KEY `Id_Accion` (`Id_Accion`), - CONSTRAINT `Compres_ok_ibfk_1` FOREIGN KEY (`Id_Compra`) REFERENCES `Compres` (`Id_Compra`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=16201 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Consignatarios` --- - -DROP TABLE IF EXISTS `Consignatarios`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Consignatarios` ( - `id_consigna` int(11) NOT NULL AUTO_INCREMENT, - `Id_cliente` int(11) NOT NULL DEFAULT '0', - `warehouse_id` smallint(6) unsigned DEFAULT '1', - `domicilio` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `poblacion` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, - `province_id` smallint(5) unsigned DEFAULT NULL, - `codPostal` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `movil` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `consignatario` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, - `predeterminada` tinyint(1) NOT NULL DEFAULT '1', - `Id_Agencia` int(11) NOT NULL DEFAULT '2', - `especificaciones` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `seguro` tinyint(1) NOT NULL DEFAULT '0', - `porte` double DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT '1', - `postcode_id` int(11) unsigned DEFAULT NULL, - `longitude` decimal(11,7) DEFAULT NULL, - `latitude` decimal(11,7) DEFAULT NULL, - `codPos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `isEqualizated` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`id_consigna`), - KEY `Id_Agencia` (`Id_Agencia`), - KEY `Id_cliente` (`Id_cliente`), - KEY `warehouse_id` (`warehouse_id`), - KEY `province_id` (`province_id`), - KEY `telefono` (`telefono`), - KEY `movil` (`movil`), - KEY `CODPOSTAL` (`codPostal`), - CONSTRAINT `Consignatarios_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Consignatarios_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE, - CONSTRAINT `Consignatarios_ibfk_4` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, - CONSTRAINT `address_customer_id` FOREIGN KEY (`Id_cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=24100 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 `vn2008`.`ConsignatariosBeforeInsert` -BEFORE INSERT ON `vn2008`.`Consignatarios` -FOR EACH ROW -BEGIN - DECLARE v_has_default BOOLEAN; - DECLARE vIsEqualizated BOOLEAN; - - CALL pbx.phoneIsValid (NEW.telefono); - CALL pbx.phoneIsValid (NEW.movil); - - SELECT COUNT(*) > 0 INTO v_has_default - FROM Consignatarios - WHERE Id_Cliente = NEW.Id_Cliente - AND Predeterminada <> FALSE; - - IF NEW.Predeterminada AND v_has_default THEN - SET NEW.Predeterminada = FALSE; - END IF; - - IF NEW.isEqualizated IS NULL THEN - SELECT RE - INTO vIsEqualizated - FROM Clientes - WHERE Id_Cliente = NEW.Id_Cliente; - - SET NEW.isEqualizated = vIsEqualizated; - 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 `vn2008`.`ConsignatariosBeforeUpdate` -BEFORE UPDATE ON `vn2008`.`Consignatarios` -FOR EACH ROW -BEGIN - DECLARE vHasDefault BOOLEAN; - - CALL pbx.phoneIsValid (NEW.telefono); - CALL pbx.phoneIsValid (NEW.movil); - - SELECT COUNT(*) > 0 INTO vHasDefault - FROM Consignatarios - WHERE Id_Cliente = NEW.Id_Cliente - AND Predeterminada <> FALSE; - - IF NOT OLD.Predeterminada AND NEW.Predeterminada AND vHasDefault THEN - SET NEW.Predeterminada = FALSE; - END IF; - - IF NOT NEW.active AND (NEW.active != OLD.active) AND NEW.Predeterminada THEN - CALL util.throw ('NO SE PUEDE DESACTIVAR EL CONSIGNATARIO PREDETERMINADO'); - 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 `vn2008`.`ConsignatariosAfterUpdate` AFTER UPDATE ON `Consignatarios` FOR EACH ROW -BEGIN - DECLARE vCurDefault INT; - DECLARE vNewDefault INT; - - IF NEW.Predeterminada AND (NEW.Predeterminada != OLD.Predeterminada) - THEN - UPDATE Clientes SET default_address = NEW.Id_Consigna - WHERE Id_cliente = NEW.Id_cliente; - END IF; - - IF NOT NEW.active AND (NEW.active != OLD.active) - THEN - SELECT default_address INTO vCurDefault - FROM Clientes - WHERE Id_Cliente = NEW.Id_Cliente; - - IF vCurDefault = NEW.Id_Consigna - THEN - SELECT Id_Consigna INTO vNewDefault - FROM Consignatarios - WHERE Id_Cliente = NEW.Id_Cliente AND active - LIMIT 1; - - UPDATE Clientes SET default_address = vNewDefault - WHERE Id_Cliente = NEW.Id_Cliente; - END IF; - END IF; - - -- Recargos de equivalencia distintos implican facturacion por consignatario - IF NEW.isEqualizated != OLD.isEqualizated THEN - - IF - (SELECT COUNT(*) FROM - ( - SELECT DISTINCT (isEqualizated = FALSE) as Equ - FROM Consignatarios - WHERE Id_Cliente = NEW.Id_Cliente - ) t1 - ) > 1 - - THEN - - UPDATE Clientes - SET invoiceByAddress = TRUE - WHERE Id_Cliente = NEW.Id_Cliente; - - 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 */ ; - --- --- Table structure for table `Consignatarios_devices` --- - -DROP TABLE IF EXISTS `Consignatarios_devices`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Consignatarios_devices` ( - `Id_Consigna` int(11) NOT NULL, - `serialNumber` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `notas` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Consigna`,`serialNumber`), - CONSTRAINT `Condigna_devices` FOREIGN KEY (`Id_Consigna`) REFERENCES `Consignatarios` (`id_consigna`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Contactos` --- - -DROP TABLE IF EXISTS `Contactos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Contactos` ( - `Id_Contacto` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Nombre` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `Apellidos` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Empresa` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cargo` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `Movil` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `email` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fax` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Contacto`), - KEY `Telefono` (`Telefono`), - KEY `Movil` (`Movil`) -) ENGINE=InnoDB AUTO_INCREMENT=2594 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 `vn2008`.`ContactosBeforeInsert` -BEFORE INSERT ON `Contactos` FOR EACH ROW -BEGIN - CALL pbx.phoneIsValid (NEW.telefono); - CALL pbx.phoneIsValid (NEW.movil); - CALL pbx.phoneIsValid (NEW.fax); -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 `vn2008`.`ContactosBeforeUpdate` -BEFORE UPDATE ON `Contactos` FOR EACH ROW -BEGIN - CALL pbx.phoneIsValid (NEW.telefono); - CALL pbx.phoneIsValid (NEW.movil); - CALL pbx.phoneIsValid (NEW.fax); -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 `Conteo` --- - -DROP TABLE IF EXISTS `Conteo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Conteo` ( - `Id_Conteo` int(11) NOT NULL AUTO_INCREMENT, - `Id_Article` int(11) NOT NULL, - `Fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `dispositivo` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `warehouse_id` int(10) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`Id_Conteo`) -) ENGINE=MyISAM AUTO_INCREMENT=1080422 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `Conteo_ai` AFTER INSERT ON `Conteo` FOR EACH ROW -BEGIN - DECLARE intTravel INTEGER; - SELECT t.id INTO intTravel FROM Compres c JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE landing = CURDATE() AND c.Id_Article = NEW.Id_Article AND warehouse_id = NEW.warehouse_id AND received <> TRUE LIMIT 1; - IF (intTravel) then - UPDATE travel SET received = TRUE WHERE id = intTravel; - 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 `Cubos` --- - -DROP TABLE IF EXISTS `Cubos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Cubos` ( - `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `Volumen` decimal(10,2) DEFAULT '0.00', - `X` decimal(10,2) DEFAULT '0.00', - `Y` decimal(10,2) DEFAULT '0.00', - `Z` decimal(10,2) DEFAULT '0.00', - `Valor` decimal(10,2) DEFAULT '0.00', - `Retornable` tinyint(1) NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `idCubos_Retorno` int(11) DEFAULT NULL, - `Bajan` int(11) DEFAULT NULL, - `Suben` int(11) DEFAULT NULL, - `Base` decimal(10,2) DEFAULT NULL, - `item_id` int(11) DEFAULT NULL, - `pvp` decimal(10,2) NOT NULL, - `box` tinyint(1) NOT NULL DEFAULT '0', - `bultoCubico` decimal(10,2) DEFAULT NULL, - `costeRetorno` decimal(10,2) NOT NULL DEFAULT '0.00', - PRIMARY KEY (`Id_Cubo`), - KEY `Article` (`item_id`), - CONSTRAINT `Article` FOREIGN KEY (`item_id`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Cubos_Retorno` --- - -DROP TABLE IF EXISTS `Cubos_Retorno`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Cubos_Retorno` ( - `idCubos_Retorno` int(11) NOT NULL AUTO_INCREMENT, - `Soporte` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `Vacio` double NOT NULL DEFAULT '0', - `Lleno` double NOT NULL DEFAULT '0', - PRIMARY KEY (`idCubos_Retorno`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Enlaces Facturas` --- - -DROP TABLE IF EXISTS `Enlaces Facturas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Enlaces Facturas` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Asiento` int(11) DEFAULT '0', - `Apunte` int(11) DEFAULT '0', - `Data` datetime DEFAULT NULL, - `Concepto` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Debe` double DEFAULT NULL, - `Haber` double DEFAULT NULL, - `Contrapartida` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Contabilizado` tinyint(1) NOT NULL DEFAULT '0', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - PRIMARY KEY (`id`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `Enlaces@0020Facturas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=23889 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Entradas` --- - -DROP TABLE IF EXISTS `Entradas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas` ( - `Id_Entrada` int(11) NOT NULL AUTO_INCREMENT, - `Id_Proveedor` int(11) NOT NULL DEFAULT '644', - `Fecha` datetime NOT NULL, - `Referencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Anotadoencaja` tinyint(1) NOT NULL DEFAULT '0', - `Inventario` tinyint(1) NOT NULL DEFAULT '0', - `Notas` longtext COLLATE utf8_unicode_ci, - `Confirmada` tinyint(1) NOT NULL DEFAULT '0', - `Pedida` tinyint(1) NOT NULL DEFAULT '0', - `Redada` tinyint(1) NOT NULL DEFAULT '0', - `comision` float NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Notas_Eva` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `travel_id` int(11) unsigned DEFAULT NULL, - `Id_Moneda` tinyint(3) unsigned DEFAULT '1', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `gestdoc_id` int(11) DEFAULT NULL, - `recibida_id` mediumint(8) unsigned DEFAULT NULL, - `blocked` tinyint(4) NOT NULL DEFAULT '0', - `loadPriority` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Entrada`), - KEY `Id_Proveedor` (`Id_Proveedor`), - KEY `Fecha` (`Fecha`), - KEY `travel_id` (`travel_id`), - KEY `empresa_id` (`empresa_id`), - KEY `gestdoc_id` (`gestdoc_id`), - KEY `recibida_id` (`recibida_id`), - CONSTRAINT `Entradas_ibfk_1` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, - CONSTRAINT `Entradas_ibfk_6` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Entradas_ibfk_7` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=134602 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; -/*!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 `vn2008`.`EntradasBeforeInsert` - BEFORE INSERT ON `Entradas` FOR EACH ROW -BEGIN - IF (SELECT cuenta LIKE '___4______' FROM Proveedores WHERE Id_Proveedor = NEW.Id_Proveedor) THEN - SET NEW.Id_Moneda = 2; - 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 `vn2008`.`EntradasBeforeUpdate` - BEFORE UPDATE ON `vn2008`.`Entradas` FOR EACH ROW -BEGIN - IF (SELECT Id_Entrada FROM Entradas_Auto WHERE Id_Entrada = NEW.Id_Entrada) AND (NEW.travel_id <> OLD.travel_id) THEN - IF - (SELECT warehouse_id FROM travel WHERE id = NEW.travel_id) <> (SELECT warehouse_id FROM travel WHERE id = OLD.travel_id) OR - (SELECT warehouse_id_out FROM travel WHERE id = NEW.travel_id) <> (SELECT warehouse_id_out FROM travel WHERE id = OLD.travel_id) - THEN - SET NEW.travel_id = OLD.travel_id; - END IF; - END IF; - - IF (NEW.gestdoc_id IS NOT NULL) AND (NEW.gestdoc_id <> OLD.gestdoc_id) THEN - UPDATE - recibida_entrada re - INNER JOIN recibida r ON re.recibida_id = r.id - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - SET r.gestdoc_id = e.gestdoc_id - WHERE - e.Id_Entrada = NEW.Id_Entrada - AND r.gestdoc_id IS NULL; - END IF; - - IF NEW.anotadoencaja <> OLD.anotadoencaja THEN - INSERT INTO Entradas_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - VALUES (105,get_Trabajador(),NEW.Id_Entrada,OLD.anotadoencaja,NEW.anotadoencaja); - END IF; - - IF NEW.Id_Proveedor <> OLD.Id_Proveedor THEN - IF (SELECT cuenta LIKE '___4______' FROM Proveedores WHERE Id_Proveedor = NEW.Id_Proveedor) THEN - SET NEW.Id_Moneda = 2; - END IF; - END IF; - - IF NEW.Id_Moneda = 2 THEN - SET NEW.comision = getComision(NEW.Id_Entrada, NEW.Id_Moneda); - 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 `vn2008`.`EntradasAfterUpdate` - AFTER UPDATE ON `Entradas` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('entry', NEW.Id_Entrada, OLD.Id_Entrada); - - - -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 `vn2008`.`EntradasAfterDelete` - AFTER DELETE ON `Entradas` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('entry', NULL, OLD.Id_Entrada); -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 `Entradas_Auto` --- - -DROP TABLE IF EXISTS `Entradas_Auto`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_Auto` ( - `Id_Entrada` int(11) NOT NULL, - PRIMARY KEY (`Id_Entrada`), - CONSTRAINT `Entradas_Auto_ibfk_1` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) 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 `Entradas_dits` --- - -DROP TABLE IF EXISTS `Entradas_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_dits` ( - `idEntrada_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idEntrada_dits`), - KEY `fgkey_entradas_1_idx` (`idaccion_dits`), - KEY `fgkey_entradas_2_idx` (`Id_Ticket`), - KEY `fgkey_entradas_3_idx` (`Id_Trabajador`), - CONSTRAINT `Entradas_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fgkey_entradas_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `fgkey_entradas_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2557435 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Entradas_kop` --- - -DROP TABLE IF EXISTS `Entradas_kop`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_kop` ( - `Id_Entradas_kop` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Entrada` int(11) NOT NULL, - `kop` int(11) DEFAULT NULL, - `sub` mediumint(8) unsigned DEFAULT NULL, - PRIMARY KEY (`Id_Entradas_kop`), - KEY `entradas_entradas_kop_idx` (`Id_Entrada`), - CONSTRAINT `entradas_entradas_kop` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Entradas_orden` --- - -DROP TABLE IF EXISTS `Entradas_orden`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_orden` ( - `Id_Entrada` int(11) NOT NULL, - `orden` int(11) NOT NULL DEFAULT '1' COMMENT '1.- Ordenar por articulo\n2.- Ordenar por compra\n', - PRIMARY KEY (`Id_Entrada`), - CONSTRAINT `entradas_entradas_orden` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) 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 `Entradas_stack` --- - -DROP TABLE IF EXISTS `Entradas_stack`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_stack` ( - `Id_Entrada` int(11) NOT NULL, - `label_number` smallint(6) DEFAULT '0', - PRIMARY KEY (`Id_Entrada`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Entradas_turno` --- - -DROP TABLE IF EXISTS `Entradas_turno`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Entradas_turno` ( - `Id_Entrada` int(11) NOT NULL, - `weekDay` tinyint(2) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Entrada`), - CONSTRAINT `entrada_entrada_turno` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Estas entradas se clonan al mismo tiempo que los turnos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `EnvioMasivo` --- - -DROP TABLE IF EXISTS `EnvioMasivo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `EnvioMasivo` ( - `Id` int(11) NOT NULL AUTO_INCREMENT, - `Cliente` varchar(40) COLLATE utf8_unicode_ci NOT NULL, - `Direccion` varchar(80) COLLATE utf8_unicode_ci NOT NULL, - `CP` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - `Poblacion` varchar(40) COLLATE utf8_unicode_ci NOT NULL, - `Telefono` varchar(9) COLLATE utf8_unicode_ci NOT NULL, - `Bultos` int(11) NOT NULL, - `Observaciones` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, - `IdTicket` int(11) NOT NULL, - PRIMARY KEY (`Id`) -) ENGINE=MyISAM AUTO_INCREMENT=3373 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Generación de etiquetas a través de Zeleris con los clientes de esta tabla'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Equipos` --- - -DROP TABLE IF EXISTS `Equipos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Equipos` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `alias` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `trabajador_id` int(11) DEFAULT NULL, - `descripcion` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `predet` int(1) unsigned zerofill DEFAULT '0', - `Left` int(5) DEFAULT '3000', - `Top` int(5) DEFAULT '3000', - `Width` int(5) DEFAULT '6360', - `Height` int(5) DEFAULT '5595', - PRIMARY KEY (`id`), - KEY `trabajador_id` (`trabajador_id`), - CONSTRAINT `Equipos_ibfk_1` FOREIGN KEY (`trabajador_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=143 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Espionajes` --- - -DROP TABLE IF EXISTS `Espionajes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Espionajes` ( - `idEspionaje` int(11) NOT NULL AUTO_INCREMENT, - `Id_Trabajador` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fecha` date DEFAULT NULL, - `HoraEntrada` time DEFAULT NULL, - `HoraSalida` time DEFAULT NULL, - `Id_Equipo` int(11) DEFAULT NULL, - PRIMARY KEY (`idEspionaje`), - KEY `index` (`Id_Trabajador`,`Fecha`) -) ENGINE=MyISAM AUTO_INCREMENT=75648 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Estadoskk` --- - -DROP TABLE IF EXISTS `Estadoskk`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Estadoskk` ( - `Id_Estado` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `Estado` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Estado`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Estanterias` --- - -DROP TABLE IF EXISTS `Estanterias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Estanterias` ( - `Id_Estanterias` int(11) NOT NULL AUTO_INCREMENT, - `w` int(11) DEFAULT NULL, - `d` int(11) DEFAULT NULL, - `modelo` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Estanterias`) -) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Estanterias_distri` --- - -DROP TABLE IF EXISTS `Estanterias_distri`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Estanterias_distri` ( - `idEstanterias_distri` int(11) NOT NULL, - `posinicial` int(11) NOT NULL, - `posfinal` int(11) NOT NULL, - `Id_Estanterias` int(11) NOT NULL, - PRIMARY KEY (`Id_Estanterias`,`idEstanterias_distri`), - KEY `Estanterias_fgkey1_idx` (`Id_Estanterias`), - KEY `est_distrib_fgkey1_idx` (`idEstanterias_distri`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Estanterias_distri_name` --- - -DROP TABLE IF EXISTS `Estanterias_distri_name`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Estanterias_distri_name` ( - `idEstanterias_distri` int(11) NOT NULL AUTO_INCREMENT, - `Descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`idEstanterias_distri`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Extractos` --- - -DROP TABLE IF EXISTS `Extractos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Extractos` ( - `Id_Extracto` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Fecha` datetime NOT NULL, - `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Debe` double unsigned zerofill NOT NULL DEFAULT '0000000000000000000000', - `Haber` double unsigned zerofill NOT NULL DEFAULT '0000000000000000000000', - `Concepto2` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Concepto3` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`Id_Extracto`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Facturas` --- - -DROP TABLE IF EXISTS `Facturas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Facturas` ( - `factura_id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Factura` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `Serie` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fecha` date DEFAULT NULL, - `Importe` decimal(12,2) DEFAULT '0.00', - `Vencimiento` datetime DEFAULT NULL, - `Id_Banco` int(11) DEFAULT '0', - `Id_Cliente` int(11) DEFAULT '0', - `Id_Remesa` int(11) DEFAULT NULL, - `Remesar` tinyint(1) NOT NULL DEFAULT '0', - `BI7` decimal(12,2) DEFAULT '0.00', - `BI16` decimal(12,2) DEFAULT '0.00', - `RE1` decimal(12,2) DEFAULT '0.00', - `RE4` decimal(12,2) DEFAULT '0.00', - `IVA7` decimal(12,2) DEFAULT '0.00', - `IVA16` decimal(12,2) DEFAULT '0.00', - `Id_Trabajador` int(11) DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `liquidacion` smallint(6) DEFAULT '0', - `pdf` tinyint(3) unsigned NOT NULL DEFAULT '0', - `booked` date DEFAULT NULL, - `cplusInvoiceType477Fk` int(10) unsigned NOT NULL DEFAULT '1', - `cplusTaxBreakFk` int(10) unsigned NOT NULL DEFAULT '1', - `cplusSubjectOpFk` int(10) unsigned NOT NULL DEFAULT '1', - `cplusTrascendency477Fk` int(10) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`factura_id`,`Id_Factura`), - UNIQUE KEY `Id_Factura` (`Id_Factura`), - KEY `Id_Banco` (`Id_Banco`), - KEY `Id_Cliente` (`Id_Cliente`), - KEY `Id_Remesa` (`Id_Remesa`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `empresa_id` (`empresa_id`), - KEY `Fecha` (`Fecha`), - KEY `Facturas_ibfk_2_idx` (`cplusInvoiceType477Fk`), - KEY `Facturas_ibfk_3_idx` (`cplusSubjectOpFk`), - KEY `Facturas_ibfk_4_idx` (`cplusTaxBreakFk`), - KEY `Facturas_ibfk_5_idx` (`cplusTrascendency477Fk`), - CONSTRAINT `Facturas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Facturas_ibfk_2` FOREIGN KEY (`cplusInvoiceType477Fk`) REFERENCES `vn`.`cplusInvoiceType477` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Facturas_ibfk_3` FOREIGN KEY (`cplusSubjectOpFk`) REFERENCES `vn`.`cplusSubjectOp` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Facturas_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `vn`.`cplusTaxBreak` (`id`) ON UPDATE CASCADE, - CONSTRAINT `invoice_bank_id` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `invoice_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=442841 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 `FacturasBeforeInsert` -BEFORE INSERT ON `Facturas` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - - DECLARE v_Id_Factura_serie CHAR(9) DEFAULT '0000001'; - DECLARE v_Id_Factura INT; - DECLARE max_id, intLast, intProv INT; - - -- Evitamos la generacion de nuevas facturas tras el cese de actividad de EFL - IF NEW.empresa_id = 792 AND NEW.Fecha > '2012-12-20' THEN - SET NEW.empresa_id = 791; - END IF; - - SELECT IFNULL(MAX(factura_id),0) into max_id - from Facturas - WHERE Serie LIKE NEW.Serie - AND ((Year(NEW.Fecha) = Year(Fecha) - AND empresa_id = NEW.empresa_id)); - - IF max_id THEN - - SELECT right(max(Id_Factura), LENGTH(Id_Factura)-1) + 1 - into v_Id_Factura_serie - from Facturas - WHERE Serie LIKE NEW.Serie - AND ((Year(NEW.Fecha) = Year(Fecha) - AND length(Id_Factura) > 6 - AND empresa_id = NEW.empresa_id) /*OR (NEW.Serie LIKE 'B' AND length(Id_Factura) > 7)*/); - - - ELSE - - SELECT CONCAT(digito_factura,RIGHT(YEAR(CURDATE()),1),'00001') INTO v_Id_Factura_serie - FROM empresa WHERE id = NEW.empresa_id; - -/*Primer digito la empresa, segundo el año, despues la numeracion correlativa con 5 digitos*/ - - - END IF; - - -SELECT CONCAT(NEW.serie, lpad(v_Id_Factura_serie,7,'0')) into v_Id_Factura_serie; -SET NEW.Id_Factura = v_Id_Factura_serie; - - - -/* - IF intProv > 0 THEN -- No contabiliza bien las facturas holandesas - INSERT INTO recibida(proveedor_id,fecha,sref,empresa_id) - VALUES (NEW.empresa_id,NEW.Fecha,NEW.Id_Factura,intProv); - - SELECT LAST_INSERT_ID() INTO intLast; - - IF NEW.BI7 > 0 THEN - INSERT INTO recibida_iva(recibida_id,iva_id,bi,gastos_id) - VALUES(intLast,57,NEW.BI7,'6001000000'); - END IF; - - IF NEW.BI16 > 0 THEN - INSERT INTO recibida_iva(recibida_id,iva_id,bi,gastos_id) - VALUES(intLast,58,NEW.BI16,'6001000000'); - END IF; - - INSERT INTO recibida_vencimiento(recibida_id,fecha,banco_id,cantidad) - SELECT intLast,TIMESTAMPADD(DAY,15,NEW.Fecha),3117,SUM((1 + (IVA / 100)) * bi) - FROM recibida r INNER JOIN recibida_iva ri ON r.id = ri.recibida_id - INNER JOIN iva_codigo AS i ON ri.iva_id=i.id INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - LEFT JOIN (SELECT recibida_id, SUM(cantidad) cantidad FROM recibida_vencimiento rv WHERE rv.recibida_id = intLast - GROUP BY recibida_id) t ON t.recibida_id = r.id WHERE r.id = intLast ; - UPDATE recibida SET contabilizada = 0 WHERE id = intLast; - UPDATE recibida SET contabilizada = 1 WHERE id = intLast; - 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 `vn2008`.`FacturasAfterInsert` -AFTER INSERT ON `Facturas` -FOR EACH ROW - CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, NEW.Importe) */;; -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 `vn2008`.`FacturasBeforeUpdate` -BEFORE UPDATE ON `Facturas` -FOR EACH ROW -BEGIN - CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, -OLD.Importe); - CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, NEW.Importe); -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 `vn2008`.`FacturasBeforeDelete` -BEFORE DELETE ON `Facturas` -FOR EACH ROW - CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, -OLD.Importe) */;; -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 `Familias` --- - -DROP TABLE IF EXISTS `Familias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Familias` ( - `Familia` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Subcuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Descripcion` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Familia`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Forms` --- - -DROP TABLE IF EXISTS `Forms`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Forms` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `titulo` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Gastos` --- - -DROP TABLE IF EXISTS `Gastos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Gastos` ( - `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `iva_tipo_id` tinyint(4) NOT NULL, - `Gasto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `conbase` tinyint(4) NOT NULL DEFAULT '1', - `isWithheld` tinyint(4) NOT NULL DEFAULT '0', - `isForSale` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Gasto`,`iva_tipo_id`), - KEY `iva_tipo_id` (`iva_tipo_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Greuges` --- - -DROP TABLE IF EXISTS `Greuges`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Greuges` ( - `Id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(10) unsigned NOT NULL, - `Comentario` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `Importe` decimal(10,2) NOT NULL, - `Fecha` datetime NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `Greuges_type_id` int(11) DEFAULT NULL, - `Id_Ticket` int(11) DEFAULT NULL, - PRIMARY KEY (`Id`), - KEY `greuges_type_fk_idx` (`Greuges_type_id`), - KEY `Id_Ticket_Greuge_Ticket_idx` (`Id_Ticket`), - CONSTRAINT `Id_Ticket_Greuge_Ticket` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `greuges_type_fk` FOREIGN KEY (`Greuges_type_id`) REFERENCES `Greuges_type` (`Greuges_type_id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1763893 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=FIXED; -/*!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 `vn2008`.`Greuges_BEFORE_UPDATE` BEFORE UPDATE ON `Greuges` FOR EACH ROW -BEGIN - - DECLARE vMaxDate DATETIME DEFAULT TIMESTAMPADD(YEAR,1,CURDATE()); - - IF NEW.Fecha > vMaxDate THEN - - SET NEW.Fecha = vMaxDate; - - 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 `Greuges_type` --- - -DROP TABLE IF EXISTS `Greuges_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Greuges_type` ( - `Greuges_type_id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`Greuges_type_id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Grupos` --- - -DROP TABLE IF EXISTS `Grupos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Grupos` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Grupo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `observation_type_id` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `name` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Impresoras` --- - -DROP TABLE IF EXISTS `Impresoras`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Impresoras` ( - `Id_Impresora` tinyint(3) unsigned NOT NULL, - `Ruta` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Impresora` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `referencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `2C` tinyint(4) DEFAULT '0', - PRIMARY KEY (`Id_Impresora`), - UNIQUE KEY `referencia` (`referencia`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Informes` --- - -DROP TABLE IF EXISTS `Informes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Informes` ( - `Id_Informe` tinyint(3) unsigned NOT NULL, - `Informe` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Informe`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Intrastat` --- - -DROP TABLE IF EXISTS `Intrastat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Intrastat` ( - `Codintrastat` int(8) unsigned zerofill NOT NULL, - `Definicion` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `import` tinyint(4) NOT NULL DEFAULT '0', - `iva_group_id` tinyint(3) unsigned NOT NULL DEFAULT '2', - `iva_codigo_id` tinyint(2) unsigned NOT NULL DEFAULT '64', - PRIMARY KEY (`Codintrastat`), - KEY `iva_group_id` (`iva_group_id`), - CONSTRAINT `Intrastat_ibfk_1` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_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 `Jefes` --- - -DROP TABLE IF EXISTS `Jefes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Jefes` ( - `Id_Trabajador` int(11) NOT NULL, - `Id_Jefe` int(11) NOT NULL, - `Departamento` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`Id_Trabajador`,`Id_Jefe`), - KEY `trabajador_jefe_idx` (`Id_Jefe`), - CONSTRAINT `trabajador_jefe` FOREIGN KEY (`Id_Jefe`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Es una tabla que se rellena desde la comparativa, tomando los datos de postgress.'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Monedas` --- - -DROP TABLE IF EXISTS `Monedas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Monedas` ( - `Id_Moneda` tinyint(3) unsigned NOT NULL, - `Moneda` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cambio` double NOT NULL DEFAULT '1', - PRIMARY KEY (`Id_Moneda`), - UNIQUE KEY `Moneda_UNIQUE` (`Moneda`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Monitoring` --- - -DROP TABLE IF EXISTS `Monitoring`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Monitoring` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `equipo_id` int(11) NOT NULL, - `user_id` int(11) NOT NULL, - `form_id` int(11) NOT NULL, - `cliente_id` int(11) NOT NULL, - `ticket_id` int(11) NOT NULL, - `ODBC_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `equipo_id` (`equipo_id`,`user_id`,`form_id`,`cliente_id`,`ticket_id`), - KEY `user_id` (`user_id`), - KEY `form_id` (`form_id`), - KEY `cliente_id` (`cliente_id`), - KEY `ticket_id` (`ticket_id`), - CONSTRAINT `Monitoring_ibfk_1` FOREIGN KEY (`equipo_id`) REFERENCES `Equipos` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Monitoring_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `Monitoring_ibfk_3` FOREIGN KEY (`form_id`) REFERENCES `Forms` (`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 `Movimientos` --- - -DROP TABLE IF EXISTS `Movimientos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos` ( - `Id_Movimiento` int(11) NOT NULL AUTO_INCREMENT, - `Id_Article` int(11) NOT NULL, - `Id_Ticket` int(11) NOT NULL, - `Concepte` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cantidad` decimal(10,2) NOT NULL DEFAULT '0.00', - `quantity` double(9,1) DEFAULT NULL, - `Preu` decimal(10,2) DEFAULT '0.00', - `Descuento` tinyint(2) unsigned NOT NULL DEFAULT '0', - `CostFixat` decimal(10,2) NOT NULL DEFAULT '0.00', - `Reservado` tinyint(1) NOT NULL DEFAULT '0', - `OK` tinyint(1) NOT NULL DEFAULT '0', - `PrecioFijado` tinyint(1) NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`Id_Movimiento`), - KEY `Id_Ticket` (`Id_Ticket`), - KEY `itemFk_ticketFk` (`Id_Article`,`Id_Ticket`), - CONSTRAINT `Movimientos_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, - CONSTRAINT `movement_ticket_id` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=19845935 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 `vn2008`.`MovimientosAfterInsert` - AFTER INSERT ON `Movimientos` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('sale', NEW.Id_Movimiento, 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 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 `MovimientosBeforeUpdate` - BEFORE UPDATE ON `Movimientos` FOR EACH ROW -BEGIN - IF NEW.Descuento > 100 THEN - SET NEW.Descuento = 0; - 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 `vn2008`.`MovimientosAfterUpdate` - AFTER UPDATE ON `Movimientos` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('sale', NEW.Id_Movimiento, OLD.Id_Movimiento); -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 `vn2008`.`MovimientosAfterDelete` - AFTER DELETE ON `Movimientos` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('sale', NULL, OLD.Id_Movimiento); -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 `Movimientos_avisar` --- - -DROP TABLE IF EXISTS `Movimientos_avisar`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos_avisar` ( - `Id_Movimiento` int(11) NOT NULL, - `Id_Remitente` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Movimiento`), - KEY `Movimiento` (`Id_Movimiento`), - KEY `Remitente` (`Id_Remitente`), - CONSTRAINT `Id_Movimientos_avisar_fk` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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_checked` --- - -DROP TABLE IF EXISTS `Movimientos_checked`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos_checked` ( - `Id_Movimiento` int(11) NOT NULL, - `checked` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Movimiento`), - CONSTRAINT `fk_Movimientos_checked_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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_componentes` --- - -DROP TABLE IF EXISTS `Movimientos_componentes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos_componentes` ( - `Id_Movimiento` int(11) NOT NULL, - `Id_Componente` int(11) NOT NULL, - `Valor` double NOT NULL, - `greuge` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Movimiento`,`Id_Componente`), - KEY `fk_mov_comp_idx` (`Id_Componente`), - CONSTRAINT `mc_fk1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `mc_fk2` FOREIGN KEY (`Id_Componente`) REFERENCES `bi`.`tarifa_componentes` (`Id_Componente`) 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_mark` --- - -DROP TABLE IF EXISTS `Movimientos_mark`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos_mark` ( - `Id_Movimiento` int(11) NOT NULL, - `valor` tinyint(3) unsigned NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `original_quantity` double DEFAULT NULL, - `Id_Trabajador` int(11) NOT NULL, - `Id_Accion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `Id_Movimiento_mark` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`Id_Movimiento_mark`), - KEY `Id_Movimiento` (`Id_Movimiento`) -) ENGINE=InnoDB AUTO_INCREMENT=9275900 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Movimientos_revisar` --- - -DROP TABLE IF EXISTS `Movimientos_revisar`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Movimientos_revisar` ( - `Id_Movimiento` int(11) NOT NULL, - `Comentario` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `Revisado` tinyint(1) NOT NULL DEFAULT '0', - `Id_Remitente` int(11) DEFAULT NULL, - `Id_Destinatario` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Movimiento`), - KEY `Remitente` (`Id_Remitente`), - KEY `Destinatario` (`Id_Destinatario`), - CONSTRAINT `Movimientos_revisar_ibfk_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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 `Objetivos` --- - -DROP TABLE IF EXISTS `Objetivos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Objetivos` ( - `Periodo` int(11) NOT NULL, - `Objetivo` double NOT NULL, - PRIMARY KEY (`Periodo`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Ordenes` --- - -DROP TABLE IF EXISTS `Ordenes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Ordenes` ( - `Id_ORDEN` int(11) NOT NULL AUTO_INCREMENT, - `ORDEN` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `datORDEN` datetime DEFAULT NULL, - `datTICKET` datetime DEFAULT NULL, - `CodVENDEDOR` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `CodCOMPRADOR` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT 'NOE', - `CANTIDAD` int(11) DEFAULT NULL, - `PRECIOMAX` double DEFAULT NULL, - `PREU` double DEFAULT NULL, - `Id_ARTICLE` double DEFAULT NULL, - `Id_CLIENTE` int(11) DEFAULT NULL, - `COMENTARIO` longtext COLLATE utf8_unicode_ci, - `OK` tinyint(1) NOT NULL DEFAULT '0', - `TOTAL` int(11) DEFAULT NULL, - `datCOMPRA` datetime DEFAULT NULL, - `KO` tinyint(1) NOT NULL DEFAULT '0', - `Id_Movimiento` int(11) DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`Id_ORDEN`), - UNIQUE KEY `Id_Movimiento_UNIQUE` (`Id_Movimiento`), - KEY `Id_ARTICLE` (`Id_ARTICLE`), - KEY `Id_CLIENTE` (`Id_CLIENTE`), - KEY `Id_Comprador` (`CodCOMPRADOR`), - KEY `Id_Movimiento` (`Id_Movimiento`), - KEY `Id_Vendedor` (`CodVENDEDOR`) -) ENGINE=InnoDB AUTO_INCREMENT=26150 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Origen` --- - -DROP TABLE IF EXISTS `Origen`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Origen` ( - `id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT, - `Abreviatura` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Origen` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `warehouse_id` smallint(5) unsigned DEFAULT '4', - `bandera` blob, - `nl` tinyint(4) NOT NULL DEFAULT '0', - `Id_Paises` mediumint(8) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - UNIQUE KEY `Abreviatura` (`Abreviatura`), - KEY `warehouse_id` (`warehouse_id`), - KEY `Id_Paises` (`Id_Paises`), - CONSTRAINT `Origen_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Pagares` --- - -DROP TABLE IF EXISTS `Pagares`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Pagares` ( - `kk_Vencimiento` datetime DEFAULT NULL, - `kk_Importe` double DEFAULT '0', - `Fechaemision` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Pagare` int(11) NOT NULL AUTO_INCREMENT, - `Concepto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `kk_id_proveedor` int(11) DEFAULT NULL, - `kk_empresa_id` smallint(5) unsigned DEFAULT NULL, - `pago_id` int(10) unsigned DEFAULT NULL, - PRIMARY KEY (`Id_Pagare`), - KEY `empresa_id` (`kk_empresa_id`), - KEY `pago_id` (`pago_id`), - CONSTRAINT `Pagares_ibfk_2` FOREIGN KEY (`pago_id`) REFERENCES `pago` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2834 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Paises` --- - -DROP TABLE IF EXISTS `Paises`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Paises` ( - `Id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Pais` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - `CEE` tinyint(1) NOT NULL DEFAULT '1', - `Codigo` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '1', - `Id_Paisreal` mediumint(8) unsigned NOT NULL COMMENT 'Pais Real(apaño por culpa del España Exento)', - `nst_geo_id` int(11) DEFAULT NULL, - `nst_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `geoFk` int(11) DEFAULT NULL, - `isUeeMember` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id`), - KEY `Id_Paisreal` (`Id_Paisreal`) -) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Permisos` --- - -DROP TABLE IF EXISTS `Permisos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Permisos` ( - `Id_Grupo` int(10) unsigned NOT NULL, - `Id_Trabajador` int(10) unsigned NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - PRIMARY KEY (`Id_Grupo`,`Id_Trabajador`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `Permisos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Permisos_ibfk_2` FOREIGN KEY (`Id_Grupo`) REFERENCES `Grupos` (`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 `PreciosEspeciales` --- - -DROP TABLE IF EXISTS `PreciosEspeciales`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `PreciosEspeciales` ( - `Id_PrecioEspecial` int(11) NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL DEFAULT '0', - `Id_Article` int(11) NOT NULL DEFAULT '0', - `PrecioEspecial` double NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_PrecioEspecial`), - UNIQUE KEY `Id_Cliente_2` (`Id_Cliente`,`Id_Article`), - KEY `Id_Article` (`Id_Article`), - KEY `Id_Cliente` (`Id_Cliente`), - CONSTRAINT `sp_article_id` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, - CONSTRAINT `sp_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, - CONSTRAINT `{01A99AF1-3D3F-4B15-AC0C-C7A834F319A3}` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `{EE4ADEF6-0AC6-401F-B7C4-D797972FC065}` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Prioridades` --- - -DROP TABLE IF EXISTS `Prioridades`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Prioridades` ( - `Id_Prioridad` tinyint(3) unsigned NOT NULL DEFAULT '0', - `Prioridad` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Prioridad`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Proveedores` --- - -DROP TABLE IF EXISTS `Proveedores`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores` ( - `Id_Proveedor` int(11) NOT NULL AUTO_INCREMENT, - `Proveedor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Domicilio` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `CP` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Localidad` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `provinciakk` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `province_id` smallint(5) unsigned DEFAULT NULL, - `pais_id` mediumint(8) unsigned DEFAULT NULL, - `NIF` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `oficial` tinyint(1) NOT NULL DEFAULT '1', - `Agricola` tinyint(1) NOT NULL DEFAULT '0', - `cuentaret` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `Telefono` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fax` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL, - `ComisionProveedor` float NOT NULL DEFAULT '0', - `Alias` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `pay_met_id` tinyint(3) unsigned NOT NULL, - `pay_day` tinyint(4) unsigned DEFAULT NULL, - `pay_dem_id` tinyint(3) unsigned NOT NULL DEFAULT '7', - `odbc_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `serious` tinyint(1) unsigned zerofill DEFAULT '1', - `notas` text COLLATE utf8_unicode_ci, - `postcode_id` int(11) unsigned DEFAULT NULL, - `codpos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `active` tinyint(4) DEFAULT '1', - PRIMARY KEY (`Id_Proveedor`), - UNIQUE KEY `cuenta` (`cuenta`), - UNIQUE KEY `NIF` (`NIF`), - KEY `pais_id` (`pais_id`), - KEY `pay_met_id` (`pay_met_id`), - KEY `province_id` (`province_id`), - KEY `pay_dem_id` (`pay_dem_id`), - KEY `codpos` (`codpos`,`CP`), - CONSTRAINT `Id_Pais` FOREIGN KEY (`pais_id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, - CONSTRAINT `pay_dem_id` FOREIGN KEY (`pay_dem_id`) REFERENCES `pay_dem` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pay_met_id` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, - CONSTRAINT `province_id` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2434 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Proveedores_account` --- - -DROP TABLE IF EXISTS `Proveedores_account`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores_account` ( - `Id_Proveedores_account` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Proveedor` int(11) NOT NULL, - `IBAN` varchar(30) CHARACTER SET utf8 DEFAULT NULL, - `office` varchar(4) CHARACTER SET utf8 DEFAULT NULL, - `DC` varchar(2) CHARACTER SET utf8 DEFAULT NULL, - `number` varchar(10) CHARACTER SET utf8 DEFAULT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `bic_sufix` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT '', - `entity_id` int(10) DEFAULT NULL, - `Id_Banco` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Proveedores_account`), - KEY `fk_proveedores_proveedores_account_idx` (`Id_Proveedor`), - KEY `fk_Proveedores_account_entity1_idx` (`entity_id`), - KEY `fk_banco_prov_account_idx` (`Id_Banco`), - CONSTRAINT `fk_banco_prov_account` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=593 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Proveedores_cargueras` --- - -DROP TABLE IF EXISTS `Proveedores_cargueras`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores_cargueras` ( - `Id_Proveedor` int(11) NOT NULL, - PRIMARY KEY (`Id_Proveedor`), - CONSTRAINT `proveedores_cargueras_fk1` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla de espcializacion para señalar las compañias que prestan servicio de transitario'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Proveedores_comunicados` --- - -DROP TABLE IF EXISTS `Proveedores_comunicados`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores_comunicados` ( - `Id_Proveedor` int(11) NOT NULL, - `escrito_id` int(11) NOT NULL, - `fecha` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - KEY `Proveedor` (`Id_Proveedor`), - KEY `Escrito` (`escrito_id`), - CONSTRAINT `Proveedores_comunicados_ibfk_3` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, - CONSTRAINT `Proveedores_comunicados_ibfk_4` FOREIGN KEY (`escrito_id`) REFERENCES `Proveedores_escritos` (`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 `Proveedores_escritos` --- - -DROP TABLE IF EXISTS `Proveedores_escritos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores_escritos` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `escrito` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `informe` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Proveedores_gestdoc` --- - -DROP TABLE IF EXISTS `Proveedores_gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Proveedores_gestdoc` ( - `Id_Proveedor` int(11) NOT NULL, - `gestdoc_id` int(11) NOT NULL, - PRIMARY KEY (`Id_Proveedor`,`gestdoc_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Recibos` --- - -DROP TABLE IF EXISTS `Recibos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Recibos` ( - `Id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Factura` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Entregado` decimal(10,2) NOT NULL DEFAULT '0.00', - `Pendiente` decimal(10,2) NOT NULL DEFAULT '0.00', - `Fechacobro` datetime DEFAULT NULL, - `Id_Trabajador` int(11) DEFAULT '0', - `Id_Banco` int(11) DEFAULT '0', - `Id_Cliente` int(11) DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `conciliado` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', - PRIMARY KEY (`Id`), - KEY `Id_Banco` (`Id_Banco`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `empresa_id` (`empresa_id`), - KEY `clientDate` (`Id_Cliente`,`Fechacobro`), - CONSTRAINT `Recibos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Recibos_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `recibo_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=438892 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 `vn2008`.`RecibosAfterInsert` -AFTER INSERT ON `Recibos` -FOR EACH ROW - CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, -NEW.Entregado) */;; -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 `vn2008`.`RecibosBeforeUpdate` -BEFORE UPDATE ON `Recibos` -FOR EACH ROW -BEGIN - CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, OLD.Entregado); - CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, -NEW.Entregado); -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 `vn2008`.`RecibosBeforeDelete` -BEFORE DELETE ON `Recibos` -FOR EACH ROW - CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, OLD.Entregado) */;; -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 `Recibos_recorded` --- - -DROP TABLE IF EXISTS `Recibos_recorded`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Recibos_recorded` ( - `Id_Recibos` int(11) NOT NULL, - `recorded` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Marcado si se ha contabilizado', - PRIMARY KEY (`Id_Recibos`), - CONSTRAINT `Recibos_recorded_ibfk_1` FOREIGN KEY (`Id_Recibos`) REFERENCES `Recibos` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Recibos (Contrareembolso) contabilizados'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Relaciones` --- - -DROP TABLE IF EXISTS `Relaciones`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Relaciones` ( - `Id_Relacion` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Contacto` int(10) unsigned NOT NULL, - `Id_Proveedor` int(10) unsigned DEFAULT NULL, - `Id_Cliente` int(10) unsigned DEFAULT NULL, - PRIMARY KEY (`Id_Relacion`), - KEY `Id_Contacto` (`Id_Contacto`), - KEY `Id_Proveedor` (`Id_Proveedor`), - KEY `Id_Cliente` (`Id_Cliente`) -) ENGINE=InnoDB AUTO_INCREMENT=2596 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Remesas` --- - -DROP TABLE IF EXISTS `Remesas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Remesas` ( - `Id_Remesa` int(11) NOT NULL AUTO_INCREMENT, - `Fecha Remesa` datetime DEFAULT NULL, - `Banco` int(11) DEFAULT '0', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - PRIMARY KEY (`Id_Remesa`), - KEY `Id_Banco` (`Banco`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `Remesas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Remesas_ibfk_2` FOREIGN KEY (`Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1007 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Reservas` --- - -DROP TABLE IF EXISTS `Reservas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Reservas` ( - `Id_Reserva` int(11) NOT NULL AUTO_INCREMENT, - `Id_Ticket` int(11) DEFAULT '0', - `Fecha` datetime DEFAULT NULL, - `Alias` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `medida` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `categoria` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `color` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `origen` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `cantidad` int(11) DEFAULT '0', - `Id_Article` double DEFAULT '0', - PRIMARY KEY (`Id_Reserva`), - KEY `Id_1` (`Id_Ticket`), - KEY `Id_Article` (`Id_Article`) -) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Rutas` --- - -DROP TABLE IF EXISTS `Rutas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Rutas` ( - `Id_Ruta` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Trabajador` int(10) unsigned DEFAULT NULL, - `Fecha` date NOT NULL, - `Id_Vehiculo` int(10) unsigned DEFAULT NULL, - `Id_Agencia` int(11) DEFAULT NULL, - `Hora` datetime DEFAULT NULL, - `ok` tinyint(1) unsigned NOT NULL DEFAULT '0', - `km_start` mediumint(9) NOT NULL, - `km_end` mediumint(9) NOT NULL, - `date_start` datetime NOT NULL, - `date_end` datetime NOT NULL, - `gestdoc_id` int(11) DEFAULT NULL, - `cost` double unsigned DEFAULT NULL, - `m3` decimal(10,1) unsigned DEFAULT NULL, - `description` text COLLATE utf8_unicode_ci, - PRIMARY KEY (`Id_Ruta`), - KEY `Id_Agencia` (`Id_Agencia`), - KEY `Fecha` (`Fecha`), - KEY `gestdoc_id` (`gestdoc_id`), - CONSTRAINT `Rutas_ibfk_1` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=35484 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `Rutas_au` AFTER UPDATE ON `Rutas` FOR EACH ROW -BEGIN - - IF IFNULL(NEW.gestdoc_id,0) <> IFNULL(OLD.gestdoc_id,0) AND NEW.gestdoc_id > 0 THEN - -- JGF 09/09/14 cuando se añade un gestdoc a una ruta, se le asigna automagicamente a todos sus Tickets - - -- Inserta el gestdoc en todos los tickets de la ruta - INSERT INTO tickets_gestdoc(Id_Ticket,gestdoc_id) - SELECT Id_Ticket, NEW.gestdoc_id FROM Tickets WHERE Id_Ruta = NEW.Id_Ruta - ON DUPLICATE KEY UPDATE gestdoc_id = NEW.gestdoc_id; - - -- Update del firmado - UPDATE Tickets t JOIN tickets_gestdoc tg ON t.Id_Ticket = tg.Id_Ticket - SET Firmado = 1 WHERE t.Id_Ruta = NEW.Id_Ruta; - 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 `Rutas_Master` --- - -DROP TABLE IF EXISTS `Rutas_Master`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Rutas_Master` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `warehouse_id` smallint(6) unsigned DEFAULT NULL, - `km` int(11) DEFAULT NULL, - `bultos` int(11) NOT NULL, - `vehiculos_coste` decimal(10,2) DEFAULT NULL, - `personal_coste` decimal(10,2) DEFAULT NULL, - `vehiculos_numero` decimal(10,2) DEFAULT NULL, - `personal_numero` decimal(10,2) DEFAULT NULL, - `gasoil` int(11) DEFAULT NULL, - `autonomos` decimal(10,2) DEFAULT NULL, - `año` int(11) DEFAULT NULL, - `mes` int(11) DEFAULT NULL, - `gastos` decimal(10,2) DEFAULT NULL, - `bultos_autonomos` int(11) DEFAULT NULL, - `coste_km` decimal(10,2) DEFAULT NULL, - `coste_bulto` decimal(10,2) DEFAULT NULL, - `coste_bulto_autonomo` decimal(10,2) DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `fk_rutas_warehouse_id_idx` (`warehouse_id`), - CONSTRAINT `fk_rutas_warehouse_id` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Rutas_dits` --- - -DROP TABLE IF EXISTS `Rutas_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Rutas_dits` ( - `idRutas_dits` int(11) unsigned NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) unsigned NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idRutas_dits`), - KEY `index2` (`idaccion_dits`), - KEY `index3` (`Id_Ticket`), - KEY `index4` (`Id_Trabajador`), - CONSTRAINT `fk_Id_Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fk_Id_ruta` FOREIGN KEY (`Id_Ticket`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_action_dits` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=300164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Rutas_monitor` --- - -DROP TABLE IF EXISTS `Rutas_monitor`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Rutas_monitor` ( - `Id_Ruta` int(10) unsigned NOT NULL, - `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Ubicacion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `pedidosEncajados` int(11) DEFAULT NULL, - `pedidosLibres` int(11) DEFAULT NULL, - `bultos` int(11) DEFAULT NULL, - `notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `pedidosProduccion` int(11) DEFAULT NULL, - `fecha` date DEFAULT NULL, - `dockFk` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Ruta`), - KEY `Rutas_monitor_fk_2_idx` (`dockFk`), - CONSTRAINT `Rutas_monitor_fk_1` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Rutas_monitor_fk_2` FOREIGN KEY (`dockFk`) REFERENCES `dock` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite ubicar y controlar el estado de preparacion de las rutas'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Salarios` --- - -DROP TABLE IF EXISTS `Salarios`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Salarios` ( - `Id_Trabajador` int(11) NOT NULL, - `Salario_Bruto` double DEFAULT '0', - `Incentivo` double DEFAULT '0', - `SS` double DEFAULT '0', - `warehouse_id` smallint(6) NOT NULL DEFAULT '1', - PRIMARY KEY (`Id_Trabajador`), - CONSTRAINT `trabajadaor_id` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Saldos_Prevision` --- - -DROP TABLE IF EXISTS `Saldos_Prevision`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Saldos_Prevision` ( - `Saldos_Prevision_id` int(11) NOT NULL AUTO_INCREMENT, - `Descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Importe` double NOT NULL DEFAULT '0', - `Fecha` date NOT NULL, - `Id_Banco` int(11) DEFAULT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - PRIMARY KEY (`Saldos_Prevision_id`), - KEY `Fecha_indice` (`Fecha`), - KEY `banco_prevision_idx` (`Id_Banco`), - KEY `empresa_prevision_idx` (`empresa_id`), - CONSTRAINT `banco_prevision` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `empresa_prevision` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Aqui ponemos los gastos e ingresos pendientes de introducir '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Series` --- - -DROP TABLE IF EXISTS `Series`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Series` ( - `Id_Serie` varchar(2) COLLATE utf8_unicode_ci NOT NULL, - `Serie` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Serie`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Split_lines` --- - -DROP TABLE IF EXISTS `Split_lines`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Split_lines` ( - `Id_Split_lines` int(11) NOT NULL AUTO_INCREMENT, - `Id_Split` int(11) NOT NULL, - `Id_Article` int(11) DEFAULT NULL, - `Id_Compra` int(11) DEFAULT NULL, - PRIMARY KEY (`Id_Split_lines`), - KEY `Id_Split` (`Id_Split`), - KEY `Id_Compra` (`Id_Compra`), - CONSTRAINT `Id_Compra` FOREIGN KEY (`Id_Compra`) REFERENCES `Compres` (`Id_Compra`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Split_lines_ibfk_1` FOREIGN KEY (`Id_Split`) REFERENCES `Splits` (`Id_Split`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=312477 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Splits` --- - -DROP TABLE IF EXISTS `Splits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Splits` ( - `Id_Split` int(11) NOT NULL AUTO_INCREMENT, - `Id_Ticket` int(11) DEFAULT NULL, - `Id_Entrada` int(11) DEFAULT NULL, - `Fecha` datetime DEFAULT NULL, - `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Split`), - KEY `Id_Entrada` (`Id_Entrada`) -) ENGINE=InnoDB AUTO_INCREMENT=36118 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Stockcontrol` --- - -DROP TABLE IF EXISTS `Stockcontrol`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Stockcontrol` ( - `Id_Control` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Article` int(11) NOT NULL, - `Id_Remitente` int(11) NOT NULL, - `Id_Solver` int(11) NOT NULL, - `Problema` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `Solucion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `Listo` tinyint(1) NOT NULL, - `Air` tinyint(1) NOT NULL, - `Datestart` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `Dateend` datetime DEFAULT NULL, - PRIMARY KEY (`Id_Control`), - KEY `Id_Article` (`Id_Article`), - KEY `Id_Remitente` (`Id_Remitente`), - KEY `Id_Solver` (`Id_Solver`), - CONSTRAINT `Stockcontrol_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Stockcontrol_ibfk_2` FOREIGN KEY (`Id_Remitente`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Stockcontrol_ibfk_3` FOREIGN KEY (`Id_Solver`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=23278 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Tickets` --- - -DROP TABLE IF EXISTS `Tickets`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tickets` ( - `Id_Ticket` int(11) NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL DEFAULT '0', - `warehouse_id` smallint(6) unsigned NOT NULL DEFAULT '1', - `Fecha` datetime NOT NULL, - `Alias` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Notas` longtext COLLATE utf8_unicode_ci, - `Factura` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `factura_id` int(10) unsigned DEFAULT NULL COMMENT 'eliminar', - `Anotadoencaja` tinyint(1) NOT NULL DEFAULT '0', - `Id_Consigna` int(11) NOT NULL DEFAULT '0', - `Id_Trabajador` int(11) DEFAULT NULL, - `Observaciones` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'eliminar', - `Firmado` tinyint(1) NOT NULL DEFAULT '0', - `Etiquetasemitidas` tinyint(1) NOT NULL DEFAULT '0', - `PedidoImpreso` tinyint(1) NOT NULL DEFAULT '0', - `Bultos` smallint(10) unsigned DEFAULT '0', - `Localizacion` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `Hora` int(11) DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `blocked` tinyint(1) NOT NULL DEFAULT '1', - `Solucion` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Ruta` int(10) unsigned DEFAULT NULL, - `Prioridad` tinyint(3) unsigned DEFAULT NULL, - `priority` tinyint(1) unsigned NOT NULL DEFAULT '1', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `Id_Agencia` int(11) NOT NULL, - `landing` date DEFAULT NULL, - `boxed` tinyint(2) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Ticket`), - KEY `Id_Cliente` (`Id_Cliente`), - KEY `Id_Consigna` (`Id_Consigna`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `warehouse_id` (`warehouse_id`), - KEY `empresa_id` (`empresa_id`), - KEY `Id_Agencia` (`Id_Agencia`), - KEY `Factura` (`Factura`), - KEY `Fecha` (`Fecha`), - KEY `Id_Ruta` (`Id_Ruta`), - KEY `warehouse_date` (`warehouse_id`,`Fecha`), - CONSTRAINT `Tickets_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Tickets_ibfk_5` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Tickets_ibfk_6` FOREIGN KEY (`Id_Consigna`) REFERENCES `Consignatarios` (`id_consigna`) ON UPDATE CASCADE, - CONSTRAINT `Tickets_ibfk_8` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`), - CONSTRAINT `Tickets_ibfk_9` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON UPDATE CASCADE, - CONSTRAINT `ticket_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, - CONSTRAINT `tickets_fk10` FOREIGN KEY (`Factura`) REFERENCES `Facturas` (`Id_Factura`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1764422 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 `TicketsBeforeInsert` - BEFORE INSERT ON `Tickets` FOR EACH ROW -BEGIN -/* - DECLARE strEspecif VARCHAR(255); - DECLARE intId_Agencia INTEGER; - DECLARE auxprovince INTEGER; - DECLARE intemp INTEGER; - - -- Si el cliente es de Canarias se le asigna la empresa ORN - - SELECT province_id INTO auxprovince - FROM Consignatarios WHERE Id_Consigna = NEW.Id_Consigna; - - IF (auxprovince = 49 OR auxprovince = 33) AND NEW.Id_Cliente <> 5270 THEN - SET intemp = 1381; - END IF; - - IF intemp THEN - SET NEW.empresa_id = intemp; - 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 `vn2008`.`TicketsAfterInsert` - AFTER INSERT ON `vn2008`.`Tickets` FOR EACH ROW -BEGIN - /* borrar cuando se canvie el insert ticket en la APP mobil */ - DECLARE vEmployee INT; - - SELECT Id_Trabajador INTO vEmployee - FROM Trabajadores WHERE user_id = account.userGetId(); - - IF vEmployee IS NULL THEN - SET vEmployee = 20; - END IF; - - IF NEW.Id_Cliente = 400 OR NEW.Id_Cliente = 200 - THEN - INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) - SELECT id, NEW.Id_Ticket, vEmployee - FROM state - WHERE `code` = 'DELIVERED'; - 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 `TicketsBeforeUpdate` - BEFORE UPDATE ON `Tickets` FOR EACH ROW -BEGIN - DECLARE vAgency INT; - DECLARE vEmployee INT; - DECLARE vIsCee TINYINT; - DECLARE vHasVies TINYINT; - - SELECT Id_Trabajador INTO vEmployee - FROM Trabajadores WHERE user_id = account.userGetId(); - - IF vEmployee IS NULL THEN - SET vEmployee = 20; - END IF; - - -- Comprobación de VIES - IF NEW.empresa_id <> OLD.empresa_id THEN - - SELECT CEE INTO vIsCee - FROM Proveedores AS pr - INNER JOIN Paises p ON p.Id = pr.pais_id - WHERE Id_Proveedor = NEW.empresa_id; - - SELECT isVies INTO vHasVies - FROM vn.`client` - WHERE id = OLD.Id_Cliente; - - IF vIsCee = 1 AND NOT vHasVies Then - CALL util.throw("NO_VALID_VIES"); - END IF; - END IF; - - IF NEW.Fecha < '2001-01-01' - THEN - SET NEW.Id_Ruta = NULL; - - IF NEW.Fecha < '2000-01-01' then - SET NEW.Fecha = OLD.Fecha; - END IF; - - INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) - VALUES(17, NEW.Id_Ticket, vEmployee); - 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 `vn2008`.`TicketsAfterUpdate` - AFTER UPDATE ON `Tickets` FOR EACH ROW -BEGIN - IF NEW.Id_Ruta IS NULL AND OLD.Id_Ruta IS NOT NULL THEN - INSERT INTO vn.routeLog(originFk, userFk, `action`, description) - VALUES (OLD.Id_Ruta, account.userGetId(), 'update', CONCAT('Saca el ticket ', OLD.Id_Ticket, ' de la ruta')); - ELSEIF NOT (NEW.Id_Ruta <=> OLD.Id_Ruta) THEN - INSERT INTO vn.routeLog(originFk, userFk, `action`, description) - VALUES (NEW.Id_Ruta, account.userGetId(), 'update', CONCAT('Añade el ticket ', OLD.Id_Ticket, ' a la ruta')); - END IF; - - CALL stock.queueAdd ('ticket', NEW.Id_Ticket, OLD.Id_Ticket); -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=`z-developer`@`%`*/ /*!50003 TRIGGER `vn2008`.`Tickets_BEFORE_DELETE` BEFORE DELETE ON `Tickets` FOR EACH ROW -BEGIN - /*INSERT INTO vn2008.mail SET - `to` = 'jgallego@verdnatura.es', - `reply_to` = 'jgallego@verdnatura.es', - `subject` = 'Ticket Eliminado', - `text` = CONCAT(USER(), ' ha eliminado el ticket ', - OLD.`Id_Ticket`);*/ -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 `Tickets_dits` --- - -DROP TABLE IF EXISTS `Tickets_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tickets_dits` ( - `idTickets_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idTickets_dits`), - KEY `fgkey1_idx` (`idaccion_dits`), - KEY `fgkey2_idx` (`Id_Ticket`), - KEY `fgkey3_idx` (`Id_Trabajador`), - CONSTRAINT `Tickets_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fgkey1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `fgkey3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=57083653 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Tickets_stack` --- - -DROP TABLE IF EXISTS `Tickets_stack`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tickets_stack` ( - `Id_Ticket` int(11) NOT NULL, - `orden` smallint(5) unsigned NOT NULL, - `label_number` smallint(6) DEFAULT '0', - `preparado` tinyint(4) DEFAULT '0', - PRIMARY KEY (`Id_Ticket`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Orden para imprimir los F5.Se borra autom. lo de 2 meses'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Tickets_state` --- - -DROP TABLE IF EXISTS `Tickets_state`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tickets_state` ( - `Id_Ticket` int(11) NOT NULL DEFAULT '0', - `inter_id` int(11) NOT NULL, - `state_name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`Id_Ticket`), - KEY `double_foreign` (`Id_Ticket`,`inter_id`), - CONSTRAINT `Id_Ticket` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `double_foreign` FOREIGN KEY (`Id_Ticket`, `inter_id`) REFERENCES `vncontrol`.`inter` (`Id_Ticket`, `inter_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 `Tickets_turno` --- - -DROP TABLE IF EXISTS `Tickets_turno`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tickets_turno` ( - `Id_Ticket` int(11) NOT NULL AUTO_INCREMENT, - `weekDay` tinyint(1) DEFAULT NULL COMMENT 'funcion de mysql Lunes = 0, Domingo = 6', - PRIMARY KEY (`Id_Ticket`), - CONSTRAINT `Id_Ticket_fk` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1762504 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Tintas` --- - -DROP TABLE IF EXISTS `Tintas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tintas` ( - `Id_Tinta` char(3) COLLATE utf8_unicode_ci NOT NULL, - `name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Tinta` blob NOT NULL, - `Orden` int(11) NOT NULL, - `ball` blob, - `cargex` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Tinta`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Tipos` --- - -DROP TABLE IF EXISTS `Tipos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tipos` ( - `tipo_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `Id_Tipo` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Tipo` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `Orden` int(11) DEFAULT '0', - `Temperatura` tinyint(1) unsigned NOT NULL DEFAULT '0', - `reino_id` int(10) unsigned NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `inventory` tinyint(4) NOT NULL DEFAULT '1', - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `f11` tinyint(4) NOT NULL DEFAULT '0', - `father_id` smallint(5) DEFAULT NULL, - `transaction` tinyint(4) NOT NULL DEFAULT '0', - `confeccion` int(10) unsigned DEFAULT NULL, - `location` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `life` smallint(5) unsigned DEFAULT NULL, - `maneuver` double NOT NULL DEFAULT '0.21', - `target` double NOT NULL DEFAULT '0.15', - `top_margin` double NOT NULL DEFAULT '0.3', - `profit` double NOT NULL DEFAULT '0.02', - `FV` tinyint(3) DEFAULT '1', - `density` double NOT NULL DEFAULT '167' COMMENT 'Almacena el valor por defecto de la densidad en kg/m3 para el calculo de los portes aereos, en articulos se guarda la correcta', - `promo` double NOT NULL DEFAULT '0', - `box` tinyint(4) NOT NULL DEFAULT '0', - `CYM` int(11) NOT NULL DEFAULT '0', - `isPackaging` tinyint(1) NOT NULL DEFAULT '0', - `hasComponents` tinyint(1) NOT NULL DEFAULT '1', - PRIMARY KEY (`Id_Tipo`), - UNIQUE KEY `tipo_id_UNIQUE` (`tipo_id`), - KEY `Trabajador` (`Id_Trabajador`), - KEY `reino_id` (`reino_id`), - KEY `Tipos_fk3_idx` (`confeccion`), - CONSTRAINT `Tipos_fk3` FOREIGN KEY (`confeccion`) REFERENCES `vn`.`confectionType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Tipos_ibfk_1` FOREIGN KEY (`reino_id`) REFERENCES `reinos` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=222 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Protege la tabla tipos de updates para los 4 parámetros de los compradores, en funcion del valor del campo CodigoRojo de tblContadores.'; -/*!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 `Tipos_bu` BEFORE UPDATE ON `Tipos` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - DECLARE strCOD VARCHAR(40); - - SELECT CodigoRojo INTO strCOD FROM tblContadores LIMIT 1; - - IF strCOD <> 'tipos' - THEN - SET NEW.maneuver = OLD.maneuver ; - SET NEW.target = OLD.target ; - SET NEW.top_margin = OLD.top_margin ; - SET NEW.profit = OLD.profit ; - 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 `Tipos_f11` --- - -DROP TABLE IF EXISTS `Tipos_f11`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tipos_f11` ( - `f11_id` tinyint(4) NOT NULL AUTO_INCREMENT, - `description` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`f11_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 `Trabajadores` --- - -DROP TABLE IF EXISTS `Trabajadores`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Trabajadores` ( - `Id_Trabajador` int(11) NOT NULL AUTO_INCREMENT, - `CodigoTrabajador` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Nombre` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Apellidos` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Password` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `extension` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `sub` int(11) unsigned DEFAULT NULL, - `user` varchar(20) CHARACTER SET utf8 DEFAULT NULL, - `Contrato_Tipo` varchar(30) CHARACTER SET utf8 DEFAULT 'no dejar vacio' COMMENT 'campo obsoleto, actualmente se rellena en laboral', - `Categoria_Laboral` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fecha_Inicio` datetime DEFAULT NULL, - `Fecha_Fin` datetime DEFAULT NULL, - `Notas` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, - `Foto` blob, - `dni` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL, - `address` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `date_birth` date NOT NULL, - `marital_status` enum('soltero/a','casado/a') COLLATE utf8_unicode_ci NOT NULL, - `phone` varchar(9) COLLATE utf8_unicode_ci NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL, - `Id_Cliente_Interno` int(11) DEFAULT NULL, - `user_id` int(10) unsigned DEFAULT NULL, - `boss` int(11) NOT NULL DEFAULT '2', - `DniExpiration` datetime DEFAULT NULL, - PRIMARY KEY (`Id_Trabajador`), - UNIQUE KEY `CodigoTrabajador_UNIQUE` (`CodigoTrabajador`), - UNIQUE KEY `user` (`user`), - UNIQUE KEY `user_id_UNIQUE` (`user_id`), - UNIQUE KEY `Id_Cliente_Interno` (`Id_Cliente_Interno`), - KEY `sub` (`sub`), - CONSTRAINT `Clientes` FOREIGN KEY (`Id_Cliente_Interno`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, - CONSTRAINT `Trabajadores_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1048 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 `vn2008`.`TrabajadoresBeforeInsert` - BEFORE INSERT ON `Trabajadores` - FOR EACH ROW -BEGIN - IF NEW.password = '' THEN - SET NEW.password = 'FALLO'; - 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 `vn2008`.`TrabajadoresBeforeUpdate` - BEFORE UPDATE ON `Trabajadores` - FOR EACH ROW -BEGIN - IF NEW.password = '' THEN - SET NEW.password = 'FALLO'; - 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 `Tramos` --- - -DROP TABLE IF EXISTS `Tramos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Tramos` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Tramo` time NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `Tramo` (`Tramo`) -) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Ubicator` --- - -DROP TABLE IF EXISTS `Ubicator`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Ubicator` ( - `Id_Estanterias` int(11) NOT NULL, - `Date` date NOT NULL, - `w` int(11) DEFAULT '0', - `d` int(11) DEFAULT '0', - `h` int(11) DEFAULT '0', - `Id_Cubo` int(11) NOT NULL, - `Id_Article` int(11) NOT NULL -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `V_edi_item_track` --- - -DROP TABLE IF EXISTS `V_edi_item_track`; -/*!50001 DROP VIEW IF EXISTS `V_edi_item_track`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `V_edi_item_track` AS SELECT - 1 AS `item_id`, - 1 AS `s1`, - 1 AS `s2`, - 1 AS `s3`, - 1 AS `s4`, - 1 AS `s5`, - 1 AS `s6`, - 1 AS `kop`, - 1 AS `pac`, - 1 AS `cat`, - 1 AS `ori`, - 1 AS `pro`, - 1 AS `sub`, - 1 AS `package`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `Vehiculos` --- - -DROP TABLE IF EXISTS `Vehiculos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Vehiculos` ( - `Id_Vehiculo` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Matricula` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `Modelo` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `Marca` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `m3` double DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT '1', - `warehouseFk` smallint(6) unsigned DEFAULT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`Id_Vehiculo`), - KEY `empresa_id` (`empresa_id`), - KEY `provinceFk_idx` (`warehouseFk`), - CONSTRAINT `Vehiculos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `provinceFk` FOREIGN KEY (`warehouseFk`) REFERENCES `province` (`province_id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=364 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Vehiculos_consumo` --- - -DROP TABLE IF EXISTS `Vehiculos_consumo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Vehiculos_consumo` ( - `Vehiculos_consumo_id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Vehiculo` int(10) unsigned NOT NULL, - `fecha` date NOT NULL, - `km` int(20) unsigned NOT NULL, - `litros` double unsigned NOT NULL, - `precio` double unsigned NOT NULL, - `adblue` decimal(10,2) NOT NULL DEFAULT '0.00', - `peajes` double DEFAULT NULL, - `descuento` double DEFAULT NULL, - `silla` int(11) NOT NULL DEFAULT '0' COMMENT 'indica si han repostado en la gasolinera de la rotonda', - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `otros` double DEFAULT NULL, - PRIMARY KEY (`Vehiculos_consumo_id`,`Id_Vehiculo`), - KEY `fk_Vehiculos_consumo_Vehiculos_idx` (`Id_Vehiculo`), - CONSTRAINT `fk_Vehiculos_consumo_Vehiculos` FOREIGN KEY (`Id_Vehiculo`) REFERENCES `Vehiculos` (`Id_Vehiculo`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=7197 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntan el importe de los tickets de la gasolinera solred, con quien tenemos un contrato y nos facturan mensualmente'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `VerEspionaje` --- - -DROP TABLE IF EXISTS `VerEspionaje`; -/*!50001 DROP VIEW IF EXISTS `VerEspionaje`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `VerEspionaje` AS SELECT - 1 AS `CodigoTrabajador`, - 1 AS `Fecha`, - 1 AS `HoraEntrada`, - 1 AS `HoraSalida`, - 1 AS `Id_Equipo`, - 1 AS `Id_Trabajador`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `Vistas` --- - -DROP TABLE IF EXISTS `Vistas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Vistas` ( - `vista_id` int(11) NOT NULL AUTO_INCREMENT, - `vista` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`vista_id`), - UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `XDiario` --- - -DROP TABLE IF EXISTS `XDiario`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `XDiario` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ASIEN` double DEFAULT NULL, - `FECHA` datetime DEFAULT NULL, - `SUBCTA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `CONTRA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `CONCEPTO` varchar(50) CHARACTER SET utf8 DEFAULT NULL, - `EURODEBE` decimal(10,2) DEFAULT NULL, - `EUROHABER` decimal(10,2) DEFAULT NULL, - `BASEEURO` decimal(10,2) DEFAULT NULL, - `SERIE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `FACTURA` varchar(8) COLLATE utf8_unicode_ci DEFAULT '0', - `BASEIMPO` decimal(10,2) DEFAULT NULL, - `IVA` decimal(10,2) DEFAULT NULL, - `RECEQUIV` decimal(10,2) DEFAULT '0.00', - `DOCUMENTO` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `DEPARTA` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `CLAVE` int(11) DEFAULT NULL, - `ESTADO` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `NCASADO` decimal(10,2) DEFAULT NULL, - `TCASADO` decimal(10,2) DEFAULT NULL, - `TRANS` decimal(10,2) DEFAULT NULL, - `CAMBIO` decimal(10,2) DEFAULT NULL, - `DEBEME` decimal(10,2) DEFAULT NULL, - `HABERME` decimal(10,2) DEFAULT NULL, - `PTAHABER` decimal(10,2) DEFAULT NULL, - `AUXILIAR` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `SUCURSAL` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - `PTADEBE` decimal(10,2) DEFAULT NULL, - `CODDIVISA` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `IMPAUXME` decimal(10,2) DEFAULT NULL, - `MONEDAUSO` varchar(1) COLLATE utf8_unicode_ci DEFAULT '2', - `NOCONV` tinyint(1) NOT NULL DEFAULT '0', - `NUMEROINV` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `NFACTICK` tinyint(1) NOT NULL DEFAULT '1', - `TERIDNIF` tinyint(1) NOT NULL DEFAULT '2', - `TERNIF` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'I.F.', - `TERNOM` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Nombre Importador', - `OPBIENES` tinyint(1) NOT NULL DEFAULT '1', - `TIPOFAC` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `TIPOIVA` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `L340` tinyint(2) NOT NULL DEFAULT '0', - `enlazado` tinyint(1) NOT NULL DEFAULT '0', - `FECHA_EX` date DEFAULT NULL COMMENT 'FEcha de expedicion de la factura', - `LRECT349` tinyint(1) NOT NULL DEFAULT '0', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `LDIFADUAN` tinyint(4) NOT NULL DEFAULT '0', - `METAL` tinyint(1) NOT NULL DEFAULT '0', - `METALIMP` decimal(10,2) NOT NULL DEFAULT '0.00', - `CLIENTE` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `METALEJE` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - `FECHA_OP` date DEFAULT NULL COMMENT 'FEcha de operacion', - `FACTURAEX` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Numero de factura del proveedor', - `TIPOCLAVE` int(3) DEFAULT NULL, - `TIPOEXENCI` int(3) DEFAULT NULL, - `TIPONOSUJE` int(3) DEFAULT NULL, - `TIPOFACT` int(3) DEFAULT NULL, - `TIPORECTIF` int(3) DEFAULT NULL, - `SERIE_RT` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `FACTU_RT` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `BASEIMP_RT` decimal(10,2) DEFAULT NULL, - `BASEIMP_RF` decimal(10,2) DEFAULT NULL, - `RECTIFICA` int(1) NOT NULL DEFAULT '0', - `FECHA_RT` date DEFAULT NULL, - `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `updated` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `FECREGCON` date DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `XDiario_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3184962 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `XDiario_KK` --- - -DROP TABLE IF EXISTS `XDiario_KK`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `XDiario_KK` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ASIEN` double DEFAULT NULL, - `FECHA` date DEFAULT NULL, - `SUBCTA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `CONTRA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, - `CONCEPTO` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, - `EURODEBE` decimal(10,2) DEFAULT NULL, - `EUROHABER` decimal(10,2) DEFAULT NULL, - `BASEEURO` decimal(10,2) DEFAULT NULL, - `SERIE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `FACTURA` varchar(8) COLLATE utf8_unicode_ci DEFAULT '0', - `BASEIMPO` decimal(10,2) DEFAULT NULL, - `IVA` decimal(10,2) DEFAULT NULL, - `RECEQUIV` decimal(10,2) DEFAULT '0.00', - `DOCUMENTO` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `DEPARTA` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `CLAVE` int(11) DEFAULT NULL, - `ESTADO` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `NCASADO` decimal(10,2) DEFAULT NULL, - `TCASADO` decimal(10,2) DEFAULT NULL, - `TRANS` decimal(10,2) DEFAULT NULL, - `CAMBIO` decimal(10,2) DEFAULT NULL, - `DEBEME` decimal(10,2) DEFAULT NULL, - `HABERME` decimal(10,2) DEFAULT NULL, - `PTAHABER` decimal(10,2) DEFAULT NULL, - `AUXILIAR` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `SUCURSAL` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - `PTADEBE` decimal(10,2) DEFAULT NULL, - `CODDIVISA` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `IMPAUXME` decimal(10,2) DEFAULT NULL, - `MONEDAUSO` varchar(1) COLLATE utf8_unicode_ci DEFAULT '2', - `NOCONV` tinyint(1) NOT NULL DEFAULT '0', - `NUMEROINV` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `NFACTICK` tinyint(1) NOT NULL DEFAULT '1', - `TERIDNIF` tinyint(1) NOT NULL DEFAULT '2', - `TERNIF` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'I.F.', - `TERNOM` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Nombre Importador', - `OPBIENES` tinyint(1) NOT NULL DEFAULT '1', - `TIPOFAC` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `TIPOIVA` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `L340` tinyint(2) NOT NULL DEFAULT '0', - `enlazado` tinyint(1) NOT NULL DEFAULT '0', - `FECHA_EX` date DEFAULT NULL COMMENT 'FEcha de expedicion de la factura', - `LRECT349` tinyint(1) NOT NULL DEFAULT '0', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `LDIFADUAN` tinyint(4) NOT NULL DEFAULT '0', - `METAL` tinyint(1) NOT NULL DEFAULT '0', - `METALIMP` decimal(10,2) NOT NULL DEFAULT '0.00', - `FECHA_OP` date DEFAULT NULL COMMENT 'FEcha de operacion', - `FACTURAEX` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Numero de factura del proveedor', - `TIPOCLAVE` int(3) DEFAULT NULL, - `TIPOEXENCI` int(3) DEFAULT NULL, - `TIPONOSUJE` int(3) DEFAULT NULL, - `TIPOFACT` int(3) DEFAULT NULL, - `TIPORECTIF` int(3) DEFAULT NULL, - `SERIE_RT` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `FACTU_RT` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `BASEIMP_RT` decimal(10,2) DEFAULT NULL, - `BASEIMP_RF` decimal(10,2) DEFAULT NULL, - `RECTIFICA` int(1) NOT NULL DEFAULT '0', - `FECHA_RT` date DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `empresa_id` (`empresa_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `__Cartera_Ventas` --- - -DROP TABLE IF EXISTS `__Cartera_Ventas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `__Cartera_Ventas` ( - `CodigoTrabajador` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `Mes` int(2) DEFAULT NULL, - `Año` int(4) DEFAULT NULL, - `Motivo` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL, - `Importe` double DEFAULT NULL, - `Id_Ticket` bigint(20) DEFAULT NULL, - `Semana` int(2) DEFAULT NULL, - `Cliente` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - KEY `INDEX1` (`Id_Ticket`), - KEY `INDEX2` (`Mes`,`Año`,`Id_Ticket`), - KEY `INDEX3` (`CodigoTrabajador`,`Mes`,`Año`,`Id_Ticket`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `accion_dits` --- - -DROP TABLE IF EXISTS `accion_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `accion_dits` ( - `idaccion_dits` int(11) NOT NULL AUTO_INCREMENT, - `accion` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idaccion_dits`), - UNIQUE KEY `accion_UNIQUE` (`accion`) -) ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `account_conciliacion` --- - -DROP TABLE IF EXISTS `account_conciliacion`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `account_conciliacion` ( - `idaccount_conciliacion` int(11) NOT NULL AUTO_INCREMENT, - `Id_Proveedores_account` mediumint(8) unsigned NOT NULL, - `Fechaoperacion` datetime NOT NULL, - `FechaValor` datetime NOT NULL, - `importe` double NOT NULL, - `Concepto` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `DebeHaber` smallint(6) NOT NULL, - `id_calculated` varchar(90) COLLATE utf8_unicode_ci DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`idaccount_conciliacion`), - UNIQUE KEY `idaccount_conciliacion_UNIQUE` (`idaccount_conciliacion`), - KEY `fg_accconciliacion_key1_idx` (`Id_Proveedores_account`), - KEY `index_id_calculated` (`id_calculated`), - CONSTRAINT `fg_key1_accountconc` FOREIGN KEY (`Id_Proveedores_account`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=28741 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`account_conciliacion_BEFORE_INSERT` -BEFORE INSERT ON `account_conciliacion` FOR EACH ROW - -set new.id_calculated = replace( - replace( - replace( - replace( - concat(new.Id_Proveedores_account,new.Fechaoperacion,new.importe,new.Concepto,new.DebeHaber) - ,' ','') - ,":",'') - ,'-','') - ,'.','') */;; -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 `account_customer` --- - -DROP TABLE IF EXISTS `account_customer`; -/*!50001 DROP VIEW IF EXISTS `account_customer`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `account_customer` AS SELECT - 1 AS `description`, - 1 AS `iban`, - 1 AS `entity_id`, - 1 AS `office`, - 1 AS `dc`, - 1 AS `number`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `account_detail` --- - -DROP TABLE IF EXISTS `account_detail`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `account_detail` ( - `account_detail_id` int(11) NOT NULL AUTO_INCREMENT, - `value` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `account_detail_type_id` int(11) NOT NULL, - `Id_Proveedores_account` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`account_detail_id`), - KEY `fk_account_detail_account_detail_type1_idx` (`account_detail_type_id`), - KEY `fk_account_detail_Proveedores_account1_idx` (`Id_Proveedores_account`), - CONSTRAINT `fk_account_detail_account_detail_type1` FOREIGN KEY (`account_detail_type_id`) REFERENCES `account_detail_type` (`account_detail_type_id`) ON UPDATE CASCADE, - CONSTRAINT `fk_account_detail_account_id_proveedores_account` FOREIGN KEY (`Id_Proveedores_account`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `account_detail_type` --- - -DROP TABLE IF EXISTS `account_detail_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `account_detail_type` ( - `account_detail_type_id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`account_detail_type_id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `accumulatorsReadingDate` --- - -DROP TABLE IF EXISTS `accumulatorsReadingDate`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `accumulatorsReadingDate` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `pagoSdcfk` int(11) NOT NULL, - `readingDate` date NOT NULL COMMENT 'dia en que se revisa la cotizacion del dolar', - `amount` double DEFAULT NULL COMMENT 'cantidad aumentada tras la lectura del tipo de cambio', - PRIMARY KEY (`id`), - KEY `pagoSdcFk_idx` (`pagoSdcfk`), - CONSTRAINT `pagoSdcFk` FOREIGN KEY (`pagoSdcfk`) REFERENCES `pago_sdc` (`pago_sdc_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=271 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `agencia_descuadre` --- - -DROP TABLE IF EXISTS `agencia_descuadre`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `agencia_descuadre` ( - `agencia_descuadre_id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Ticket` int(11) NOT NULL, - `date` date NOT NULL, - `price` double(7,2) NOT NULL, - `Consignatario` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Tipo` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`agencia_descuadre_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `agency` --- - -DROP TABLE IF EXISTS `agency`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `agency` ( - `agency_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - `warehouse_id` smallint(5) unsigned DEFAULT NULL COMMENT 'A nulo si se puede enrutar desde todos los almacenes', - `por_volumen` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Si el calculo del porte se hacer por volumen', - `Id_Banco` int(11) NOT NULL DEFAULT '8' COMMENT 'para realizar los reembolsos', - `warehouse_alias_id` smallint(5) unsigned DEFAULT NULL, - `propios` tinyint(1) NOT NULL DEFAULT '0', - `zone_label` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`agency_id`), - KEY `warehouse_id` (`warehouse_id`), - KEY `Id_Banco` (`Id_Banco`), - KEY `agencias_alias_idx` (`warehouse_alias_id`), - CONSTRAINT `agency_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `agency_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=229 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`agency_ai` -AFTER INSERT ON `vn2008`.`agency` -FOR EACH ROW -BEGIN - INSERT INTO Agencias(Agencia,agency_id) VALUES(NEW.name,NEW.agency_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 */ ; - --- --- Table structure for table `agency_hour` --- - -DROP TABLE IF EXISTS `agency_hour`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `agency_hour` ( - `agency_hour_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `week_day` tinyint(3) unsigned DEFAULT NULL COMMENT 'funcion de mysql Lunes = 0, Domingo = 6', - `agency_id` smallint(5) unsigned DEFAULT NULL, - `warehouse_id` smallint(5) unsigned DEFAULT NULL, - `province_id` smallint(5) unsigned DEFAULT NULL, - `subtract_day` tinyint(10) unsigned NOT NULL COMMENT 'dias a restar de la Fecha de entrega', - `max_hour` tinyint(3) unsigned NOT NULL COMMENT 'maxima hora hasta la cual se pueden hacer pedidos', - PRIMARY KEY (`agency_hour_id`), - UNIQUE KEY `week_day` (`week_day`,`agency_id`,`warehouse_id`,`province_id`,`max_hour`), - KEY `agency_id` (`agency_id`), - KEY `warehouse_id` (`warehouse_id`), - KEY `province_id` (`province_id`), - CONSTRAINT `agency_hour_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `agency_hour_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `agency_hour_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4303 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 `vn2008`.`agency_hourBeforeInsert` BEFORE INSERT ON `agency_hour` FOR EACH ROW -BEGIN - DECLARE vAlreadyExists BOOLEAN DEFAULT FALSE; - IF NEW.week_day IS NULL AND NEW.province_id IS NULL AND NEW.subtract_day = 0 AND NEW.max_hour = 0 THEN - CALL util.throw ('FILL_MORE_FIELDS'); - END IF; - - SELECT COUNT(*) INTO vAlreadyExists - FROM vn2008.agency_hour - WHERE NEW.week_day <=> week_day AND NEW.province_id <=> province_id - AND NEW.warehouse_id <=> warehouse_id AND NEW.max_hour <=> max_hour - AND NEW.agency_id <=> agency_id; - - IF vAlreadyExists > 1 THEN - CALL util.throw('ALREADY_EXISTS'); - 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 `vn2008`.`agency_hour_AFTER_UPDATE` AFTER UPDATE ON `agency_hour` FOR EACH ROW -BEGIN -DECLARE vAlreadyExists BOOLEAN DEFAULT FALSE; - - SELECT COUNT(*) INTO vAlreadyExists - FROM vn2008.agency_hour - WHERE NEW.week_day <=> week_day AND NEW.province_id <=> province_id - AND NEW.warehouse_id <=> warehouse_id AND NEW.max_hour <=> max_hour - AND NEW.agency_id <=> agency_id; - - IF vAlreadyExists > 1 THEN - CALL util.throw('ALREADY_EXISTS'); - 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 `agency_warehouse` --- - -DROP TABLE IF EXISTS `agency_warehouse`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `agency_warehouse` ( - `agency_id` smallint(5) unsigned NOT NULL, - `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', - `Vista` tinyint(3) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`agency_id`,`warehouse_id`), - KEY `warehouse_id` (`warehouse_id`), - CONSTRAINT `agency_warehouse_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `agency_warehouse_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Indica la vista para cada agencia'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `agency_weekday_bonus` --- - -DROP TABLE IF EXISTS `agency_weekday_bonus`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `agency_weekday_bonus` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `warehouse_id` smallint(6) unsigned DEFAULT NULL, - `agency_id` smallint(5) unsigned DEFAULT NULL, - `weekDay` tinyint(3) unsigned NOT NULL, - `zona` tinyint(4) DEFAULT NULL, - `bonus` decimal(10,2) NOT NULL DEFAULT '0.00', - PRIMARY KEY (`id`), - UNIQUE KEY `warehouse_id` (`warehouse_id`,`agency_id`,`weekDay`,`zona`) -) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `airline` --- - -DROP TABLE IF EXISTS `airline`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `airline` ( - `airline_id` smallint(2) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`airline_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 `airport` --- - -DROP TABLE IF EXISTS `airport`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `airport` ( - `airport_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `name` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`airport_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `albaran` --- - -DROP TABLE IF EXISTS `albaran`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `albaran` ( - `albaran_id` int(11) NOT NULL AUTO_INCREMENT, - `ref` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `note` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL, - `fecha` date NOT NULL, - `fecha_entrega` date DEFAULT NULL, - `valor` double DEFAULT NULL, - `Id_Proveedor` int(11) NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - `albaran_state_id` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL COMMENT 'Id_Trabajador hace referencia a la persona que ha introducido el albarán', - `Id_Responsable` int(11) NOT NULL, - `department_id` int(11) NOT NULL, - `recibida_id` mediumint(8) unsigned DEFAULT NULL, - PRIMARY KEY (`albaran_id`), - KEY `fk_albaran_Proveedores_idx` (`Id_Proveedor`), - KEY `fk_albaran_empresa1_idx` (`empresa_id`), - KEY `fk_albaran_warehouse1_idx` (`warehouse_id`), - KEY `fk_albaran_albaran_state1_idx` (`albaran_state_id`), - KEY `fk_albaran_Trabajadores1_idx` (`Id_Trabajador`), - KEY `fk_albaran_Trabajadores2_idx` (`Id_Responsable`), - KEY `fk_albaran_department1_idx` (`department_id`), - KEY `fk_albaran_recibida_idx` (`recibida_id`), - CONSTRAINT `fk_albaran_Proveedores` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_Trabajadores2` FOREIGN KEY (`Id_Responsable`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_albaran_state1` FOREIGN KEY (`albaran_state_id`) REFERENCES `albaran_state` (`albaran_state_id`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_department1` FOREIGN KEY (`department_id`) REFERENCES `department` (`department_id`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_empresa1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_recibida` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_warehouse1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2045 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `albaran_gestdoc` --- - -DROP TABLE IF EXISTS `albaran_gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `albaran_gestdoc` ( - `gestdoc_id` int(11) NOT NULL, - `albaran_id` int(11) NOT NULL, - PRIMARY KEY (`gestdoc_id`,`albaran_id`), - KEY `fk_albaran_gestdoc_gestdoc1_idx` (`gestdoc_id`), - KEY `fk_albaran_gestdoc_albaran1_idx` (`albaran_id`), - CONSTRAINT `fk_albaran_gestdoc_albaran1` FOREIGN KEY (`albaran_id`) REFERENCES `albaran` (`albaran_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_gestdoc_gestdoc1` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`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 `albaran_state` --- - -DROP TABLE IF EXISTS `albaran_state`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `albaran_state` ( - `albaran_state_id` int(11) NOT NULL AUTO_INCREMENT, - `state` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`albaran_state_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb` --- - -DROP TABLE IF EXISTS `awb`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb` ( - `id` smallint(11) unsigned NOT NULL AUTO_INCREMENT, - `codigo` varchar(18) COLLATE utf8_unicode_ci NOT NULL, - `bultos` float unsigned NOT NULL, - `peso` float unsigned DEFAULT NULL, - `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `transitario_id` int(11) NOT NULL DEFAULT '582', - `iva_id` tinyint(3) unsigned DEFAULT '62', - `duakk` varchar(18) COLLATE utf8_unicode_ci DEFAULT NULL, - `gestdoc_id` int(11) DEFAULT NULL, - `importe` double NOT NULL DEFAULT '0', - `carguera_id` int(11) DEFAULT NULL, - `m3` double unsigned DEFAULT NULL, - `stems` int(10) unsigned DEFAULT NULL, - `flight_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `volume_weight` float unsigned DEFAULT NULL, - `hb` decimal(10,1) unsigned DEFAULT NULL, - `rate` decimal(10,2) unsigned DEFAULT NULL, - `booked` datetime DEFAULT NULL, - `issued` datetime DEFAULT NULL, - `operated` datetime DEFAULT NULL, - `bookEntried` date DEFAULT NULL, - `invoiceInFk` mediumint(8) unsigned DEFAULT NULL, - `isChecked` tinyint(3) DEFAULT '0', - PRIMARY KEY (`id`), - UNIQUE KEY `codigo_UNIQUE` (`codigo`), - KEY `proveedor_id` (`transitario_id`), - KEY `iva_id` (`iva_id`), - KEY `carguera_id` (`carguera_id`), - KEY `flight_id` (`flight_id`), - KEY `awbInvoiceIn` (`invoiceInFk`), - CONSTRAINT `awbInvoiceIn` FOREIGN KEY (`invoiceInFk`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `awbTransitoryFk` FOREIGN KEY (`transitario_id`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, - CONSTRAINT `awb_ibfk_1` FOREIGN KEY (`iva_id`) REFERENCES `iva_codigo` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2357 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 `awb_ai` AFTER INSERT ON `awb` FOR EACH ROW -BEGIN -DECLARE lastrecibida_id INT; -INSERT INTO recibida(proveedor_id,fecha,empresa_id) - VALUES(NEW.transitario_id,CURDATE(),442); - -SELECT last_insert_id() into lastrecibida_id; - -INSERT INTO awb_recibida(awb_id,recibida_id) - VALUES(NEW.id,lastrecibida_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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`awb_au` AFTER UPDATE ON `awb` FOR EACH ROW -begin - -IF NEW.importe <> OLD.importe THEN - - CALL buy_tarifas_awb(NEW.codigo); - -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 `awb_cargo` --- - -DROP TABLE IF EXISTS `awb_cargo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_cargo` ( - `awbFk` smallint(11) unsigned NOT NULL, - `id` int(11) DEFAULT NULL, - `awb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, - `awbmaster` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, - `descripcion` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `numawb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, - `codcliente` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `nomcliente` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `codbroker` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `nombroker` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `numawbmaster` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, - `codclientemaster` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `tipoawb` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `fechaexportacion` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `cupo` int(11) DEFAULT NULL, - `pesonetocajaestiamdo` double DEFAULT NULL, - `pesovolumencajaestiamdo` double DEFAULT NULL, - `pesonetoestiamdo` double DEFAULT NULL, - `pesovolumenestiamdo` double DEFAULT NULL, - `aeropuertosalida` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `aeropuertollegada` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `codvuelo` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `numvuelo` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `ruta1` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `ruta2` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `ruta3` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `destinofinal` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `puertodestinofinal` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `tipopago` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `codbodegaentrega` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `bodegaentrega` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `codpaletizadora` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `paletizadora` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `mrn` varchar(24) COLLATE utf8_unicode_ci DEFAULT NULL, - `cierre` int(11) DEFAULT NULL, - `numebarque` int(11) DEFAULT NULL, - `pesonetocorte` double DEFAULT NULL, - `pesovolumencorte` double DEFAULT NULL, - `pcsreservadas` int(11) DEFAULT NULL, - `bxsreservadas` double DEFAULT NULL, - `pcsconfirmadas` int(11) DEFAULT NULL, - `bxsconfirmadas` double DEFAULT NULL, - `codlineacamion` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`awbFk`), - KEY `awb_cargo_fk1_idx` (`awbFk`), - CONSTRAINT `awb_cargo_fk1` FOREIGN KEY (`awbFk`) REFERENCES `awb` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Aloja los datos correspondientes al embarque relativos a la carguera'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_component` --- - -DROP TABLE IF EXISTS `awb_component`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_component` ( - `awb_id` smallint(11) unsigned DEFAULT NULL, - `Id_Proveedor` int(11) NOT NULL, - `Fecha` date NOT NULL, - `awb_component_type_id` mediumint(3) unsigned DEFAULT NULL, - `awb_role_id` tinyint(1) unsigned NOT NULL DEFAULT '1', - `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `value` decimal(10,2) DEFAULT NULL, - `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '2', - `recibida_id` mediumint(8) unsigned DEFAULT NULL, - UNIQUE KEY `unique_idx` (`awb_id`,`Id_Proveedor`,`awb_component_type_id`,`Fecha`), - KEY `Id_Moneda` (`Id_Moneda`), - KEY `awb_component_fk` (`awb_component_type_id`), - KEY `awb_role_fk` (`awb_role_id`), - KEY `awb_unit_fk` (`awb_unit_id`), - CONSTRAINT `Id_Monedafk` FOREIGN KEY (`Id_Moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON DELETE CASCADE, - CONSTRAINT `awb_component_` FOREIGN KEY (`awb_component_type_id`) REFERENCES `awb_component_type` (`awb_component_type_id`) ON UPDATE CASCADE, - CONSTRAINT `awb_role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE, - CONSTRAINT `awb_unit_fk` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_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 `awb_component_template` --- - -DROP TABLE IF EXISTS `awb_component_template`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_component_template` ( - `awb_component_template_id` int(11) NOT NULL AUTO_INCREMENT, - `carguera_id` int(11) DEFAULT NULL, - `airport_in` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `airport_out` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `airline_id` smallint(2) unsigned DEFAULT NULL, - `awb_component_type_id` mediumint(3) unsigned NOT NULL, - `Fecha` date NOT NULL, - `awb_role_id` tinyint(1) unsigned NOT NULL, - `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `value` decimal(10,3) DEFAULT NULL, - `max_value` decimal(10,2) unsigned DEFAULT NULL, - `min_value` decimal(10,2) unsigned DEFAULT NULL, - `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '2', - `days` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`awb_component_template_id`), - UNIQUE KEY `carguera_id_UNIQUE` (`carguera_id`,`airport_in`,`airport_out`,`airline_id`,`awb_component_type_id`,`Fecha`,`days`), - KEY `Id_Moneda` (`Id_Moneda`), - KEY `airline_idx` (`airline_id`), - KEY `role_idx` (`awb_role_id`), - KEY `awb_unit_fk1` (`awb_unit_id`), - CONSTRAINT `Id_Moneda` FOREIGN KEY (`Id_Moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON UPDATE CASCADE, - CONSTRAINT `awb_unit_fk1` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_id`) ON UPDATE CASCADE, - CONSTRAINT `role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=461 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_component_type` --- - -DROP TABLE IF EXISTS `awb_component_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_component_type` ( - `awb_component_type_id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`awb_component_type_id`) -) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_coordinacion` --- - -DROP TABLE IF EXISTS `awb_coordinacion`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_coordinacion` ( - `hawb` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `awb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, - `codexportador` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `nomexportador` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `pcs` int(11) DEFAULT NULL, - `bxs` double DEFAULT NULL, - `producto` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `numdae` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `id` int(11) DEFAULT NULL, - `descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `awbFk` smallint(11) unsigned DEFAULT NULL, - PRIMARY KEY (`hawb`), - KEY `awb_coordinacion_fk1_idx` (`awbFk`), - CONSTRAINT `awb_coordinacion_fk1` FOREIGN KEY (`awbFk`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Soporta la información relativa a las facturas que componen un embarque'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_daes` --- - -DROP TABLE IF EXISTS `awb_daes`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_daes` ( - `id` int(11) NOT NULL, - `descripcion` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `numdae` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `fechainicial` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `fechafinal` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `aeropuertosalida` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `codpais` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `codexportador` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL, - `supplierFk` int(11) DEFAULT NULL, - PRIMARY KEY (`numdae`), - KEY `awb_daes_fk1_idx` (`supplierFk`), - CONSTRAINT `awb_daes_fk1` FOREIGN KEY (`supplierFk`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_gestdoc` --- - -DROP TABLE IF EXISTS `awb_gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_gestdoc` ( - `awb_gestdoc_id` int(11) NOT NULL AUTO_INCREMENT, - `awb_id` smallint(11) unsigned NOT NULL, - `gestdoc_id` int(11) NOT NULL, - PRIMARY KEY (`awb_gestdoc_id`), - KEY `awb_gestdoc_awb_fk` (`awb_id`), - KEY `awb_gestdoc_gestdoc_fk` (`gestdoc_id`), - CONSTRAINT `awb_gestdoc_awb_fk` FOREIGN KEY (`awb_id`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `awb_gestdoc_gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2060 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_recibida` --- - -DROP TABLE IF EXISTS `awb_recibida`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_recibida` ( - `awb_id` smallint(5) unsigned NOT NULL, - `recibida_id` mediumint(8) unsigned NOT NULL, - `dua` varchar(18) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`recibida_id`), - KEY `awb_id` (`awb_id`), - CONSTRAINT `awb_recibida_ibfk_1` FOREIGN KEY (`awb_id`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `awb_recibida_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `awb_recibida_ad` AFTER DELETE ON `awb_recibida` FOR EACH ROW -IF (SELECT COUNT(*) FROM recibida_iva where recibida_id = OLD.recibida_id) = 0 - AND - (SELECT COUNT(*) FROM recibida_vencimiento where recibida_id = OLD.recibida_id) = 0 - AND - (SELECT contabilizada FROM recibida WHERE id = OLD.recibida_id) = 0 -THEN - DELETE FROM recibida WHERE id = OLD.recibida_id; -END IF */;; -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 `awb_role` --- - -DROP TABLE IF EXISTS `awb_role`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_role` ( - `awb_role_id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`awb_role_id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `awb_unit` --- - -DROP TABLE IF EXISTS `awb_unit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `awb_unit` ( - `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', - `operation` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`awb_unit_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='tipos de unidades'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `awb_volume` --- - -DROP TABLE IF EXISTS `awb_volume`; -/*!50001 DROP VIEW IF EXISTS `awb_volume`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `awb_volume` AS SELECT - 1 AS `awb_id`, - 1 AS `volume`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `balance_nest_tree` --- - -DROP TABLE IF EXISTS `balance_nest_tree`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `balance_nest_tree` ( - `lft` int(11) DEFAULT NULL, - `rgt` int(11) DEFAULT NULL, - `name` text COLLATE utf8_unicode_ci, - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=383 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` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Article` int(11) NOT NULL, - `code` varchar(22) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `code` (`code`), - UNIQUE KEY `Id_Article_2` (`Id_Article`,`code`), - KEY `Id_Article` (`Id_Article`), - CONSTRAINT `barcodes_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=33928 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `bionic_updating_options` --- - -DROP TABLE IF EXISTS `bionic_updating_options`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `bionic_updating_options` ( - `buo_id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`buo_id`) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla pondremos las distintas opciones que se ofrecen al comecial o al cliente al cambiar alguno de los parametros básicos de un ticket'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `botanic_export` --- - -DROP TABLE IF EXISTS `botanic_export`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `botanic_export` ( - `botanic_export_id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `edi_genus_id` mediumint(8) unsigned NOT NULL, - `edi_specie_id` mediumint(8) unsigned DEFAULT NULL, - `Id_Paises` mediumint(8) unsigned DEFAULT NULL, - `restriction` enum('Sin restriccion','Importacion Prohibida','Se Requiere Certificado','pasaporte individual','declaracion origen') CHARACTER SET utf8 NOT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`botanic_export_id`), - KEY `Id_Paises` (`Id_Paises`), - CONSTRAINT `botanic_export_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `Paises` (`Id`) -) ENGINE=InnoDB AUTO_INCREMENT=274 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Especifica los generos y especies prohibidos en paises'; -/*!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 `vn2008`.`botanic_exportBeforeInsert` BEFORE INSERT ON `botanic_export` FOR EACH ROW -BEGIN - IF (SELECT botanic_export_is_updatable (NEW.edi_genus_id, NEW.edi_specie_id, NEW.id_Paises, NEW.restriction) ) > 0 THEN - CALL util.throw ('Datos duplicados'); - 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 `businessReasonEnd` --- - -DROP TABLE IF EXISTS `businessReasonEnd`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `businessReasonEnd` ( - `id` tinyint(3) NOT NULL AUTO_INCREMENT, - `reason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `business_labour_payrroll` --- - -DROP TABLE IF EXISTS `business_labour_payrroll`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `business_labour_payrroll` ( - `business_id` int(11) NOT NULL, - `cod_tarifa` int(11) NOT NULL, - `cod_categoria` int(11) NOT NULL, - `cod_contrato` int(11) NOT NULL, - `importepactado` double NOT NULL DEFAULT '0', - PRIMARY KEY (`business_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `buy_edi` --- - -DROP TABLE IF EXISTS `buy_edi`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `buy_edi` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `barcode` char(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `entry_year` smallint(5) unsigned NOT NULL, - `delivery_number` bigint(20) unsigned DEFAULT NULL, - `fec` date DEFAULT NULL, - `hor` time DEFAULT NULL, - `now` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `ptj` mediumint(8) unsigned DEFAULT NULL, - `ref` int(11) NOT NULL, - `item` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `pac` int(11) DEFAULT '0', - `qty` int(10) unsigned NOT NULL, - `ori` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'NL', - `cat` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - `agj` int(11) DEFAULT NULL, - `kop` int(11) DEFAULT NULL, - `ptd` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL, - `sub` mediumint(8) unsigned DEFAULT NULL, - `pro` mediumint(8) unsigned NOT NULL, - `pri` double NOT NULL, - `package` int(10) unsigned DEFAULT NULL, - `auction` smallint(5) unsigned DEFAULT NULL, - `klo` smallint(5) unsigned DEFAULT NULL, - `k01` smallint(5) unsigned DEFAULT NULL, - `k02` smallint(5) unsigned DEFAULT NULL, - `k03` tinyint(3) unsigned DEFAULT NULL, - `k04` tinyint(3) unsigned DEFAULT NULL, - `s1` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `s2` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `s3` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `s4` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - `s5` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `s6` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `ok` tinyint(4) NOT NULL DEFAULT '0', - `trolley_id` int(11) DEFAULT NULL, - `scanned` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) USING BTREE, - UNIQUE KEY `barcode_year` (`barcode`,`entry_year`), - UNIQUE KEY `delivery_number` (`delivery_number`), - KEY `ref` (`ref`), - KEY `ptj` (`ptj`), - KEY `pro` (`pro`), - KEY `kop` (`kop`), - KEY `barcode` (`barcode`), - KEY `fec` (`fec`) -) ENGINE=InnoDB AUTO_INCREMENT=639935 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `buy_edi_k012` --- - -DROP TABLE IF EXISTS `buy_edi_k012`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `buy_edi_k012` ( - `buy_edi_k012_id` smallint(6) unsigned NOT NULL, - `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`buy_edi_k012_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características negativas de los articulos de subasta'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `buy_edi_k03` --- - -DROP TABLE IF EXISTS `buy_edi_k03`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `buy_edi_k03` ( - `buy_edi_k03_id` tinyint(3) unsigned NOT NULL, - `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`buy_edi_k03_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características fitosanitarias de los articulos de subasta'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `buy_edi_k04` --- - -DROP TABLE IF EXISTS `buy_edi_k04`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `buy_edi_k04` ( - `buy_edi_k04_id` tinyint(3) unsigned NOT NULL, - `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`buy_edi_k04_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características calidad de los articulos de subasta'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `call_information` --- - -DROP TABLE IF EXISTS `call_information`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `call_information` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Descripcio` text COLLATE utf8_unicode_ci NOT NULL, - `Conclusio` tinyint(3) unsigned NOT NULL, - `Id_Cliente` int(11) NOT NULL, - `fecha` date NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `call_option` --- - -DROP TABLE IF EXISTS `call_option`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `call_option` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `descripcion` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `callings` --- - -DROP TABLE IF EXISTS `callings`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `callings` ( - `id` int(11) NOT NULL, - `motivo` varchar(105) COLLATE utf8_unicode_ci DEFAULT NULL, - `tel1` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `tel2` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `situacion` varchar(45) COLLATE utf8_unicode_ci 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 `callingtasksKK` --- - -DROP TABLE IF EXISTS `callingtasksKK`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `callingtasksKK` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `instruccion` varchar(99) COLLATE utf8_unicode_ci DEFAULT NULL, - `tel1` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `tel2` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `situacion` varchar(99) COLLATE utf8_unicode_ci DEFAULT NULL, - `closed` tinyint(1) DEFAULT '0', - `Id_Trabajador` tinyint(4) DEFAULT NULL, - `Id_Prioridad` tinyint(4) DEFAULT '2', - `selected` tinyint(4) DEFAULT '0', - 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 `cdr` --- - -DROP TABLE IF EXISTS `cdr`; -/*!50001 DROP VIEW IF EXISTS `cdr`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `cdr` 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 `chanel` --- - -DROP TABLE IF EXISTS `chanel`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `chanel` ( - `chanel_id` smallint(6) NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`chanel_id`) -) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Canal por el que nos ha conocido un cliente y se ha dado de'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `chat` --- - -DROP TABLE IF EXISTS `chat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `chat` ( - `chat_id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Trabajador` int(11) NOT NULL, - `msg` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`chat_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Para chatear los compradores, en el frmRESERVE de la COMPARATIVA'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `city` --- - -DROP TABLE IF EXISTS `city`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `city` ( - `city_id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `province_id` smallint(6) unsigned DEFAULT NULL, - `nst_geo_id` int(11) DEFAULT NULL, - `nst_name` varchar(50) CHARACTER SET utf8 DEFAULT NULL, - PRIMARY KEY (`city_id`), - UNIQUE KEY `province_city_pk` (`province_id`,`name`), - KEY `NST_CITY_FK_idx` (`nst_geo_id`), - CONSTRAINT `nst_geo_city` FOREIGN KEY (`nst_geo_id`) REFERENCES `nst`.`geo` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `province_city_fk` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4423 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 `vn2008`.`city_BEFORE_INSERT` BEFORE INSERT ON `city` FOR EACH ROW -BEGIN - -SET new.nst_name = 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 */ ; -/*!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 `vn2008`.`city_AFTER_DELETE` AFTER DELETE ON `city` FOR EACH ROW -BEGIN - -CALL nst.del(OLD.nst_geo_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 */ ; - --- --- Table structure for table `cl_act` --- - -DROP TABLE IF EXISTS `cl_act`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_act` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Movimiento` int(11) DEFAULT NULL, - `cl_main_id` int(10) unsigned NOT NULL, - `Id_Trabajador` int(11) NOT NULL DEFAULT '20', - `cl_sol_id` tinyint(4) DEFAULT NULL, - `greuge` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - KEY `cl_main_id` (`cl_main_id`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `Id_Movimiento` (`Id_Movimiento`), - KEY `cl_sol_id` (`cl_sol_id`), - CONSTRAINT `cl_act_ibfk_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `cl_act_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `cl_act_ibfk_4` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=76966 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_cau` --- - -DROP TABLE IF EXISTS `cl_cau`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_cau` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `cl_main_id` int(10) unsigned NOT NULL, - `cl_res_id` int(10) unsigned NOT NULL DEFAULT '1', - `Id_Trabajador` int(11) NOT NULL DEFAULT '20', - `cl_mot_id` int(10) unsigned NOT NULL DEFAULT '1', - `cl_con_id` int(10) unsigned NOT NULL DEFAULT '1', - `cl_dev` tinyint(3) unsigned NOT NULL DEFAULT '1', - `cl_sol` tinyint(3) unsigned NOT NULL DEFAULT '2', - PRIMARY KEY (`id`), - KEY `cl_main_id` (`cl_main_id`), - KEY `cl_res_id` (`cl_res_id`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `cl_mot_id` (`cl_mot_id`), - KEY `cl_con_id` (`cl_con_id`), - KEY `cl_dev` (`cl_dev`), - KEY `cl_sol` (`cl_sol`), - CONSTRAINT `cl_cau_ibfk_10` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_11` FOREIGN KEY (`cl_dev`) REFERENCES `cl_dev` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_12` FOREIGN KEY (`cl_sol`) REFERENCES `cl_sol` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_6` FOREIGN KEY (`cl_res_id`) REFERENCES `cl_res` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_7` FOREIGN KEY (`cl_mot_id`) REFERENCES `cl_mot` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_8` FOREIGN KEY (`cl_con_id`) REFERENCES `cl_con` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_cau_ibfk_9` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=42837 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_con` --- - -DROP TABLE IF EXISTS `cl_con`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_con` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `consecuencia` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Consecuencias de los motivos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_dep` --- - -DROP TABLE IF EXISTS `cl_dep`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_dep` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `departamento` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Departamentos para las quejas'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_det` --- - -DROP TABLE IF EXISTS `cl_det`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_det` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `cl_main_id` int(10) unsigned NOT NULL, - `Id_Movimiento` int(11) DEFAULT NULL, - `cl_que_id` int(10) unsigned NOT NULL DEFAULT '1', - `cl_pet_id` int(1) unsigned NOT NULL DEFAULT '1', - `numero` double DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `Id_Movimiento` (`Id_Movimiento`), - KEY `cl_pet_id` (`cl_pet_id`), - KEY `cl_que_id` (`cl_que_id`), - KEY `cl_main_id` (`cl_main_id`), - CONSTRAINT `cl_det_ibfk_5` FOREIGN KEY (`cl_que_id`) REFERENCES `cl_que` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_det_ibfk_6` FOREIGN KEY (`cl_pet_id`) REFERENCES `cl_pet` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_det_ibfk_7` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `cl_det_ibfk_8` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=106839 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_dev` --- - -DROP TABLE IF EXISTS `cl_dev`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_dev` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `devolucion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Método por el cual el cliente nos devuelve la mercancía'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_est` --- - -DROP TABLE IF EXISTS `cl_est`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_est` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `estado` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Estados posibles de las reclamaciones'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_main` --- - -DROP TABLE IF EXISTS `cl_main`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_main` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Fecha` datetime NOT NULL, - `cl_dep_id` tinyint(3) unsigned DEFAULT NULL, - `cl_est_id` int(10) unsigned NOT NULL DEFAULT '1', - `notas` text COLLATE utf8_unicode_ci, - `Id_Cliente` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `sensib` int(1) unsigned NOT NULL DEFAULT '3', - `mana` tinyint(1) NOT NULL DEFAULT '0', - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `cl_dep_id` (`cl_dep_id`), - KEY `cl_est_id` (`cl_est_id`), - KEY `Id_Cliente` (`Id_Cliente`), - KEY `Id_Trabajador` (`Id_Trabajador`), - CONSTRAINT `cl_main_ibfk_3` FOREIGN KEY (`cl_est_id`) REFERENCES `cl_est` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_main_ibfk_4` FOREIGN KEY (`cl_dep_id`) REFERENCES `cl_dep` (`id`) ON UPDATE CASCADE, - CONSTRAINT `cl_main_ibfk_5` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=45565 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_mot` --- - -DROP TABLE IF EXISTS `cl_mot`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_mot` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `motivo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Motivos de las fallos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_pet` --- - -DROP TABLE IF EXISTS `cl_pet`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_pet` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `peticion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Peticiones de los cliente en relacion a las quejas'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_que` --- - -DROP TABLE IF EXISTS `cl_que`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_que` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `queja` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queja por linea de las reclamaciones'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_res` --- - -DROP TABLE IF EXISTS `cl_res`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_res` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `responsable` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `sensibility` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'if=1 >sensib >culpa', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Responsables de las causas'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cl_sol` --- - -DROP TABLE IF EXISTS `cl_sol`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cl_sol` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `solucion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Solucion ofrecida a la reclamación'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `clientMana` --- - -DROP TABLE IF EXISTS `clientMana`; -/*!50001 DROP VIEW IF EXISTS `clientMana`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `clientMana` AS SELECT - 1 AS `Id_Cliente`, - 1 AS `ManaUnitario`, - 1 AS `ManaTotal`, - 1 AS `Id_Ticket`, - 1 AS `Id_Article`, - 1 AS `Concepte`, - 1 AS `Cantidad`, - 1 AS `Preu`, - 1 AS `Fecha`, - 1 AS `Id_Movimiento`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `client_observation` --- - -DROP TABLE IF EXISTS `client_observation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `client_observation` ( - `client_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `text` text COLLATE utf8_unicode_ci NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`client_observation_id`), - KEY `Id_Trabajador` (`Id_Trabajador`), - KEY `Id_Cliente` (`Id_Cliente`), - CONSTRAINT `client_observation_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `client_observation_ibfk_2` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=56210 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `clientes_gestdoc` --- - -DROP TABLE IF EXISTS `clientes_gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientes_gestdoc` ( - `Id_Cliente` int(11) NOT NULL, - `gest_doc_id` int(11) NOT NULL, - PRIMARY KEY (`Id_Cliente`,`gest_doc_id`), - KEY `gest_doc_id` (`gest_doc_id`), - CONSTRAINT `clientes_gestdoc_ibfk_2` FOREIGN KEY (`gest_doc_id`) REFERENCES `gestdoc` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `clientes_gestdoc_ibfk_3` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `clientes_regalos_enc` --- - -DROP TABLE IF EXISTS `clientes_regalos_enc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientes_regalos_enc` ( - `Id_Cliente` int(11) NOT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Regalo` int(11) NOT NULL, - PRIMARY KEY (`Id_Cliente`,`Id_Regalo`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `clientes_regalos_lista_enc` --- - -DROP TABLE IF EXISTS `clientes_regalos_lista_enc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientes_regalos_lista_enc` ( - `Id_Regalo` int(11) NOT NULL AUTO_INCREMENT, - `Descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `Activo` bit(1) NOT NULL DEFAULT b'0', - `foto` blob, - `datstart` date DEFAULT NULL, - `datend` date DEFAULT NULL, - `warehouse_id` smallint(6) unsigned DEFAULT '1', - `province_id` smallint(5) unsigned DEFAULT NULL, - PRIMARY KEY (`Id_Regalo`) -) ENGINE=MyISAM AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `clientes_tipo` --- - -DROP TABLE IF EXISTS `clientes_tipo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientes_tipo` ( - `clientes_tipo_id` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(20) CHARACTER SET utf8 NOT NULL, - `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`clientes_tipo_id`), - UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Establece categorias para poder agrupar las ventas'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `commission` --- - -DROP TABLE IF EXISTS `commission`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `commission` ( - `commisision_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `percentage` tinyint(3) unsigned NOT NULL, - `value` float unsigned NOT NULL, - PRIMARY KEY (`commisision_id`) -) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!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` int(11) NOT NULL, - `generic_item` int(11) NOT NULL COMMENT 'Id del artículo genérico', - `edi_entry` int(11) NOT NULL COMMENT 'Entrada usada para los EKTs', - `lastMana` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `config_host` --- - -DROP TABLE IF EXISTS `config_host`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `config_host` ( - `config_host_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `warehouse` smallint(6) unsigned NOT NULL DEFAULT '1', - `empresa_id` smallint(6) unsigned NOT NULL DEFAULT '442', - `caja` int(11) DEFAULT '13', - `Id_Impresora` tinyint(3) unsigned DEFAULT '27', - `Permanente` tinyint(1) unsigned DEFAULT '1', - `route_days_before` smallint(6) DEFAULT '2', - `route_days_after` smallint(6) DEFAULT '1', - PRIMARY KEY (`config_host_id`), - KEY `warehouse` (`warehouse`), - KEY `empresa_id` (`empresa_id`), - KEY `caja` (`caja`), - KEY `Id_Impresora` (`Id_Impresora`), - CONSTRAINT `config_host_ibfk_1` FOREIGN KEY (`caja`) REFERENCES `Bancos` (`Id_Banco`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `config_host_ibfk_2` FOREIGN KEY (`warehouse`) REFERENCES `warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `config_host_ibfk_3` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `config_host_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sustituye al antiguo TPV_Settings'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `config_host_forms` --- - -DROP TABLE IF EXISTS `config_host_forms`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `config_host_forms` ( - `config_host_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `formname` varchar(56) COLLATE utf8_unicode_ci NOT NULL, - `x` int(8) NOT NULL, - `y` int(8) NOT NULL, - `h` int(8) NOT NULL, - `l` int(8) NOT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`config_host_id`,`formname`), - CONSTRAINT `config_host_form_ibfk_1` FOREIGN KEY (`config_host_id`) REFERENCES `config_host` (`config_host_id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registra las posiciones de los formularios'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `consignatarios_observation` --- - -DROP TABLE IF EXISTS `consignatarios_observation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `consignatarios_observation` ( - `consignatarios_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Consigna` int(11) NOT NULL, - `observation_type_id` tinyint(3) unsigned NOT NULL, - `text` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`consignatarios_observation_id`), - UNIQUE KEY `Id_Consigna` (`Id_Consigna`,`observation_type_id`) -) ENGINE=InnoDB AUTO_INCREMENT=2886 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `container` --- - -DROP TABLE IF EXISTS `container`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `container` ( - `container_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `Continente` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`container_id`) -) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cooler_path` --- - -DROP TABLE IF EXISTS `cooler_path`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cooler_path` ( - `cooler_path_id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`cooler_path_id`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define el orden en que se imprimen los F5'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cooler_path_detail` --- - -DROP TABLE IF EXISTS `cooler_path_detail`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cooler_path_detail` ( - `cooler_path_detail_id` int(11) NOT NULL AUTO_INCREMENT, - `cooler_path_id` int(11) NOT NULL DEFAULT '1', - `pasillo` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`cooler_path_id`,`pasillo`), - UNIQUE KEY `cooler_path_detail_id_UNIQUE` (`cooler_path_detail_id`) -) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cp` --- - -DROP TABLE IF EXISTS `cp`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cp` ( - `cp_id` int(11) NOT NULL AUTO_INCREMENT, - `cpd` int(11) NOT NULL, - `cph` int(11) NOT NULL, - `zone_id` smallint(6) DEFAULT NULL, - `town` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`cp_id`) -) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relacio de codis postals i el municipi al qual se asigna'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `credit` --- - -DROP TABLE IF EXISTS `credit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `credit` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL, - `amount` double unsigned NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Trabajador` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `workers_fk_idx` (`Id_Trabajador`), - KEY `credit_ClienteFk` (`Id_Cliente`), - CONSTRAINT `credit_ClienteFk` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `workers_fk` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=59296 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `credit_card` --- - -DROP TABLE IF EXISTS `credit_card`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `credit_card` ( - `credit_card_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(10) NOT NULL, - `number` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `expiration_month` tinyint(2) unsigned zerofill NOT NULL, - `expiration_year` tinyint(2) unsigned zerofill NOT NULL, - `priority` tinyint(3) unsigned NOT NULL DEFAULT '1', - `obs` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`credit_card_id`), - KEY `Id_Cliente` (`Id_Cliente`), - CONSTRAINT `credit_card_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=956 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cyc` --- - -DROP TABLE IF EXISTS `cyc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cyc` ( - `Id_Cliente` int(11) NOT NULL, - `Riesgo` double DEFAULT NULL, - `Fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `cyc_id` int(11) NOT NULL AUTO_INCREMENT, - PRIMARY KEY (`cyc_id`), - KEY `Cliente` (`Id_Cliente`), - CONSTRAINT `Cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=467096 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que estan clasificados en Credito y Cau'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cyc_declaration` --- - -DROP TABLE IF EXISTS `cyc_declaration`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cyc_declaration` ( - `factura_id` int(10) unsigned NOT NULL, - `Riesgo` double DEFAULT NULL, - `Fecha` date NOT NULL, - `Vencimiento` int(10) NOT NULL DEFAULT '0', - PRIMARY KEY (`factura_id`), - CONSTRAINT `Factura` FOREIGN KEY (`factura_id`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registro de las facturas declaradas a cyc'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `daily_task_log` --- - -DROP TABLE IF EXISTS `daily_task_log`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `daily_task_log` ( - `consulta` varchar(250) COLLATE utf8_unicode_ci NOT NULL, - `odbc_date` 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 `definitivo` --- - -DROP TABLE IF EXISTS `definitivo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `definitivo` ( - `definitivo_id` int(11) NOT NULL, - `empresa_id` int(11) NOT NULL, - `desde` bigint(20) NOT NULL, - `hasta` bigint(20) NOT NULL, - `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`definitivo_id`,`empresa_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `department` --- - -DROP TABLE IF EXISTS `department`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `department` ( - `department_id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `lft` int(11) NOT NULL, - `rgt` int(11) NOT NULL, - `Id_Trabajador` int(11) DEFAULT NULL COMMENT 'Id_Trabajador es el jefe del departamento', - PRIMARY KEY (`department_id`), - UNIQUE KEY `lft_UNIQUE` (`lft`), - UNIQUE KEY `rgt_UNIQUE` (`rgt`), - UNIQUE KEY `name_UNIQUE` (`name`), - KEY `fk_department_Trabajadores1_idx` (`Id_Trabajador`), - CONSTRAINT `fk_department_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `device` --- - -DROP TABLE IF EXISTS `device`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `device` ( - `device_id` int(11) NOT NULL AUTO_INCREMENT, - `sn` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `model` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`device_id`), - UNIQUE KEY `device_id_UNIQUE` (`device_id`), - UNIQUE KEY `sn_UNIQUE` (`sn`) -) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `device_user` --- - -DROP TABLE IF EXISTS `device_user`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `device_user` ( - `device_id` int(11) NOT NULL, - `user_id` int(11) NOT NULL, - PRIMARY KEY (`device_id`,`user_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `dhl` --- - -DROP TABLE IF EXISTS `dhl`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `dhl` ( - `codigo_postal` mediumint(8) unsigned NOT NULL, - `frecuencia` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`codigo_postal`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `dock` --- - -DROP TABLE IF EXISTS `dock`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `dock` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - `xPos` int(11) DEFAULT NULL, - `yPos` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Soporta la estructura de muelles de paletizacion'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `duaDismissed` --- - -DROP TABLE IF EXISTS `duaDismissed`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `duaDismissed` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ticketFk` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`,`ticketFk`) -) 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 `edi_article` --- - -DROP TABLE IF EXISTS `edi_article`; -/*!50001 DROP VIEW IF EXISTS `edi_article`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_article` AS SELECT - 1 AS `id`, - 1 AS `product_name`, - 1 AS `name`, - 1 AS `plant_id`, - 1 AS `group_id`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_bucket` --- - -DROP TABLE IF EXISTS `edi_bucket`; -/*!50001 DROP VIEW IF EXISTS `edi_bucket`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_bucket` AS SELECT - 1 AS `bucket_id`, - 1 AS `bucket_type_id`, - 1 AS `description`, - 1 AS `x_size`, - 1 AS `y_size`, - 1 AS `z_size`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_bucket_type` --- - -DROP TABLE IF EXISTS `edi_bucket_type`; -/*!50001 DROP VIEW IF EXISTS `edi_bucket_type`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_bucket_type` AS SELECT - 1 AS `bucket_type_id`, - 1 AS `description`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_feature` --- - -DROP TABLE IF EXISTS `edi_feature`; -/*!50001 DROP VIEW IF EXISTS `edi_feature`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_feature` AS SELECT - 1 AS `item_id`, - 1 AS `feature_type_id`, - 1 AS `feature_value`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_genus` --- - -DROP TABLE IF EXISTS `edi_genus`; -/*!50001 DROP VIEW IF EXISTS `edi_genus`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_genus` AS SELECT - 1 AS `genus_id`, - 1 AS `latin_genus_name`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_item_feature` --- - -DROP TABLE IF EXISTS `edi_item_feature`; -/*!50001 DROP VIEW IF EXISTS `edi_item_feature`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_item_feature` AS SELECT - 1 AS `item_id`, - 1 AS `presentation_order`, - 1 AS `feature`, - 1 AS `regulation_type`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_plant` --- - -DROP TABLE IF EXISTS `edi_plant`; -/*!50001 DROP VIEW IF EXISTS `edi_plant`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_plant` AS SELECT - 1 AS `plant_id`, - 1 AS `genus_id`, - 1 AS `specie_id`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_specie` --- - -DROP TABLE IF EXISTS `edi_specie`; -/*!50001 DROP VIEW IF EXISTS `edi_specie`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_specie` AS SELECT - 1 AS `specie_id`, - 1 AS `genus_id`, - 1 AS `latin_species_name`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_supplier` --- - -DROP TABLE IF EXISTS `edi_supplier`; -/*!50001 DROP VIEW IF EXISTS `edi_supplier`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_supplier` AS SELECT - 1 AS `supplier_id`, - 1 AS `company_name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `edi_testigos` --- - -DROP TABLE IF EXISTS `edi_testigos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `edi_testigos` ( - `id` smallint(6) NOT NULL AUTO_INCREMENT, - `table` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - `field` varchar(32) COLLATE utf8_unicode_ci NOT NULL, - `testigo` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `edi_type` --- - -DROP TABLE IF EXISTS `edi_type`; -/*!50001 DROP VIEW IF EXISTS `edi_type`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_type` AS SELECT - 1 AS `type_id`, - 1 AS `type_group_id`, - 1 AS `description`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `edi_value` --- - -DROP TABLE IF EXISTS `edi_value`; -/*!50001 DROP VIEW IF EXISTS `edi_value`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `edi_value` AS SELECT - 1 AS `type_id`, - 1 AS `type_value`, - 1 AS `type_description`, - 1 AS `entry_date`, - 1 AS `expiry_date`, - 1 AS `change_date_time`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `emp_day_pay` --- - -DROP TABLE IF EXISTS `emp_day_pay`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `emp_day_pay` ( - `id` smallint(5) unsigned NOT NULL, - `emp_day_pay` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`id`,`emp_day_pay`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `empresa` --- - -DROP TABLE IF EXISTS `empresa`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `empresa` ( - `id` smallint(5) unsigned NOT NULL, - `abbreviation` char(3) COLLATE utf8_unicode_ci DEFAULT NULL, - `registro` varchar(120) COLLATE utf8_unicode_ci NOT NULL, - `gerente_id` int(11) NOT NULL, - `alta` date NOT NULL, - `baja` date DEFAULT NULL, - `logo` longblob, - `oficial` tinyint(1) unsigned NOT NULL DEFAULT '1', - `cyc` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', - `rgb` varchar(6) COLLATE utf8_unicode_ci NOT NULL, - `mail` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `cuno` blob, - `ODBC_DATE` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, - `Id_Cliente` int(11) DEFAULT NULL, - `digito_factura` int(2) DEFAULT NULL, - `Id_Proveedores_account` mediumint(8) unsigned DEFAULT NULL, - `morosidad` tinyint(4) NOT NULL DEFAULT '0', - `empresa_grupo` int(11) NOT NULL DEFAULT '1', - `CodigoEmpresa` int(2) DEFAULT NULL COMMENT 'Campo para movConta', - PRIMARY KEY (`id`), - KEY `gerente_id` (`gerente_id`), - KEY `empresa_cliente_idx` (`Id_Cliente`), - KEY `Id_Proveedores_account` (`Id_Proveedores_account`), - KEY `empresa_grupo_fk_idx` (`empresa_grupo`), - CONSTRAINT `empresa_cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `empresa_ibfk_1` FOREIGN KEY (`gerente_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fk_empresa_grupo` FOREIGN KEY (`empresa_grupo`) REFERENCES `empresa_grupo` (`empresa_grupo_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 `empresa_grupo` --- - -DROP TABLE IF EXISTS `empresa_grupo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `empresa_grupo` ( - `empresa_grupo_id` int(11) NOT NULL AUTO_INCREMENT, - `grupo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`empresa_grupo_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `entity` --- - -DROP TABLE IF EXISTS `entity`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `entity` ( - `pais_id` mediumint(8) unsigned NOT NULL DEFAULT '1', - `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `bic` varchar(11) CHARACTER SET utf8 DEFAULT NULL, - PRIMARY KEY (`entity_id`), - UNIQUE KEY `bic_UNIQUE` (`bic`), - KEY `fg_entity1_idx` (`pais_id`), - CONSTRAINT `fg_entity1` FOREIGN KEY (`pais_id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=10229 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Entidades bancarias '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `escritos` --- - -DROP TABLE IF EXISTS `escritos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `escritos` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `abrev` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `descripcion` varchar(105) COLLATE utf8_unicode_ci NOT NULL, - `visible` tinyint(4) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `escritos_det` --- - -DROP TABLE IF EXISTS `escritos_det`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `escritos_det` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(10) unsigned NOT NULL, - `escritos_id` int(10) unsigned NOT NULL, - `fecha` datetime NOT NULL, - `Id_Trabajador` int(10) unsigned NOT NULL, - `Saldo` float NOT NULL, - `empresa_id` smallint(5) unsigned DEFAULT NULL, - `escritos_detcol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `userFk` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `escritos_det_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=14551 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `expeditions` --- - -DROP TABLE IF EXISTS `expeditions`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `expeditions` ( - `expeditions_id` int(11) NOT NULL AUTO_INCREMENT, - `agency_id` int(11) NOT NULL, - `ticket_id` int(10) NOT NULL, - `EsBulto` int(11) DEFAULT '1', - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `reembolso` bit(1) DEFAULT b'0', - `recogida` bit(1) DEFAULT b'0', - `Id_Article` int(11) DEFAULT NULL, - `counter` smallint(5) unsigned NOT NULL, - `checked` tinyint(4) NOT NULL DEFAULT '0', - `workerFk` int(11) DEFAULT NULL, - PRIMARY KEY (`expeditions_id`), - KEY `index1` (`agency_id`), - KEY `index2` (`EsBulto`), - KEY `index3` (`odbc_date`), - KEY `index4` (`ticket_id`), - CONSTRAINT `Id_Agencia` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, - CONSTRAINT `ticket_id` FOREIGN KEY (`ticket_id`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2232168 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 `expeditionsBeforeInsert` -BEFORE INSERT ON `expeditions` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - DECLARE intcounter INT; - - IF NEW.EsBulto > 0 THEN - - UPDATE Tickets SET Bultos = nz(Bultos) + 1 WHERE Id_Ticket = NEW.ticket_id; - SELECT IFNULL(MAX(counter),0) +1 INTO intcounter FROM expeditions e - INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket - LEFT JOIN vn.ticketState ts ON ts.ticket = t1.Id_Ticket - INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) AND t1.warehouse_id = t2.warehouse_id - WHERE t2.Id_Ticket = NEW.ticket_id AND ts.alertLevel < 3 AND t1.empresa_id = t2.empresa_id AND t1.Id_Agencia = t2.Id_Agencia; - SET NEW.`counter` = intcounter; - END IF; - SET NEW.workerFk=get_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 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 `vn2008`.`expeditionsBeforeUpdate` -BEFORE UPDATE ON `vn2008`.`expeditions` -FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - IF NEW.counter <> OLD.counter THEN - IF (SELECT COUNT(*) FROM expeditions e - INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket - INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) - WHERE t1.Id_Ticket = NEW.ticket_id AND counter = NEW.counter) > 0 THEN - SET NEW.expeditions_id = NULL; - 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 `vn2008`.`expeditionsAfterUpdate` -AFTER UPDATE ON `expeditions` FOR EACH ROW -BEGIN - CALL cache.barcodes_expeditions_update(NEW.expeditions_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 `vn2008`.`expeditionsBeforeDelete` -BEFORE DELETE ON `expeditions` FOR EACH ROW -BEGIN - DECLARE trabajador integer DEFAULT NULL; - - - SELECT Id_Trabajador into trabajador from Trabajadores where user_id = account.userGetId(); - if trabajador is null then - SET trabajador = 33; - end if; - UPDATE Tickets SET Bultos = (SELECT COUNT(counter)-1 FROM expeditions WHERE ticket_id = OLD.ticket_id and EsBulto) WHERE Id_Ticket = OLD.ticket_id; - - INSERT INTO Tickets_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - SELECT 133/*Borra expedition*/,trabajador,OLD.ticket_id,CONCAT(OLD.odbc_date,',Bultos:',OLD.counter,',Embalaje:',OLD.EsBulto),user() - FROM Tickets - WHERE Id_Ticket = OLD.ticket_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 */ ; - --- --- Table structure for table `expeditions_deleted` --- - -DROP TABLE IF EXISTS `expeditions_deleted`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `expeditions_deleted` ( - `expeditions_id` int(11) NOT NULL AUTO_INCREMENT, - `agency_id` int(11) NOT NULL, - `ticket_id` int(10) NOT NULL, - `EsBulto` int(11) DEFAULT '1', - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `reembolso` bit(1) DEFAULT b'0', - `recogida` bit(1) DEFAULT b'0', - `Id_Article` int(11) DEFAULT NULL, - `counter` smallint(5) unsigned NOT NULL, - `checked` tinyint(4) NOT NULL DEFAULT '0', - `completed` tinyint(4) DEFAULT '0', - `expedicion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Id_Trabajador` int(11) DEFAULT NULL, - PRIMARY KEY (`expeditions_id`), - KEY `index1` (`agency_id`), - KEY `index2` (`EsBulto`), - KEY `index3` (`odbc_date`), - KEY `index4` (`ticket_id`) -) ENGINE=InnoDB AUTO_INCREMENT=2232028 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `expeditions_pictures` --- - -DROP TABLE IF EXISTS `expeditions_pictures`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `expeditions_pictures` ( - `Id_Article` int(11) NOT NULL, - `NoImprimirEtiqueta` bit(1) DEFAULT b'0', - PRIMARY KEY (`Id_Article`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `filtros` --- - -DROP TABLE IF EXISTS `filtros`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `filtros` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `sql` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `Estanteria` tinyint(1) DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `financialProductType` --- - -DROP TABLE IF EXISTS `financialProductType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `financialProductType` ( - `id` varchar(2) COLLATE utf8_unicode_ci NOT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `description_UNIQUE` (`description`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Distintos tipos de productos financieros: seguros de cambio, polizas de credito, acumuladores....'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `flight` --- - -DROP TABLE IF EXISTS `flight`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `flight` ( - `flight_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `duration` tinyint(2) unsigned DEFAULT NULL, - `route` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `days` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `airline_id` smallint(2) unsigned DEFAULT NULL, - `airport_out` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `airport_in` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`flight_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `form_query` --- - -DROP TABLE IF EXISTS `form_query`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `form_query` ( - `form_query_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `query` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `response1` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `response2` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `type_id` enum('gest_doc') COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`form_query_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 `gastos_resumen` --- - -DROP TABLE IF EXISTS `gastos_resumen`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `gastos_resumen` ( - `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `year` int(4) NOT NULL, - `month` int(2) NOT NULL, - `importe` decimal(10,2) DEFAULT NULL, - `empresa_id` int(11) NOT NULL, - PRIMARY KEY (`Id_Gasto`,`year`,`month`,`empresa_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sirve para resumir los gastos que se ponen a mano en el contaplus'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `gestdoc` --- - -DROP TABLE IF EXISTS `gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `gestdoc` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `gesttip_id` int(11) NOT NULL DEFAULT '1', - `sref` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `brief` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, - `emp_id` smallint(5) unsigned NOT NULL DEFAULT '791', - `orden` mediumint(8) unsigned DEFAULT NULL, - `file` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `original` tinyint(4) NOT NULL DEFAULT '0', - `trabajador_id` int(11) NOT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `gestdoccol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - UNIQUE KEY `emp_id` (`emp_id`,`orden`,`warehouse_id`), - KEY `trabajador_id` (`trabajador_id`), - KEY `warehouse_id` (`warehouse_id`) -) ENGINE=InnoDB AUTO_INCREMENT=819027 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`gestdoc_bi` -BEFORE INSERT ON `vn2008`.`gestdoc` -FOR EACH ROW -BEGIN - - DECLARE intORD int; - IF NEW.warehouse_id = 44 THEN - SET NEW.warehouse_id = 1; - END IF; - IF NEW.original THEN - SELECT 1 + MAX(orden) INTO intORD FROM gestdoc WHERE emp_id = NEW.emp_id AND warehouse_id = NEW.warehouse_id ; - - SET NEW.orden = IFNULL(intORD,1) ; - END IF; --- Marca Firmado a uno cada vez que se escanea un Ticket de forma que desaparezca del TNAC JGF 27/08/13 - IF NEW.gesttip_id = 14 THEN - UPDATE Tickets SET Firmado = 1 WHERE Id_Ticket = NEW.sref; - 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`gestdoc_bu` -BEFORE UPDATE ON `vn2008`.`gestdoc` -FOR EACH ROW -BEGIN - - DECLARE intORD int; - IF (NEW.original <> 0) AND (OLD.original = 0) AND (NEW.orden IS NULL) THEN - - SELECT 1 + MAX(orden) INTO intORD FROM gestdoc WHERE emp_id = NEW.emp_id AND warehouse_id = NEW.warehouse_id; - SET NEW.orden = IFNULL(intORD,1); - - END IF; -IF ((NEW.orden = 0) OR NEW.orden IS NULL) AND (OLD.orden <> 0) THEN - - SET NEW.original = 0; - 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 `gesttip` --- - -DROP TABLE IF EXISTS `gesttip`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `gesttip` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `guillen` --- - -DROP TABLE IF EXISTS `guillen`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `guillen` ( - `bulto` tinyint(3) unsigned NOT NULL, - `1` float unsigned NOT NULL, - `2` float unsigned NOT NULL, - `re_exp` float unsigned NOT NULL, - PRIMARY KEY (`bulto`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `guillen_carry` --- - -DROP TABLE IF EXISTS `guillen_carry`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `guillen_carry` ( - `carry` tinyint(3) unsigned NOT NULL, - `1` float unsigned NOT NULL, - `2` float unsigned NOT NULL, - `re_exp` float unsigned NOT NULL, - PRIMARY KEY (`carry`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `integra2` --- - -DROP TABLE IF EXISTS `integra2`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `integra2` ( - `postal_code` mediumint(8) unsigned NOT NULL, - `frequency` tinyint(3) unsigned NOT NULL, - `warehouse_id` smallint(5) unsigned NOT NULL, - PRIMARY KEY (`postal_code`,`frequency`,`warehouse_id`), - KEY `postal_code` (`postal_code`), - KEY `warehouse_id` (`warehouse_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `integra2_escala` --- - -DROP TABLE IF EXISTS `integra2_escala`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `integra2_escala` ( - `province_id` smallint(6) unsigned NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - PRIMARY KEY (`province_id`,`warehouse_id`), - KEY `warehouse_escala_idx` (`warehouse_id`), - CONSTRAINT `province_escala` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_escala` FOREIGN KEY (`warehouse_id`) REFERENCES `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 `integra2_province` --- - -DROP TABLE IF EXISTS `integra2_province`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `integra2_province` ( - `province_id` smallint(6) unsigned NOT NULL, - `franquicia` varchar(65) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`province_id`), - CONSTRAINT `integra2_province_id` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `intervalos` --- - -DROP TABLE IF EXISTS `intervalos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `intervalos` ( - `id` int(11) NOT NULL, - `hour` time NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `intrastat_data` --- - -DROP TABLE IF EXISTS `intrastat_data`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `intrastat_data` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `recibida_id` mediumint(8) unsigned NOT NULL, - `neto` decimal(10,2) DEFAULT NULL, - `intrastat_id` int(8) unsigned zerofill NOT NULL DEFAULT '06049190', - `importe` double NOT NULL, - `unidades` int(11) NOT NULL, - `Paises_Id` mediumint(8) unsigned DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `valorestadistico` double NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - KEY `intrastat_id` (`intrastat_id`), - KEY `recibida` (`recibida_id`), - CONSTRAINT `intrastat_data_ibfk_1` FOREIGN KEY (`intrastat_id`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE, - CONSTRAINT `intrastat_data_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=62119 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `invoiceCorrection` --- - -DROP TABLE IF EXISTS `invoiceCorrection`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceCorrection` ( - `correctingFk` int(10) unsigned NOT NULL COMMENT 'Factura rectificativa', - `correctedFk` int(10) unsigned NOT NULL COMMENT 'Factura rectificada', - `cplusRectificationTypeFk` int(10) unsigned NOT NULL, - `cplusInvoiceType477Fk` int(10) unsigned NOT NULL, - `invoiceCorrectionTypeFk` int(11) NOT NULL DEFAULT '3', - PRIMARY KEY (`correctingFk`), - KEY `correctedFk_idx` (`correctedFk`), - KEY `invoiceCorrection_ibfk_1_idx` (`cplusRectificationTypeFk`), - KEY `cplusInvoiceTyoeFk_idx` (`cplusInvoiceType477Fk`), - KEY `invoiceCorrectionTypeFk_idx` (`invoiceCorrectionTypeFk`), - CONSTRAINT `corrected_fk` FOREIGN KEY (`correctedFk`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `correcting_fk` FOREIGN KEY (`correctingFk`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `cplusInvoiceTyoeFk` FOREIGN KEY (`cplusInvoiceType477Fk`) REFERENCES `vn`.`cplusInvoiceType477` (`id`) ON UPDATE CASCADE, - CONSTRAINT `invoiceCorrectionType_Fk33` FOREIGN KEY (`invoiceCorrectionTypeFk`) REFERENCES `vn`.`invoiceCorrectionType` (`id`) ON UPDATE CASCADE, - CONSTRAINT `invoiceCorrection_ibfk_1` FOREIGN KEY (`cplusRectificationTypeFk`) REFERENCES `vn`.`cplusRectificationType` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relacion entre las facturas rectificativas y las rectificadas.'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `invoice_observation` --- - -DROP TABLE IF EXISTS `invoice_observation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoice_observation` ( - `invoice_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `desde` date NOT NULL, - `hasta` date NOT NULL, - `serie` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '0', - `text` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`invoice_observation_id`) -) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `itemTag` --- - -DROP TABLE IF EXISTS `itemTag`; -/*!50001 DROP VIEW IF EXISTS `itemTag`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemTag` AS SELECT - 1 AS `id`, - 1 AS `itemFk`, - 1 AS `tagFk`, - 1 AS `value`, - 1 AS `priority`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `itemTagArranged` --- - -DROP TABLE IF EXISTS `itemTagArranged`; -/*!50001 DROP VIEW IF EXISTS `itemTagArranged`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemTagArranged` AS SELECT - 1 AS `itemFk`, - 1 AS `tag1`, - 1 AS `val1`, - 1 AS `tag2`, - 1 AS `val2`, - 1 AS `tag3`, - 1 AS `val3`, - 1 AS `tag4`, - 1 AS `val4`, - 1 AS `tag5`, - 1 AS `val5`, - 1 AS `tag6`, - 1 AS `val6`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `item_catalog` --- - -DROP TABLE IF EXISTS `item_catalog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `item_catalog` ( - `item_id` int(11) unsigned NOT NULL, - `available` mediumint(9) NOT NULL, - `fixed` tinyint(1) NOT NULL DEFAULT '0', - `price` double DEFAULT NULL, - `s1` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `s2` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `discount` tinyint(3) unsigned, - `grouping` decimal(10,0) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `item_entry_in` --- - -DROP TABLE IF EXISTS `item_entry_in`; -/*!50001 DROP VIEW IF EXISTS `item_entry_in`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `item_entry_in` AS SELECT - 1 AS `warehouse_id`, - 1 AS `dat`, - 1 AS `item_id`, - 1 AS `amount`, - 1 AS `received`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `item_entry_out` --- - -DROP TABLE IF EXISTS `item_entry_out`; -/*!50001 DROP VIEW IF EXISTS `item_entry_out`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `item_entry_out` AS SELECT - 1 AS `warehouse_id`, - 1 AS `dat`, - 1 AS `item_id`, - 1 AS `amount`, - 1 AS `delivered`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `item_entry_outkk` --- - -DROP TABLE IF EXISTS `item_entry_outkk`; -/*!50001 DROP VIEW IF EXISTS `item_entry_outkk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `item_entry_outkk` AS SELECT - 1 AS `warehouse_id`, - 1 AS `dat`, - 1 AS `item_id`, - 1 AS `amount`, - 1 AS `delivered`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `item_out` --- - -DROP TABLE IF EXISTS `item_out`; -/*!50001 DROP VIEW IF EXISTS `item_out`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `item_out` AS SELECT - 1 AS `warehouse_id`, - 1 AS `dat`, - 1 AS `item_id`, - 1 AS `amount`, - 1 AS `ok`, - 1 AS `Reservado`, - 1 AS `ready`, - 1 AS `invoice`, - 1 AS `alertLevel`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `iva_codigo` --- - -DROP TABLE IF EXISTS `iva_codigo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `iva_codigo` ( - `id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT, - `fecha` date NOT NULL, - `codigo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `iva_tipo_id` tinyint(2) NOT NULL, - `iva` decimal(4,1) NOT NULL DEFAULT '0.0', - `recargo` decimal(4,1) NOT NULL DEFAULT '0.0', - `tipo` char(1) COLLATE utf8_unicode_ci NOT NULL, - `link` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'las que tienen el mismo valor se contabilizan emparejadas', - `isActive` tinyint(2) NOT NULL DEFAULT '1', - `updated` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `transactionCode` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `iva_tipo_id` (`iva_tipo_id`), - KEY `codigo` (`codigo`), - KEY `tipo_index` (`tipo`), - CONSTRAINT `iva_codigo_ibfk_1` FOREIGN KEY (`iva_tipo_id`) REFERENCES `iva_tipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `iva_group` --- - -DROP TABLE IF EXISTS `iva_group`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `iva_group` ( - `iva_group_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `code` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'R', - PRIMARY KEY (`iva_group_id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `iva_group_codigo` --- - -DROP TABLE IF EXISTS `iva_group_codigo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `iva_group_codigo` ( - `iva_group_id` tinyint(3) unsigned NOT NULL, - `date` date NOT NULL, - `iva_codigo_id` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`iva_group_id`,`date`,`iva_codigo_id`), - KEY `iva_codigo_id` (`iva_codigo_id`), - CONSTRAINT `iva_group_codigo_ibfk_1` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_id`) ON UPDATE CASCADE, - CONSTRAINT `iva_group_codigo_ibfk_2` FOREIGN KEY (`iva_codigo_id`) REFERENCES `iva_codigo` (`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 `iva_tipo` --- - -DROP TABLE IF EXISTS `iva_tipo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `iva_tipo` ( - `id` tinyint(2) NOT NULL AUTO_INCREMENT, - `alias` varchar(6) COLLATE utf8_unicode_ci NOT NULL, - `isAccrued` tinyint(4) NOT NULL DEFAULT '0', - `serie_id` char(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ', - `descripcion` varchar(100) COLLATE utf8_unicode_ci NOT NULL, - `Id_Pais` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `serie_id` (`serie_id`), - KEY `Id_Pais` (`Id_Pais`), - CONSTRAINT `iva_tipo_ibfk_1` FOREIGN KEY (`Id_Pais`) REFERENCES `Paises` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `jerarquia` --- - -DROP TABLE IF EXISTS `jerarquia`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `jerarquia` ( - `worker_id` int(11) NOT NULL, - `boss_id` int(11) NOT NULL, - `vinculado` tinyint(3) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`worker_id`,`boss_id`), - KEY `worker_trabajador` (`worker_id`), - KEY `boss_trabajador` (`boss_id`), - CONSTRAINT `boss_trabajador` FOREIGN KEY (`boss_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `worker_trabajador` FOREIGN KEY (`worker_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `killme` --- - -DROP TABLE IF EXISTS `killme`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `killme` ( - `Id_Article` int(11) NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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) COLLATE utf8_unicode_ci NOT NULL, - `name` varchar(20) 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_Cliente` int(11) NOT NULL, - `Id_Proveedor` int(11) NOT NULL, - PRIMARY KEY (`Id_Cliente`,`Id_Proveedor`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `log_articles` --- - -DROP TABLE IF EXISTS `log_articles`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `log_articles` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Article` int(11) NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Fecha_old` datetime DEFAULT NULL, - `cantidad_old` double DEFAULT NULL, - `Id_Ticket_old` int(11) DEFAULT NULL, - `wh_old` smallint(6) unsigned DEFAULT NULL, - `Fecha_new` datetime DEFAULT NULL, - `cantidad_new` double DEFAULT NULL, - `Id_Ticket_new` int(11) DEFAULT NULL, - `wh_new` smallint(6) DEFAULT NULL, - `accion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `Id_Article_log` (`Id_Article`), - KEY `Id_Ticket_log` (`Id_Ticket_old`), - KEY `Id_Ticket_new_log` (`Id_Ticket_new`), - CONSTRAINT `Id_Article_log_Articles` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los movimientos de los articulos para intentar encontrar los procesos que generan negativos'; -/*!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` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `to` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `reply_to` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `subject` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `text` text COLLATE utf8_unicode_ci NOT NULL, - `sent` tinyint(2) NOT NULL DEFAULT '0', - `DATE_ODBC` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `path` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `error` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'OK', - `senderFk` int(11) DEFAULT NULL, - `recipientFk` int(11) DEFAULT NULL, - `plainTextBody` text COLLATE utf8_unicode_ci, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=1245135 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `mail_templates` --- - -DROP TABLE IF EXISTS `mail_templates`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mail_templates` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `countryCode` char(2) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'ES', - `name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - `subject` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `body` text COLLATE utf8_unicode_ci NOT NULL, - `attachment` text COLLATE utf8_unicode_ci, - PRIMARY KEY (`id`,`countryCode`,`name`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `mandato` --- - -DROP TABLE IF EXISTS `mandato`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mandato` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL, - `Id_mandato` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, - `FAlta` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `Fbaja` timestamp NULL DEFAULT NULL, - `idmandato_tipo` smallint(5) NOT NULL, - PRIMARY KEY (`id`), - KEY `mandato_fgkey1_idx` (`Id_Cliente`), - KEY `mandato_fgkey2_idx` (`empresa_id`), - KEY `mandato_fgkey3_idx` (`idmandato_tipo`), - CONSTRAINT `mandato_fgkey1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `mandato_fgkey2` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `mandato_fgkey3` FOREIGN KEY (`idmandato_tipo`) REFERENCES `mandato_tipo` (`idmandato_tipo`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=14320 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 trigger mandato_ins before insert -on mandato -for each row -begin - if (NEW.Id_mandato IS NULL) THEN - SET NEW.Id_mandato=CONCAT(NEW.Id_Cliente,'-',(SELECT AUTO_INCREMENT - from information_schema.TABLES - where TABLE_SCHEMA='vn2008' and TABLE_NAME='mandato')); - 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 `mandato_tipo` --- - -DROP TABLE IF EXISTS `mandato_tipo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mandato_tipo` ( - `idmandato_tipo` smallint(5) NOT NULL AUTO_INCREMENT, - `Nombre` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`idmandato_tipo`) -) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `movement_label` --- - -DROP TABLE IF EXISTS `movement_label`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `movement_label` ( - `Id_movimiento` int(11) NOT NULL, - `label` mediumint(8) unsigned NOT NULL, - `stem` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`Id_movimiento`), - CONSTRAINT `movement_label_ibfk_1` FOREIGN KEY (`Id_movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `movement_label_au` AFTER UPDATE ON `movement_label` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -IF NEW.stem >= (SELECT Cantidad FROM Movimientos WHERE Id_Movimiento = NEW.Id_Movimiento) THEN - UPDATE Movimientos SET OK = 1 WHERE Id_Movimiento = NEW.Id_Movimiento; -END IF */;; -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 `new_viewkk` --- - -DROP TABLE IF EXISTS `new_viewkk`; -/*!50001 DROP VIEW IF EXISTS `new_viewkk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `new_viewkk` AS SELECT - 1 AS `id`, - 1 AS `worker`, - 1 AS `document`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `nichos` --- - -DROP TABLE IF EXISTS `nichos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `nichos` ( - `id` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `observation_type` --- - -DROP TABLE IF EXISTS `observation_type`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `observation_type` ( - `observation_type_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`observation_type_id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `order` --- - -DROP TABLE IF EXISTS `order`; -/*!50001 DROP VIEW IF EXISTS `order`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `order` 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 `note`, - 1 AS `confirmed`, - 1 AS `is_bionic`, - 1 AS `source_app`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `order_Tickets` --- - -DROP TABLE IF EXISTS `order_Tickets`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_Tickets` ( - `order_id` int(10) unsigned NOT NULL, - `Id_Ticket` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`Id_Ticket`,`order_id`), - KEY `order_id` (`order_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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_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; - --- --- Table structure for table `pago` --- - -DROP TABLE IF EXISTS `pago`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pago` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `fecha` date NOT NULL, - `id_proveedor` int(11) NOT NULL, - `importe` decimal(10,2) NOT NULL DEFAULT '0.00', - `id_moneda` tinyint(3) unsigned NOT NULL DEFAULT '1', - `divisa` decimal(10,2) DEFAULT NULL, - `id_banco` int(11) NOT NULL DEFAULT '0', - `pay_met_id` tinyint(3) unsigned NOT NULL, - `g_bancarios` double(6,2) unsigned NOT NULL DEFAULT '0.00', - `concepte` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `conciliado` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', - `pago_sdc_id` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `empresa_id` (`empresa_id`), - KEY `id_banco` (`id_banco`), - KEY `id_moneda` (`id_moneda`), - KEY `pay_met` (`pay_met_id`), - KEY `proveedor_pago` (`id_proveedor`), - KEY `fk_pago_pago_sdc1_idx` (`pago_sdc_id`), - CONSTRAINT `pago_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pago_ibfk_2` FOREIGN KEY (`id_banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `pago_moneda` FOREIGN KEY (`id_moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON UPDATE CASCADE, - CONSTRAINT `pago_pay_met` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, - CONSTRAINT `proveedor_pago` FOREIGN KEY (`id_proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=39070 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 `pago_bi` BEFORE INSERT ON `pago` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - DECLARE cuenta_banco,cuenta_proveedor DOUBLE; - DECLARE max_asien INT; - DECLARE bolCASH BOOLEAN; - - - - -- PAK 10/02/15 No se asientan los pagos directamente, salvo en el caso de las cajas de CASH - SELECT (cash = 1) INTO bolCASH FROM Bancos WHERE Bancos.Id_Banco = NEW.id_banco ; - - IF bolCASH THEN -- AND NEW.id_pago <> 1 - - SELECT Cuenta INTO cuenta_banco FROM Bancos WHERE Id_Banco = NEW.id_banco; - SELECT Cuenta INTO cuenta_proveedor FROM Proveedores WHERE Id_Proveedor=NEW.id_proveedor; - SELECT MAX(asien)+1 INTO max_asien FROM XDiario; - - INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) - SELECT max_asien,NEW.fecha,SUBCTA,CONTRA,NEW.concepte,EURODEBE,EUROHABER,NEW.empresa_id FROM - ( SELECT cuenta_banco SUBCTA,cuenta_proveedor CONTRA, - 0 EURODEBE, NEW.importe + NEW.g_bancarios EUROHABER - UNION ALL - SELECT cuenta_proveedor SUBCTA, cuenta_banco CONTRA, - NEW.importe EURODEBE, 0 EUROHABER) gf; - - IF NEW.g_bancarios <> 0 THEN - INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) - SELECT max_asien,NEW.fecha,IF(Id = 1,6260000002,IF(CEE = 1,6260000003,6260000004)),cuenta_banco,NEW.concepte, - NEW.g_bancarios,0,NEW.empresa_id FROM Proveedores pr - JOIN Paises pa ON pr.pais_id = pa.Id WHERE Id_Proveedor = NEW.id_proveedor; - 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 */ ; - --- --- Table structure for table `pago_sdc` --- - -DROP TABLE IF EXISTS `pago_sdc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pago_sdc` ( - `pago_sdc_id` int(11) NOT NULL AUTO_INCREMENT, - `importe` decimal(10,2) NOT NULL, - `fecha` date NOT NULL, - `vencimiento` date NOT NULL, - `entity_id` int(10) unsigned NOT NULL, - `ref` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `rate` decimal(10,4) NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `financialProductTypefk` varchar(2) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'SC', - `pago_sdccol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `upperBarrier` decimal(10,2) DEFAULT NULL, - `lowerBarrier` decimal(10,2) DEFAULT NULL, - `strike` decimal(10,2) DEFAULT NULL, - PRIMARY KEY (`pago_sdc_id`), - KEY `empresa_sdc_idx` (`empresa_id`), - KEY `financial_type_fk_idx` (`financialProductTypefk`), - KEY `pago_sdc_entity_fk_idx` (`entity_id`), - CONSTRAINT `empresa_sdc` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `financial_type_fk` FOREIGN KEY (`financialProductTypefk`) REFERENCES `financialProductType` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pago_sdc_entity_fk` FOREIGN KEY (`entity_id`) REFERENCES `entity` (`entity_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Seguros de cambio'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `pay_dem` --- - -DROP TABLE IF EXISTS `pay_dem`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pay_dem` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `pay_dem` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `pay_dem_det` --- - -DROP TABLE IF EXISTS `pay_dem_det`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pay_dem_det` ( - `id` tinyint(3) unsigned NOT NULL, - `detalle` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`id`,`detalle`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `pay_met` --- - -DROP TABLE IF EXISTS `pay_met`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pay_met` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `solucion` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `deudaviva` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000', - `graceDays` int(11) unsigned NOT NULL DEFAULT '0', - `ibanRequired` tinyint(3) DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_basess` --- - -DROP TABLE IF EXISTS `payroll_basess`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_basess` ( - `id_payroll_Basess` int(11) NOT NULL AUTO_INCREMENT, - `empresa_id` int(10) NOT NULL, - `id_tipobasess` int(11) NOT NULL, - `valor` double NOT NULL, - `fechadesde` date NOT NULL, - `fechahasta` date DEFAULT NULL, - `contratotemporal` tinyint(1) DEFAULT '0', - PRIMARY KEY (`id_payroll_Basess`), - KEY `payroll_basess_1_idx` (`id_tipobasess`), - KEY `payroll_basess_2_idx` (`empresa_id`), - CONSTRAINT `payroll_basess_1` FOREIGN KEY (`id_tipobasess`) REFERENCES `payroll_tipobasess` (`id_payroll_tipobasess`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `payroll_basess_2` FOREIGN KEY (`empresa_id`) REFERENCES `payroll_centros` (`empresa_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 `payroll_bonificaciones` --- - -DROP TABLE IF EXISTS `payroll_bonificaciones`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_bonificaciones` ( - `codtrabajador` int(11) NOT NULL, - `codempresa` int(11) NOT NULL, - `Fecha` date NOT NULL, - `bonificacionSS` double NOT NULL, - PRIMARY KEY (`codtrabajador`,`codempresa`,`Fecha`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_categorias` --- - -DROP TABLE IF EXISTS `payroll_categorias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_categorias` ( - `codcategoria` int(11) NOT NULL, - `descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `Tarifa` tinyint(4) NOT NULL, - PRIMARY KEY (`codcategoria`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_centros` --- - -DROP TABLE IF EXISTS `payroll_centros`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_centros` ( - `cod_centro` int(11) NOT NULL, - `Centro` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `nss_cotizacion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `domicilio` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `poblacion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `cp` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - `empresa_id` int(10) NOT NULL, - `codempresa` int(11) DEFAULT NULL, - PRIMARY KEY (`cod_centro`,`empresa_id`), - KEY `payroll_centros_ix1` (`empresa_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_conceptos` --- - -DROP TABLE IF EXISTS `payroll_conceptos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_conceptos` ( - `conceptoid` int(11) NOT NULL, - `concepto` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`conceptoid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_contratos` --- - -DROP TABLE IF EXISTS `payroll_contratos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_contratos` ( - `CodContrato` int(11) NOT NULL, - `TipoCotizacion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `DescContrato` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`CodContrato`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_datos` --- - -DROP TABLE IF EXISTS `payroll_datos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_datos` ( - `codtrabajador` int(11) NOT NULL, - `codempresa` int(10) NOT NULL, - `Fecha` date NOT NULL, - `conceptoid` int(11) NOT NULL, - `orden` tinyint(4) DEFAULT NULL, - `dias` smallint(6) DEFAULT NULL, - `Importe` decimal(8,2) NOT NULL, - `DH` tinyint(4) DEFAULT NULL, - `T_Paga` tinyint(4) NOT NULL, - `TributaIRPF` tinyint(4) NOT NULL, - PRIMARY KEY (`codtrabajador`,`codempresa`,`conceptoid`,`Fecha`), - KEY `fgkey_payrolldatos_1_idx` (`conceptoid`), - CONSTRAINT `fgkey_payrolldatos_1` FOREIGN KEY (`conceptoid`) REFERENCES `payroll_conceptos` (`conceptoid`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_embargos` --- - -DROP TABLE IF EXISTS `payroll_embargos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_embargos` ( - `codtrabajador` int(11) NOT NULL, - `codempresa` int(10) NOT NULL, - `conceptoid` int(11) NOT NULL, - `Fecha` date NOT NULL, - `pagado` double NOT NULL, - `pendiente` double DEFAULT NULL, - `total` double NOT NULL, - PRIMARY KEY (`codtrabajador`,`codempresa`,`Fecha`,`conceptoid`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_employee` --- - -DROP TABLE IF EXISTS `payroll_employee`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_employee` ( - `CodTrabajador` int(11) NOT NULL, - `Person_id` int(11) NOT NULL, - `nss` varchar(23) COLLATE utf8_unicode_ci NOT NULL, - `codpuesto` int(10) NOT NULL, - `codempresa` int(10) NOT NULL, - `codcontrato` int(10) NOT NULL, - `FAntiguedad` date NOT NULL, - `grupotarifa` int(10) NOT NULL, - `codcategoria` int(10) NOT NULL, - `ContratoTemporal` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`CodTrabajador`,`codempresa`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_pagarini` --- - -DROP TABLE IF EXISTS `payroll_pagarini`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_pagarini` ( - `fecha` date NOT NULL, - `person_id` int(11) NOT NULL, - `saldotpv` double NOT NULL DEFAULT '0', - `saldolab` double NOT NULL DEFAULT '0', - `saldoprod` double NOT NULL DEFAULT '0', - `saldobruto` double NOT NULL DEFAULT '0', - `business_id` int(11) NOT NULL, - `exportado` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`fecha`,`person_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_pais` --- - -DROP TABLE IF EXISTS `payroll_pais`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_pais` ( - `codpais` int(11) NOT NULL, - `pais` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`codpais`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payroll_tipobasess` --- - -DROP TABLE IF EXISTS `payroll_tipobasess`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payroll_tipobasess` ( - `id_payroll_tipobasess` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id_payroll_tipobasess`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `payrroll_apEmpresarial` --- - -DROP TABLE IF EXISTS `payrroll_apEmpresarial`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `payrroll_apEmpresarial` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `codTrabajador` int(11) NOT NULL, - `Fecha` date NOT NULL, - `CosteEmpresaAT` decimal(8,2) NOT NULL, - `costeEmpresaCC` decimal(8,2) NOT NULL, - `costeEmpresaDesempleo` decimal(8,2) NOT NULL, - `costeEmpresaFP` decimal(8,2) NOT NULL, - `costeEmpresaFogasa` decimal(8,2) NOT NULL, - `costeEmpresaExtra` decimal(8,2) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=1654 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `person_user` --- - -DROP TABLE IF EXISTS `person_user`; -/*!50001 DROP VIEW IF EXISTS `person_user`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `person_user` AS SELECT - 1 AS `id`, - 1 AS `mysql_user_id`, - 1 AS `name`, - 1 AS `password`, - 1 AS `active`, - 1 AS `last_pass_change`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `person_user_idtrabajador` --- - -DROP TABLE IF EXISTS `person_user_idtrabajador`; -/*!50001 DROP VIEW IF EXISTS `person_user_idtrabajador`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `person_user_idtrabajador` AS SELECT - 1 AS `Id_Trabajador`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `plantpassport` --- - -DROP TABLE IF EXISTS `plantpassport`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `plantpassport` ( - `producer_id` mediumint(3) unsigned NOT NULL, - `plantpassport_authority_id` mediumint(3) unsigned NOT NULL, - `number` varchar(25) CHARACTER SET utf8 DEFAULT NULL, - PRIMARY KEY (`producer_id`,`plantpassport_authority_id`), - KEY `plantpassport_authority_idx` (`plantpassport_authority_id`), - KEY `producer_id_idx` (`producer_id`), - CONSTRAINT `plantpassport_authority` FOREIGN KEY (`plantpassport_authority_id`) REFERENCES `plantpassport_authority` (`plantpassport_authority_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `producer` FOREIGN KEY (`producer_id`) REFERENCES `producer` (`producer_id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='tiene la asignacion de cada productor con la autoridad certificadora'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `plantpassport_authority` --- - -DROP TABLE IF EXISTS `plantpassport_authority`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `plantpassport_authority` ( - `plantpassport_authority_id` mediumint(3) unsigned NOT NULL, - `denomination` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Paises_Id` mediumint(8) unsigned DEFAULT NULL, - PRIMARY KEY (`plantpassport_authority_id`), - UNIQUE KEY `denomination_UNIQUE` (`denomination`), - KEY `Pais_id_idx` (`Paises_Id`), - CONSTRAINT `Pais_id` FOREIGN KEY (`Paises_Id`) REFERENCES `Paises` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='entidades certificadoras'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `preparation_exception` --- - -DROP TABLE IF EXISTS `preparation_exception`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `preparation_exception` ( - `exception_day` date NOT NULL COMMENT 'preparation day', - `warehouse_id` smallint(6) unsigned DEFAULT NULL, - `percentage` tinyint(2) NOT NULL DEFAULT '0', - UNIQUE KEY `exception_day_UNIQUE` (`exception_day`), - UNIQUE KEY `warehouse_id_UNIQUE` (`warehouse_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `preparation_percentage` --- - -DROP TABLE IF EXISTS `preparation_percentage`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `preparation_percentage` ( - `week_day` tinyint(1) unsigned NOT NULL COMMENT 'preparation day. Funcion de mysql Lunes = 0, Domingo = 6', - `warehouse_id` smallint(6) unsigned DEFAULT NULL, - `percentage` tinyint(2) NOT NULL DEFAULT '0', - UNIQUE KEY `week_day_UNIQUE` (`week_day`), - UNIQUE KEY `warehouse_id_UNIQUE` (`warehouse_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `price_fixed` --- - -DROP TABLE IF EXISTS `price_fixed`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `price_fixed` ( - `item_id` int(10) NOT NULL, - `rate_0` double NOT NULL, - `rate_1` double NOT NULL, - `rate_2` double NOT NULL, - `rate_3` double NOT NULL, - `date_start` date NOT NULL, - `date_end` date NOT NULL, - `bonus` double NOT NULL DEFAULT '0', - `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '0', - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `price_fixed_id` int(11) NOT NULL AUTO_INCREMENT, - `grouping` smallint(5) DEFAULT NULL, - `Packing` int(11) DEFAULT NULL, - `caja` tinyint(4) DEFAULT NULL, - PRIMARY KEY (`item_id`,`date_start`,`date_end`,`warehouse_id`), - UNIQUE KEY `price_fixed_id_UNIQUE` (`price_fixed_id`), - KEY `item_id` (`item_id`), - KEY `date_start` (`date_start`), - KEY `date_end` (`date_end`), - KEY `warehouse_id` (`warehouse_id`), - CONSTRAINT `price_fixed_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=51430 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`price_fixed_bi` BEFORE INSERT ON `vn2008`.`price_fixed` - FOR EACH ROW BEGIN - DECLARE v_aux DATE; - IF NEW.date_start > NEW.date_end THEN - SET v_aux = NEW.date_start; - SET NEW.date_start = NEW.date_end; - SET NEW.date_end = v_aux; - 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`price_fixed_bu` BEFORE UPDATE ON `vn2008`.`price_fixed` - FOR EACH ROW BEGIN - DECLARE v_aux DATE; - IF NEW.date_start > NEW.date_end THEN - SET v_aux = NEW.date_start; - SET NEW.date_start = NEW.date_end; - SET NEW.date_end = v_aux; - 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 `producer` --- - -DROP TABLE IF EXISTS `producer`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `producer` ( - `producer_id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `visible` tinyint(1) NOT NULL DEFAULT '1', - PRIMARY KEY (`producer_id`), - UNIQUE KEY `name_UNIQUE` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=3706 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `profile_labour_payroll` --- - -DROP TABLE IF EXISTS `profile_labour_payroll`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `profile_labour_payroll` ( - `profile_id` int(11) NOT NULL, - `codpais` int(11) NOT NULL, - `nivelformativo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `NSSProvincia` tinyint(2) unsigned zerofill NOT NULL, - `NssNumero` varchar(8) COLLATE utf8_unicode_ci NOT NULL, - `NssDC` char(2) COLLATE utf8_unicode_ci NOT NULL, - `sexo` enum('H','M') COLLATE utf8_unicode_ci NOT NULL, - `estadocivil` enum('S','C') COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`profile_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `proveedores_clientes` --- - -DROP TABLE IF EXISTS `proveedores_clientes`; -/*!50001 DROP VIEW IF EXISTS `proveedores_clientes`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `proveedores_clientes` AS SELECT - 1 AS `Id_Proveedor`, - 1 AS `Proveedor`, - 1 AS `Id_Cliente`, - 1 AS `Cliente`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `provider_account_customer` --- - -DROP TABLE IF EXISTS `provider_account_customer`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `provider_account_customer` ( - `account_id` mediumint(8) unsigned NOT NULL, - PRIMARY KEY (`account_id`), - CONSTRAINT `provider_account_customer_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Bank accounts used for customer transfers'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `province` --- - -DROP TABLE IF EXISTS `province`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `province` ( - `province_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(30) COLLATE utf8_unicode_ci NOT NULL, - `Paises_Id` mediumint(8) unsigned NOT NULL, - `warehouse_id` smallint(6) unsigned DEFAULT NULL COMMENT 'warehouse responsable de las rutas', - `zone` tinyint(4) DEFAULT NULL, - `nst_geo_id` int(11) DEFAULT NULL, - `nst_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `geoFk` int(11) DEFAULT NULL, - PRIMARY KEY (`province_id`), - KEY `Paises_Id` (`Paises_Id`), - KEY `warehouse_Id` (`warehouse_id`), - KEY `provicne_zone_fk_idx` (`zone`), - CONSTRAINT `province_ibfk_1` FOREIGN KEY (`Paises_Id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, - CONSTRAINT `province_zone_fk` FOREIGN KEY (`zone`) REFERENCES `zones` (`zone_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_Id` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=192 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 `vn2008`.`provinceBeforeInsert` - BEFORE INSERT ON `province` FOR EACH ROW -BEGIN - IF NEW.`name` = '' THEN - CALL util.throw ('EMPTY_NAME'); - 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 `vn2008`.`provinceBeforeUpdate` - BEFORE UPDATE ON `province` FOR EACH ROW -BEGIN - IF NEW.`name` = '' THEN - CALL util.throw ('EMPTY_NAME'); - 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 `rec_translator` --- - -DROP TABLE IF EXISTS `rec_translator`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `rec_translator` ( - `Id_Article` int(11) NOT NULL, - `denominacion` varchar(85) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`Id_Article`,`denominacion`), - KEY `id_article_rec_idx` (`Id_Article`), - CONSTRAINT `id_article_rec` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Equipara las denominaciones de las fincas de ecuador con nuestro Id_Article'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `recibida` --- - -DROP TABLE IF EXISTS `recibida`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `num_recibida` mediumint(11) unsigned DEFAULT NULL COMMENT 'insertado por Trigger', - `serie` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'R', - `proveedor_id` int(11) NOT NULL, - `fecha` date NOT NULL COMMENT 'Fecha de emision de la factura', - `sref` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', - `contabilizada` tinyint(1) NOT NULL DEFAULT '0', - `moneda_id` tinyint(3) unsigned NOT NULL DEFAULT '1', - `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', - `gestdoc_id` int(11) DEFAULT NULL, - `dateBooking` date DEFAULT NULL COMMENT 'Fecha de contabilizacion', - `dateOperation` date DEFAULT NULL COMMENT 'Fecha de entrega de la mercancia o el suministro', - `cplusInvoiceType472Fk` int(10) unsigned DEFAULT '1', - `cplusRectificationTypeFk` int(10) unsigned DEFAULT '1', - `cplusSubjectOpFk` int(10) unsigned DEFAULT '1', - `cplusTaxBreakFk` int(10) unsigned DEFAULT '1', - `cplusTrascendency472Fk` int(10) unsigned DEFAULT '1', - `bookEntried` date DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `proveedor_id` (`proveedor_id`), - KEY `empresa_id` (`empresa_id`), - KEY `serie` (`serie`), - KEY `num_recibida_2` (`num_recibida`), - KEY `gestdoc_id` (`gestdoc_id`), - KEY `fecha` (`fecha`), - KEY `recibida_ibfk_3_idx` (`cplusSubjectOpFk`), - KEY `recibida_ibfk_4_idx` (`cplusTaxBreakFk`), - KEY `recibida_ibfk_5_idx` (`cplusInvoiceType472Fk`), - KEY `recibida_ibfk_6` (`cplusRectificationTypeFk`), - KEY `recibida_ibfk_7` (`cplusTrascendency472Fk`), - CONSTRAINT `recibida_ibfk_1` FOREIGN KEY (`proveedor_id`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_2` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_3` FOREIGN KEY (`cplusSubjectOpFk`) REFERENCES `vn`.`cplusSubjectOp` (`id`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `vn`.`cplusTaxBreak` (`id`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_5` FOREIGN KEY (`cplusInvoiceType472Fk`) REFERENCES `vn`.`cplusInvoiceType472` (`id`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_6` FOREIGN KEY (`cplusRectificationTypeFk`) REFERENCES `vn`.`cplusRectificationType` (`id`) ON UPDATE CASCADE, - CONSTRAINT `recibida_ibfk_7` FOREIGN KEY (`cplusTrascendency472Fk`) REFERENCES `vn`.`cplusTrascendency472` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=64019 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 `vn2008`.`recibida_bi` -BEFORE INSERT ON `vn2008`.`recibida` -FOR EACH ROW -BEGIN - DECLARE v_serie CHAR(1) DEFAULT 'R'; - DECLARE v_num_recibida INT; - DECLARE pais_emisor, pais_receptor INT; - DECLARE vActive TINYINT; - - - SELECT pais_id, active into pais_emisor, vActive FROM Proveedores WHERE Id_Proveedor = NEW.proveedor_id; - SELECT pais_id into pais_receptor FROM Proveedores WHERE Id_Proveedor = NEW.empresa_id; - - IF vActive = 0 THEN - CALL util.throw('INACTIVE_PROVIDER'); - END IF; - - SELECT CASE WHEN (SELECT Cuenta FROM Proveedores where Id_Proveedor = NEW.proveedor_id) LIKE '___3______' THEN 'C' - WHEN (SELECT pais_emisor=pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor - where p1.CEE < 2 and p2.CEE < 2) = 1 THEN 'R' - WHEN (SELECT pais_emisor <> pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor - where p1.CEE < 2 and p2.CEE < 2) = 1 THEN 'E' - WHEN (SELECT pais_emisor<>pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor - where NOT p1.CEE < 2 AND not p1.Id = 1) = 1 THEN 'W' - END INTO v_serie; - - SET NEW.serie = v_serie; - - IF v_serie LIKE 'W' THEN - - SELECT IFNULL(MAX(num_recibida) + 1,1) INTO v_num_recibida FROM recibida - WHERE serie LIKE NEW.serie - AND YEAR(fecha) = YEAR(NEW.fecha) - AND empresa_id = NEW.empresa_id; - - SET NEW.num_recibida = v_num_recibida; - - 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 `recibida_bu` BEFORE UPDATE ON `recibida` FOR EACH ROW --- Edit trigger body code below this line. Do not edit lines above this one -BEGIN - - DECLARE cta_proveed VARCHAR(10); - DECLARE cta_proveeda VARCHAR(10); - DECLARE v_num_recibida INT; - DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; - DECLARE vActive TINYINT; - - SELECT active INTO vActive FROM Proveedores WHERE Id_Proveedor = NEW.proveedor_id; - - IF vActive = 0 THEN - CALL util.throw('INACTIVE_PROVIDER'); - END IF; - - IF NEW.empresa_id <> OLD.empresa_id THEN - SET NEW.num_recibida = NULL; - SET NEW.contabilizada = FALSE ; - END IF; - - - -/* PAK 27/11/17 ESto tiene pinta de no hacer falta.... - -IF NEW.contabilizada = 1 AND OLD.contabilizada = 0 AND NEW.fecha < '2017-07-01' THEN - - SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate - WHERE date <= (SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = NEW.id GROUP BY re.awb_recibida)); - - SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min - WHERE date<=(SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = NEW.id GROUP BY re.awb_recibida)); - - -- IF dblRefMin < dblRefRate THEN - -- SET dblRef = dblRefRate; - -- ELSE - -- SET dblRef =dblRefMin; - -- END IF; - SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r - WHERE r.serie LIKE NEW.serie - AND YEAR(r.fecha) = YEAR(NEW.fecha) - AND r.empresa_id = NEW.empresa_id GROUP BY r.empresa_id; - - SET NEW.num_recibida = IFNULL(v_num_recibida,1); - SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW.proveedor_id; - - INSERT INTO XDiario(ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE, EUROHABER,BASEEURO, SERIE,FACTURA,IVA,DOCUMENTO, - L340,LRECT349,TIPOOPE,AUXILIAR,empresa_id,LDIFADUAN) -SELECT a,NEW.fecha,subcta,contra,concepto,eurodebe,eurohaber,baseeuro,serie,NEW.sref,iva, - (SELECT CONCAT(serie,'/', LPAD(v_num_recibida,5,'0'))),l340,LRECT349,TIPOOPE,AUXILIAR,NEW.empresa_id,LDIFADUAN - FROM - - (SELECT MAX(ASIEN) + 1 as a FROM XDiario) t - - INNER JOIN - - ( - - SELECT *,NEW.serie,0 LDIFADUAN FROM - - (SELECT CONCAT('s/fra',RIGHT(sref,8),':',LEFT(Proveedor, 10)) concepto FROM Proveedores - - INNER JOIN recibida ON Id_Proveedor = proveedor_id WHERE id = NEW.id) t4 - - INNER JOIN( - -- Linea del proveedor/acreedor - SELECT subcta,'' contra,eurodebe,ROUND(SUM(eurohaber) + 0.0001,2) eurohaber,baseeuro,0 iva, l340,LRECT349,TIPOOPE,'' AUXILIAR - - FROM ( - - SELECT cta_proveed subcta, - - NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi),2) eurohaber, NULL baseeuro,ri.recibida_id, 0 l340,0 LRECT349,' ' TIPOOPE - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE r.id = NEW.id GROUP BY iva) t - - GROUP BY recibida_id - - UNION ALL - -- Linea de iva - SELECT ic.codigo,cta_proveed contra, - - ROUND(iva/100*SUM(ri.bi) + 0.0001,2) eurodebe, NULL eurohaber, - - ROUND(SUM(ri.bi),2) baseeuro,iva, 1 l340,(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2)) LRECT349,TIPOOPE, - IF(pa.CEE < 2 AND ri2.gastos_id IS NULL,'','*') AUXILIAR - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - LEFT JOIN recibida_iva ri2 ON ri2.recibida_id = r.id AND ri2.gastos_id LIKE '4751______' - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN iva_tipo it ON it.id = ic.iva_tipo_id - - INNER JOIN Gastos g ON ri.gastos_id = g.Id_Gasto AND g.iva_tipo_id = ic.iva_tipo_id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - - INNER JOIN Paises pa ON p.pais_id = pa.Id - - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - INNER JOIN Paises pa2 ON p2.pais_id = pa2.Id - WHERE r.id = NEW.id AND ic.tipo <> '-' AND link GROUP BY iva - -- JGF 2016-05-05 g.conbase - UNION ALL - -- Linea iva inversor sujeto pasivo - SELECT ic2.codigo,cta_proveed contra, - - NULL eurodebe, ROUND(ic2.iva/100*SUM(bi) + 0.0001,2) eurohaber, - - ROUND(SUM(bi),2) baseeuro,ic2.iva, 1 l340,0 LRECT349,TIPOOPE,'*' AUXILIAR - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id - - INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - WHERE r.id = NEW.id AND ic2.link GROUP BY ic2.iva - - UNION ALL - -- Linea de Gastos - SELECT if(gastos_id LIKE '4751______',LPAD(RIGHT(cta_proveed ,5),10,gastos_id),gastos_id),cta_proveed , - - if(gastos_id LIKE '4751______',NULL,ABS(ROUND(SUM(bi),2))) , - - if(gastos_id LIKE '4751______',ABS(ROUND(SUM(bi),2)),NULL) , - - NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - - WHERE r.id = NEW.id AND gastos_id <> 5660000002 GROUP BY gastos_id - - UNION ALL - -- Iva Importacion pendiente - -- JGF 17/02/15 cambia la forma de declarar este tipo de importaciones, sólo afecta a transitarios - SELECT '4700000999',NULL,NULL ,ROUND(SUM(importe * (iva/100)),2),NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR - - FROM recibida r - JOIN recibida_intrastat ri ON r.id = ri.recibida_id - JOIN Intrastat i ON i.Codintrastat = ri.Codintrastat - JOIN iva_codigo ic ON ic.id = i.iva_codigo_id - WHERE ri.recibida_id = NEW.id GROUP BY ri.recibida_id - - ) t2 - - UNION ALL - - - -- Extracomunitarias gasto contra proveedor/acreedor - SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,gastos_id,cuenta, - - ROUND(SUM(bi)/IF(r.serie='W' AND ri.divisa IS NULL,dblRefRate,1)* (re.percentage / 100),2),NULL ,IF( @a:=@a+1 ,NULL,NULL) ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN - - FROM recibida_entrada re - - INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id - - INNER JOIN recibida r ON r.id = ri.recibida_id - - INNER JOIN Proveedores p ON p.Id_Proveedor = r.proveedor_id - - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - - LEFT JOIN travel t ON t.id = e.travel_id - - INNER JOIN (SELECT @a:=0,@cont:=1,@total:=0,@base:=2) t1 - - WHERE re.awb_recibida = NEW.id AND re.percentage GROUP BY r.id - -UNION ALL - - -- Extracomunitarias proveedor contra gasto - SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,p.cuenta subcta,gastos_id, - - NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi)/IF(r.serie='W' AND ri.divisa IS NULL,dblRefRate,1)* (re.percentage / 100),2) eurohaber, - - NULL baseeuro,0 iva, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN - -- antes sols iva - FROM recibida_entrada re - - INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id - - INNER JOIN recibida r ON r.id = ri.recibida_id - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN Proveedores p ON Id_Proveedor = r.proveedor_id - - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE re.awb_recibida = NEW.id AND re.percentage GROUP BY r.id - -UNION ALL - - -- Linea de iva adquisicion - SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic.codigo,p.cuenta contra, - - ROUND(iva/100*SUM(ri.importe) + 0.0001,2) eurodebe, NULL eurohaber, - - ROUND(SUM(ri.importe),2) baseeuro,iva, 1 l340,1 LRECT349,TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN - - FROM awb_recibida ar - - JOIN awb a ON ar.awb_id = a.id - - JOIN iva_codigo ic ON a.iva_id = ic.id - - JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor - - JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id - - JOIN recibida r ON r.id = ri.recibida_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE ar.recibida_id = NEW.id AND (p.pais_id <> p2.pais_id) - GROUP BY iva - - UNION ALL - - -- Linea de iva adquisicion - SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic2.codigo,p.cuenta contra, - - NULL eurodebe, ROUND(ic2.iva/100*SUM(ri.importe) + 0.0001,2) eurohaber, - - ROUND(SUM(ri.importe),2) baseeuro,ic2.iva, 1 l340,0 LRECT349, TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN - - FROM awb_recibida ar - - JOIN awb a ON ar.awb_id = a.id - - JOIN iva_codigo ic ON a.iva_id = ic.id - - JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id - - JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor - - JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id - - JOIN recibida r ON r.id = ar.recibida_id - - JOIN Proveedores p1 ON p1.Id_Proveedor = r.proveedor_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE ar.recibida_id = NEW.id AND (p.pais_id <> p2.pais_id) GROUP BY ic2.iva - - UNION ALL - -- Linea iva importacion - SELECT concepto,subcta,Cuenta, - IF (NOT ((ppais_id <> p2pais_id) AND CEE < 2), - - eurodebe - ,NULL)eurodebe,eurohaber,baseeuro, iva, - IF(@total:=@total+eurodebe ,0,0) l340, 0 LRECT349, - IF(@cont:=@cont+1,'','') TIPOOPE,'*' AUXILIAR,serie,1 LDIFADUAN FROM ( - - SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic2.codigo subcta,p.Cuenta,ic2.iva, - ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*(ic2.iva/100),2) eurodebe,NULL eurohaber, -- JGF 17/02/15 canvie 0.21 per ic.iva - ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,r.serie,pa.CEE,pa.Id_Paisreal ppais_id, - p2.pais_id p2pais_id,SUM(sub3.SumIntrastat *(ic2.iva/100)) SumIntrastat, p.Id_Proveedor,Codintrastat - - FROM awb_recibida ar - - JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida - - JOIN Compres c ON c.Id_Entrada = re.Id_Entrada - - INNER JOIN Articles a ON a.Id_Article = c.Id_Article - - INNER JOIN ( - - SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal - - FROM Compres c - - JOIN Articles a ON a.Id_Article = c.Id_Article - - JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada - - JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida - - JOIN awb aw ON ar.awb_id = aw.id - - WHERE ar.recibida_id = NEW.id AND re.percentage - - GROUP BY a.Codintrastat - - ) sub1 USING(Codintrastat) - - INNER JOIN ( - - SELECT Codintrastat,ri.importe, i.iva_codigo_id - - FROM recibida_intrastat ri - JOIN Intrastat i USING(Codintrastat) - - WHERE ri.recibida_id = NEW.id - - ) sub2 USING(Codintrastat) - - INNER JOIN ( - - SELECT SUM(ri.importe) SumIntrastat - - FROM recibida_intrastat ri - - WHERE ri.recibida_id = NEW.id - - ) sub3 - - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - - JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor - - JOIN Paises pa ON p.pais_id = pa.Id - - JOIN recibida r ON r.id = re.recibida_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - JOIN iva_codigo ic2 ON ic2.id = sub2.iva_codigo_id -- JGF 15/04/15 nou canvi llei (Ali) - - WHERE re.awb_recibida = NEW.id AND re.percentage - -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put - - GROUP BY p.Id_Proveedor, sub2.iva_codigo_id - -) t3 GROUP BY Id_Proveedor, iva)t4; - --- linea que estava a l'ultim WHERE -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 `vn2008`.`recibida_au` AFTER UPDATE ON `recibida` FOR EACH ROW -BEGIN - - IF NEW.fecha != OLD.fecha - OR - NEW.moneda_id != OLD.moneda_id - THEN - - CALL recibidaIvaDivisaUpdate(NEW.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 */ ; - --- --- Table structure for table `recibida_agricola` --- - -DROP TABLE IF EXISTS `recibida_agricola`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida_agricola` ( - `recibida_id` mediumint(8) unsigned NOT NULL, - `num` smallint(5) unsigned NOT NULL, - PRIMARY KEY (`recibida_id`), - CONSTRAINT `recibida_agricola_ibfk_1` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`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 `recibida_entrada` --- - -DROP TABLE IF EXISTS `recibida_entrada`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida_entrada` ( - `recibida_entrada_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `recibida_id` mediumint(8) unsigned NOT NULL, - `Id_Entrada` int(11) NOT NULL, - `percentage` decimal(10,2) unsigned NOT NULL DEFAULT '0.00', - `awb_recibida` mediumint(8) unsigned NOT NULL, - `Contabilizado` tinyint(3) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`recibida_entrada_id`), - KEY `awb_recibida` (`awb_recibida`), - KEY `Id_Entrada` (`Id_Entrada`), - KEY `recibida_id` (`recibida_id`), - CONSTRAINT `recibida_entrada_ibfk_2` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=9857 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `recibida_entrada_bi` BEFORE INSERT ON `recibida_entrada` FOR EACH ROW -BEGIN - DECLARE intRecibida INT; - IF NEW.recibida_id = 0 THEN - SELECT recibida_id INTO intRecibida FROM recibida_entrada WHERE Id_Entrada = NEW.Id_Entrada; - SET NEW.recibida_id = intRecibida; - 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `recibida_entrada_bu` BEFORE UPDATE ON `recibida_entrada` FOR EACH ROW -BEGIN - DECLARE intRecibida INT; - IF NEW.recibida_id = 0 THEN - SELECT recibida_id INTO intRecibida FROM recibida_entrada WHERE Id_Entrada = NEW.Id_Entrada; - SET NEW.recibida_id = intRecibida; - 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 `recibida_intrastat` --- - -DROP TABLE IF EXISTS `recibida_intrastat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida_intrastat` ( - `recibida_id` mediumint(8) unsigned NOT NULL, - `Codintrastat` int(8) unsigned zerofill NOT NULL, - `importe` decimal(10,2) NOT NULL, - PRIMARY KEY (`recibida_id`,`Codintrastat`), - KEY `Codintrastat` (`Codintrastat`), - KEY `recibida_id` (`recibida_id`), - CONSTRAINT `recibida_intrastat_ibfk_1` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `recibida_intrastat_ibfk_2` FOREIGN KEY (`Codintrastat`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `recibida_iva` --- - -DROP TABLE IF EXISTS `recibida_iva`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida_iva` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `recibida_id` mediumint(8) unsigned NOT NULL, - `iva_id` tinyint(2) unsigned NOT NULL, - `bi` decimal(10,2) NOT NULL, - `gastos_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `divisa` decimal(10,2) DEFAULT NULL, - `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `gastos_id` (`gastos_id`), - KEY `recibida_id` (`recibida_id`), - KEY `recibida_iva_ibfk_2` (`iva_id`), - CONSTRAINT `recibida_iva_ibfk_2` FOREIGN KEY (`iva_id`) REFERENCES `iva_codigo` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `recibida_iva_ibfk_5` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `recibida_iva_ibfk_6` FOREIGN KEY (`gastos_id`) REFERENCES `Gastos` (`Id_Gasto`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=84983 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `recibida_vencimiento` --- - -DROP TABLE IF EXISTS `recibida_vencimiento`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recibida_vencimiento` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `recibida_id` mediumint(8) unsigned NOT NULL, - `fecha` date NOT NULL, - `banco_id` int(11) NOT NULL DEFAULT '3117', - `cantidad` decimal(10,2) NOT NULL DEFAULT '0.00', - `divisa` decimal(10,2) DEFAULT NULL, - `stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `recibida_id` (`recibida_id`), - KEY `banco_id` (`banco_id`), - CONSTRAINT `recibida_vencimiento_ibfk_6` FOREIGN KEY (`banco_id`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, - CONSTRAINT `recibida_vencimiento_ibfk_7` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=82639 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`recibida_vencimiento_bi` -BEFORE INSERT ON `vn2008`.`recibida_vencimiento` -FOR EACH ROW -BEGIN - IF NEW.cantidad = 0 THEN - SET NEW.id = 5; - 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 `recovery` --- - -DROP TABLE IF EXISTS `recovery`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recovery` ( - `recovery_id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Cliente` int(11) NOT NULL DEFAULT '0', - `dstart` date NOT NULL COMMENT 'Fecha a partir de la que comienza el recobro', - `dend` date DEFAULT NULL COMMENT 'Fecha en la que acaba', - `amount` double NOT NULL, - `period` tinyint(3) unsigned NOT NULL DEFAULT '7', - PRIMARY KEY (`recovery_id`), - KEY `cliente_idx` (`Id_Cliente`), - CONSTRAINT `cliente333` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, - CONSTRAINT `cliente_cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=246 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntaremos los acuerdos de recobro semanal a '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `recovery_asset` --- - -DROP TABLE IF EXISTS `recovery_asset`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `recovery_asset` ( - `recovery_asset_id` int(11) NOT NULL AUTO_INCREMENT, - `dreceipt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `amount` double NOT NULL, - `Id_Cliente` int(11) NOT NULL, - PRIMARY KEY (`recovery_asset_id`), - KEY `Cliente_Recovery_detalle_idx` (`Id_Cliente`), - CONSTRAINT `Cliente_Recovery_detalle` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=723 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla se registra el detalle de los recobros definid'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `reference_min` --- - -DROP TABLE IF EXISTS `reference_min`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `reference_min` ( - `date` date NOT NULL, - `rate` decimal(10,4) NOT NULL, - `moneda_id` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`date`,`moneda_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `reference_rate` --- - -DROP TABLE IF EXISTS `reference_rate`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `reference_rate` ( - `moneda_id` tinyint(3) unsigned NOT NULL, - `date` date NOT NULL, - `rate` float unsigned NOT NULL, - PRIMARY KEY (`moneda_id`,`date`), - KEY `date` (`date`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `reinos` --- - -DROP TABLE IF EXISTS `reinos`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `reinos` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `reino` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `orden` int(10) unsigned DEFAULT NULL, - `display` tinyint(4) NOT NULL DEFAULT '1', - `color` char(6) COLLATE utf8_unicode_ci DEFAULT NULL, - `efimero` int(11) NOT NULL DEFAULT '0' COMMENT 'Sirve para filtrar aquellos reinos que tienen precios estables', - `mercancia` tinyint(1) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `reparacion` --- - -DROP TABLE IF EXISTS `reparacion`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `reparacion` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `id_user` int(2) DEFAULT NULL, - `config_host` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `problema` text COLLATE utf8_unicode_ci NOT NULL, - `solucion` text COLLATE utf8_unicode_ci NOT NULL, - `estado` enum('No atendida','Vista','En Proceso','Solucionada') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'No atendida', - `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `id_reparador` int(2) DEFAULT NULL, - `ref` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `articulo` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, - `marca` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `config_host` (`config_host`), - KEY `id_user` (`id_user`), - KEY `id_reparador` (`id_reparador`), - CONSTRAINT `reparacion_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `reparacion_ibfk_2` FOREIGN KEY (`config_host`) REFERENCES `config_host` (`config_host_id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `reparacion_ibfk_4` FOREIGN KEY (`id_reparador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `rolekk` --- - -DROP TABLE IF EXISTS `rolekk`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `rolekk` ( - `role_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`role_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `rounding` --- - -DROP TABLE IF EXISTS `rounding`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `rounding` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `amount` double NOT NULL DEFAULT '0', - `price` double DEFAULT '0', - `discount` double NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `route` --- - -DROP TABLE IF EXISTS `route`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `route` ( - `agency_id` smallint(5) unsigned NOT NULL, - `week_day` tinyint(3) unsigned NOT NULL COMMENT 'weekday de access el domingo = 1, sabado = 7. Intentar cambiar al de Mysql Lunes = 0', - PRIMARY KEY (`agency_id`,`week_day`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `ruta_location` --- - -DROP TABLE IF EXISTS `ruta_location`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ruta_location` ( - `Id_Ruta` int(10) unsigned NOT NULL, - `longitude` decimal(11,7) NOT NULL, - `latitude` decimal(11,7) NOT NULL, - `time_location` datetime NOT NULL, - PRIMARY KEY (`Id_Ruta`), - CONSTRAINT `Id_Ruta_Location` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `salarioDits` --- - -DROP TABLE IF EXISTS `salarioDits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `salarioDits` ( - `idSalario_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idSalario_dits`) -) ENGINE=InnoDB AUTO_INCREMENT=96 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `scan` --- - -DROP TABLE IF EXISTS `scan`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `scan` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `lft` int(11) NOT NULL, - `rgt` int(11) NOT NULL, - `name` varchar(45) CHARACTER SET utf8 DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=45805 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `scanTree` --- - -DROP TABLE IF EXISTS `scanTree`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `scanTree` ( - `id` int(11) NOT NULL DEFAULT '0', - `name` longtext CHARACTER SET utf8, - `lft` int(11) NOT NULL, - `rgt` int(11) NOT NULL, - `depth` bigint(22) NOT NULL DEFAULT '0', - `sons` decimal(10,0) DEFAULT NULL, - `lastScanned` datetime DEFAULT NULL, - `routeCount` int(11) DEFAULT NULL, - `minRoute` int(11) DEFAULT NULL, - `maxRoute` int(11) DEFAULT NULL, - `scanned` int(11) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `scan_line` --- - -DROP TABLE IF EXISTS `scan_line`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `scan_line` ( - `scan_line_id` int(11) NOT NULL AUTO_INCREMENT, - `scan_id` int(11) NOT NULL, - `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`scan_line_id`), - KEY `id_scan_id_idx` (`scan_id`), - CONSTRAINT `id_scan_id` FOREIGN KEY (`scan_id`) REFERENCES `scan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=601528 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `sharingcart` --- - -DROP TABLE IF EXISTS `sharingcart`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sharingcart` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Trabajador` int(11) NOT NULL, - `datSTART` date NOT NULL, - `datEND` date NOT NULL, - `Id_Suplente` int(11) NOT NULL, - `odbc_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `Worker` (`Id_Trabajador`), - KEY `Suplent` (`Id_Suplente`), - CONSTRAINT `Suplent_key` FOREIGN KEY (`Id_Suplente`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `Trabajador_key` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1689 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 `sharingcart_bi` BEFORE INSERT ON `sharingcart` FOR EACH ROW - -BEGIN - - SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); - SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); - - IF NEW.Id_Trabajador = NEW.Id_Suplente THEN - SET NEW.Id_Trabajador = 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 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 `sharingcart_bu` BEFORE UPDATE ON `sharingcart` FOR EACH ROW - -BEGIN - - SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); - SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); - - IF NEW.Id_Trabajador = NEW.Id_Suplente THEN - SET NEW.Id_Trabajador = 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 `sharingclient` --- - -DROP TABLE IF EXISTS `sharingclient`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sharingclient` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Trabajador` int(11) NOT NULL, - `datSTART` date NOT NULL, - `datEND` date NOT NULL, - `Id_Cliente` int(11) NOT NULL, - PRIMARY KEY (`id`), - KEY `Worker` (`Id_Trabajador`), - KEY `Client` (`Id_Cliente`), - CONSTRAINT `Clients_key` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, - CONSTRAINT `Trabajadores_key` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=32 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 `vn2008`.`sharingclient_BEFORE_INSERT` BEFORE INSERT ON `sharingclient` FOR EACH ROW -BEGIN - -SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); -SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); - -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 `vn2008`.`sharingclient_BEFORE_UPDATE` BEFORE UPDATE ON `sharingclient` FOR EACH ROW -BEGIN - -SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); -SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); - -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 `sms` --- - -DROP TABLE IF EXISTS `sms`; -/*!50001 DROP VIEW IF EXISTS `sms`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `sms` AS SELECT - 1 AS `id`, - 1 AS `Id_trabajador`, - 1 AS `Id_Cliente`, - 1 AS `from`, - 1 AS `to`, - 1 AS `text`, - 1 AS `sent`, - 1 AS `response`, - 1 AS `DATE_ODBC`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `split` --- - -DROP TABLE IF EXISTS `split`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `split` ( - `edi_id` int(11) NOT NULL, - `customer_id` int(11) NOT NULL, - `quantity` int(11) NOT NULL, - KEY `edi_id` (`edi_id`,`customer_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `state` --- - -DROP TABLE IF EXISTS `state`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `state` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `order` tinyint(3) unsigned DEFAULT NULL, - `alert_level` int(11) NOT NULL DEFAULT '0', - `code` varchar(45) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `tag` --- - -DROP TABLE IF EXISTS `tag`; -/*!50001 DROP VIEW IF EXISTS `tag`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `tag` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `free`, - 1 AS `isQuantitatif`, - 1 AS `sourceTable`, - 1 AS `unit`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `tarifa_componentes` --- - -DROP TABLE IF EXISTS `tarifa_componentes`; -/*!50001 DROP VIEW IF EXISTS `tarifa_componentes`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `tarifa_componentes` AS SELECT - 1 AS `Id_Componente`, - 1 AS `Componente`, - 1 AS `tarifa_componentes_series_id`, - 1 AS `tarifa_class`, - 1 AS `tax`, - 1 AS `is_renewable`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `tarifa_componentes_series` --- - -DROP TABLE IF EXISTS `tarifa_componentes_series`; -/*!50001 DROP VIEW IF EXISTS `tarifa_componentes_series`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `tarifa_componentes_series` AS SELECT - 1 AS `tarifa_componentes_series_id`, - 1 AS `Serie`, - 1 AS `base`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `tarifas` --- - -DROP TABLE IF EXISTS `tarifas`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tarifas` ( - `tarifa_id` int(11) NOT NULL AUTO_INCREMENT, - `fecha` date NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - `t0` double NOT NULL, - `t1` double NOT NULL, - `t2` double NOT NULL, - `t3` double NOT NULL, - PRIMARY KEY (`tarifa_id`), - KEY `tarifa_warehouse` (`warehouse_id`), - CONSTRAINT `tarifa_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=140 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tblContadores` --- - -DROP TABLE IF EXISTS `tblContadores`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tblContadores` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ochoa` int(10) unsigned NOT NULL, - `nfactura` int(11) DEFAULT '0', - `nasiento` int(11) DEFAULT '0', - `serieA` int(11) DEFAULT '0', - `serieE` int(11) DEFAULT '0', - `serieR` int(11) DEFAULT '0', - `serieC` int(11) DEFAULT '0', - `SerieH` int(11) NOT NULL, - `serieP` int(11) DEFAULT '0', - `serieT` int(11) DEFAULT '0', - `FechaInventario` datetime DEFAULT NULL, - `serieM` int(11) DEFAULT '0', - `HistoricoArticulo` int(11) DEFAULT '0', - `week_goal` int(11) DEFAULT NULL, - `Rutafotos` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `numCaja` int(11) DEFAULT '0', - `CodigoRojo` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Tablet_Hora` datetime DEFAULT NULL, - `t0` int(11) NOT NULL DEFAULT '0', - `t1` int(11) NOT NULL DEFAULT '0', - `t2` int(11) NOT NULL DEFAULT '0', - `t3` int(11) NOT NULL DEFAULT '0', - `cc` double NOT NULL DEFAULT '0', - `palet` double NOT NULL DEFAULT '0', - `campaign` datetime NOT NULL, - `campaign_life` tinyint(3) unsigned NOT NULL, - `truck_days` tinyint(3) unsigned NOT NULL, - `tasa_transporte` double NOT NULL, - `escaner_path` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `turnoimpreso` int(4) DEFAULT NULL, - `truck_length` int(11) DEFAULT '24', - `fuel_consumption` int(11) DEFAULT NULL, - `petrol` decimal(10,1) DEFAULT NULL, - `maintenance` decimal(10,1) DEFAULT NULL, - `hour_price` decimal(10,1) DEFAULT NULL, - `meter_price` decimal(10,1) DEFAULT NULL, - `km_price` decimal(10,1) DEFAULT NULL, - `route_option` int(11) DEFAULT '1', - `dbproduccion` tinyint(1) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=4 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 `vn2008`.`tblContadores_bi` BEFORE INSERT ON `tblContadores` FOR EACH ROW -BEGIN - DECLARE v_count INT; - - SELECT COUNT(*) INTO v_count FROM tblContadores; - - IF v_count > 0 THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'ONLY_ONE_ROW_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 */ ; - --- --- Table structure for table `tblIVA` --- - -DROP TABLE IF EXISTS `tblIVA`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tblIVA` ( - `tipoiva` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `iva` smallint(6) NOT NULL DEFAULT '0', - `cuenta` double DEFAULT '0', - `cuentaRE` double DEFAULT '0', - `cuentaivaRE` double DEFAULT '0', - `REQ` double DEFAULT '0', - PRIMARY KEY (`tipoiva`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `template_bionic_component` --- - -DROP TABLE IF EXISTS `template_bionic_component`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `template_bionic_component` ( - `warehouse_id` smallint(5) unsigned NOT NULL, - `item_id` int(11) NOT NULL, - `component_id` int(10) unsigned NOT NULL, - `cost` decimal(10,4) NOT NULL, - UNIQUE KEY `item_warehouse_component` (`item_id`,`warehouse_id`,`component_id`) USING HASH, - KEY `item_warehouse` (`item_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 `template_bionic_lot` --- - -DROP TABLE IF EXISTS `template_bionic_lot`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `template_bionic_lot` ( - `warehouse_id` smallint(5) unsigned NOT NULL, - `item_id` int(11) NOT NULL, - `available` double DEFAULT NULL, - `buy_id` int(11) DEFAULT NULL, - `fix` tinyint(3) unsigned DEFAULT '0', - KEY `item_id` (`item_id`), - KEY `item_warehouse` (`item_id`,`warehouse_id`) USING HASH -) ENGINE=MEMORY DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `template_bionic_price` --- - -DROP TABLE IF EXISTS `template_bionic_price`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `template_bionic_price` ( - `warehouse_id` smallint(5) unsigned NOT NULL, - `item_id` int(11) NOT NULL, - `rate` tinyint(3) unsigned NOT NULL, - `items` int(11) DEFAULT NULL, - `grouping` int(11) DEFAULT NULL, - `price` decimal(10,2) DEFAULT NULL, - KEY `item_id` (`item_id`) USING BTREE -) ENGINE=MEMORY DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `thermograph` --- - -DROP TABLE IF EXISTS `thermograph`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `thermograph` ( - `thermograph_id` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `model` enum('TL30','SENSITECH','TREKVIEW1','TREKVIEW2','DISPOSABLE') COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`thermograph_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `ticketCreationData` --- - -DROP TABLE IF EXISTS `ticketCreationData`; -/*!50001 DROP VIEW IF EXISTS `ticketCreationData`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticketCreationData` AS SELECT - 1 AS `DiadelaSemana`, - 1 AS `Hora`, - 1 AS `Fecha`, - 1 AS `Dispositivo`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `ticket_location` --- - -DROP TABLE IF EXISTS `ticket_location`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticket_location` ( - `Id_Ticket` int(11) NOT NULL, - `longitude` decimal(11,7) DEFAULT NULL, - `latitude` decimal(11,7) DEFAULT NULL, - PRIMARY KEY (`Id_Ticket`), - CONSTRAINT `Id_Ticket_Location` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) 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 `ticket_observation` --- - -DROP TABLE IF EXISTS `ticket_observation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticket_observation` ( - `ticket_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `Id_Ticket` int(11) NOT NULL, - `observation_type_id` tinyint(3) unsigned NOT NULL, - `text` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`ticket_observation_id`), - UNIQUE KEY `Id_Ticket` (`Id_Ticket`,`observation_type_id`), - KEY `observation_type_id` (`observation_type_id`), - CONSTRAINT `ticket_observation_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticket_observation_ibfk_2` FOREIGN KEY (`observation_type_id`) REFERENCES `observation_type` (`observation_type_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=987375 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tickets_gestdoc` --- - -DROP TABLE IF EXISTS `tickets_gestdoc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tickets_gestdoc` ( - `Id_Ticket` int(11) NOT NULL, - `gestdoc_id` int(11) NOT NULL, - PRIMARY KEY (`Id_Ticket`,`gestdoc_id`), - KEY `gestdoc_id` (`gestdoc_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `time` --- - -DROP TABLE IF EXISTS `time`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `time` ( - `date` date NOT NULL, - `period` int(6) NOT NULL, - `month` int(2) NOT NULL, - `year` int(4) NOT NULL, - `day` int(2) NOT NULL, - `week` int(2) NOT NULL, - `yearMonth` int(6) NOT NULL, - PRIMARY KEY (`date`), - KEY `day_index` (`day`) USING HASH, - KEY `week_index` (`week`) USING HASH, - KEY `year_index` (`year`) USING HASH, - KEY `month_index` (`month`) USING HASH, - KEY `periodo` (`period`) USING HASH, - KEY `yearMonth` (`yearMonth`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla de referencia para las semanas, años y meses'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tipsa` --- - -DROP TABLE IF EXISTS `tipsa`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tipsa` ( - `kilos` tinyint(3) unsigned NOT NULL, - `importe` double unsigned NOT NULL, - `zona` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`kilos`,`zona`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tmpNEWTARIFAS` --- - -DROP TABLE IF EXISTS `tmpNEWTARIFAS`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tmpNEWTARIFAS` ( - `Id_Cliente` int(11) NOT NULL, - `Cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `Consumo_medio_mensual` double(17,0) DEFAULT NULL, - `Tarifa_Actual` int(11) DEFAULT '0', - `Nueva_Tarifa` int(11) DEFAULT NULL, - `Id_Trabajador` int(11) DEFAULT '20', - 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 `transport` --- - -DROP TABLE IF EXISTS `transport`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `transport` ( - `wday` tinyint(4) NOT NULL, - PRIMARY KEY (`wday`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `travel` --- - -DROP TABLE IF EXISTS `travel`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travel` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `shipment` date DEFAULT NULL, - `shipment_hour` time DEFAULT NULL, - `landing` date NOT NULL, - `landing_hour` time DEFAULT NULL, - `warehouse_id` smallint(6) unsigned DEFAULT NULL, - `warehouse_id_out` smallint(6) unsigned DEFAULT NULL, - `agency_id` int(11) DEFAULT NULL, - `ref` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `delivered` tinyint(1) NOT NULL DEFAULT '0', - `received` tinyint(1) NOT NULL DEFAULT '0', - `m3` decimal(10,2) unsigned DEFAULT NULL, - `kg` decimal(10,0) unsigned DEFAULT NULL, - `cargoSupplierFk` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `shipment_2` (`shipment`,`landing`,`warehouse_id`,`warehouse_id_out`,`agency_id`,`ref`), - KEY `agency_id` (`agency_id`), - KEY `shipment` (`shipment`), - KEY `landing` (`landing`), - KEY `warehouse_landing` (`warehouse_id`,`landing`), - KEY `warehouse_out_shipment` (`warehouse_id_out`,`shipment`), - KEY `travel_ibfk_4_idx` (`cargoSupplierFk`), - CONSTRAINT `travel_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `travel_ibfk_2` FOREIGN KEY (`warehouse_id_out`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `travel_ibfk_3` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, - CONSTRAINT `travel_ibfk_4` FOREIGN KEY (`cargoSupplierFk`) REFERENCES `Proveedores` (`Id_Proveedor`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=99506 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; -/*!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 `travelBeforeInsert` - BEFORE INSERT ON `travel` FOR EACH ROW -BEGIN - -- Evita fechas absurdas - - IF NEW.landing < TIMESTAMPADD(YEAR, -10, CURDATE()) - OR NEW.shipment < TIMESTAMPADD(YEAR, -10, CURDATE()) - OR NEW.landing < NEW.shipment - THEN - SET NEW.landing = 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 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 `travelBeforeUpdate` - BEFORE UPDATE ON `travel` FOR EACH ROW -BEGIN - DECLARE trabajador INT; - - -- Volem permetre dates iguals de eixida i arribada per al magatzems filiats en warehouse_tree - - IF NEW.landing < NEW.shipment THEN - SET NEW.shipment = NEW.landing; - END IF; - - -- Evita fechas absurdas - - IF NEW.landing < TIMESTAMPADD(YEAR,-10, CURDATE()) - OR NEW.shipment < TIMESTAMPADD(YEAR,-10,CURDATE()) - THEN - SET NEW.landing = NULL; - END IF; - - -- Ditacio para averiguar cuando se marca como delivered = true los travels, pues aparecen por la mañana sin explicacion - - IF ABS(NEW.delivered) > ABS(OLD.delivered) - THEN - SELECT Id_Trabajador into trabajador from Trabajadores where user_id = account.userGetId(); - - INSERT INTO travel_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - VALUES (89/*Cambia delivered*/,IFNULL(trabajador,20),NEW.id,OLD.delivered,CONCAT(NEW.delivered,' desde ' ,user())); - 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 `vn2008`.`travelAfterUpdate` - AFTER UPDATE ON `travel` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('travel', NEW.id, OLD.id); - - IF NEW.shipment != OLD.shipment THEN - - UPDATE Entradas - SET comision = getComision(Id_Entrada, Id_Moneda) - WHERE travel_id = NEW.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 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 `vn2008`.`travelAfterDelete` - AFTER DELETE ON `travel` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('travel', NULL, OLD.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 */ ; - --- --- Table structure for table `travel_dits` --- - -DROP TABLE IF EXISTS `travel_dits`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travel_dits` ( - `idtravel_dits` int(11) NOT NULL AUTO_INCREMENT, - `idaccion_dits` int(11) NOT NULL, - `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Ticket` int(11) NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`idtravel_dits`), - KEY `fgkey1_idx` (`idaccion_dits`), - KEY `fgkey2_idx` (`Id_Ticket`), - KEY `fgkey3_idx` (`Id_Trabajador`), - CONSTRAINT `travel_dits_ibfk_1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=150286 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `travel_pattern` --- - -DROP TABLE IF EXISTS `travel_pattern`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travel_pattern` ( - `travel_pattern_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `week_start` tinyint(3) unsigned NOT NULL, - `week_end` tinyint(3) unsigned NOT NULL, - `warehouse_out` smallint(5) unsigned NOT NULL, - `warehouse_in` smallint(5) unsigned NOT NULL, - `agency_id` int(11) NOT NULL, - `day_out` tinyint(3) unsigned NOT NULL, - `duration` tinyint(3) unsigned NOT NULL, - `ref` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`travel_pattern_id`), - KEY `warehouse_out` (`warehouse_out`), - KEY `warehouse_in` (`warehouse_in`), - KEY `agency_id` (`agency_id`), - CONSTRAINT `travel_pattern_ibfk_3` FOREIGN KEY (`warehouse_out`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `travel_pattern_ibfk_4` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, - CONSTRAINT `travel_pattern_ibfk_5` FOREIGN KEY (`warehouse_in`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=318 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `travel_reserve` --- - -DROP TABLE IF EXISTS `travel_reserve`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travel_reserve` ( - `travel_reserve_id` int(11) NOT NULL AUTO_INCREMENT, - `travel_id` int(11) unsigned NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `reserved` decimal(4,1) DEFAULT NULL, - `buyed` decimal(4,1) DEFAULT NULL, - `askingfor` decimal(4,1) DEFAULT NULL, - `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `labeled` decimal(4,1) unsigned NOT NULL DEFAULT '0.0', - PRIMARY KEY (`Id_Trabajador`,`travel_id`), - UNIQUE KEY `travel_reserve_id_UNIQUE` (`travel_reserve_id`), - KEY `travel_travel_reserve_idx` (`travel_id`), - KEY `traveL_buyer_id_idx` (`Id_Trabajador`), - CONSTRAINT `travel_reserve_ibfk_1` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla almacenamos los m3 que cada comprador tiene asignados, por travel.'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `travel_thermograph` --- - -DROP TABLE IF EXISTS `travel_thermograph`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travel_thermograph` ( - `thermograph_id` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `odbc_date` date NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - `travel_id` int(10) unsigned DEFAULT NULL, - `temperature` enum('COOL','WARM') COLLATE utf8_unicode_ci NOT NULL, - `result` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `gestdoc_id` int(11) DEFAULT NULL, - PRIMARY KEY (`thermograph_id`,`odbc_date`), - KEY `thermograph_fk_idx` (`thermograph_id`), - KEY `gestdoc_fk_idx` (`gestdoc_id`), - KEY `travel_id` (`travel_id`), - KEY `warehouse_id` (`warehouse_id`), - CONSTRAINT `gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON UPDATE CASCADE, - CONSTRAINT `thermograph_fk` FOREIGN KEY (`thermograph_id`) REFERENCES `thermograph` (`thermograph_id`) ON UPDATE CASCADE, - CONSTRAINT `travel_fk` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`), - CONSTRAINT `travel_thermograph_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registra cada termografo que se ha introducido en cada travel'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `trolley` --- - -DROP TABLE IF EXISTS `trolley`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `trolley` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `ref` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `turn` --- - -DROP TABLE IF EXISTS `turn`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `turn` ( - `number` int(11) NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`number`,`odbc_date`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `unary` --- - -DROP TABLE IF EXISTS `unary`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `parent` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `idunary_UNIQUE` (`id`), - KEY `unary_parent_idx` (`parent`), - CONSTRAINT `unary_parent` FOREIGN KEY (`parent`) REFERENCES `unary` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=883 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `unaryScanFilter` --- - -DROP TABLE IF EXISTS `unaryScanFilter`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unaryScanFilter` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `filter` text COLLATE utf8_unicode_ci 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 `unary_scan` --- - -DROP TABLE IF EXISTS `unary_scan`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary_scan` ( - `unary_id` int(11) NOT NULL, - `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `type` set('BUYS','EXPEDITIONS') COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`unary_id`), - KEY `scan_unary_idx` (`unary_id`), - CONSTRAINT `unary_scan` FOREIGN KEY (`unary_id`) REFERENCES `unary` (`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 `unary_scan_line` --- - -DROP TABLE IF EXISTS `unary_scan_line`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary_scan_line` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `unary_id` int(11) NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `id_UNIQUE` (`id`), - KEY `unary_line_idx` (`unary_id`), - CONSTRAINT `unary_line` FOREIGN KEY (`unary_id`) REFERENCES `unary_scan` (`unary_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8462 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `unary_scan_line_buy` --- - -DROP TABLE IF EXISTS `unary_scan_line_buy`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary_scan_line_buy` ( - `scan_line_id` int(11) NOT NULL, - `Id_Article` int(11) NOT NULL, - PRIMARY KEY (`scan_line_id`), - UNIQUE KEY `scan_line_id_UNIQUE` (`scan_line_id`), - KEY `Id_Article_buy_idx` (`Id_Article`), - CONSTRAINT `Id_Article_buy` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `scan_line_id_patriarcal` FOREIGN KEY (`scan_line_id`) REFERENCES `unary_scan_line` (`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 `unary_scan_line_expedition` --- - -DROP TABLE IF EXISTS `unary_scan_line_expedition`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary_scan_line_expedition` ( - `scan_line_id` int(11) NOT NULL, - `expedition_id` int(11) NOT NULL, - PRIMARY KEY (`scan_line_id`), - UNIQUE KEY `scan_line_id_UNIQUE` (`scan_line_id`), - KEY `expedition_id_scan_idx` (`expedition_id`), - CONSTRAINT `expedition_id_scan` FOREIGN KEY (`expedition_id`) REFERENCES `expeditions` (`expeditions_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 `unary_source` --- - -DROP TABLE IF EXISTS `unary_source`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `unary_source` ( - `name` varchar(100) 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 */; - --- --- Temporary view structure for view `v_Agenda` --- - -DROP TABLE IF EXISTS `v_Agenda`; -/*!50001 DROP VIEW IF EXISTS `v_Agenda`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_Agenda` AS SELECT - 1 AS `Tipo`, - 1 AS `Id`, - 1 AS `Nombre`, - 1 AS `Telephone`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_Agenda2` --- - -DROP TABLE IF EXISTS `v_Agenda2`; -/*!50001 DROP VIEW IF EXISTS `v_Agenda2`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_Agenda2` AS SELECT - 1 AS `Tipo`, - 1 AS `Id`, - 1 AS `Nombre`, - 1 AS `Telefono`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_Articles_botanical` --- - -DROP TABLE IF EXISTS `v_Articles_botanical`; -/*!50001 DROP VIEW IF EXISTS `v_Articles_botanical`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_Articles_botanical` AS SELECT - 1 AS `Id_Article`, - 1 AS `edi_botanic`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_Movimientos_Volumen_shipping_charge` --- - -DROP TABLE IF EXISTS `v_Movimientos_Volumen_shipping_charge`; -/*!50001 DROP VIEW IF EXISTS `v_Movimientos_Volumen_shipping_charge`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_Movimientos_Volumen_shipping_charge` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `Id_Movimiento`, - 1 AS `Fecha`, - 1 AS `price`, - 1 AS `freight`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_Ordenes` --- - -DROP TABLE IF EXISTS `v_Ordenes`; -/*!50001 DROP VIEW IF EXISTS `v_Ordenes`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_Ordenes` AS SELECT - 1 AS `Id_ORDEN`, - 1 AS `ORDEN`, - 1 AS `datORDEN`, - 1 AS `datTICKET`, - 1 AS `CodVENDEDOR`, - 1 AS `CodCOMPRADOR`, - 1 AS `CANTIDAD`, - 1 AS `PRECIOMAX`, - 1 AS `PREU`, - 1 AS `Id_ARTICLE`, - 1 AS `Id_CLIENTE`, - 1 AS `COMENTARIO`, - 1 AS `OK`, - 1 AS `TOTAL`, - 1 AS `datCOMPRA`, - 1 AS `KO`, - 1 AS `Id_Movimiento`, - 1 AS `odbc_date`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_XDiario_ALL` --- - -DROP TABLE IF EXISTS `v_XDiario_ALL`; -/*!50001 DROP VIEW IF EXISTS `v_XDiario_ALL`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_XDiario_ALL` AS SELECT - 1 AS `empresa_id`, - 1 AS `SUBCTA`, - 1 AS `Eurodebe`, - 1 AS `Eurohaber`, - 1 AS `Fecha`, - 1 AS `FECHA_EX`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_accion` --- - -DROP TABLE IF EXISTS `v_accion`; -/*!50001 DROP VIEW IF EXISTS `v_accion`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_accion` AS SELECT - 1 AS `accion_id`, - 1 AS `accion`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_account` --- - -DROP TABLE IF EXISTS `v_account`; -/*!50001 DROP VIEW IF EXISTS `v_account`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_account` AS SELECT - 1 AS `user_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_analisis_ventas` --- - -DROP TABLE IF EXISTS `v_analisis_ventas`; -/*!50001 DROP VIEW IF EXISTS `v_analisis_ventas`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_analisis_ventas` AS SELECT - 1 AS `Familia`, - 1 AS `Reino`, - 1 AS `Comercial`, - 1 AS `Comprador`, - 1 AS `Provincia`, - 1 AS `almacen`, - 1 AS `Año`, - 1 AS `Mes`, - 1 AS `Semana`, - 1 AS `Vista`, - 1 AS `Importe`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_awb_volumen` --- - -DROP TABLE IF EXISTS `v_awb_volumen`; -/*!50001 DROP VIEW IF EXISTS `v_awb_volumen`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_awb_volumen` AS SELECT - 1 AS `awb_id`, - 1 AS `codigo`, - 1 AS `importe`, - 1 AS `Vol_Total`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_barcodes` --- - -DROP TABLE IF EXISTS `v_barcodes`; -/*!50001 DROP VIEW IF EXISTS `v_barcodes`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_barcodes` AS SELECT - 1 AS `code`, - 1 AS `Id_Article`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_barcodes_plus` --- - -DROP TABLE IF EXISTS `v_barcodes_plus`; -/*!50001 DROP VIEW IF EXISTS `v_barcodes_plus`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_barcodes_plus` AS SELECT - 1 AS `code`, - 1 AS `Id_Article`, - 1 AS `Article`, - 1 AS `Medida`, - 1 AS `Color`, - 1 AS `Categoria`, - 1 AS `Producer`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_botanic_export` --- - -DROP TABLE IF EXISTS `v_botanic_export`; -/*!50001 DROP VIEW IF EXISTS `v_botanic_export`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_botanic_export` AS SELECT - 1 AS `Nom_botanic`, - 1 AS `Id_Paises`, - 1 AS `restriction`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_compres` --- - -DROP TABLE IF EXISTS `v_compres`; -/*!50001 DROP VIEW IF EXISTS `v_compres`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_compres` AS SELECT - 1 AS `Familia`, - 1 AS `reino_id`, - 1 AS `Id_Compra`, - 1 AS `Id_Entrada`, - 1 AS `Id_Article`, - 1 AS `Cantidad`, - 1 AS `Costefijo`, - 1 AS `Portefijo`, - 1 AS `Novincular`, - 1 AS `Etiquetas`, - 1 AS `Packing`, - 1 AS `grouping`, - 1 AS `Comisionfija`, - 1 AS `Embalajefijo`, - 1 AS `Nicho`, - 1 AS `Id_Cubo`, - 1 AS `Tarifa1`, - 1 AS `Tarifa2`, - 1 AS `Tarifa3`, - 1 AS `PVP`, - 1 AS `Vida`, - 1 AS `Id_Trabajador`, - 1 AS `punteo`, - 1 AS `odbc_date`, - 1 AS `Inventario`, - 1 AS `Id_Proveedor`, - 1 AS `Fecha`, - 1 AS `Confirmada`, - 1 AS `Redada`, - 1 AS `empresa_id`, - 1 AS `travel_id`, - 1 AS `Pedida`, - 1 AS `recibida_id`, - 1 AS `id`, - 1 AS `shipment`, - 1 AS `landing`, - 1 AS `warehouse_id`, - 1 AS `warehouse_id_out`, - 1 AS `agency_id`, - 1 AS `ref`, - 1 AS `delivered`, - 1 AS `received`, - 1 AS `Article`, - 1 AS `Medida`, - 1 AS `Tallos`, - 1 AS `caja`, - 1 AS `Categoria`, - 1 AS `id_origen`, - 1 AS `Tipo`, - 1 AS `tipo_id`, - 1 AS `Color`, - 1 AS `Min`, - 1 AS `Coste`, - 1 AS `fuente`, - 1 AS `iva_group_id`, - 1 AS `cm3`, - 1 AS `producer_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_departure_limit` --- - -DROP TABLE IF EXISTS `v_departure_limit`; -/*!50001 DROP VIEW IF EXISTS `v_departure_limit`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_departure_limit` AS SELECT - 1 AS `warehouse_id`, - 1 AS `fecha`, - 1 AS `hora`, - 1 AS `minSpeed`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_descuadre_bionic` --- - -DROP TABLE IF EXISTS `v_descuadre_bionic`; -/*!50001 DROP VIEW IF EXISTS `v_descuadre_bionic`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_descuadre_bionic` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `Alias`, - 1 AS `Concepte`, - 1 AS `suma_componente`, - 1 AS `Preu`, - 1 AS `Descuento`, - 1 AS `diferencia`, - 1 AS `Fecha`, - 1 AS `benvenut`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_descuadre_porte` --- - -DROP TABLE IF EXISTS `v_descuadre_porte`; -/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_descuadre_porte` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `suma_componente`, - 1 AS `teorico_agencia`, - 1 AS `diferencia`, - 1 AS `Fecha`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_descuadre_porte2` --- - -DROP TABLE IF EXISTS `v_descuadre_porte2`; -/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte2`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_descuadre_porte2` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `suma_componente`, - 1 AS `Fecha`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_empresa` --- - -DROP TABLE IF EXISTS `v_empresa`; -/*!50001 DROP VIEW IF EXISTS `v_empresa`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_empresa` AS SELECT - 1 AS `logo`, - 1 AS `id`, - 1 AS `registro`, - 1 AS `gerente_id`, - 1 AS `alta`, - 1 AS `Nombre`, - 1 AS `Apellidos`, - 1 AS `Proveedor`, - 1 AS `Domicilio`, - 1 AS `CP`, - 1 AS `Localidad`, - 1 AS `NIF`, - 1 AS `Telefono`, - 1 AS `Alias`, - 1 AS `abbreviation`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_encajado` --- - -DROP TABLE IF EXISTS `v_encajado`; -/*!50001 DROP VIEW IF EXISTS `v_encajado`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_encajado` AS SELECT - 1 AS `hora`, - 1 AS `minuto`, - 1 AS `cm3`, - 1 AS `warehouse_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_encajado_ultima_hora` --- - -DROP TABLE IF EXISTS `v_encajado_ultima_hora`; -/*!50001 DROP VIEW IF EXISTS `v_encajado_ultima_hora`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_encajado_ultima_hora` AS SELECT - 1 AS `m3`, - 1 AS `warehouse_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_expeditions_shipping_charge` --- - -DROP TABLE IF EXISTS `v_expeditions_shipping_charge`; -/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_expeditions_shipping_charge` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `shipping_charge`, - 1 AS `Fecha`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_expeditions_shipping_charge2` --- - -DROP TABLE IF EXISTS `v_expeditions_shipping_charge2`; -/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge2`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_expeditions_shipping_charge2` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `shipping_charge`, - 1 AS `Fecha`, - 1 AS `warehouse_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_fallo` --- - -DROP TABLE IF EXISTS `v_fallo`; -/*!50001 DROP VIEW IF EXISTS `v_fallo`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_fallo` AS SELECT - 1 AS `queja_id`, - 1 AS `accion_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_inter` --- - -DROP TABLE IF EXISTS `v_inter`; -/*!50001 DROP VIEW IF EXISTS `v_inter`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_inter` AS SELECT - 1 AS `inter_id`, - 1 AS `state_id`, - 1 AS `nota`, - 1 AS `odbc_date`, - 1 AS `Id_Ticket`, - 1 AS `Id_Trabajador`, - 1 AS `Id_supervisor`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_jerarquia` --- - -DROP TABLE IF EXISTS `v_jerarquia`; -/*!50001 DROP VIEW IF EXISTS `v_jerarquia`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_jerarquia` AS SELECT - 1 AS `Id_Trabajador`, - 1 AS `boss_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_location` --- - -DROP TABLE IF EXISTS `v_location`; -/*!50001 DROP VIEW IF EXISTS `v_location`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_location` AS SELECT - 1 AS `longitude`, - 1 AS `latitude`, - 1 AS `Id_Consigna`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_mana_spellers` --- - -DROP TABLE IF EXISTS `v_mana_spellers`; -/*!50001 DROP VIEW IF EXISTS `v_mana_spellers`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_mana_spellers` AS SELECT - 1 AS `Id_Trabajador`, - 1 AS `size`, - 1 AS `used`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_miriam` --- - -DROP TABLE IF EXISTS `v_miriam`; -/*!50001 DROP VIEW IF EXISTS `v_miriam`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_miriam` AS SELECT - 1 AS `Id_Article`, - 1 AS `Concepte`, - 1 AS `Cantidad`, - 1 AS `Preu`, - 1 AS `Descuento`, - 1 AS `Fecha`, - 1 AS `Id_Cliente`, - 1 AS `Importe`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_movimientos_log` --- - -DROP TABLE IF EXISTS `v_movimientos_log`; -/*!50001 DROP VIEW IF EXISTS `v_movimientos_log`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_movimientos_log` AS SELECT - 1 AS `idmovimientos_log`, - 1 AS `Id_Movimiento`, - 1 AS `odbc_date`, - 1 AS `Id_Trabajador`, - 1 AS `field_name`, - 1 AS `new_value`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_movimientos_mark` --- - -DROP TABLE IF EXISTS `v_movimientos_mark`; -/*!50001 DROP VIEW IF EXISTS `v_movimientos_mark`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_movimientos_mark` AS SELECT - 1 AS `Id_Movimiento`, - 1 AS `Accion`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_pedidos_auto_preparados` --- - -DROP TABLE IF EXISTS `v_pedidos_auto_preparados`; -/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparados`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_pedidos_auto_preparados` AS SELECT - 1 AS `CodigoTrabajador`, - 1 AS `Id_Ticket`, - 1 AS `Momento`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_pedidos_auto_preparadoskk` --- - -DROP TABLE IF EXISTS `v_pedidos_auto_preparadoskk`; -/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparadoskk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_pedidos_auto_preparadoskk` AS SELECT - 1 AS `CodigoTrabajador`, - 1 AS `Fecha`, - 1 AS `Id_Ticket`, - 1 AS `Momento`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_phonebook` --- - -DROP TABLE IF EXISTS `v_phonebook`; -/*!50001 DROP VIEW IF EXISTS `v_phonebook`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_phonebook` AS SELECT - 1 AS `Id_Cliente`, - 1 AS `Telefono`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_price_fixed` --- - -DROP TABLE IF EXISTS `v_price_fixed`; -/*!50001 DROP VIEW IF EXISTS `v_price_fixed`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_price_fixed` AS SELECT - 1 AS `warehouse_id`, - 1 AS `item_id`, - 1 AS `rate_0`, - 1 AS `rate_1`, - 1 AS `rate_2`, - 1 AS `rate_3`, - 1 AS `date_start`, - 1 AS `date_end`, - 1 AS `bonus`, - 1 AS `grouping`, - 1 AS `Packing`, - 1 AS `caja`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_price_fixed_group` --- - -DROP TABLE IF EXISTS `v_price_fixed_group`; -/*!50001 DROP VIEW IF EXISTS `v_price_fixed_group`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_price_fixed_group` AS SELECT - 1 AS `warehouse_id`, - 1 AS `item_id`, - 1 AS `rate_0`, - 1 AS `rate_1`, - 1 AS `rate_2`, - 1 AS `rate_3`, - 1 AS `date_start`, - 1 AS `date_end`, - 1 AS `bonus`, - 1 AS `grouping`, - 1 AS `Packing`, - 1 AS `caja`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_session` --- - -DROP TABLE IF EXISTS `v_session`; -/*!50001 DROP VIEW IF EXISTS `v_session`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_session` AS SELECT - 1 AS `id`, - 1 AS `CodigoTrabajador`, - 1 AS `Id_Trabajador`, - 1 AS `Id_Cliente`, - 1 AS `Cliente`, - 1 AS `Fecha`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_ticket_amount` --- - -DROP TABLE IF EXISTS `v_ticket_amount`; -/*!50001 DROP VIEW IF EXISTS `v_ticket_amount`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_ticket_amount` AS SELECT - 1 AS `Id_Ticket`, - 1 AS `amount`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_trabajadores` --- - -DROP TABLE IF EXISTS `v_trabajadores`; -/*!50001 DROP VIEW IF EXISTS `v_trabajadores`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_trabajadores` AS SELECT - 1 AS `CodigoTrabajador`, - 1 AS `Nombre`, - 1 AS `Fecha_Inicio`, - 1 AS `Password`, - 1 AS `user`, - 1 AS `Apellidos`, - 1 AS `Id_Trabajador`, - 1 AS `Foto`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_user` --- - -DROP TABLE IF EXISTS `v_user`; -/*!50001 DROP VIEW IF EXISTS `v_user`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_user` AS SELECT - 1 AS `id`, - 1 AS `mysql_user_id`, - 1 AS `name`, - 1 AS `password`, - 1 AS `active`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_ventes` --- - -DROP TABLE IF EXISTS `v_ventes`; -/*!50001 DROP VIEW IF EXISTS `v_ventes`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_ventes` AS SELECT - 1 AS `Agencia`, - 1 AS `Categoria`, - 1 AS `tipo_id`, - 1 AS `Medida`, - 1 AS `Article`, - 1 AS `Color`, - 1 AS `Id_Cliente`, - 1 AS `Tipo`, - 1 AS `Factura`, - 1 AS `warehouse_id`, - 1 AS `Id_Movimiento`, - 1 AS `Id_Article`, - 1 AS `Familia`, - 1 AS `Id_Ticket`, - 1 AS `Concepte`, - 1 AS `Cantidad`, - 1 AS `quantity`, - 1 AS `Preu`, - 1 AS `Descuento`, - 1 AS `CostFixat`, - 1 AS `Reservado`, - 1 AS `OK`, - 1 AS `PrecioFijado`, - 1 AS `odbc_date`, - 1 AS `Fecha`, - 1 AS `FechaCompleta`, - 1 AS `Alias`, - 1 AS `Id_Consigna`, - 1 AS `Importe`, - 1 AS `Origen`, - 1 AS `reino_id`, - 1 AS `invoice`, - 1 AS `producer_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_venteskk` --- - -DROP TABLE IF EXISTS `v_venteskk`; -/*!50001 DROP VIEW IF EXISTS `v_venteskk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_venteskk` AS SELECT - 1 AS `Agencia`, - 1 AS `Categoria`, - 1 AS `tipo_id`, - 1 AS `Medida`, - 1 AS `Article`, - 1 AS `Color`, - 1 AS `Id_Cliente`, - 1 AS `Tipo`, - 1 AS `Factura`, - 1 AS `warehouse_id`, - 1 AS `Id_Movimiento`, - 1 AS `Id_Article`, - 1 AS `Familia`, - 1 AS `Id_Ticket`, - 1 AS `Concepte`, - 1 AS `Cantidad`, - 1 AS `quantity`, - 1 AS `Preu`, - 1 AS `Descuento`, - 1 AS `CostFixat`, - 1 AS `Reservado`, - 1 AS `OK`, - 1 AS `PrecioFijado`, - 1 AS `odbc_date`, - 1 AS `Fecha`, - 1 AS `FechaCompleta`, - 1 AS `Alias`, - 1 AS `Id_Consigna`, - 1 AS `Importe`, - 1 AS `Origen`, - 1 AS `reino_id`, - 1 AS `invoice`, - 1 AS `producer_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_warehouse` --- - -DROP TABLE IF EXISTS `v_warehouse`; -/*!50001 DROP VIEW IF EXISTS `v_warehouse`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_warehouse` AS SELECT - 1 AS `id`, - 1 AS `almacen`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_xsubclien` --- - -DROP TABLE IF EXISTS `v_xsubclien`; -/*!50001 DROP VIEW IF EXISTS `v_xsubclien`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_xsubclien` AS SELECT - 1 AS `Id_Cliente`, - 1 AS `empresa_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_xsubcuentas` --- - -DROP TABLE IF EXISTS `v_xsubcuentas`; -/*!50001 DROP VIEW IF EXISTS `v_xsubcuentas`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_xsubcuentas` AS SELECT - 1 AS `COD`, - 1 AS `TITULO`, - 1 AS `NIF`, - 1 AS `DOMICILIO`, - 1 AS `POBLACION`, - 1 AS `PROVINCIA`, - 1 AS `CODPOSTAL`, - 1 AS `country_code`, - 1 AS `empresa_id`, - 1 AS `EMAIL`, - 1 AS `IDNIF`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `v_xsubprov` --- - -DROP TABLE IF EXISTS `v_xsubprov`; -/*!50001 DROP VIEW IF EXISTS `v_xsubprov`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `v_xsubprov` AS SELECT - 1 AS `proveedor_id`, - 1 AS `empresa_id`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `versiones` --- - -DROP TABLE IF EXISTS `versiones`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `versiones` ( - `programa` varchar(11) COLLATE utf8_unicode_ci NOT NULL, - `version` int(11) NOT NULL, - `critical` tinyint(4) NOT NULL DEFAULT '0', - PRIMARY KEY (`programa`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `viaxpress` --- - -DROP TABLE IF EXISTS `viaxpress`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `viaxpress` ( - `codigo_postal` varchar(5) COLLATE utf8_unicode_ci NOT NULL, - `zona` tinyint(4) NOT NULL DEFAULT '2', - `m_t` tinyint(4) NOT NULL DEFAULT '0', - `POBLACION` varchar(25) COLLATE utf8_unicode_ci NOT NULL, - `PROVINCIA` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`codigo_postal`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `vnCreditClassification` --- - -DROP TABLE IF EXISTS `vnCreditClassification`; -/*!50001 DROP VIEW IF EXISTS `vnCreditClassification`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `vnCreditClassification` AS SELECT - 1 AS `id`, - 1 AS `client`, - 1 AS `dateStart`, - 1 AS `dateEnd`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `vnCreditInsurance` --- - -DROP TABLE IF EXISTS `vnCreditInsurance`; -/*!50001 DROP VIEW IF EXISTS `vnCreditInsurance`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `vnCreditInsurance` AS SELECT - 1 AS `id`, - 1 AS `creditClassification`, - 1 AS `credit`, - 1 AS `creationDate`, - 1 AS `grade`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `vnSolunionCAP` --- - -DROP TABLE IF EXISTS `vnSolunionCAP`; -/*!50001 DROP VIEW IF EXISTS `vnSolunionCAP`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `vnSolunionCAP` AS SELECT - 1 AS `creditInsurance`, - 1 AS `dateStart`, - 1 AS `dateEnd`, - 1 AS `dateLeaving`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `warehouse` --- - -DROP TABLE IF EXISTS `warehouse`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse` ( - `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `fuente` tinyint(1) unsigned NOT NULL DEFAULT '0', - `address_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `delay` double NOT NULL DEFAULT '0.004', - `reserve` tinyint(4) NOT NULL DEFAULT '0', - `tpv` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00', - `Id_Paises` mediumint(8) unsigned NOT NULL DEFAULT '1', - `zone_label` tinyint(4) NOT NULL DEFAULT '0', - `comisionantes` tinyint(4) NOT NULL DEFAULT '0', - `inventario` tinyint(2) NOT NULL DEFAULT '0', - `is_comparative` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Si esta a true,en la comparativa muestra el stock de este almacen, cuando no se especifica almacen.', - `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0', - `isManaged` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Se añaden los cubos de expedition a la tabla ticketPackaging', - `hasConfectionTeam` tinyint(1) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - UNIQUE KEY `name_UNIQUE` (`name`), - KEY `Id_Paises` (`Id_Paises`), - CONSTRAINT `warehouse_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `Paises` (`Id`) -) ENGINE=InnoDB AUTO_INCREMENT=56 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 = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_ai` AFTER INSERT ON `warehouse` FOR EACH ROW -begin - IF NEW.Fuente THEN - INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); - INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) - VALUES(NEW.id,LAST_INSERT_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 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 `warehouse_au` AFTER UPDATE ON `warehouse` FOR EACH ROW -begin - IF NEW.fuente IS TRUE and OLD.fuente IS FALSE then - INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); - INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) - VALUES(NEW.id,LAST_INSERT_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 */ ; - --- --- Table structure for table `warehouse_alias` --- - -DROP TABLE IF EXISTS `warehouse_alias`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_alias` ( - `warehouse_alias_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `alias` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`warehouse_alias_id`) -) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `warehouse_filtro` --- - -DROP TABLE IF EXISTS `warehouse_filtro`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_filtro` ( - `warehouse_id` smallint(6) unsigned NOT NULL, - `Id_Trabajador` int(11) NOT NULL, - `ok` tinyint(3) unsigned DEFAULT '1', - PRIMARY KEY (`Id_Trabajador`,`warehouse_id`), - KEY `wh_worker_idx` (`Id_Trabajador`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla que permite filtrar los almacenes que muestra la comparativa, recordando la selección personal del usuario'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `warehouse_group` --- - -DROP TABLE IF EXISTS `warehouse_group`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_group` ( - `warehouse_alias_id` smallint(5) unsigned NOT NULL DEFAULT '22', - `warehouse_id` smallint(5) unsigned NOT NULL, - PRIMARY KEY (`warehouse_alias_id`,`warehouse_id`), - KEY `warehosue_group_ware_idx` (`warehouse_id`), - CONSTRAINT `warehosue_group_ware` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_group_alias` FOREIGN KEY (`warehouse_alias_id`) REFERENCES `warehouse_alias` (`warehouse_alias_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Agrupa warehouses '; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `warehouse_joined` --- - -DROP TABLE IF EXISTS `warehouse_joined`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_joined` ( - `warehouse_id` smallint(5) unsigned NOT NULL, - `warehouse_alias_id` smallint(5) unsigned NOT NULL, - PRIMARY KEY (`warehouse_id`,`warehouse_alias_id`), - CONSTRAINT `warehouse_joined_ibfk_3` FOREIGN KEY (`warehouse_id`) REFERENCES `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 `warehouse_lc` --- - -DROP TABLE IF EXISTS `warehouse_lc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_lc` ( - `whin` smallint(6) unsigned NOT NULL, - `whout` smallint(6) unsigned NOT NULL, - `m3` double NOT NULL DEFAULT '15', - `days` int(11) NOT NULL DEFAULT '1', - PRIMARY KEY (`whin`,`whout`), - KEY `whout_wh_idx` (`whout`), - CONSTRAINT `whin_wh` FOREIGN KEY (`whin`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `whout_wh` FOREIGN KEY (`whout`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Warehouses cost for linking'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `warehouse_pickup` --- - -DROP TABLE IF EXISTS `warehouse_pickup`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_pickup` ( - `warehouse_id` smallint(5) unsigned NOT NULL, - `agency_id` int(11) DEFAULT NULL, - PRIMARY KEY (`warehouse_id`), - UNIQUE KEY `agency_id` (`agency_id`,`warehouse_id`), - CONSTRAINT `warehouse_pickup_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_pickup_ibfk_2` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `warehouse_tree_bidi` --- - -DROP TABLE IF EXISTS `warehouse_tree_bidi`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse_tree_bidi` ( - `father` tinyint(1) unsigned NOT NULL, - `son` tinyint(1) unsigned NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `wh_selection` --- - -DROP TABLE IF EXISTS `wh_selection`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `wh_selection` ( - `Id_Trabajador` int(11) NOT NULL, - `warehouse_id` smallint(6) unsigned NOT NULL, - PRIMARY KEY (`Id_Trabajador`,`warehouse_id`), - KEY `Trabajadores` (`Id_Trabajador`), - KEY `Warehouse` (`warehouse_id`), - CONSTRAINT `Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `Warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite que los usuarios seleccionen los almacenes que van a'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `widget` --- - -DROP TABLE IF EXISTS `widget`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `widget` ( - `widget_id` int(11) NOT NULL, - `chr` int(11) NOT NULL, - PRIMARY KEY (`widget_id`), - UNIQUE KEY `chr_UNIQUE` (`chr`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `wks` --- - -DROP TABLE IF EXISTS `wks`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `wks` ( - `wk` int(10) unsigned NOT NULL, - `yr` int(10) unsigned NOT NULL, - `vwk` int(10) unsigned NOT NULL, - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `comments` text COLLATE utf8_unicode_ci, - PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB AUTO_INCREMENT=626 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `workcenter_holiday` --- - -DROP TABLE IF EXISTS `workcenter_holiday`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workcenter_holiday` ( - `workcenter_id` int(11) NOT NULL, - `day` double NOT NULL, - `year` smallint(6) NOT NULL, - PRIMARY KEY (`workcenter_id`,`day`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `workerDocument` --- - -DROP TABLE IF EXISTS `workerDocument`; -/*!50001 DROP VIEW IF EXISTS `workerDocument`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `workerDocument` AS SELECT - 1 AS `id`, - 1 AS `worker`, - 1 AS `document`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `workerTeam` --- - -DROP TABLE IF EXISTS `workerTeam`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workerTeam` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `team` int(11) NOT NULL, - `user` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `user_team_idx` (`user`), - CONSTRAINT `user_team` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=118 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `workerTeamCollegues` --- - -DROP TABLE IF EXISTS `workerTeamCollegues`; -/*!50001 DROP VIEW IF EXISTS `workerTeamCollegues`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `workerTeamCollegues` AS SELECT - 1 AS `workerId`, - 1 AS `collegueId`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `workerTeam_kk` --- - -DROP TABLE IF EXISTS `workerTeam_kk`; -/*!50001 DROP VIEW IF EXISTS `workerTeam_kk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `workerTeam_kk` AS SELECT - 1 AS `team`, - 1 AS `user`, - 1 AS `id`, - 1 AS `Id_Trabajador`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `zeleris` --- - -DROP TABLE IF EXISTS `zeleris`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zeleris` ( - `codigo_postal` mediumint(8) unsigned NOT NULL, - `franja` tinyint(3) unsigned NOT NULL, - PRIMARY KEY (`codigo_postal`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `zoneNickname` --- - -DROP TABLE IF EXISTS `zoneNickname`; -/*!50001 DROP VIEW IF EXISTS `zoneNickname`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `zoneNickname` AS SELECT - 1 AS `warehouse_id`, - 1 AS `agency_id`, - 1 AS `zona`, - 1 AS `alias`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `zones` --- - -DROP TABLE IF EXISTS `zones`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zones` ( - `zone_id` tinyint(4) NOT NULL, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `printingOrder` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`zone_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Zonas de reparto'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping events for database 'vn2008' --- -/*!50106 SET @save_time_zone= @@TIME_ZONE */ ; -/*!50106 DROP EVENT IF EXISTS `cierre automatico` */; -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 = 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 `cierre automatico` ON SCHEDULE EVERY 1 DAY STARTS '2016-05-25 23:00:00' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Realiza el cierre de todos los Warehouse' DO INSERT INTO `vn2008`.`Colas` (`Id_Informe`,`Cola`) VALUES ('2',CURDATE()) */ ;; -/*!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 `closeTickets` */;; -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 = 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 `closeTickets` ON SCHEDULE EVERY 1 DAY STARTS '2017-06-23 07:20:00' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Vuelve a realizar el cierre del dia anterior por la mañana.' DO INSERT INTO `vn2008`.`Colas` (`Id_Informe`,`Cola`) VALUES ('2',DATE_ADD(CURDATE(), INTERVAL -1 DAY)) */ ;; -/*!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 `item_cache_cleaner` */;; -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 = 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 `item_cache_cleaner` ON SCHEDULE EVERY 30 SECOND STARTS '2014-06-30 13:38:27' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Cleans the item cache' DO CALL item_cache_cleaner () */ ;; -/*!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 `raidUpdate` */;; -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 `raidUpdate` ON SCHEDULE EVERY 1 DAY STARTS '2017-12-29 00:05:00' ON COMPLETION PRESERVE ENABLE DO CALL raidUpdate */ ;; -/*!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 'vn2008' --- -/*!50003 DROP FUNCTION IF EXISTS `articod` */; -/*!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 `articod`(intArt INT) RETURNS varchar(70) CHARSET utf8 COLLATE utf8_unicode_ci -BEGIN - DECLARE strArt VARCHAR(70); - SELECT CONCAT(Article,' ', Medida, ' ',Color) INTO strArt FROM Articles WHERE Id_Article = intArt; - - RETURN strArt; - -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 `asiento` */; -/*!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 `asiento`( - v_asiento INT - ,v_date DATE - ,v_subaccount VARCHAR(12) - ,v_account VARCHAR(12) - ,v_concept VARCHAR(25) - ,v_debit DOUBLE - ,v_credit DOUBLE - ,v_euro DOUBLE - ,v_serial CHAR(1) - ,v_invoice VARCHAR(8) - ,v_vat DOUBLE - ,v_re DOUBLE - ,v_aux TINYINT - ,v_company INT -) RETURNS int(11) -BEGIN - IF v_asiento IS NULL - THEN - SELECT MAX(ASIEN) + 1 INTO v_asiento FROM XDiario FOR UPDATE; - END IF; - - INSERT INTO XDiario - SET - ASIEN = v_asiento - ,FECHA = v_date - ,SUBCTA = v_subaccount - ,CONTRA = v_account - ,CONCEPTO = v_concept - ,EURODEBE = v_debit - ,EUROHABER = v_credit - ,BASEEURO = v_euro - ,SERIE = v_serial - ,FACTURA = v_invoice - ,IVA = v_vat - ,RECEQUIV = v_re - ,AUXILIAR = IF(v_aux = FALSE, NULL, '*') - ,MONEDAUSO = 2 - ,empresa_id = v_company; - - RETURN v_asiento; -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 `Averiguar_ComercialCliente` */; -/*!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 `Averiguar_ComercialCliente`(v_customer INT, v_date DATE) RETURNS varchar(3) CHARSET utf8 - DETERMINISTIC -BEGIN -/** - * Dado un id cliente y una fecha, devuelve su comercial. - * Para más información ir a Averiguar_ComercialCliente_Id() - * - * @param v_customer El id del cliente - * @param v_date Fecha a comprobar - * @return El código del comercial para la fecha dada - **/ - DECLARE v_employee CHAR(3); - DECLARE v_salesperson INT; - - SET v_salesperson = Averiguar_ComercialCliente_Id(v_customer, v_date); - - SELECT CodigoTrabajador - INTO v_employee - FROM Trabajadores - WHERE Id_Trabajador = v_salesperson; - - RETURN IFNULL(v_employee, '---'); -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 `Averiguar_ComercialCliente_Id` */; -/*!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 `Averiguar_ComercialCliente_Id`(v_customer INT, v_date DATE) RETURNS int(11) - DETERMINISTIC -BEGIN -/** - * Dado un id cliente y una fecha, devuelve su comercial para ese dia, teniendo - * en cuenta la jerarquía de las tablas: 1º la de sharingclient, 2º la de - * sharingcart y tercero la de clientes. - * - * @param v_customer El id del cliente - * @param v_date Fecha a comprobar - * @return El id del comercial para la fecha dada - **/ - DECLARE v_salesperson INT DEFAULT NULL; - DECLARE v_substitute INT DEFAULT NULL; - DECLARE v_loop BOOLEAN; - - -- Obtiene el comercial original y el de sharingclient - - SELECT c.Id_Trabajador, s.Id_Trabajador - INTO v_salesperson, v_substitute - FROM Clientes c - LEFT JOIN sharingclient s - ON c.Id_Cliente = s.Id_Cliente - AND v_date BETWEEN s.datSTART AND s.datEND - WHERE c.Id_Cliente = v_customer - ORDER BY s.id - LIMIT 1; - - -- Si no hay ninguno en sharingclient busca en sharingcart - - IF v_substitute IS NOT NULL - THEN - SET v_salesperson = v_substitute; - ELSEIF v_salesperson IS NOT NULL - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.stack; - CREATE TEMPORARY TABLE tmp.stack - (INDEX (substitute)) - ENGINE = MEMORY - SELECT v_salesperson substitute; - - l: LOOP - SELECT Id_Suplente INTO v_substitute - FROM sharingcart - WHERE v_date BETWEEN datSTART AND datEND - AND Id_Trabajador = v_salesperson - ORDER BY id - LIMIT 1; - - IF v_substitute IS NULL THEN - LEAVE l; - END IF; - - SELECT COUNT(*) > 0 INTO v_loop - FROM tmp.stack WHERE substitute = v_substitute; - - IF v_loop THEN - LEAVE l; - END IF; - - INSERT INTO tmp.stack SET - substitute = v_substitute; - - SET v_salesperson = v_substitute; - END LOOP; - - DROP TEMPORARY TABLE tmp.stack; - END IF; - - RETURN v_salesperson; -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 `Averiguar_ComercialCliente_IdTicket` */; -/*!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 `Averiguar_ComercialCliente_IdTicket`(v_ticket INT) RETURNS varchar(3) CHARSET utf8 - DETERMINISTIC -BEGIN -/** - * Dado un id ticket, devuelve su comercial. - * Para más información ir a Averiguar_ComercialCliente_Id() - * - * @param v_customer El id del cliente - * @param v_date Fecha a comprobar - * @return El código del comercial para la fecha dada - **/ - DECLARE v_customer INT; - DECLARE v_date DATE; - - SELECT id_cliente, fecha - INTO v_customer, v_date - FROM Tickets WHERE id_ticket = v_ticket; - - RETURN Averiguar_ComercialCliente(v_customer, v_date); -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 `Averiguar_ComercialCliente_IdTicket_Id` */; -/*!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 `Averiguar_ComercialCliente_IdTicket_Id`(v_ticket INT) RETURNS int(11) - DETERMINISTIC -BEGIN -/** - * Dado un id ticket, devuelve su comercial. - * Para más información ir a Averiguar_ComercialCliente_Id() - * - * @param v_customer El id del cliente - * @param v_date Fecha a comprobar - * @return El id del comercial para la fecha dada - **/ - DECLARE v_customer INT; - DECLARE v_date DATE; - - SELECT id_cliente, fecha - INTO v_customer, v_date - FROM Tickets WHERE id_ticket = v_ticket; - - RETURN Averiguar_ComercialCliente_Id(v_customer, v_date); -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 `Averiguar_Comprador` */; -/*!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 `Averiguar_Comprador`(idARTICLE INT) RETURNS varchar(3) CHARSET utf8 -BEGIN - --- Devuelve la abreviatura del comprador del articulo - -DECLARE buyer VARCHAR(3); - -SELECT CodigoTrabajador INTO buyer -FROM Trabajadores t -JOIN Tipos tp on tp.Id_Trabajador = t.Id_Trabajador -JOIN Articles a on a.tipo_id = tp.tipo_id -WHERE Id_Article = idARTICLE; - - -RETURN buyer; -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 `base_ticket` */; -/*!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 `base_ticket`(Id_Ticket INT) RETURNS double -BEGIN - - DECLARE base DOUBLE; - SELECT - red(SUM(Cantidad * Preu * (100 - Descuento) / 100)) into base - FROm - Movimientos m - INNER JOIN Tickets t USING (Id_Ticket) - WHERE t.Id_Ticket = Id_Ticket; - -RETURN base; -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 `bionicCalcReverse` */; -/*!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 `bionicCalcReverse`(vWarehouse INT, - vMargin DECIMAL(10,3), - vRetailedPrice DECIMAL(10,3), - vM3 DECIMAL(10,3), - vConsigna INT, - vAgencia INT) RETURNS decimal(10,3) -BEGIN - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - DECLARE vCost DECIMAL(10,4) DEFAULT 0; - DECLARE vCustomer INT; - DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; - DECLARE vMana DECIMAL(10,4) DEFAULT 0; - DECLARE vPort DECIMAL(10,4) DEFAULT 0; - - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; - - -- Recobro - SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery - FROM bi.claims_ratio - WHERE Id_Cliente = vCustomer AND recobro > 0.009; - - -- Componente de maná automático, en función del maná acumulado por el comercial. - SELECT ROUND(prices_modifier_rate, 3) INTO vMana - FROM Clientes c - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; - - -- Reparto - SELECT COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - vM3 - * az.price - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) INTO vPort - FROM vn2008.Agencias a - JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; - - -- Modificacion de precio por dia de preparacion del pedido - -- No aplicada - - SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; - - RETURN vCost; -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 `botanic_export_is_updatable` */; -/*!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 `botanic_export_is_updatable`(v_edi_genus_id MEDIUMINT,v_edi_specie_id MEDIUMINT,v_id_Paises MEDIUMINT,v_restriction MEDIUMINT) RETURNS int(11) + RETURN UNIX_TIMESTAMP(vDate) DIV 86400; +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 `userCheckLogin` */; +/*!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 `userCheckLogin`() RETURNS tinyint(1) + READS SQL DATA + DETERMINISTIC +BEGIN +/** + * Checks that variables @userId and @userName haven't been altered. + * + * @return %TRUE if they are unaltered or unset, otherwise %FALSE + */ + DECLARE vSignature VARCHAR(128); + DECLARE vKey VARCHAR(255); + + IF @userId IS NOT NULL + AND @userName IS NOT NULL + AND @userSignature IS NOT NULL + THEN + SELECT loginKey INTO vKey FROM userConfig; + SET vSignature = util.hmacSha2(256, CONCAT_WS('/', @userId, @userName), vKey); + RETURN vSignature = @userSignature; + END IF; + + RETURN FALSE; +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 `userGetId` */; +/*!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 `USERGETID`() RETURNS int(11) + READS SQL DATA + DETERMINISTIC +BEGIN +/** + * Returns the current user id. + * + * @return The user id + */ + DECLARE vUser INT DEFAULT NULL; + + IF userCheckLogin() + THEN + SET vUser = @userId; + ELSE + SELECT id INTO vUser FROM user + WHERE name = LEFT(USER(), INSTR(USER(), '@') - 1); + END IF; + + RETURN vUser; +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 `userGetMysqlRole` */; +/*!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 `userGetMysqlRole`(vUserName VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 +BEGIN +/** + * A partir de un nombre de usuario devuelve el rol + * de MySQL asociado y con el que deberia autenticarse + * cuando se utilice sistemas de autenticación externos. + * + * @param vUserName El nombre de usuario + * @return El rol de MySQL asociado + */ + DECLARE vRole VARCHAR(255); + + SELECT CONCAT(IF(r.hasLogin, 'z-', ''), r.name) INTO vRole + FROM role r + JOIN user u ON u.role = r.id + WHERE u.name = vUserName; + + RETURN 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 FUNCTION IF EXISTS `userGetName` */; +/*!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 `userGetName`() RETURNS varchar(30) CHARSET utf8 + NO SQL + DETERMINISTIC +BEGIN +/** + * Returns the current user name. + * + * @return The user name + */ + DECLARE vUser VARCHAR(30) DEFAULT NULL; + + IF userCheckLogin() + THEN + SET vUser = @userName; + ELSE + SET vUser = LEFT(USER(), INSTR(USER(), '@') - 1); + END IF; + + RETURN vUser; +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 `userGetNameFromId` */; +/*!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 `userGetNameFromId`(vId INT) RETURNS varchar(30) CHARSET utf8 +BEGIN +/** + * Obtener nombre de usuari a partir de su id + * + * @param vId Id del usuario + * @return Nombre de usuario + */ + DECLARE vName VARCHAR(30); + + SELECT `name` INTO vName + FROM user + WHERE id = vId; + + RETURN vName; +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 `userHasRole` */; +/*!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 `userHasRole`(vRoleName VARCHAR(255)) RETURNS tinyint(1) + DETERMINISTIC +BEGIN +/** + * Comprueba si el usuario actual tiene asociado un rol. + * + * @param vRoleName Nombre del rol a comprobar + * @return %TRUE si tiene el rol, %FALSE en caso contrario + */ + DECLARE vRoleId INT; + + SELECT id INTO vRoleId + FROM role + WHERE `name` = vRoleName COLLATE 'utf8_unicode_ci'; + + RETURN userHasRoleId (vRoleId); +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 `userHasRoleId` */; +/*!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 `userHasRoleId`(vRoleId INT) RETURNS tinyint(1) + DETERMINISTIC +BEGIN +/** + * Comprueba si el usuario actual tiene asociado un rol. + * + * @param vRoleId Identificador del rol a comprobar + * @return %TRUE si tiene el rol, %FALSE en caso contrario + */ + DECLARE vHasRole BOOL DEFAULT FALSE; + + SELECT COUNT(*) > 0 INTO vHasRole + FROM userRole + WHERE id = vRoleId; + + RETURN vHasRole; +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 `privSync` */; +/*!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 `privSync`() +proc: BEGIN +/** + * Sincroniza los permisos de los usuarios 'rol' de MySQL + * en base a la jerarquía de roles. Los usuarios rol resultantes + * de la mezcla de permisos serán nombrados singuiendo el patrón + * z-[nombre_rol]. + * + * Para que el procedimiento funcione debe de existir un usuario + * any@% que se usara como plantilla base. + * + * ¡Atención! Este procedimiento solo debe ser llamado cuando se + * modifiquen los privilegios de MySQL. Si se modifica la jerarquía + * de roles, se debe llamar al procedimiento roleSync() que llama a + * este internamente. + */ + DECLARE vTplUser VARCHAR(255) DEFAULT 'any'; + DECLARE vHost VARCHAR(255) DEFAULT '%'; + DECLARE vPrefix VARCHAR(2) DEFAULT 'z-'; + + DECLARE vTplExists BOOL; + DECLARE vTplHost VARCHAR(255); + DECLARE vPrefixedLike VARCHAR(255); + + -- Comprueba que el usuario plantilla existe + + SELECT COUNT(*) > 0, `Host` + INTO vTplExists, vTplHost + FROM mysql.user + WHERE `User` = vTplUser + LIMIT 1; + + IF NOT vTplExists THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'TEMPLATE_USER_NOT_EXISTS'; + END IF; + + -- Borra todos los privilegios calculados + + SET vPrefixedLike = CONCAT(vPrefix, '%'); + + DELETE FROM mysql.user + WHERE `User` LIKE vPrefixedLike; + + DELETE FROM mysql.db + WHERE `User` LIKE vPrefixedLike; + + DELETE FROM mysql.tables_priv + WHERE `User` LIKE vPrefixedLike; + + DELETE FROM mysql.columns_priv + WHERE `User` LIKE vPrefixedLike; + + DELETE FROM mysql.procs_priv + WHERE `User` LIKE vPrefixedLike; + + DELETE FROM mysql.proxies_priv + WHERE `Proxied_user` LIKE vPrefixedLike; + + -- Tablas temporales + + DROP TEMPORARY TABLE IF EXISTS tRole; + CREATE TEMPORARY TABLE tRole + ENGINE = MEMORY + SELECT + `name` role, + CONCAT(vPrefix, `name`) prefixedRole + FROM role + WHERE hasLogin; + + DROP TEMPORARY TABLE IF EXISTS tRoleInherit; + CREATE TEMPORARY TABLE tRoleInherit + (INDEX (inheritsFrom)) + ENGINE = MEMORY + SELECT + CONCAT(vPrefix, r.`name`) prefixedRole, + ri.`name` inheritsFrom + FROM role r + JOIN roleRole rr ON rr.role = r.id + JOIN role ri ON ri.id = rr.inheritsFrom; + + -- Vueve a crear el usuario + + INSERT INTO mysql.user ( + `User`, + `Host`, + `Password`, + `ssl_type`, + `ssl_cipher`, + `x509_issuer`, + `x509_subject`, + `max_questions`, + `max_updates`, + `max_connections`, + `max_user_connections` + ) + SELECT + r.prefixedRole, + vTplHost, + IF('' != u.`Password`, + u.`Password`, t.`Password`), + IF('' != u.`ssl_type`, + u.`ssl_type`, t.`ssl_type`), + IF('' != u.`ssl_cipher`, + u.`ssl_cipher`, t.`ssl_cipher`), + IF('' != u.`x509_issuer`, + u.`x509_issuer`, t.`x509_issuer`), + IF('' != u.`x509_subject`, + u.`x509_subject`, t.`x509_subject`), + IF(0 != u.`max_questions`, + u.`max_questions`, t.`max_questions`), + IF(0 != u.`max_updates`, + u.`max_updates`, t.`max_updates`), + IF(0 != u.`max_connections`, + u.`max_connections`, t.`max_connections`), + IF(0 != u.`max_user_connections`, + u.`max_user_connections`, t.`max_user_connections`) + FROM tRole r + JOIN mysql.user t + ON t.`User` = vTplUser + AND t.`Host` = vTplHost + LEFT JOIN mysql.user u + ON u.`User` = r.role + AND u.`Host` = vHost; + + INSERT INTO mysql.proxies_priv ( + `User`, + `Host`, + `Proxied_user`, + `Proxied_host`, + `Grantor` + ) + SELECT + '', + vHost, + prefixedRole, + vHost, + CONCAT(prefixedRole, '@', vTplHost) + FROM tRole; + + -- Copia los privilegios globales del usuario + + DROP TEMPORARY TABLE IF EXISTS tUserPriv; + CREATE TEMPORARY TABLE tUserPriv + (INDEX (prefixedRole)) + ENGINE = MEMORY + SELECT + r.prefixedRole, + MAX(u.`Select_priv`) `Select_priv`, + MAX(u.`Insert_priv`) `Insert_priv`, + MAX(u.`Update_priv`) `Update_priv`, + MAX(u.`Delete_priv`) `Delete_priv`, + MAX(u.`Create_priv`) `Create_priv`, + MAX(u.`Drop_priv`) `Drop_priv`, + MAX(u.`Reload_priv`) `Reload_priv`, + MAX(u.`Shutdown_priv`) `Shutdown_priv`, + MAX(u.`Process_priv`) `Process_priv`, + MAX(u.`File_priv`) `File_priv`, + MAX(u.`Grant_priv`) `Grant_priv`, + MAX(u.`References_priv`) `References_priv`, + MAX(u.`Index_priv`) `Index_priv`, + MAX(u.`Alter_priv`) `Alter_priv`, + MAX(u.`Show_db_priv`) `Show_db_priv`, + MAX(u.`Super_priv`) `Super_priv`, + MAX(u.`Create_tmp_table_priv`) `Create_tmp_table_priv`, + MAX(u.`Lock_tables_priv`) `Lock_tables_priv`, + MAX(u.`Execute_priv`) `Execute_priv`, + MAX(u.`Repl_slave_priv`) `Repl_slave_priv`, + MAX(u.`Repl_client_priv`) `Repl_client_priv`, + MAX(u.`Create_view_priv`) `Create_view_priv`, + MAX(u.`Show_view_priv`) `Show_view_priv`, + MAX(u.`Create_routine_priv`) `Create_routine_priv`, + MAX(u.`Alter_routine_priv`) `Alter_routine_priv`, + MAX(u.`Create_user_priv`) `Create_user_priv`, + MAX(u.`Event_priv`) `Event_priv`, + MAX(u.`Trigger_priv`) `Trigger_priv`, + MAX(u.`Create_tablespace_priv`) `Create_tablespace_priv` + FROM tRoleInherit r + JOIN mysql.user u + ON u.`User` = r.inheritsFrom + AND u.`Host`= vHost + GROUP BY r.prefixedRole; + + UPDATE mysql.user u + JOIN tUserPriv t + ON u.`User` = t.prefixedRole + AND u.`Host` = vHost + SET + u.`Select_priv` + = t.`Select_priv`, + u.`Insert_priv` + = t.`Insert_priv`, + u.`Update_priv` + = t.`Update_priv`, + u.`Delete_priv` + = t.`Delete_priv`, + u.`Create_priv` + = t.`Create_priv`, + u.`Drop_priv` + = t.`Drop_priv`, + u.`Reload_priv` + = t.`Reload_priv`, + u.`Shutdown_priv` + = t.`Shutdown_priv`, + u.`Process_priv` + = t.`Process_priv`, + u.`File_priv` + = t.`File_priv`, + u.`Grant_priv` + = t.`Grant_priv`, + u.`References_priv` + = t.`References_priv`, + u.`Index_priv` + = t.`Index_priv`, + u.`Alter_priv` + = t.`Alter_priv`, + u.`Show_db_priv` + = t.`Show_db_priv`, + u.`Super_priv` + = t.`Super_priv`, + u.`Create_tmp_table_priv` + = t.`Create_tmp_table_priv`, + u.`Lock_tables_priv` + = t.`Lock_tables_priv`, + u.`Execute_priv` + = t.`Execute_priv`, + u.`Repl_slave_priv` + = t.`Repl_slave_priv`, + u.`Repl_client_priv` + = t.`Repl_client_priv`, + u.`Create_view_priv` + = t.`Create_view_priv`, + u.`Show_view_priv` + = t.`Show_view_priv`, + u.`Create_routine_priv` + = t.`Create_routine_priv`, + u.`Alter_routine_priv` + = t.`Alter_routine_priv`, + u.`Create_user_priv` + = t.`Create_user_priv`, + u.`Event_priv` + = t.`Event_priv`, + u.`Trigger_priv` + = t.`Trigger_priv`, + u.`Create_tablespace_priv` + = t.`Create_tablespace_priv`; + + DROP TEMPORARY TABLE tUserPriv; + + -- Copia los privilegios a nivel de esquema + + INSERT INTO mysql.db ( + `User`, + `Host`, + `Db`, + `Select_priv`, + `Insert_priv`, + `Update_priv`, + `Delete_priv`, + `Create_priv`, + `Drop_priv`, + `Grant_priv`, + `References_priv`, + `Index_priv`, + `Alter_priv`, + `Create_tmp_table_priv`, + `Lock_tables_priv`, + `Create_view_priv`, + `Show_view_priv`, + `Create_routine_priv`, + `Alter_routine_priv`, + `Execute_priv`, + `Event_priv`, + `Trigger_priv` + ) + SELECT + r.prefixedRole, + vTplHost, + t.`Db`, + MAX(t.`Select_priv`), + MAX(t.`Insert_priv`), + MAX(t.`Update_priv`), + MAX(t.`Delete_priv`), + MAX(t.`Create_priv`), + MAX(t.`Drop_priv`), + MAX(t.`Grant_priv`), + MAX(t.`References_priv`), + MAX(t.`Index_priv`), + MAX(t.`Alter_priv`), + MAX(t.`Create_tmp_table_priv`), + MAX(t.`Lock_tables_priv`), + MAX(t.`Create_view_priv`), + MAX(t.`Show_view_priv`), + MAX(t.`Create_routine_priv`), + MAX(t.`Alter_routine_priv`), + MAX(t.`Execute_priv`), + MAX(t.`Event_priv`), + MAX(t.`Trigger_priv`) + FROM tRoleInherit r + JOIN mysql.db t + ON t.`User` = r.inheritsFrom + AND t.`Host`= vHost + GROUP BY r.prefixedRole, t.`Db`; + + -- Copia los privilegios a nivel de tabla + + INSERT INTO mysql.tables_priv ( + `User`, + `Host`, + `Db`, + `Table_name`, + `Grantor`, + `Timestamp`, + `Table_priv`, + `Column_priv` + ) + SELECT + r.prefixedRole, + vTplHost, + t.`Db`, + t.`Table_name`, + t.`Grantor`, + MAX(t.`Timestamp`), + GROUP_CONCAT(CONCAT(t.`Table_priv`, ',')), + GROUP_CONCAT(CONCAT(t.`Column_priv`, ',')) + FROM tRoleInherit r + JOIN mysql.tables_priv t + ON t.`User` = r.inheritsFrom + AND t.`Host`= vHost + GROUP BY r.prefixedRole, t.`Db`, t.`Table_name`; + + -- Copia los privilegios a nivel de columna + + INSERT INTO mysql.columns_priv ( + `User`, + `Host`, + `Db`, + `Table_name`, + `Column_name`, + `Timestamp`, + `Column_priv` + ) + SELECT + r.prefixedRole, + vTplHost, + t.`Db`, + t.`Table_name`, + t.`Column_name`, + MAX(t.`Timestamp`), + GROUP_CONCAT(CONCAT(t.`Column_priv`, ',')) + FROM tRoleInherit r + JOIN mysql.columns_priv t + ON t.`User` = r.inheritsFrom + AND t.`Host`= vHost + GROUP BY r.prefixedRole, t.`Db`, t.`Table_name`, t.`Column_name`; + + -- Copia los privilegios de los procedimientos + + INSERT IGNORE INTO mysql.procs_priv ( + `User`, + `Host`, + `Db`, + `Routine_name`, + `Routine_type`, + `Grantor`, + `Timestamp`, + `Proc_priv` + ) + SELECT + r.prefixedRole, + vTplHost, + t.`Db`, + t.`Routine_name`, + t.`Routine_type`, + t.`Grantor`, + t.`Timestamp`, + t.`Proc_priv` + FROM tRoleInherit r + JOIN mysql.procs_priv t + ON t.`User` = r.inheritsFrom + AND t.`Host`= vHost; + + -- Libera memoria + + DROP TEMPORARY TABLE + tRole, + tRoleInherit; + + FLUSH PRIVILEGES; +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 `roleGetDescendents` */; +/*!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 `roleGetDescendents`(vRole INT) +BEGIN +/** + * Obtiene los identificadores de todos los subroles + * implementados por un rol (Incluido el mismo). + * + * @param vRole Identificador del rol + * @table tmp.role Subroles implementados por el rol + */ + DECLARE vIsRoot BOOL; + + DROP TEMPORARY TABLE IF EXISTS + tmp.role, parents, childs; + + CREATE TEMPORARY TABLE tmp.role + (UNIQUE (id)) + ENGINE = MEMORY + SELECT vRole AS id; + + CREATE TEMPORARY TABLE parents + ENGINE = MEMORY + SELECT vRole AS id; + + CREATE TEMPORARY TABLE childs + LIKE parents; + + REPEAT + DELETE FROM childs; + INSERT INTO childs + SELECT DISTINCT r.inheritsFrom id + FROM parents p + JOIN roleInherit r ON r.role = p.id + LEFT JOIN tmp.role t ON t.id = r.inheritsFrom + WHERE t.id IS NULL; + + DELETE FROM parents; + INSERT INTO parents + SELECT * FROM childs; + + INSERT INTO tmp.role + SELECT * FROM childs; + + UNTIL ROW_COUNT() <= 0 + END REPEAT; + + -- If it is root all the roles are added + + SELECT COUNT(*) > 0 INTO vIsRoot + FROM tmp.role + WHERE id = 0; + + IF vIsRoot THEN + INSERT IGNORE INTO tmp.role (id) + SELECT id FROM role; + END IF; + + -- Cleaning + + DROP TEMPORARY TABLE + parents, childs; +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 `roleSync` */; +/*!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 `roleSync`() +BEGIN +/** + * Sincroniza la tabla @roleRole con la jerarquía de roles + * actual. Este procedimiento debe ser llamado cada vez que + * se modifique la tabla @roleInherit para que los cambios + * realizados sobre esta sean efectivos. + */ + DECLARE vRoleId INT; + DECLARE vDone BOOL; + + DECLARE cur CURSOR FOR + SELECT id FROM role; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + TRUNCATE TABLE roleRole; + + OPEN cur; + + l: LOOP + SET vDone = FALSE; + FETCH cur INTO vRoleId; + + IF vDone THEN + LEAVE l; + END IF; + + CALL roleGetDescendents (vRoleId); + + INSERT INTO roleRole (role, inheritsFrom) + SELECT vRoleId, id FROM tmp.role; + + DROP TEMPORARY TABLE tmp.role; + END LOOP; + + CLOSE cur; + + CALL privSync(); +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 `userChangePassword` */; +/*!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 `userChangePassword`(vOldPassword VARCHAR(255), vPassword VARCHAR(255)) +BEGIN +/** + * Changes the current user password, if user is in recovery + * mode ignores the current password. + * + * @param vOldPassword The current password + * @param vPassword The new password + */ + DECLARE vPasswordOk BOOL; + + SELECT `password` = MD5(vOldPassword) OR recoverPass + INTO vPasswordOk + FROM user WHERE id = account.userGetId(); + + IF NOT vPasswordOk THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'Invalid password'; + END IF; + + CALL userSetPassword (userGetName(), vPassword); +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 `userCheckName` */; +/*!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 `userCheckName`(vUserName VARCHAR(255)) +BEGIN +/** + * Comprueba que el nombre de usuario reune los requisitos + * de sintaxis necesarios, en caso contrario lanza una + * excepción. + * El nombre de usuario solo debe contener letras minúsculas + * o, a partir del segundo carácter, números o subguiones. + */ + IF vUserName NOT REGEXP '^[a-z0-9_]*$' THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'INVALID_USER_NAME'; + 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 `userCheckPassword` */; +/*!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 `userCheckPassword`(vPassword VARCHAR(255)) +BEGIN +/** + * Comprueba si la contraseña cumple los requisitos de seguridad + * establecidos. Lanza una excepción si no se cumplen. + * + * @param vPassword Contraseña a comprobar + */ + DECLARE vChr CHAR(1); + DECLARE vPasswordOk TINYINT; + DECLARE vI TINYINT DEFAULT 1; + DECLARE vNAlpha TINYINT DEFAULT 0; + DECLARE vNUpper TINYINT DEFAULT 0; + DECLARE vNDigits TINYINT DEFAULT 0; + DECLARE vNPunct TINYINT DEFAULT 0; + + WHILE vI <= CHAR_LENGTH(vPassword) + DO + SET vChr = SUBSTRING(vPassword, vI, 1); + + IF vChr REGEXP '[[:alpha:]]' + THEN + SET vNAlpha = vNAlpha+1; + + IF vChr REGEXP '[A-Z]' + THEN + SET vNUpper = vNUpper+1; + END IF; + ELSEIF vChr REGEXP '[[:digit:]]' + THEN + SET vNDigits = vNDigits+1; + ELSEIF vChr REGEXP '[[:punct:]]' + THEN + SET vNPunct = vNPunct+1; + END IF; + + SET vI = vI+1; + END WHILE; + + SELECT + CHAR_LENGTH(vPassword) >= length + AND vNAlpha >= nAlpha + AND vNUpper >= nUpper + AND vNDigits >= nDigits + AND vNPunct >= nPunct + INTO vPasswordOk + FROM userPassword LIMIT 1; + + IF NOT vPasswordOk THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'Password does not meet requirements'; + 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 `userLogin` */; +/*!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 `userLogin`(vUserName VARCHAR(255), vPassword VARCHAR(255)) + READS SQL DATA +BEGIN +/** + * Logs in using the user credentials. + * + * @param vUserName The user name + * @param vPassword The user password + */ + DECLARE vAuthIsOk BOOLEAN DEFAULT FALSE; + + SELECT COUNT(*) = 1 INTO vAuthIsOk FROM user + WHERE name = vUserName + AND password = MD5(vPassword) + AND active; + + IF vAuthIsOk + THEN + CALL userLoginWithName (vUserName); + ELSE + CALL util.throw ('INVALID_CREDENTIALS'); + 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 `userLoginWithName` */; +/*!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 `userLoginWithName`(vUserName VARCHAR(255)) + READS SQL DATA +BEGIN +/** + * Logs in using only the user name. This procedure is + * intended to be executed by users with a high level + * of privileges so that normal users should not have + * execute permissions on it + * + * @param vUserName The user name + */ + DECLARE vUserId INT DEFAULT NULL; + DECLARE vKey VARCHAR(255); + + SELECT id INTO vUserId FROM user + WHERE name = vUserName; + + SELECT loginKey INTO vKey FROM userConfig; + + SET @userId = vUserId; + SET @userName = vUserName; + SET @userSignature = util.hmacSha2(256, CONCAT_WS('/', vUserId, vUserName), vKey); +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 `userLogout` */; +/*!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 `userLogout`() +BEGIN +/** + * Logouts the user. + */ + SET @userId = NULL; + SET @userName = NULL; + SET @userSignature = 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 `userSetPassword` */; +/*!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 `userSetPassword`(vUserName VARCHAR(255), vPassword VARCHAR(255)) +BEGIN +/** + * Cambia la contraseña del usuario pasado como parámetro. + * Solo los administradores deberian de tener privilegios de + * ejecución sobre el procedimiento ya que no solicita la + * contraseña actual del usuario. + * + * @param vUserName Nombre de usuario + * @param vPassword Nueva contraseña + */ + CALL userCheckPassword (vPassword); + + UPDATE user SET + password = MD5(vPassword), + recoverPass = FALSE + WHERE `name` = vUserName; +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: `util` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `util` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `util`; + +-- +-- Table structure for table `debug` +-- + +DROP TABLE IF EXISTS `debug`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `debug` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `connectionId` int(10) unsigned DEFAULT NULL, + `user` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `host` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `variable` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `value` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Log de depuración'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'util' +-- + +-- +-- Dumping routines for database 'util' +-- +/*!50003 DROP FUNCTION IF EXISTS `capitalizeFirst` */; +/*!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 `capitalizeFirst`(vString VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 + NO SQL + DETERMINISTIC +BEGIN +/** + * Pass the first letter of every word in a string to uppercase. + * + * @param vString String to tranform + * @return Transformed string + */ + DECLARE vNewString VARCHAR(255) DEFAULT ''; + DECLARE vI INT DEFAULT 1; + DECLARE vSpaceIni, vWordIni INT; + DECLARE vLen INT DEFAULT CHAR_LENGTH(vString); + + WHILE vI < vLen + DO + SET vSpaceIni = vI; + + WHILE MID(vString, vI, 1) REGEXP '[[:space:]]' DO + SET vI = vI + 1; + END WHILE; + + SET vWordIni = vI; + SET vI = vWordIni + 1; + + WHILE vI <= vLen AND MID(vString, vI, 1) NOT REGEXP '[[:space:]]' DO + SET vI = vI + 1; + END WHILE; + + SET vNewString = CONCAT(vNewString + ,MID(vString, vSpaceIni, vWordIni - vSpaceIni) + ,UPPER(MID(vString, vWordIni, 1)) + ,MID(vString, vWordIni + 1, vI - vWordIni - 1) + ); + END WHILE; + + RETURN vNewString; +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 `dayEnd` */; +/*!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 `dayEnd`(vDated DATE) RETURNS datetime + NO SQL + DETERMINISTIC +BEGIN +/** + * Formats a date to the end of the day. + * + * @param vDated The date to format + * @return The formatted date + */ + RETURN TIMESTAMP(vDated, '23:59:59'); +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 `firstDayOfMonth` */; +/*!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 `firstDayOfMonth`(vDate DATE) RETURNS date + NO SQL + DETERMINISTIC +BEGIN +/** + * Returns the date formatted to the first day of month. + * + * @param vDate The date to format + * @return The formatted date + */ + RETURN DATE_FORMAT(vDate, '%Y-%m-01'); +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 `hmacSha2` */; +/*!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 `hmacSha2`(`vAlg` SMALLINT, `vMsg` MEDIUMBLOB, `vKey` MEDIUMBLOB) RETURNS varchar(128) CHARSET utf8 + NO SQL + DETERMINISTIC +BEGIN +/** + * HMAC function based on SHA2 vAlgorythms. + */ + DECLARE vHashlen INT UNSIGNED; + DECLARE vOpad, vIpad TINYBLOB; + + CASE vAlg + WHEN 224 THEN SET vHashlen = 64; + WHEN 256 THEN SET vHashlen = 64; + WHEN 384 THEN SET vHashlen = 128; + WHEN 512 THEN SET vHashlen = 128; + ELSE CALL throw ('WRONG_vALGORYTHM_IDENTIFICATOR_USED'); + END CASE; + + IF LENGTH(vKey) > vHashlen THEN + SET vKey = UNHEX(SHA2(vKey, vAlg)); + END IF; + + SET vKey = RPAD(vKey, vHashlen, 0x00); + + SET vIpad = stringXor(vKey, 0x36); + SET vOpad = stringXor(vKey, 0x5C); + + RETURN SHA2(CONCAT(vOpad, UNHEX(SHA2(CONCAT(vIpad, vMsg), vAlg))), vAlg); +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 `lang` */; +/*!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 `lang`() RETURNS char(2) CHARSET utf8 + NO SQL + DETERMINISTIC +BEGIN +/** + * Returns the current language code. + * + * @return The language code + */ + RETURN IFNULL(@lang, SUBSTR(@@lc_messages, 1, 2)); +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 `nextWeek` */; +ALTER DATABASE `util` 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 `nextWeek`(vYearWeek INT) RETURNS int(11) + DETERMINISTIC +BEGIN +/** + * A partir de un perido año/semana en formato AAAASS devuelve el siguiente + * periodo. Esta función trabaja de la misma forma que la función WEEK() en + * modo 3. + */ + DECLARE vYear INT DEFAULT FLOOR(vYearWeek / 100); + + IF vYearWeek < YEARWEEK(CONCAT(vYear, '-12-31'), 3) THEN + RETURN vYearWeek + 1; + ELSE + RETURN ((vYear + 1) * 100) + 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 */ ; +ALTER DATABASE `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `stringXor` */; +/*!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 `stringXor`(vString MEDIUMBLOB, vConst TINYINT UNSIGNED) RETURNS mediumblob + NO SQL + DETERMINISTIC +BEGIN +/** + * Returns XOR of binary string and an 8-bit constant. + */ + DECLARE vLen, vPos INT UNSIGNED; + DECLARE vResult MEDIUMBLOB; + + SET vLen = LENGTH(vString); + SET vPos = 1; + SET vResult = ''; + + WHILE vPos <= vLen DO + SET vResult = CONCAT(vResult, LPAD(HEX( ORD(SUBSTR(vString, vPos, 1)) ^ vConst), 2, '0')); + SET vPos = vPos + 1; + END WHILE; + + RETURN UNHEX(vResult); +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 `today` */; +ALTER DATABASE `util` 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 `today`() RETURNS date + DETERMINISTIC +BEGIN +/** + * Devuelve la fecha actual. Usar en lugar de la función nativa + * CURDATE() en aquellos que se necesite rendimiento ya que la + * la última no es determinista. + * + * @return La fecha actual + */ + RETURN 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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `twoDaysAgo` */; +ALTER DATABASE `util` 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 `twoDaysAgo`() RETURNS date + DETERMINISTIC +BEGIN +/** + * Devuelve la fecha de antes de ayer. + * + * @return La fecha de antes de ayer + */ + RETURN TIMESTAMPADD(DAY, -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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `yearRelativePosition` */; +ALTER DATABASE `util` 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 `yearRelativePosition`(vYear INT) RETURNS varchar(20) CHARSET utf8 + DETERMINISTIC +BEGIN +/** + * Devuelve la posicion del año relativa al año actual. + * Se utiliza como cabecera en informes de balances. + * + * @param vYear Año a evaluar + * @return La posicion relativa del año + */ + DECLARE vCurYear INT DEFAULT YEAR(CURDATE()); + + IF vYear = vCurYear THEN + RETURN 'curYear'; + END IF; + + IF vYear = vCurYear - 1 THEN + RETURN 'lastYear'; + END IF; + + IF vYear = vCurYear - 2 THEN + RETURN 'twoYearsAgo'; + END IF; + + RETURN 'other'; +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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `yesterday` */; +ALTER DATABASE `util` 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 `yesterday`() RETURNS date + DETERMINISTIC +BEGIN +/** + * Devuelve la fecha de ayer. + * + * @return La fecha de ayer + */ + RETURN TIMESTAMPADD(DAY, -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 */ ; +ALTER DATABASE `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `debugAdd` */; +ALTER DATABASE `util` 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 `debugAdd`(vVariable VARCHAR(255), vValue VARCHAR(255)) + MODIFIES SQL DATA +BEGIN +/** + * Añade una entrada de depuración en la tabla @debug. + * + * @param vVariable Nombre de variable + * @param vValue Valor de la variable + */ + DECLARE vIndex INT DEFAULT INSTR(USER(), '@'); + + INSERT INTO debug SET + `connectionId` = CONNECTION_ID(), + `user` = LEFT(USER(), vIndex - 1), + `host` = RIGHT(USER(), CHAR_LENGTH(USER()) - vIndex), + `variable` = vVariable, + `value` = vValue; +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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `exec` */; +/*!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 `exec`(vSqlQuery TEXT) +BEGIN +/** + * Executes a string with an SQL query. + * + * @param vSqlQuery The SQL string + */ + SET @sqlQuery = vSqlQuery; + + PREPARE stmt FROM @sqlQuery; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + SET @sqlQuery = 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 `findObject` */; +ALTER DATABASE `util` 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 `findObject`(vChain VARCHAR(45)) + READS SQL DATA +BEGIN +/** + * Devuelve un listado de todos los procedimientos, funciones + * eventos, disparadores y vistas que inluyen una cadena dada. + * + * @param vChain Cadena a buscar + * @select Listado de objetos + */ + SET vChain = CONCAT('%', vChain, '%'); + + SELECT * FROM + ( + SELECT + `db`, + `name`, + `type`, + `body`, + `created`, + `modified` + FROM `mysql`.`proc` + WHERE `body` LIKE vChain COLLATE utf8_general_ci + UNION ALL + SELECT + `db`, + `name`, + 'EVENT', + `body_utf8`, + `created`, + `modified` + FROM `mysql`.`event` + WHERE `body_utf8` LIKE vChain COLLATE utf8_general_ci + UNION ALL + SELECT + `EVENT_OBJECT_SCHEMA`, + `TRIGGER_NAME`, + 'TRIGGER', + `ACTION_STATEMENT`, + NULL, + NULL + FROM `information_schema`.`TRIGGERS` + WHERE `ACTION_STATEMENT` LIKE vChain COLLATE utf8_general_ci + UNION ALL + SELECT + `TABLE_SCHEMA`, + `TABLE_NAME`, + 'VIEW', + `VIEW_DEFINITION`, + NULL, + NULL + FROM `information_schema`.`VIEWS` + WHERE `VIEW_DEFINITION` LIKE vChain COLLATE utf8_general_ci + ) t + ORDER BY `db`, `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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `throw` */; +/*!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 `throw`(vMessage CHAR(35)) +BEGIN +/** + * Throws a user-defined exception. + * + * @param vMessage The error message + */ + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = vMessage; +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 `warn` */; +ALTER DATABASE `util` 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=`z-developer`@`%` PROCEDURE `warn`(vCode CHAR(35)) +BEGIN + DECLARE w VARCHAR(1) DEFAULT '__'; + SET @warn = vCode; +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 `util` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Current Database: `vn2008` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn2008` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `vn2008`; + +-- +-- Table structure for table `Agencias` +-- + +DROP TABLE IF EXISTS `Agencias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Agencias` ( + `Id_Agencia` int(11) NOT NULL AUTO_INCREMENT, + `Agencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `description` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Vista` int(11) DEFAULT '0', + `m3` double DEFAULT '0', + `cod71` tinyint(3) unsigned DEFAULT '0', + `web` smallint(1) unsigned zerofill NOT NULL DEFAULT '0', + `agency_id` smallint(6) NOT NULL, + `agency_service_id` tinyint(4) NOT NULL DEFAULT '1', + `inflacion` decimal(5,2) NOT NULL DEFAULT '0.00' COMMENT 'Este valor se utiliza para aumentar el valor del componente porte.', + `is_volumetric` tinyint(1) NOT NULL DEFAULT '0', + `send_mail` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `show_AgencyName` tinyint(1) DEFAULT '1', + `tpv` tinyint(1) NOT NULL DEFAULT '1', + `externalAgency` tinyint(1) NOT NULL DEFAULT '0', + `flag` blob, + PRIMARY KEY (`Id_Agencia`), + KEY `Agencias` (`Agencia`), + KEY `Vista` (`Vista`) +) ENGINE=InnoDB AUTO_INCREMENT=1112 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Agencias_dits` +-- + +DROP TABLE IF EXISTS `Agencias_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Agencias_dits` ( + `idAgencia_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idAgencia_dits`) +) ENGINE=InnoDB AUTO_INCREMENT=15809 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Agencias_province` +-- + +DROP TABLE IF EXISTS `Agencias_province`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Agencias_province` ( + `province_id` smallint(6) unsigned NOT NULL, + `agency_id` smallint(5) unsigned NOT NULL, + `zona` tinyint(4) NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + `route` tinyint(4) NOT NULL COMMENT 'Etiqueta zeleris', + PRIMARY KEY (`province_id`,`agency_id`,`warehouse_id`), + KEY `warehouse_id` (`warehouse_id`), + KEY `agency_id` (`agency_id`), + CONSTRAINT `Agencias_province_ibfk_1` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Agencias_province_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Agencias_province_ibfk_3` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_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 `Agencias_zonas` +-- + +DROP TABLE IF EXISTS `Agencias_zonas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Agencias_zonas` ( + `Id_Agencia` int(11) NOT NULL, + `zona` tinyint(4) NOT NULL, + `price` double NOT NULL, + `Id_Article` int(10) NOT NULL DEFAULT '71', + `warehouse_id` smallint(6) NOT NULL DEFAULT '1', + `porte_minimo` tinyint(1) NOT NULL DEFAULT '0', + `inflacion` decimal(5,2) NOT NULL DEFAULT '1.00', + PRIMARY KEY (`Id_Agencia`,`zona`,`Id_Article`,`warehouse_id`), + KEY `Id_Article` (`Id_Article`), + CONSTRAINT `Agencias_zonas_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Agencias_zonas_ibfk_2` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`) 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 `Articles` +-- + +DROP TABLE IF EXISTS `Articles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles` ( + `Id_Article` int(11) NOT NULL AUTO_INCREMENT, + `Equivalente` int(11) unsigned DEFAULT NULL, + `Article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Medida` int(10) unsigned DEFAULT NULL, + `Tallos` int(11) DEFAULT '1', + `PVP` double DEFAULT '0', + `Imprimir` tinyint(1) NOT NULL DEFAULT '0', + `Albaranero` tinyint(1) NOT NULL DEFAULT '0', + `iva_group_id` tinyint(4) unsigned NOT NULL DEFAULT '1', + `Familia` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'VT', + `caja` tinyint(1) NOT NULL DEFAULT '0', + `Categoria` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `id_origen` tinyint(2) unsigned NOT NULL, + `do_photo` tinyint(4) NOT NULL DEFAULT '0', + `Foto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Color` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `Nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Codintrastat` int(8) unsigned zerofill DEFAULT NULL, + `Min` tinyint(1) NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `offer` tinyint(4) NOT NULL DEFAULT '0', + `bargain` tinyint(4) NOT NULL DEFAULT '0', + `comments` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'renombrar: reference', + `tipo_id` smallint(5) unsigned NOT NULL, + `generic` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', + `producer_id` mediumint(3) unsigned DEFAULT NULL, + `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `density` double NOT NULL DEFAULT '167' COMMENT 'Almacena la densidad en kg/m3 para el calculo de los portes, si no se especifica se pone por defecto la del tipo en un trigger', + `relevancy` tinyint(1) NOT NULL DEFAULT '0', + `expenceFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '7001000000', + PRIMARY KEY (`Id_Article`), + KEY `Article` (`Article`), + KEY `Color` (`Color`), + KEY `id_origen` (`id_origen`), + KEY `Codintrastat` (`Codintrastat`), + KEY `iva_group_id` (`iva_group_id`), + KEY `tipo_id` (`tipo_id`), + KEY `producer_id` (`producer_id`), + KEY `expenceFk_idx` (`expenceFk`), + CONSTRAINT `Articles_ibfk_1` FOREIGN KEY (`id_origen`) REFERENCES `Origen` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Articles_ibfk_2` FOREIGN KEY (`Codintrastat`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE, + CONSTRAINT `Articles_ibfk_4` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_id`) ON UPDATE CASCADE, + CONSTRAINT `Articles_ibfk_5` FOREIGN KEY (`tipo_id`) REFERENCES `Tipos` (`tipo_id`) ON UPDATE CASCADE, + CONSTRAINT `expenceFk` FOREIGN KEY (`expenceFk`) REFERENCES `Gastos` (`Id_Gasto`) ON UPDATE CASCADE, + CONSTRAINT `producer_id` FOREIGN KEY (`producer_id`) REFERENCES `producer` (`producer_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=302151 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 `vn2008`.`ArticlesBeforeInsert` + BEFORE INSERT ON `Articles` FOR EACH ROW +BEGIN + DECLARE vDensity DOUBLE; + DECLARE vInsertId INT; + + IF NEW.density IS NULL + THEN + SELECT density INTO vDensity + FROM Tipos WHERE tipo_id = NEW.tipo_id; + + SET NEW.density = vDensity; + END IF; + + IF NEW.Foto IS NULL + THEN + SELECT `auto_increment` INTO vInsertId + FROM `information_schema`.TABLES + WHERE `table_name` = 'Articles' + AND `table_schema` = DATABASE(); + + SET NEW.Foto = vInsertId; + 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 `vn2008`.`Articles_AFTER_INSERT` AFTER INSERT ON `Articles` FOR EACH ROW +BEGIN + + CALL itemTagArrangedUpdate(NEW.Id_Article); + + INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) + SELECT NEW.Id_Article, 1, NEW.iva_group_id; + + INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) + SELECT NEW.Id_Article, 5, NEW.iva_group_id; + + INSERT INTO vn.itemTaxCountry(itemFk, countryFk, taxClassFk) + SELECT NEW.Id_Article, 30, NEW.iva_group_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 `vn2008`.`Articles_AFTER_UPDATE` AFTER UPDATE ON `Articles` FOR EACH ROW +BEGIN + + CALL itemTagArrangedUpdate(NEW.Id_Article); + +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 `Articles_PVP` +-- + +DROP TABLE IF EXISTS `Articles_PVP`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles_PVP` ( + `Id_Article` int(11) NOT NULL, + `PVP` double DEFAULT NULL, + `Id_Cliente` int(11) NOT NULL, + `Fecha` date NOT NULL, + KEY `id_article_pvp_idx` (`Id_Article`), + KEY `id_cliente_pvp_idx` (`Id_Cliente`), + CONSTRAINT `id_article_pvp` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `id_cliente_pvp` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los precios para etiquetar los articulos a los clientes'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Articles_botanical` +-- + +DROP TABLE IF EXISTS `Articles_botanical`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles_botanical` ( + `Id_Article` int(11) NOT NULL, + `botanical` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `genus_id` mediumint(8) unsigned DEFAULT NULL, + `specie_id` mediumint(8) unsigned DEFAULT NULL, + PRIMARY KEY (`Id_Article`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sustituye a antiguo NomBotanic de Articles'; +/*!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 `Articles_botanical_bi` BEFORE INSERT ON `Articles_botanical` FOR EACH ROW +BEGIN + IF NEW.botanical = '' THEN + SET NEW.botanical = 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 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 `Articles_botanical_bu` BEFORE UPDATE ON `Articles_botanical` FOR EACH ROW +BEGIN + IF NEW.botanical = '' THEN + SET NEW.botanical = 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 `Articles_dits` +-- + +DROP TABLE IF EXISTS `Articles_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles_dits` ( + `idArticles_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idArticles_dits`), + KEY `fgkey1_idx` (`idaccion_dits`), + KEY `fgkey2_idx` (`Id_Ticket`), + KEY `fgkey3_idx` (`Id_Trabajador`) +) ENGINE=InnoDB AUTO_INCREMENT=19727 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Articles_nicho` +-- + +DROP TABLE IF EXISTS `Articles_nicho`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles_nicho` ( + `Id_Article` int(11) NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL DEFAULT '1', + `nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `modificationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `id` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`id`), + UNIQUE KEY `Id_Article_UNIQUE` (`Id_Article`,`warehouse_id`), + KEY `Articles_nicho_wh_fk` (`warehouse_id`), + CONSTRAINT `Articles_nicho_wh_fk` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=391961 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Articles_old` +-- + +DROP TABLE IF EXISTS `Articles_old`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Articles_old` ( + `Id_Article` int(11) NOT NULL DEFAULT '0', + `Equivalente` int(11) unsigned DEFAULT NULL, + `Article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Medida` int(10) unsigned DEFAULT NULL, + `Tallos` int(11) DEFAULT '1', + `PVP` double DEFAULT '0', + `Imprimir` tinyint(1) NOT NULL DEFAULT '0', + `Albaranero` tinyint(1) NOT NULL DEFAULT '0', + `iva_group_id` tinyint(4) unsigned NOT NULL DEFAULT '1', + `Familia` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'VT', + `caja` tinyint(1) NOT NULL DEFAULT '0', + `Categoria` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `id_origen` tinyint(2) unsigned NOT NULL, + `do_photo` tinyint(4) NOT NULL DEFAULT '0', + `Foto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Color` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `Nicho` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Codintrastat` int(8) unsigned zerofill DEFAULT NULL, + `Min` tinyint(1) NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `offer` tinyint(4) NOT NULL DEFAULT '0', + `bargain` tinyint(4) NOT NULL DEFAULT '0', + `comments` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'renombrar: reference', + `tipo_id` smallint(5) unsigned NOT NULL, + `generic` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', + `producer_id` mediumint(3) unsigned DEFAULT NULL, + `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Baldas` +-- + +DROP TABLE IF EXISTS `Baldas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Baldas` ( + `Id_Estanterias` int(11) NOT NULL, + `Id_Baldas` int(11) NOT NULL, + `h` int(11) NOT NULL, + PRIMARY KEY (`Id_Estanterias`,`Id_Baldas`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Bancos` +-- + +DROP TABLE IF EXISTS `Bancos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Bancos` ( + `Id_Banco` int(11) NOT NULL DEFAULT '0', + `Banco` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `cash` smallint(6) NOT NULL DEFAULT '0', + `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', + `entity_id` int(10) unsigned NOT NULL, + `activo` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`Id_Banco`), + KEY `BancosBanco` (`Banco`), + KEY `fk_Bancos_entity1_idx` (`entity_id`), + KEY `foreignkey1_idx` (`cash`), + CONSTRAINT `foreignkey1` FOREIGN KEY (`cash`) REFERENCES `vn`.`accountingType` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Apunta a la vista vn.Accounting\nLa columna cash es la FK de vn.AccountingType'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Bancos_poliza` +-- + +DROP TABLE IF EXISTS `Bancos_poliza`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Bancos_poliza` ( + `poliza_id` int(11) NOT NULL AUTO_INCREMENT, + `referencia` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `importe` double NOT NULL, + `com_dispuesto` double DEFAULT NULL, + `com_no_dispuesto` double DEFAULT NULL, + `com_anual` double DEFAULT NULL, + `apertura` date NOT NULL, + `cierre` date DEFAULT NULL, + `Id_Banco` int(11) NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + PRIMARY KEY (`poliza_id`), + KEY `Id_Banco_Poliza_idx` (`Id_Banco`), + KEY `Id_Poliza_Empresa_idx` (`empresa_id`), + CONSTRAINT `Id_Banco_Poliza` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `Id_Poliza_Empresa` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lineas de credito asociadas a cuentas corrientes'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Brasa` +-- + +DROP TABLE IF EXISTS `Brasa`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Brasa` ( + `Id_Cliente` int(10) unsigned NOT NULL DEFAULT '0', + `Cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Vista` int(10) unsigned NOT NULL DEFAULT '0', + `Reg` bigint(21) unsigned NOT NULL DEFAULT '0', + `Consumo` double NOT NULL, + `Grupo` int(10) unsigned NOT NULL, + PRIMARY KEY (`Id_Cliente`), + KEY `Index_1` (`Id_Cliente`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Cajas` +-- + +DROP TABLE IF EXISTS `Cajas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Cajas` ( + `Id_Caja` int(11) NOT NULL AUTO_INCREMENT, + `Cajafecha` date NOT NULL, + `Partida` tinyint(1) NOT NULL DEFAULT '0', + `Serie` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `Numero` int(11) DEFAULT NULL, + `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Entrada` decimal(10,2) DEFAULT NULL, + `Salida` decimal(10,2) DEFAULT NULL, + `Id_Banco` int(11) DEFAULT '1', + `Id_Trabajador` int(11) DEFAULT NULL, + `empresa_id` smallint(5) unsigned DEFAULT NULL COMMENT 'kakear', + `linked` tinyint(4) DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `ok` tinyint(4) NOT NULL DEFAULT '0', + `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1' COMMENT 'to kak\n', + `conciliado` int(2) NOT NULL DEFAULT '0', + `Proveedores_account_Id` mediumint(8) unsigned NOT NULL, + `id_calculated` varchar(90) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Caja`), + UNIQUE KEY `id_calculated_UNIQUE` (`id_calculated`), + KEY `CajasCajafecha` (`Cajafecha`), + KEY `Id_Banco` (`Id_Banco`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `empresa_id` (`empresa_id`), + KEY `warehouse_id` (`warehouse_id`), + KEY `fk_Cajas_Proveedores_account1_idx` (`Proveedores_account_Id`), + CONSTRAINT `Cajas_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=557812 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 `vn2008`.`CajasBeforeInsert` BEFORE INSERT ON `Cajas` FOR EACH ROW +BEGIN + IF IFNULL(NEW.Concepto,"") = "" THEN + CALL util.throw ('Error. El concepto esta vacío'); + 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 `Cajas eliminadas` +-- + +DROP TABLE IF EXISTS `Cajas eliminadas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Cajas eliminadas` ( + `Id_Caja` int(11) NOT NULL DEFAULT '0', + `Cajafecha` datetime DEFAULT NULL, + `Partida` tinyint(1) NOT NULL DEFAULT '0', + `Serie` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `Numero` int(11) DEFAULT NULL, + `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Entrada` double DEFAULT NULL, + `Salida` double DEFAULT NULL, + PRIMARY KEY (`Id_Caja`), + KEY `CajasCajafecha` (`Cajafecha`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Clases` +-- + +DROP TABLE IF EXISTS `Clases`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clases` ( + `Id_Clase` int(11) NOT NULL DEFAULT '0', + `Clase` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Clase`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Clientes` +-- + +DROP TABLE IF EXISTS `Clientes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes` ( + `id_cliente` int(11) NOT NULL AUTO_INCREMENT, + `cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `descuento` tinyint(3) unsigned NOT NULL DEFAULT '0', + `default_address` int(11) DEFAULT NULL, + `domicilio` longtext COLLATE utf8_unicode_ci, + `if` varchar(14) COLLATE utf8_unicode_ci DEFAULT NULL, + `telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `fax` varchar(11) COLLATE utf8_unicode_ci DEFAULT NULL, + `e-mail` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL, + `cc` varchar(23) COLLATE utf8_unicode_ci DEFAULT NULL, + `vencimiento` smallint(6) NOT NULL DEFAULT '5', + `recibo` int(11) DEFAULT '1' COMMENT 'Deprecated', + `oficial` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Deprecated', + `contabilizado` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', + `movil` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cuenta` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `RE` tinyint(1) NOT NULL DEFAULT '0', + `poblacion` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, + `province_id` smallint(5) unsigned DEFAULT NULL, + `codPostal` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL, + `razonSocial` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, + `contacto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `mayorista` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', + `reexpedicion` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', + `invoice` tinyint(1) NOT NULL DEFAULT '1', + `notas` text COLLATE utf8_unicode_ci COMMENT 'Deprecated', + `notas_administracion` text COLLATE utf8_unicode_ci NOT NULL COMMENT 'Deprecated', + `copiaFactura` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Deprecated', + `retener` tinyint(1) NOT NULL DEFAULT '0', + `congelado` tinyint(1) NOT NULL DEFAULT '0', + `Id_Trabajador` int(11) DEFAULT NULL, + `credito` decimal(10,2) NOT NULL DEFAULT '0.00', + `cyc` double DEFAULT NULL, + `Id_Pais` mediumint(8) unsigned NOT NULL DEFAULT '1', + `activo` tinyint(1) NOT NULL DEFAULT '1', + `gestdoc_id` int(11) DEFAULT NULL, + `calidad` int(2) DEFAULT '11', + `pay_met_id` tinyint(3) unsigned NOT NULL DEFAULT '5', + `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `mail` tinyint(1) NOT NULL DEFAULT '1', + `chanel_id` smallint(6) DEFAULT NULL, + `vies` tinyint(4) NOT NULL DEFAULT '0', + `split_holland` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'eliminar', + `sepaFth` tinyint(1) DEFAULT '0' COMMENT 'campo para recibir los escritos de los clientes para el sepa', + `sepaVnl` tinyint(1) DEFAULT '0', + `coreFth` tinyint(1) DEFAULT '0', + `coreVnl` tinyint(1) DEFAULT '0', + `risk_calculated` date NOT NULL, + `coreVnh` tinyint(1) DEFAULT '0', + `real` tinyint(1) NOT NULL DEFAULT '1' COMMENT 'Define los clientes cuyas ventas hay que tener en cuenta en los calculos estadisticos.', + `clientes_tipo_id` int(11) NOT NULL DEFAULT '1', + `postcode_id` int(11) unsigned DEFAULT NULL, + `mail_address` int(11) DEFAULT NULL, + `codpos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `creditInsurance` int(11) DEFAULT NULL, + `EYPBC` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'Email\nYesterday\nPurchases\nBy\nConsigna', + `invoiceByAddress` tinyint(1) DEFAULT '0', + `cplusTerIdNifFk` int(11) NOT NULL DEFAULT '1' COMMENT 'OBSOLETO', + `isCreatedAsServed` tinyint(1) DEFAULT '0', + `hasInvoiceSimplified` tinyint(1) NOT NULL DEFAULT '0', + `iban` varchar(45) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`id_cliente`), + UNIQUE KEY `IF` (`if`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `Id_Pais` (`Id_Pais`), + KEY `pay_met_id` (`pay_met_id`), + KEY `canal_nuevo_cliente` (`chanel_id`), + KEY `Cuenta` (`Cuenta`), + KEY `province_id` (`province_id`), + KEY `default_address` (`default_address`), + KEY `Telefono` (`telefono`), + KEY `movil` (`movil`), + KEY `tipos_de_cliente_idx` (`clientes_tipo_id`), + KEY `codpos` (`codpos`,`codPostal`), + CONSTRAINT `Clientes_ibfk_1` FOREIGN KEY (`Id_Pais`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, + CONSTRAINT `Clientes_ibfk_2` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Clientes_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `Clientes_ibfk_4` FOREIGN KEY (`default_address`) REFERENCES `Consignatarios` (`id_consigna`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `Clientes_ibfk_5` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE, + CONSTRAINT `canal_nuevo_cliente` FOREIGN KEY (`chanel_id`) REFERENCES `chanel` (`chanel_id`) ON UPDATE CASCADE, + CONSTRAINT `tipos_de_cliente` FOREIGN KEY (`clientes_tipo_id`) REFERENCES `clientes_tipo` (`clientes_tipo_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=102553 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 `ClientesBeforeInsert` + BEFORE INSERT ON `Clientes` + FOR EACH ROW +BEGIN + DECLARE isAlreadyUsedIf BOOL; + + SELECT COUNT(*) INTO isAlreadyUsedIf + FROM Clientes + WHERE `IF` = TRIM(NEW.`IF`); + + IF isAlreadyUsedIf THEN + CALL util.throw ('Error. El NIF/CIF está repetido'); + END IF; + + CALL pbx.phoneIsValid (NEW.telefono); + CALL pbx.phoneIsValid (NEW.movil); + CALL pbx.phoneIsValid (NEW.fax); + + SET NEW.cuenta = 4300000000 + NEW.Id_Cliente; + + IF NEW.pay_met_id = 4 AND NEW.Vencimiento = 0 THEN + SET NEW.Vencimiento = 5; + 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 `vn2008`.`ClientesAfterInsert` + AFTER INSERT ON `vn2008`.`Clientes` + FOR EACH ROW +BEGIN + INSERT INTO Consignatarios SET + Id_Cliente = NEW.Id_Cliente, + Domicilio = NEW.domicilio, + Poblacion = NEW.POBLACION, + province_id = NEW.province_id, + Codpostal = NEW.CODPOSTAL, + Consignatario = NEW.Cliente, + Predeterminada = TRUE, + Id_Agencia = 2, + isEqualizated = NEW.RE; +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 `ClientesBeforeUpdate` + BEFORE UPDATE ON `Clientes` + FOR EACH ROW +BEGIN + DECLARE vText VARCHAR(255) DEFAULT NULL; + DECLARE isAlreadyUsedIf BOOLEAN; + + SELECT (COUNT(*) > 1) INTO isAlreadyUsedIf + FROM Clientes + WHERE `IF` = TRIM(NEW.`IF`); + + IF isAlreadyUsedIf THEN + CALL util.throw ('Error. El NIF/CIF está repetido'); + END IF; + + -- Comprueba que el formato de los teléfonos es válido + + IF !(NEW.telefono <=> OLD.telefono) THEN + CALL pbx.phoneIsValid (NEW.telefono); + END IF; + + IF !(NEW.movil <=> OLD.movil) THEN + CALL pbx.phoneIsValid (NEW.movil); + END IF; + + IF !(NEW.fax <=> OLD.fax) THEN + CALL pbx.phoneIsValid (NEW.fax); + END IF; + + -- Actualiza el log del crédito + + IF !(NEW.Credito <=> OLD.Credito) AND IFNULL(NEW.Credito, 0) >= 0 + THEN + INSERT INTO credit SET + Id_Cliente = NEW.Id_Cliente, + amount = NEW.Credito, + Id_Trabajador = vn.getWorker(); + END IF; + + -- Avisar al comercial si ha llegado la documentación sepa/core + + IF NEW.sepavnl AND !OLD.sepavnl THEN + SET vText = 'Sepa de VNL'; + END IF; + + IF NEW.corevnl AND !OLD.corevnl THEN + SET vText = 'Core de VNL'; + END IF; + + IF vText IS NOT NULL + THEN + INSERT INTO mail(`to`, reply_to, subject, text) + SELECT + CONCAT(IF(ac.id,name, 'jgallego'), '@verdnatura.es'), + 'administracion@verdnatura.es', + CONCAT('Cliente ', NEW.Id_Cliente), + CONCAT('Recibida la documentación: ', vText) + FROM Trabajadores t + LEFT JOIN account.user u ON t.user_id = u.id AND active + LEFT JOIN account.account ac ON ac.id = u.id + WHERE t.Id_Trabajador = NEW.Id_Trabajador; + 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 `Clientes_cedidos` +-- + +DROP TABLE IF EXISTS `Clientes_cedidos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes_cedidos` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL, + `Id_Trabajador_old` int(11) NOT NULL, + `Id_Trabajador_new` int(11) NOT NULL, + `datSTART` date NOT NULL, + `datEND` date NOT NULL, + `comision_old` double NOT NULL DEFAULT '0.5', + `comision_new` double NOT NULL DEFAULT '0.5', + PRIMARY KEY (`id`), + KEY `trabajador_fk_idx` (`Id_Trabajador_old`), + KEY `new_trabajador_fk_idx` (`Id_Trabajador_new`), + KEY `cliente_cedido_fk_idx` (`Id_Cliente`), + CONSTRAINT `cliente_cedido_fk` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `new_trabajador_fk` FOREIGN KEY (`Id_Trabajador_new`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `trabajador_fk` FOREIGN KEY (`Id_Trabajador_old`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Clientes que se han cambiado de comercial, pero durante un tiempo comisionan a los dos, al anterior y al actual'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Clientes_dits` +-- + +DROP TABLE IF EXISTS `Clientes_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes_dits` ( + `idClientes_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idClientes_dits`), + KEY `idaccion_dits` (`idaccion_dits`), + CONSTRAINT `Clientes_dits_ibfk_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=71651 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Clientes_empresa` +-- + +DROP TABLE IF EXISTS `Clientes_empresa`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes_empresa` ( + `Id_Clientes_empresa` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL, + `fecha_ini` date NOT NULL, + `fecha_fin` date NOT NULL, + PRIMARY KEY (`Id_Clientes_empresa`), + KEY `empresa_id_idx` (`empresa_id`), + CONSTRAINT `empresa_id` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=470500 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Empresa por defecto para crear los tickets'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Clientes_event` +-- + +DROP TABLE IF EXISTS `Clientes_event`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes_event` ( + `Id_Cliente` int(11) NOT NULL, + `quantity` tinyint(3) unsigned NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`Id_Cliente`), + CONSTRAINT `Clientes_event_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `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 `Clientes_potenciales` +-- + +DROP TABLE IF EXISTS `Clientes_potenciales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Clientes_potenciales` ( + `id` int(11) NOT NULL, + `PAIS` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `ACTIVIDAD` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `NOMBRE` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `PROVINCIA` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, + `POBLACION` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `CP` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `DIR_POSTAL` varchar(45) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `TELEFONO` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `TELEFONO2` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `FAX` varchar(12) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `E-MAIL` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `pagweb` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `SERVICIOS` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `state_id` smallint(6) DEFAULT '0' COMMENT '0 no se ha hecho nada\n1 ya existe el cliente\n2 cliente conseguido\n3 desestimado', + `Id_Trabajador` smallint(6) DEFAULT NULL, + `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`NOMBRE`,`POBLACION`,`DIR_POSTAL`,`TELEFONO`,`TELEFONO2`,`FAX`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Colas` +-- + +DROP TABLE IF EXISTS `Colas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Colas` ( + `Id_Cola` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Impresora` tinyint(3) unsigned DEFAULT '0', + `Id_Prioridad` tinyint(3) unsigned DEFAULT '2', + `Id_Informe` tinyint(3) unsigned DEFAULT '0', + `Id_Estado` tinyint(3) unsigned DEFAULT '1', + `Hora_Inicio` datetime DEFAULT NULL, + `Hora_Fin` datetime DEFAULT NULL, + `Cola` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Trabajador` int(11) DEFAULT '20', + `Cola2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cola3` text COLLATE utf8_unicode_ci, + `error` text COLLATE utf8_unicode_ci, + PRIMARY KEY (`Id_Cola`), + UNIQUE KEY `Id_Impresora_2` (`Id_Impresora`,`Id_Prioridad`,`Id_Informe`,`Id_Estado`,`Cola`,`Id_Trabajador`,`Cola2`), + KEY `Id_estado` (`Id_Estado`), + KEY `Id_Impresora` (`Id_Impresora`), + KEY `Id_Informe` (`Id_Informe`), + KEY `Id_Prioridad` (`Id_Prioridad`), + KEY `Id_Trabajador` (`Id_Trabajador`), + CONSTRAINT `Colas_ibfk_1` FOREIGN KEY (`Id_Informe`) REFERENCES `Informes` (`Id_Informe`) ON UPDATE CASCADE, + CONSTRAINT `Colas_ibfk_2` FOREIGN KEY (`Id_Estado`) REFERENCES `Estados` (`Id_Estado`) ON UPDATE CASCADE, + CONSTRAINT `Colas_ibfk_3` FOREIGN KEY (`Id_Prioridad`) REFERENCES `Prioridades` (`Id_Prioridad`) ON UPDATE CASCADE, + CONSTRAINT `Colas_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON UPDATE CASCADE, + CONSTRAINT `Colas_ibfk_5` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=58627 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Colores` +-- + +DROP TABLE IF EXISTS `Colores`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Colores` ( + `Id_Color` int(11) NOT NULL DEFAULT '0', + `Color` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Color`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Comparativa` +-- + +DROP TABLE IF EXISTS `Comparativa`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Comparativa` ( + `Periodo` int(11) NOT NULL, + `Id_Article` bigint(20) NOT NULL, + `warehouse_id` int(11) NOT NULL, + `Cantidad` mediumint(9) NOT NULL DEFAULT '0', + `price` mediumint(8) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`Periodo`,`Id_Article`,`warehouse_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Compres` +-- + +DROP TABLE IF EXISTS `Compres`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Compres` ( + `Id_Compra` int(11) NOT NULL AUTO_INCREMENT, + `Id_Entrada` int(11) NOT NULL DEFAULT '0', + `Id_Article` int(11) NOT NULL DEFAULT '90', + `Cantidad` int(11) DEFAULT '0', + `dispatched` int(11) NOT NULL DEFAULT '0', + `Costefijo` decimal(10,3) DEFAULT '0.000', + `Portefijo` decimal(10,3) DEFAULT '0.000', + `Novincular` tinyint(1) NOT NULL DEFAULT '0', + `Etiquetas` int(11) DEFAULT '0', + `Packing` int(11) DEFAULT '0', + `grouping` smallint(5) unsigned NOT NULL DEFAULT '1', + `caja` tinyint(4) NOT NULL COMMENT '0=sin obligar 1=groping 2=packing', + `container_id` smallint(5) unsigned NOT NULL DEFAULT '36', + `Comisionfija` decimal(10,3) DEFAULT '0.000', + `Embalajefijo` decimal(10,3) DEFAULT '0.000', + `Nicho` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci DEFAULT '--', + `Tarifa1` decimal(10,2) DEFAULT '0.00', + `Tarifa2` decimal(10,2) DEFAULT '0.00', + `Tarifa3` decimal(10,2) DEFAULT '0.00', + `PVP` decimal(10,2) DEFAULT '0.00', + `Productor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Vida` int(11) DEFAULT '0', + `Id_Trabajador` int(11) DEFAULT '0', + `punteo` tinyint(1) NOT NULL DEFAULT '0', + `Volumenkk` int(11) DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `cm2kk` int(10) unsigned NOT NULL DEFAULT '0', + `buy_edi_id` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Compra`), + KEY `CompresId_Trabajador` (`Id_Trabajador`), + KEY `Id_Cubo` (`Id_Cubo`), + KEY `Id_Entrada` (`Id_Entrada`), + KEY `container_id` (`container_id`), + KEY `buy_edi_id` (`buy_edi_id`), + KEY `itemFk_entryFk` (`Id_Article`,`Id_Entrada`), + CONSTRAINT `Compres_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, + CONSTRAINT `Compres_ibfk_2` FOREIGN KEY (`Id_Cubo`) REFERENCES `Cubos` (`Id_Cubo`) ON UPDATE CASCADE, + CONSTRAINT `Compres_ibfk_3` FOREIGN KEY (`container_id`) REFERENCES `container` (`container_id`) ON UPDATE CASCADE, + CONSTRAINT `buy_id` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=239415310 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +/*!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 `vn2008`.`compresBeforeInsert` + BEFORE INSERT ON `vn2008`.`Compres` FOR EACH ROW +BEGIN + DECLARE vWarehouse INT; + DECLARE vLanding DATE; + DECLARE vGroup INT; + DECLARE vIsBox BOOL; + + IF NEW.grouping = 0 THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT ='ERROR_GROUPING_ZERO'; + END IF; + + SELECT warehouse_id, landing INTO vWarehouse, vLanding + FROM Entradas E + JOIN travel T ON T.id = E.travel_id + WHERE E.Id_Entrada = NEW.Id_Entrada; + + SELECT grouping, caja INTO vGroup, vIsBox + FROM Compres C + JOIN Entradas E USING(Id_Entrada) + JOIN travel T ON T.id = E.travel_id + WHERE T.landing <= vLanding + AND C.Id_Article = NEW.Id_Article + AND NOT C.Novincular + ORDER BY warehouse_id = vWarehouse DESC,landing DESC, Id_Compra DESC + LIMIT 1; + + SET NEW.grouping = IFNULL(vGroup,IFNULL( NEW.grouping,1)); + SET NEW.caja = IFNULL(vIsBox, IFNULL( NEW.caja,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 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 `CompresAfterInsert` AFTER INSERT ON `Compres` FOR EACH ROW BEGIN + DECLARE vWarehouse INT; + DECLARE vWarehouseOut INT; + + CALL stock.queueAdd ('buy', NEW.Id_Compra, NULL); + + SELECT warehouse_id, warehouse_id_out INTO vWarehouse, vWarehouseOut + FROM Entradas E + JOIN travel T ON T.id = E.travel_id + WHERE E.Id_Entrada = NEW.Id_Entrada; + + -- Actualiza el volumen unitario + + REPLACE bi.rotacion(Id_Article, warehouse_id, cm3) + VALUES (NEW.Id_ARticle, vWarehouse, vn2008.cm3_unidad(NEW.Id_Compra)); + + IF (SELECT fuente FROM warehouse where id = vWarehouseOut AND id <> 13) AND + (SELECT has_notify_passport(NEW.Id_Article,NEW.Id_Compra)) + THEN + CALL notify_passport(NEW.Id_Article, NEW.Etiquetas, NEW.Packing,NEW.Id_Compra); + CALL insert_producer_plantpassport(NEW.Id_Compra); + 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 `CompresBeforeUpdate` + BEFORE UPDATE ON `Compres` FOR EACH ROW +BEGIN + IF NEW.grouping = 0 AND OLD.grouping <> 0 THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT ='ERROR_GROUPING_ZERO'; + 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 `CompresAfterUpdate` + AFTER UPDATE ON `Compres` FOR EACH ROW +BEGIN + DECLARE vWarehouse INT; + DECLARE vWarehouseOut INT; + + CALL stock.queueAdd ('buy', NEW.Id_Compra, OLD.Id_Compra); + + SELECT warehouse_id, warehouse_id_out INTO vWarehouse, vWarehouseOut + FROM Entradas E + JOIN travel T ON T.id = E.travel_id + WHERE E.Id_Entrada = NEW.Id_Entrada; + + IF NOT(NEW.Id_Cubo <=> OLD.Id_Cubo AND NEW.Id_Entrada <=> OLD.Id_Entrada) + THEN + REPLACE bi.rotacion(Id_Article, warehouse_id, cm3) + VALUES (NEW.Id_ARticle, vWarehouse, vn2008.cm3_unidad(NEW.Id_Compra)); + END IF; + + IF (SELECT fuente FROM warehouse where id = vWarehouseOut AND id <> 13) AND + (SELECT has_notify_passport(NEW.Id_Article,NEW.Id_Compra)) > 0 + THEN + CALL notify_passport(NEW.Id_Article, NEW.Etiquetas, NEW.Packing,NEW.Id_Compra); + CALL insert_producer_plantpassport(NEW.Id_Compra); + 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 `vn2008`.`CompresAfterDelete` + AFTER DELETE ON `Compres` FOR EACH ROW +BEGIN + DECLARE vProvider INT; + + CALL stock.queueAdd ('buy', NULL, OLD.Id_Compra); + + SELECT Id_Proveedor INTO vProvider + FROM Entradas WHERE Id_Entrada = OLD.Id_Entrada; + + IF OLD.Vida > 0 AND vProvider <> 4 THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT ='ERROR_DELETING_LIFE'; + 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 `Compres_2014_kk` +-- + +DROP TABLE IF EXISTS `Compres_2014_kk`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Compres_2014_kk` ( + `Id_Compra` int(11) NOT NULL AUTO_INCREMENT, + `Id_Entrada` int(11) NOT NULL DEFAULT '0', + `Id_Article` int(11) NOT NULL DEFAULT '90', + `Cantidad` int(11) DEFAULT '0', + `Costefijo` decimal(10,3) DEFAULT '0.000', + `Portefijo` decimal(10,3) DEFAULT '0.000', + `Novincular` tinyint(1) NOT NULL DEFAULT '0', + `Etiquetas` int(11) DEFAULT '0', + `Packing` int(11) DEFAULT '0', + `grouping` smallint(5) unsigned NOT NULL DEFAULT '1', + `caja` tinyint(4) NOT NULL COMMENT '0=sin obligar 1=groping 2=packing', + `container_id` smallint(5) unsigned NOT NULL DEFAULT '36', + `Comisionfija` decimal(10,3) DEFAULT '0.000', + `Embalajefijo` decimal(10,3) DEFAULT '0.000', + `Nicho` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci DEFAULT '--', + `Tarifa1` decimal(10,2) DEFAULT '0.00', + `Tarifa2` decimal(10,2) DEFAULT '0.00', + `Tarifa3` decimal(10,2) DEFAULT '0.00', + `PVP` decimal(10,2) DEFAULT '0.00', + `Productor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Vida` int(11) DEFAULT '0', + `Id_Trabajador` int(11) DEFAULT '0', + `punteo` tinyint(1) NOT NULL DEFAULT '0', + `Volumenkk` int(11) DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `cm2kk` int(10) unsigned NOT NULL DEFAULT '0', + `buy_edi_id` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Compra`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Compres_mark` +-- + +DROP TABLE IF EXISTS `Compres_mark`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Compres_mark` ( + `Id_Compra` int(11) NOT NULL, + `comment` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `mark` tinyint(1) DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`Id_Compra`), + CONSTRAINT `Compres_mark_ibfk_1` FOREIGN KEY (`Id_Compra`) REFERENCES `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 `Compres_ok` +-- + +DROP TABLE IF EXISTS `Compres_ok`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Compres_ok` ( + `Id_Compra` int(11) NOT NULL, + `valor` tinyint(3) unsigned NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `original_quantity` double DEFAULT NULL, + `Id_Trabajador` int(11) NOT NULL, + `Id_Accion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `Id_Compra_ok` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`Id_Compra_ok`), + KEY `Id_Movimiento` (`Id_Compra`), + KEY `Id_Accion` (`Id_Accion`), + CONSTRAINT `Compres_ok_ibfk_1` FOREIGN KEY (`Id_Compra`) REFERENCES `Compres` (`Id_Compra`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=16291 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Consignatarios` +-- + +DROP TABLE IF EXISTS `Consignatarios`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Consignatarios` ( + `id_consigna` int(11) NOT NULL AUTO_INCREMENT, + `Id_cliente` int(11) NOT NULL DEFAULT '0', + `warehouse_id` smallint(6) unsigned DEFAULT '1', + `domicilio` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `poblacion` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, + `province_id` smallint(5) unsigned DEFAULT NULL, + `codPostal` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `movil` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `consignatario` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, + `predeterminada` tinyint(1) NOT NULL DEFAULT '1', + `Id_Agencia` int(11) NOT NULL DEFAULT '2', + `especificaciones` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `seguro` tinyint(1) NOT NULL DEFAULT '0', + `porte` double DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `postcode_id` int(11) unsigned DEFAULT NULL, + `longitude` decimal(11,7) DEFAULT NULL, + `latitude` decimal(11,7) DEFAULT NULL, + `codPos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `isEqualizated` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id_consigna`), + KEY `Id_Agencia` (`Id_Agencia`), + KEY `Id_cliente` (`Id_cliente`), + KEY `warehouse_id` (`warehouse_id`), + KEY `province_id` (`province_id`), + KEY `telefono` (`telefono`), + KEY `movil` (`movil`), + KEY `CODPOSTAL` (`codPostal`), + CONSTRAINT `Consignatarios_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `Consignatarios_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE, + CONSTRAINT `Consignatarios_ibfk_4` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, + CONSTRAINT `address_customer_id` FOREIGN KEY (`Id_cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=24228 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 `vn2008`.`ConsignatariosBeforeInsert` +BEFORE INSERT ON `vn2008`.`Consignatarios` +FOR EACH ROW +BEGIN + DECLARE v_has_default BOOLEAN; + DECLARE vIsEqualizated BOOLEAN; + + CALL pbx.phoneIsValid (NEW.telefono); + CALL pbx.phoneIsValid (NEW.movil); + + SELECT COUNT(*) > 0 INTO v_has_default + FROM Consignatarios + WHERE Id_Cliente = NEW.Id_Cliente + AND Predeterminada <> FALSE; + + IF NEW.Predeterminada AND v_has_default THEN + SET NEW.Predeterminada = FALSE; + END IF; + + IF NEW.isEqualizated IS NULL THEN + SELECT RE + INTO vIsEqualizated + FROM Clientes + WHERE Id_Cliente = NEW.Id_Cliente; + + SET NEW.isEqualizated = vIsEqualizated; + 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 `vn2008`.`ConsignatariosBeforeUpdate` +BEFORE UPDATE ON `vn2008`.`Consignatarios` +FOR EACH ROW +BEGIN + DECLARE vHasDefault BOOLEAN; + + CALL pbx.phoneIsValid (NEW.telefono); + CALL pbx.phoneIsValid (NEW.movil); + + SELECT COUNT(*) > 0 INTO vHasDefault + FROM Consignatarios + WHERE Id_Cliente = NEW.Id_Cliente + AND Predeterminada <> FALSE; + + IF NOT OLD.Predeterminada AND NEW.Predeterminada AND vHasDefault THEN + SET NEW.Predeterminada = FALSE; + END IF; + + IF NOT NEW.active AND (NEW.active != OLD.active) AND NEW.Predeterminada THEN + CALL util.throw ('NO SE PUEDE DESACTIVAR EL CONSIGNATARIO PREDETERMINADO'); + 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 `vn2008`.`ConsignatariosAfterUpdate` AFTER UPDATE ON `Consignatarios` FOR EACH ROW +BEGIN + DECLARE vCurDefault INT; + DECLARE vNewDefault INT; + + IF NEW.Predeterminada AND (NEW.Predeterminada != OLD.Predeterminada) + THEN + UPDATE Clientes SET default_address = NEW.Id_Consigna + WHERE Id_cliente = NEW.Id_cliente; + END IF; + + IF NOT NEW.active AND (NEW.active != OLD.active) + THEN + SELECT default_address INTO vCurDefault + FROM Clientes + WHERE Id_Cliente = NEW.Id_Cliente; + + IF vCurDefault = NEW.Id_Consigna + THEN + SELECT Id_Consigna INTO vNewDefault + FROM Consignatarios + WHERE Id_Cliente = NEW.Id_Cliente AND active + LIMIT 1; + + UPDATE Clientes SET default_address = vNewDefault + WHERE Id_Cliente = NEW.Id_Cliente; + END IF; + END IF; + + -- Recargos de equivalencia distintos implican facturacion por consignatario + IF NEW.isEqualizated != OLD.isEqualizated THEN + + IF + (SELECT COUNT(*) FROM + ( + SELECT DISTINCT (isEqualizated = FALSE) as Equ + FROM Consignatarios + WHERE Id_Cliente = NEW.Id_Cliente + ) t1 + ) > 1 + + THEN + + UPDATE Clientes + SET invoiceByAddress = TRUE + WHERE Id_Cliente = NEW.Id_Cliente; + + 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 */ ; + +-- +-- Table structure for table `Consignatarios_devices` +-- + +DROP TABLE IF EXISTS `Consignatarios_devices`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Consignatarios_devices` ( + `Id_Consigna` int(11) NOT NULL, + `serialNumber` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `notas` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Consigna`,`serialNumber`), + CONSTRAINT `Condigna_devices` FOREIGN KEY (`Id_Consigna`) REFERENCES `Consignatarios` (`id_consigna`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Contactos` +-- + +DROP TABLE IF EXISTS `Contactos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Contactos` ( + `Id_Contacto` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Nombre` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `Apellidos` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Empresa` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cargo` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `Movil` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `email` varchar(60) COLLATE utf8_unicode_ci DEFAULT NULL, + `Fax` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Contacto`), + KEY `Telefono` (`Telefono`), + KEY `Movil` (`Movil`) +) ENGINE=InnoDB AUTO_INCREMENT=2599 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 `vn2008`.`ContactosBeforeInsert` +BEFORE INSERT ON `Contactos` FOR EACH ROW +BEGIN + CALL pbx.phoneIsValid (NEW.telefono); + CALL pbx.phoneIsValid (NEW.movil); + CALL pbx.phoneIsValid (NEW.fax); +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 `vn2008`.`ContactosBeforeUpdate` +BEFORE UPDATE ON `Contactos` FOR EACH ROW +BEGIN + CALL pbx.phoneIsValid (NEW.telefono); + CALL pbx.phoneIsValid (NEW.movil); + CALL pbx.phoneIsValid (NEW.fax); +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 `Conteo` +-- + +DROP TABLE IF EXISTS `Conteo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Conteo` ( + `Id_Conteo` int(11) NOT NULL AUTO_INCREMENT, + `Id_Article` int(11) NOT NULL, + `Fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `dispositivo` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `warehouse_id` int(10) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`Id_Conteo`) +) ENGINE=MyISAM AUTO_INCREMENT=1080422 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `Conteo_ai` AFTER INSERT ON `Conteo` FOR EACH ROW +BEGIN + DECLARE intTravel INTEGER; + SELECT t.id INTO intTravel FROM Compres c JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE landing = CURDATE() AND c.Id_Article = NEW.Id_Article AND warehouse_id = NEW.warehouse_id AND received <> TRUE LIMIT 1; + IF (intTravel) then + UPDATE travel SET received = TRUE WHERE id = intTravel; + 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 `Cubos` +-- + +DROP TABLE IF EXISTS `Cubos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Cubos` ( + `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `Volumen` decimal(10,2) DEFAULT '0.00', + `X` decimal(10,2) DEFAULT '0.00', + `Y` decimal(10,2) DEFAULT '0.00', + `Z` decimal(10,2) DEFAULT '0.00', + `Valor` decimal(10,2) DEFAULT '0.00', + `Retornable` tinyint(1) NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `idCubos_Retorno` int(11) DEFAULT NULL, + `Bajan` int(11) DEFAULT NULL, + `Suben` int(11) DEFAULT NULL, + `Base` decimal(10,2) DEFAULT NULL, + `item_id` int(11) DEFAULT NULL, + `pvp` decimal(10,2) NOT NULL, + `box` tinyint(1) NOT NULL DEFAULT '0', + `bultoCubico` decimal(10,2) DEFAULT NULL, + `costeRetorno` decimal(10,2) NOT NULL DEFAULT '0.00', + PRIMARY KEY (`Id_Cubo`), + KEY `Article` (`item_id`), + CONSTRAINT `Article` FOREIGN KEY (`item_id`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Cubos_Retorno` +-- + +DROP TABLE IF EXISTS `Cubos_Retorno`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Cubos_Retorno` ( + `idCubos_Retorno` int(11) NOT NULL AUTO_INCREMENT, + `Soporte` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `Vacio` double NOT NULL DEFAULT '0', + `Lleno` double NOT NULL DEFAULT '0', + PRIMARY KEY (`idCubos_Retorno`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Enlaces Facturas` +-- + +DROP TABLE IF EXISTS `Enlaces Facturas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Enlaces Facturas` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Asiento` int(11) DEFAULT '0', + `Apunte` int(11) DEFAULT '0', + `Data` datetime DEFAULT NULL, + `Concepto` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Debe` double DEFAULT NULL, + `Haber` double DEFAULT NULL, + `Contrapartida` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Contabilizado` tinyint(1) NOT NULL DEFAULT '0', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + PRIMARY KEY (`id`), + KEY `empresa_id` (`empresa_id`), + CONSTRAINT `Enlaces@0020Facturas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=23889 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Entradas` +-- + +DROP TABLE IF EXISTS `Entradas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas` ( + `Id_Entrada` int(11) NOT NULL AUTO_INCREMENT, + `Id_Proveedor` int(11) NOT NULL DEFAULT '644', + `Fecha` datetime NOT NULL, + `Referencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Anotadoencaja` tinyint(1) NOT NULL DEFAULT '0', + `Inventario` tinyint(1) NOT NULL DEFAULT '0', + `Notas` longtext COLLATE utf8_unicode_ci, + `Confirmada` tinyint(1) NOT NULL DEFAULT '0', + `Pedida` tinyint(1) NOT NULL DEFAULT '0', + `Redada` tinyint(1) NOT NULL DEFAULT '0', + `comision` float NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Notas_Eva` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `travel_id` int(11) unsigned DEFAULT NULL, + `Id_Moneda` tinyint(3) unsigned DEFAULT '1', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `gestdoc_id` int(11) DEFAULT NULL, + `recibida_id` mediumint(8) unsigned DEFAULT NULL, + `blocked` tinyint(4) NOT NULL DEFAULT '0', + `loadPriority` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Entrada`), + KEY `Id_Proveedor` (`Id_Proveedor`), + KEY `Fecha` (`Fecha`), + KEY `travel_id` (`travel_id`), + KEY `empresa_id` (`empresa_id`), + KEY `gestdoc_id` (`gestdoc_id`), + KEY `recibida_id` (`recibida_id`), + CONSTRAINT `Entradas_ibfk_1` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, + CONSTRAINT `Entradas_ibfk_6` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Entradas_ibfk_7` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=135404 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; +/*!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 `vn2008`.`EntradasBeforeInsert` + BEFORE INSERT ON `Entradas` FOR EACH ROW +BEGIN + IF (SELECT cuenta LIKE '___4______' FROM Proveedores WHERE Id_Proveedor = NEW.Id_Proveedor) THEN + SET NEW.Id_Moneda = 2; + 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 `vn2008`.`EntradasBeforeUpdate` + BEFORE UPDATE ON `vn2008`.`Entradas` FOR EACH ROW +BEGIN + IF (SELECT Id_Entrada FROM Entradas_Auto WHERE Id_Entrada = NEW.Id_Entrada) AND (NEW.travel_id <> OLD.travel_id) THEN + IF + (SELECT warehouse_id FROM travel WHERE id = NEW.travel_id) <> (SELECT warehouse_id FROM travel WHERE id = OLD.travel_id) OR + (SELECT warehouse_id_out FROM travel WHERE id = NEW.travel_id) <> (SELECT warehouse_id_out FROM travel WHERE id = OLD.travel_id) + THEN + SET NEW.travel_id = OLD.travel_id; + END IF; + END IF; + + IF (NEW.gestdoc_id IS NOT NULL) AND (NEW.gestdoc_id <> OLD.gestdoc_id) THEN + UPDATE + recibida_entrada re + INNER JOIN recibida r ON re.recibida_id = r.id + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + SET r.gestdoc_id = e.gestdoc_id + WHERE + e.Id_Entrada = NEW.Id_Entrada + AND r.gestdoc_id IS NULL; + END IF; + + IF NEW.anotadoencaja <> OLD.anotadoencaja THEN + INSERT INTO Entradas_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + VALUES (105,get_Trabajador(),NEW.Id_Entrada,OLD.anotadoencaja,NEW.anotadoencaja); + END IF; + + IF NEW.Id_Proveedor <> OLD.Id_Proveedor THEN + IF (SELECT cuenta LIKE '___4______' FROM Proveedores WHERE Id_Proveedor = NEW.Id_Proveedor) THEN + SET NEW.Id_Moneda = 2; + END IF; + END IF; + + IF NEW.Id_Moneda = 2 THEN + SET NEW.comision = getComision(NEW.Id_Entrada, NEW.Id_Moneda); + 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 `vn2008`.`EntradasAfterUpdate` + AFTER UPDATE ON `Entradas` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('entry', NEW.Id_Entrada, OLD.Id_Entrada); + + + +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 `vn2008`.`EntradasAfterDelete` + AFTER DELETE ON `Entradas` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('entry', NULL, OLD.Id_Entrada); +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 `Entradas_Auto` +-- + +DROP TABLE IF EXISTS `Entradas_Auto`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_Auto` ( + `Id_Entrada` int(11) NOT NULL, + PRIMARY KEY (`Id_Entrada`), + CONSTRAINT `Entradas_Auto_ibfk_1` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) 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 `Entradas_dits` +-- + +DROP TABLE IF EXISTS `Entradas_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_dits` ( + `idEntrada_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idEntrada_dits`), + KEY `fgkey_entradas_1_idx` (`idaccion_dits`), + KEY `fgkey_entradas_2_idx` (`Id_Ticket`), + KEY `fgkey_entradas_3_idx` (`Id_Trabajador`), + CONSTRAINT `Entradas_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fgkey_entradas_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `fgkey_entradas_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2580463 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Entradas_kop` +-- + +DROP TABLE IF EXISTS `Entradas_kop`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_kop` ( + `Id_Entradas_kop` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Entrada` int(11) NOT NULL, + `kop` int(11) DEFAULT NULL, + `sub` mediumint(8) unsigned DEFAULT NULL, + PRIMARY KEY (`Id_Entradas_kop`), + KEY `entradas_entradas_kop_idx` (`Id_Entrada`), + CONSTRAINT `entradas_entradas_kop` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Entradas_orden` +-- + +DROP TABLE IF EXISTS `Entradas_orden`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_orden` ( + `Id_Entrada` int(11) NOT NULL, + `orden` int(11) NOT NULL DEFAULT '1' COMMENT '1.- Ordenar por articulo\n2.- Ordenar por compra\n', + PRIMARY KEY (`Id_Entrada`), + CONSTRAINT `entradas_entradas_orden` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) 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 `Entradas_stack` +-- + +DROP TABLE IF EXISTS `Entradas_stack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_stack` ( + `Id_Entrada` int(11) NOT NULL, + `label_number` smallint(6) DEFAULT '0', + PRIMARY KEY (`Id_Entrada`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Entradas_turno` +-- + +DROP TABLE IF EXISTS `Entradas_turno`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Entradas_turno` ( + `Id_Entrada` int(11) NOT NULL, + `weekDay` tinyint(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Entrada`), + CONSTRAINT `entrada_entrada_turno` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Estas entradas se clonan al mismo tiempo que los turnos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `EnvioMasivo` +-- + +DROP TABLE IF EXISTS `EnvioMasivo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `EnvioMasivo` ( + `Id` int(11) NOT NULL AUTO_INCREMENT, + `Cliente` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `Direccion` varchar(80) COLLATE utf8_unicode_ci NOT NULL, + `CP` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + `Poblacion` varchar(40) COLLATE utf8_unicode_ci NOT NULL, + `Telefono` varchar(9) COLLATE utf8_unicode_ci NOT NULL, + `Bultos` int(11) NOT NULL, + `Observaciones` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, + `IdTicket` int(11) NOT NULL, + PRIMARY KEY (`Id`) +) ENGINE=MyISAM AUTO_INCREMENT=3373 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Generación de etiquetas a través de Zeleris con los clientes de esta tabla'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Equipos` +-- + +DROP TABLE IF EXISTS `Equipos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Equipos` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `alias` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `trabajador_id` int(11) DEFAULT NULL, + `descripcion` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `predet` int(1) unsigned zerofill DEFAULT '0', + `Left` int(5) DEFAULT '3000', + `Top` int(5) DEFAULT '3000', + `Width` int(5) DEFAULT '6360', + `Height` int(5) DEFAULT '5595', + PRIMARY KEY (`id`), + KEY `trabajador_id` (`trabajador_id`), + CONSTRAINT `Equipos_ibfk_1` FOREIGN KEY (`trabajador_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=143 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Espionajes` +-- + +DROP TABLE IF EXISTS `Espionajes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Espionajes` ( + `idEspionaje` int(11) NOT NULL AUTO_INCREMENT, + `Id_Trabajador` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Fecha` date DEFAULT NULL, + `HoraEntrada` time DEFAULT NULL, + `HoraSalida` time DEFAULT NULL, + `Id_Equipo` int(11) DEFAULT NULL, + PRIMARY KEY (`idEspionaje`), + KEY `index` (`Id_Trabajador`,`Fecha`) +) ENGINE=MyISAM AUTO_INCREMENT=75648 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Estados` +-- + +DROP TABLE IF EXISTS `Estados`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Estados` ( + `Id_Estado` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `Estado` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Estado`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Estanterias` +-- + +DROP TABLE IF EXISTS `Estanterias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Estanterias` ( + `Id_Estanterias` int(11) NOT NULL AUTO_INCREMENT, + `w` int(11) DEFAULT NULL, + `d` int(11) DEFAULT NULL, + `modelo` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Estanterias`) +) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Estanterias_distri` +-- + +DROP TABLE IF EXISTS `Estanterias_distri`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Estanterias_distri` ( + `idEstanterias_distri` int(11) NOT NULL, + `posinicial` int(11) NOT NULL, + `posfinal` int(11) NOT NULL, + `Id_Estanterias` int(11) NOT NULL, + PRIMARY KEY (`Id_Estanterias`,`idEstanterias_distri`), + KEY `Estanterias_fgkey1_idx` (`Id_Estanterias`), + KEY `est_distrib_fgkey1_idx` (`idEstanterias_distri`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Estanterias_distri_name` +-- + +DROP TABLE IF EXISTS `Estanterias_distri_name`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Estanterias_distri_name` ( + `idEstanterias_distri` int(11) NOT NULL AUTO_INCREMENT, + `Descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`idEstanterias_distri`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Extractos` +-- + +DROP TABLE IF EXISTS `Extractos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Extractos` ( + `Id_Extracto` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Fecha` datetime NOT NULL, + `Concepto` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Debe` double unsigned zerofill NOT NULL DEFAULT '0000000000000000000000', + `Haber` double unsigned zerofill NOT NULL DEFAULT '0000000000000000000000', + `Concepto2` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Concepto3` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`Id_Extracto`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Facturas` +-- + +DROP TABLE IF EXISTS `Facturas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Facturas` ( + `factura_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Factura` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `Serie` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `Fecha` date DEFAULT NULL, + `Importe` decimal(12,2) DEFAULT '0.00', + `Vencimiento` datetime DEFAULT NULL, + `Id_Banco` int(11) DEFAULT '0', + `Id_Cliente` int(11) DEFAULT '0', + `Id_Remesa` int(11) DEFAULT NULL, + `Remesar` tinyint(1) NOT NULL DEFAULT '0', + `BI7` decimal(12,2) DEFAULT '0.00', + `BI16` decimal(12,2) DEFAULT '0.00', + `RE1` decimal(12,2) DEFAULT '0.00', + `RE4` decimal(12,2) DEFAULT '0.00', + `IVA7` decimal(12,2) DEFAULT '0.00', + `IVA16` decimal(12,2) DEFAULT '0.00', + `Id_Trabajador` int(11) DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `liquidacion` smallint(6) DEFAULT '0', + `pdf` tinyint(3) unsigned NOT NULL DEFAULT '0', + `booked` date DEFAULT NULL, + `cplusInvoiceType477Fk` int(10) unsigned NOT NULL DEFAULT '1', + `cplusTaxBreakFk` int(10) unsigned NOT NULL DEFAULT '1', + `cplusSubjectOpFk` int(10) unsigned NOT NULL DEFAULT '1', + `cplusTrascendency477Fk` int(10) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`factura_id`,`Id_Factura`), + UNIQUE KEY `Id_Factura` (`Id_Factura`), + KEY `Id_Banco` (`Id_Banco`), + KEY `Id_Cliente` (`Id_Cliente`), + KEY `Id_Remesa` (`Id_Remesa`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `empresa_id` (`empresa_id`), + KEY `Fecha` (`Fecha`), + KEY `Facturas_ibfk_2_idx` (`cplusInvoiceType477Fk`), + KEY `Facturas_ibfk_3_idx` (`cplusSubjectOpFk`), + KEY `Facturas_ibfk_4_idx` (`cplusTaxBreakFk`), + KEY `Facturas_ibfk_5_idx` (`cplusTrascendency477Fk`), + CONSTRAINT `Facturas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Facturas_ibfk_2` FOREIGN KEY (`cplusInvoiceType477Fk`) REFERENCES `vn`.`cplusInvoiceType477` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Facturas_ibfk_3` FOREIGN KEY (`cplusSubjectOpFk`) REFERENCES `vn`.`cplusSubjectOp` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Facturas_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `vn`.`cplusTaxBreak` (`id`) ON UPDATE CASCADE, + CONSTRAINT `invoice_bank_id` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `invoice_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=443038 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 `FacturasBeforeInsert` +BEFORE INSERT ON `Facturas` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + + DECLARE v_Id_Factura_serie CHAR(9) DEFAULT '0000001'; + DECLARE v_Id_Factura INT; + DECLARE max_id, intLast, intProv INT; + + -- Evitamos la generacion de nuevas facturas tras el cese de actividad de EFL + IF NEW.empresa_id = 792 AND NEW.Fecha > '2012-12-20' THEN + SET NEW.empresa_id = 791; + END IF; + + SELECT IFNULL(MAX(factura_id),0) into max_id + from Facturas + WHERE Serie LIKE NEW.Serie + AND ((Year(NEW.Fecha) = Year(Fecha) + AND empresa_id = NEW.empresa_id)); + + IF max_id THEN + + SELECT right(max(Id_Factura), LENGTH(Id_Factura)-1) + 1 + into v_Id_Factura_serie + from Facturas + WHERE Serie LIKE NEW.Serie + AND ((Year(NEW.Fecha) = Year(Fecha) + AND length(Id_Factura) > 6 + AND empresa_id = NEW.empresa_id) /*OR (NEW.Serie LIKE 'B' AND length(Id_Factura) > 7)*/); + + + ELSE + + SELECT CONCAT(digito_factura,RIGHT(YEAR(CURDATE()),1),'00001') INTO v_Id_Factura_serie + FROM empresa WHERE id = NEW.empresa_id; + +/*Primer digito la empresa, segundo el año, despues la numeracion correlativa con 5 digitos*/ + + + END IF; + + +SELECT CONCAT(NEW.serie, lpad(v_Id_Factura_serie,7,'0')) into v_Id_Factura_serie; +SET NEW.Id_Factura = v_Id_Factura_serie; + + + +/* + IF intProv > 0 THEN -- No contabiliza bien las facturas holandesas + INSERT INTO recibida(proveedor_id,fecha,sref,empresa_id) + VALUES (NEW.empresa_id,NEW.Fecha,NEW.Id_Factura,intProv); + + SELECT LAST_INSERT_ID() INTO intLast; + + IF NEW.BI7 > 0 THEN + INSERT INTO recibida_iva(recibida_id,iva_id,bi,gastos_id) + VALUES(intLast,57,NEW.BI7,'6001000000'); + END IF; + + IF NEW.BI16 > 0 THEN + INSERT INTO recibida_iva(recibida_id,iva_id,bi,gastos_id) + VALUES(intLast,58,NEW.BI16,'6001000000'); + END IF; + + INSERT INTO recibida_vencimiento(recibida_id,fecha,banco_id,cantidad) + SELECT intLast,TIMESTAMPADD(DAY,15,NEW.Fecha),3117,SUM((1 + (IVA / 100)) * bi) + FROM recibida r INNER JOIN recibida_iva ri ON r.id = ri.recibida_id + INNER JOIN iva_codigo AS i ON ri.iva_id=i.id INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + LEFT JOIN (SELECT recibida_id, SUM(cantidad) cantidad FROM recibida_vencimiento rv WHERE rv.recibida_id = intLast + GROUP BY recibida_id) t ON t.recibida_id = r.id WHERE r.id = intLast ; + UPDATE recibida SET contabilizada = 0 WHERE id = intLast; + UPDATE recibida SET contabilizada = 1 WHERE id = intLast; + 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 `vn2008`.`FacturasAfterInsert` +AFTER INSERT ON `Facturas` +FOR EACH ROW + CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, NEW.Importe) */;; +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 `vn2008`.`FacturasBeforeUpdate` +BEFORE UPDATE ON `Facturas` +FOR EACH ROW +BEGIN + CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, -OLD.Importe); + CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, NEW.Importe); +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 `vn2008`.`FacturasBeforeDelete` +BEFORE DELETE ON `Facturas` +FOR EACH ROW + CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, -OLD.Importe) */;; +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 `Familias` +-- + +DROP TABLE IF EXISTS `Familias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Familias` ( + `Familia` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `Subcuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Descripcion` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Familia`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Forms` +-- + +DROP TABLE IF EXISTS `Forms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Forms` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `titulo` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Gastos` +-- + +DROP TABLE IF EXISTS `Gastos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Gastos` ( + `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `iva_tipo_id` tinyint(4) NOT NULL, + `Gasto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `conbase` tinyint(4) NOT NULL DEFAULT '1', + `isWithheld` tinyint(4) NOT NULL DEFAULT '0', + `isForSale` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Gasto`,`iva_tipo_id`), + KEY `iva_tipo_id` (`iva_tipo_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Greuges` +-- + +DROP TABLE IF EXISTS `Greuges`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Greuges` ( + `Id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(10) unsigned NOT NULL, + `Comentario` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `Importe` decimal(10,2) NOT NULL, + `Fecha` datetime NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `Greuges_type_id` int(11) DEFAULT NULL, + `Id_Ticket` int(11) DEFAULT NULL, + PRIMARY KEY (`Id`), + KEY `greuges_type_fk_idx` (`Greuges_type_id`), + KEY `Id_Ticket_Greuge_Ticket_idx` (`Id_Ticket`), + CONSTRAINT `Id_Ticket_Greuge_Ticket` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `greuges_type_fk` FOREIGN KEY (`Greuges_type_id`) REFERENCES `Greuges_type` (`Greuges_type_id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1780300 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=FIXED; +/*!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 `vn2008`.`Greuges_BEFORE_UPDATE` BEFORE UPDATE ON `Greuges` FOR EACH ROW +BEGIN + + DECLARE vMaxDate DATETIME DEFAULT TIMESTAMPADD(YEAR,1,CURDATE()); + + IF NEW.Fecha > vMaxDate THEN + + SET NEW.Fecha = vMaxDate; + + 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 `Greuges_type` +-- + +DROP TABLE IF EXISTS `Greuges_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Greuges_type` ( + `Greuges_type_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`Greuges_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Grupos` +-- + +DROP TABLE IF EXISTS `Grupos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Grupos` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Grupo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `observation_type_id` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Impresoras` +-- + +DROP TABLE IF EXISTS `Impresoras`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Impresoras` ( + `Id_Impresora` tinyint(3) unsigned NOT NULL, + `Ruta` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Impresora` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `referencia` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `2C` tinyint(4) DEFAULT '0', + PRIMARY KEY (`Id_Impresora`), + UNIQUE KEY `referencia` (`referencia`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Informes` +-- + +DROP TABLE IF EXISTS `Informes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Informes` ( + `Id_Informe` tinyint(3) unsigned NOT NULL, + `Informe` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Informe`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Intrastat` +-- + +DROP TABLE IF EXISTS `Intrastat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Intrastat` ( + `Codintrastat` int(8) unsigned zerofill NOT NULL, + `Definicion` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `import` tinyint(4) NOT NULL DEFAULT '0', + `iva_group_id` tinyint(3) unsigned NOT NULL DEFAULT '2', + `iva_codigo_id` tinyint(2) unsigned NOT NULL DEFAULT '64', + PRIMARY KEY (`Codintrastat`), + KEY `iva_group_id` (`iva_group_id`), + CONSTRAINT `Intrastat_ibfk_1` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_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 `Jefes` +-- + +DROP TABLE IF EXISTS `Jefes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Jefes` ( + `Id_Trabajador` int(11) NOT NULL, + `Id_Jefe` int(11) NOT NULL, + `Departamento` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`Id_Trabajador`,`Id_Jefe`), + KEY `trabajador_jefe_idx` (`Id_Jefe`), + CONSTRAINT `trabajador_jefe` FOREIGN KEY (`Id_Jefe`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Es una tabla que se rellena desde la comparativa, tomando los datos de postgress.'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Monedas` +-- + +DROP TABLE IF EXISTS `Monedas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Monedas` ( + `Id_Moneda` tinyint(3) unsigned NOT NULL, + `Moneda` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `Descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cambio` double NOT NULL DEFAULT '1', + PRIMARY KEY (`Id_Moneda`), + UNIQUE KEY `Moneda_UNIQUE` (`Moneda`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Monitoring` +-- + +DROP TABLE IF EXISTS `Monitoring`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Monitoring` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `equipo_id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + `form_id` int(11) NOT NULL, + `cliente_id` int(11) NOT NULL, + `ticket_id` int(11) NOT NULL, + `ODBC_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `equipo_id` (`equipo_id`,`user_id`,`form_id`,`cliente_id`,`ticket_id`), + KEY `user_id` (`user_id`), + KEY `form_id` (`form_id`), + KEY `cliente_id` (`cliente_id`), + KEY `ticket_id` (`ticket_id`), + CONSTRAINT `Monitoring_ibfk_1` FOREIGN KEY (`equipo_id`) REFERENCES `Equipos` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Monitoring_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `Monitoring_ibfk_3` FOREIGN KEY (`form_id`) REFERENCES `Forms` (`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 `Movimientos` +-- + +DROP TABLE IF EXISTS `Movimientos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos` ( + `Id_Movimiento` int(11) NOT NULL AUTO_INCREMENT, + `Id_Article` int(11) NOT NULL, + `Id_Ticket` int(11) NOT NULL, + `Concepte` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cantidad` decimal(10,2) NOT NULL DEFAULT '0.00', + `quantity` double(9,1) DEFAULT NULL, + `Preu` decimal(10,2) DEFAULT '0.00', + `Descuento` tinyint(2) unsigned NOT NULL DEFAULT '0', + `CostFixat` decimal(10,2) NOT NULL DEFAULT '0.00', + `Reservado` tinyint(1) NOT NULL DEFAULT '0', + `OK` tinyint(1) NOT NULL DEFAULT '0', + `PrecioFijado` tinyint(1) NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`Id_Movimiento`), + KEY `Id_Ticket` (`Id_Ticket`), + KEY `itemFk_ticketFk` (`Id_Article`,`Id_Ticket`), + CONSTRAINT `Movimientos_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, + CONSTRAINT `movement_ticket_id` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=19905536 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 `vn2008`.`MovimientosAfterInsert` + AFTER INSERT ON `Movimientos` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('sale', NEW.Id_Movimiento, 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 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 `MovimientosBeforeUpdate` + BEFORE UPDATE ON `Movimientos` FOR EACH ROW +BEGIN + IF NEW.Descuento > 100 THEN + SET NEW.Descuento = 0; + 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 `vn2008`.`MovimientosAfterUpdate` + AFTER UPDATE ON `Movimientos` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('sale', NEW.Id_Movimiento, OLD.Id_Movimiento); +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 `vn2008`.`MovimientosAfterDelete` + AFTER DELETE ON `Movimientos` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('sale', NULL, OLD.Id_Movimiento); +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 `Movimientos_avisar` +-- + +DROP TABLE IF EXISTS `Movimientos_avisar`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos_avisar` ( + `Id_Movimiento` int(11) NOT NULL, + `Id_Remitente` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Movimiento`), + KEY `Movimiento` (`Id_Movimiento`), + KEY `Remitente` (`Id_Remitente`), + CONSTRAINT `Id_Movimientos_avisar_fk` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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_checked` +-- + +DROP TABLE IF EXISTS `Movimientos_checked`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos_checked` ( + `Id_Movimiento` int(11) NOT NULL, + `checked` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Movimiento`), + CONSTRAINT `fk_Movimientos_checked_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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_componentes` +-- + +DROP TABLE IF EXISTS `Movimientos_componentes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos_componentes` ( + `Id_Movimiento` int(11) NOT NULL, + `Id_Componente` int(11) NOT NULL, + `Valor` double NOT NULL, + `greuge` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Movimiento`,`Id_Componente`), + KEY `fk_mov_comp_idx` (`Id_Componente`), + CONSTRAINT `mc_fk1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `mc_fk2` FOREIGN KEY (`Id_Componente`) REFERENCES `bi`.`tarifa_componentes` (`Id_Componente`) 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_mark` +-- + +DROP TABLE IF EXISTS `Movimientos_mark`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos_mark` ( + `Id_Movimiento` int(11) NOT NULL, + `valor` tinyint(3) unsigned NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `original_quantity` double DEFAULT NULL, + `Id_Trabajador` int(11) NOT NULL, + `Id_Accion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `Id_Movimiento_mark` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`Id_Movimiento_mark`), + KEY `Id_Movimiento` (`Id_Movimiento`) +) ENGINE=InnoDB AUTO_INCREMENT=9380469 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Movimientos_revisar` +-- + +DROP TABLE IF EXISTS `Movimientos_revisar`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Movimientos_revisar` ( + `Id_Movimiento` int(11) NOT NULL, + `Comentario` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `Revisado` tinyint(1) NOT NULL DEFAULT '0', + `Id_Remitente` int(11) DEFAULT NULL, + `Id_Destinatario` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Movimiento`), + KEY `Remitente` (`Id_Remitente`), + KEY `Destinatario` (`Id_Destinatario`), + CONSTRAINT `Movimientos_revisar_ibfk_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) 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 `Objetivos` +-- + +DROP TABLE IF EXISTS `Objetivos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Objetivos` ( + `Periodo` int(11) NOT NULL, + `Objetivo` double NOT NULL, + PRIMARY KEY (`Periodo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Ordenes` +-- + +DROP TABLE IF EXISTS `Ordenes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Ordenes` ( + `Id_ORDEN` int(11) NOT NULL AUTO_INCREMENT, + `ORDEN` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `datORDEN` datetime DEFAULT NULL, + `datTICKET` datetime DEFAULT NULL, + `CodVENDEDOR` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `CodCOMPRADOR` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT 'NOE', + `CANTIDAD` int(11) DEFAULT NULL, + `PRECIOMAX` double DEFAULT NULL, + `PREU` double DEFAULT NULL, + `Id_ARTICLE` double DEFAULT NULL, + `Id_CLIENTE` int(11) DEFAULT NULL, + `COMENTARIO` longtext COLLATE utf8_unicode_ci, + `OK` tinyint(1) NOT NULL DEFAULT '0', + `TOTAL` int(11) DEFAULT NULL, + `datCOMPRA` datetime DEFAULT NULL, + `KO` tinyint(1) NOT NULL DEFAULT '0', + `Id_Movimiento` int(11) DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`Id_ORDEN`), + UNIQUE KEY `Id_Movimiento_UNIQUE` (`Id_Movimiento`), + KEY `Id_ARTICLE` (`Id_ARTICLE`), + KEY `Id_CLIENTE` (`Id_CLIENTE`), + KEY `Id_Comprador` (`CodCOMPRADOR`), + KEY `Id_Movimiento` (`Id_Movimiento`), + KEY `Id_Vendedor` (`CodVENDEDOR`) +) ENGINE=InnoDB AUTO_INCREMENT=26516 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Origen` +-- + +DROP TABLE IF EXISTS `Origen`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Origen` ( + `id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT, + `Abreviatura` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `Origen` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `warehouse_id` smallint(5) unsigned DEFAULT '4', + `bandera` blob, + `nl` tinyint(4) NOT NULL DEFAULT '0', + `Id_Paises` mediumint(8) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `Abreviatura` (`Abreviatura`), + KEY `warehouse_id` (`warehouse_id`), + KEY `Id_Paises` (`Id_Paises`), + CONSTRAINT `Origen_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Pagares` +-- + +DROP TABLE IF EXISTS `Pagares`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Pagares` ( + `kk_Vencimiento` datetime DEFAULT NULL, + `kk_Importe` double DEFAULT '0', + `Fechaemision` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Pagare` int(11) NOT NULL AUTO_INCREMENT, + `Concepto` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `kk_id_proveedor` int(11) DEFAULT NULL, + `kk_empresa_id` smallint(5) unsigned DEFAULT NULL, + `pago_id` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`Id_Pagare`), + KEY `empresa_id` (`kk_empresa_id`), + KEY `pago_id` (`pago_id`), + CONSTRAINT `Pagares_ibfk_2` FOREIGN KEY (`pago_id`) REFERENCES `pago` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2835 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Paises` +-- + +DROP TABLE IF EXISTS `Paises`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Paises` ( + `Id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Pais` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + `CEE` tinyint(1) NOT NULL DEFAULT '1', + `Codigo` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '1', + `Id_Paisreal` mediumint(8) unsigned NOT NULL COMMENT 'Pais Real(apaño por culpa del España Exento)', + `nst_geo_id` int(11) DEFAULT NULL, + `nst_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `geoFk` int(11) DEFAULT NULL, + `isUeeMember` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id`), + KEY `Id_Paisreal` (`Id_Paisreal`) +) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Permisos` +-- + +DROP TABLE IF EXISTS `Permisos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Permisos` ( + `Id_Grupo` int(10) unsigned NOT NULL, + `Id_Trabajador` int(10) unsigned NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + PRIMARY KEY (`Id_Grupo`,`Id_Trabajador`), + KEY `empresa_id` (`empresa_id`), + CONSTRAINT `Permisos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Permisos_ibfk_2` FOREIGN KEY (`Id_Grupo`) REFERENCES `Grupos` (`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 `PreciosEspeciales` +-- + +DROP TABLE IF EXISTS `PreciosEspeciales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `PreciosEspeciales` ( + `Id_PrecioEspecial` int(11) NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL DEFAULT '0', + `Id_Article` int(11) NOT NULL DEFAULT '0', + `PrecioEspecial` double NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_PrecioEspecial`), + UNIQUE KEY `Id_Cliente_2` (`Id_Cliente`,`Id_Article`), + KEY `Id_Article` (`Id_Article`), + KEY `Id_Cliente` (`Id_Cliente`), + CONSTRAINT `sp_article_id` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE, + CONSTRAINT `sp_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, + CONSTRAINT `{01A99AF1-3D3F-4B15-AC0C-C7A834F319A3}` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `{EE4ADEF6-0AC6-401F-B7C4-D797972FC065}` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Prioridades` +-- + +DROP TABLE IF EXISTS `Prioridades`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Prioridades` ( + `Id_Prioridad` tinyint(3) unsigned NOT NULL DEFAULT '0', + `Prioridad` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Prioridad`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Proveedores` +-- + +DROP TABLE IF EXISTS `Proveedores`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores` ( + `Id_Proveedor` int(11) NOT NULL AUTO_INCREMENT, + `Proveedor` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Domicilio` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `CP` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Localidad` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `provinciakk` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `province_id` smallint(5) unsigned DEFAULT NULL, + `pais_id` mediumint(8) unsigned DEFAULT NULL, + `NIF` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `oficial` tinyint(1) NOT NULL DEFAULT '1', + `Agricola` tinyint(1) NOT NULL DEFAULT '0', + `cuentaret` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `Telefono` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL, + `Fax` varchar(16) COLLATE utf8_unicode_ci DEFAULT NULL, + `ComisionProveedor` float NOT NULL DEFAULT '0', + `Alias` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `pay_met_id` tinyint(3) unsigned NOT NULL, + `pay_day` tinyint(4) unsigned DEFAULT NULL, + `pay_dem_id` tinyint(3) unsigned NOT NULL DEFAULT '7', + `odbc_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `serious` tinyint(1) unsigned zerofill DEFAULT '1', + `notas` text COLLATE utf8_unicode_ci, + `postcode_id` int(11) unsigned DEFAULT NULL, + `codpos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `active` tinyint(4) DEFAULT '1', + PRIMARY KEY (`Id_Proveedor`), + UNIQUE KEY `cuenta` (`cuenta`), + UNIQUE KEY `NIF` (`NIF`), + KEY `pais_id` (`pais_id`), + KEY `pay_met_id` (`pay_met_id`), + KEY `province_id` (`province_id`), + KEY `pay_dem_id` (`pay_dem_id`), + KEY `codpos` (`codpos`,`CP`), + CONSTRAINT `Id_Pais` FOREIGN KEY (`pais_id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, + CONSTRAINT `pay_dem_id` FOREIGN KEY (`pay_dem_id`) REFERENCES `pay_dem` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pay_met_id` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, + CONSTRAINT `province_id` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2448 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Proveedores_account` +-- + +DROP TABLE IF EXISTS `Proveedores_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores_account` ( + `Id_Proveedores_account` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Proveedor` int(11) NOT NULL, + `IBAN` varchar(30) CHARACTER SET utf8 DEFAULT NULL, + `office` varchar(4) CHARACTER SET utf8 DEFAULT NULL, + `DC` varchar(2) CHARACTER SET utf8 DEFAULT NULL, + `number` varchar(10) CHARACTER SET utf8 DEFAULT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `bic_sufix` varchar(3) CHARACTER SET utf8 NOT NULL DEFAULT '', + `entity_id` int(10) DEFAULT NULL, + `Id_Banco` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Proveedores_account`), + KEY `fk_proveedores_proveedores_account_idx` (`Id_Proveedor`), + KEY `fk_Proveedores_account_entity1_idx` (`entity_id`), + KEY `fk_banco_prov_account_idx` (`Id_Banco`), + CONSTRAINT `fk_banco_prov_account` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=598 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Proveedores_cargueras` +-- + +DROP TABLE IF EXISTS `Proveedores_cargueras`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores_cargueras` ( + `Id_Proveedor` int(11) NOT NULL, + PRIMARY KEY (`Id_Proveedor`), + CONSTRAINT `proveedores_cargueras_fk1` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla de espcializacion para señalar las compañias que prestan servicio de transitario'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Proveedores_comunicados` +-- + +DROP TABLE IF EXISTS `Proveedores_comunicados`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores_comunicados` ( + `Id_Proveedor` int(11) NOT NULL, + `escrito_id` int(11) NOT NULL, + `fecha` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + KEY `Proveedor` (`Id_Proveedor`), + KEY `Escrito` (`escrito_id`), + CONSTRAINT `Proveedores_comunicados_ibfk_3` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, + CONSTRAINT `Proveedores_comunicados_ibfk_4` FOREIGN KEY (`escrito_id`) REFERENCES `Proveedores_escritos` (`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 `Proveedores_escritos` +-- + +DROP TABLE IF EXISTS `Proveedores_escritos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores_escritos` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `escrito` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `informe` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Proveedores_gestdoc` +-- + +DROP TABLE IF EXISTS `Proveedores_gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Proveedores_gestdoc` ( + `Id_Proveedor` int(11) NOT NULL, + `gestdoc_id` int(11) NOT NULL, + PRIMARY KEY (`Id_Proveedor`,`gestdoc_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Recibos` +-- + +DROP TABLE IF EXISTS `Recibos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Recibos` ( + `Id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Factura` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Entregado` decimal(10,2) NOT NULL DEFAULT '0.00', + `Pendiente` decimal(10,2) NOT NULL DEFAULT '0.00', + `Fechacobro` datetime DEFAULT NULL, + `Id_Trabajador` int(11) DEFAULT '0', + `Id_Banco` int(11) DEFAULT '0', + `Id_Cliente` int(11) DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `conciliado` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', + PRIMARY KEY (`Id`), + KEY `Id_Banco` (`Id_Banco`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `empresa_id` (`empresa_id`), + KEY `clientDate` (`Id_Cliente`,`Fechacobro`), + CONSTRAINT `Recibos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Recibos_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `recibo_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=440778 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 `vn2008`.`RecibosAfterInsert` +AFTER INSERT ON `Recibos` +FOR EACH ROW + CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, -NEW.Entregado) */;; +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 `vn2008`.`RecibosBeforeUpdate` +BEFORE UPDATE ON `Recibos` +FOR EACH ROW +BEGIN + CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, OLD.Entregado); + CALL bi.customer_risk_update (NEW.Id_Cliente, NEW.empresa_id, -NEW.Entregado); +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 `vn2008`.`RecibosBeforeDelete` +BEFORE DELETE ON `Recibos` +FOR EACH ROW + CALL bi.customer_risk_update (OLD.Id_Cliente, OLD.empresa_id, OLD.Entregado) */;; +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 `Recibos_recorded` +-- + +DROP TABLE IF EXISTS `Recibos_recorded`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Recibos_recorded` ( + `Id_Recibos` int(11) NOT NULL, + `recorded` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Marcado si se ha contabilizado', + PRIMARY KEY (`Id_Recibos`), + CONSTRAINT `Recibos_recorded_ibfk_1` FOREIGN KEY (`Id_Recibos`) REFERENCES `Recibos` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Recibos (Contrareembolso) contabilizados'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Relaciones` +-- + +DROP TABLE IF EXISTS `Relaciones`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Relaciones` ( + `Id_Relacion` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Contacto` int(10) unsigned NOT NULL, + `Id_Proveedor` int(10) unsigned DEFAULT NULL, + `Id_Cliente` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`Id_Relacion`), + KEY `Id_Contacto` (`Id_Contacto`), + KEY `Id_Proveedor` (`Id_Proveedor`), + KEY `Id_Cliente` (`Id_Cliente`) +) ENGINE=InnoDB AUTO_INCREMENT=2600 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Remesas` +-- + +DROP TABLE IF EXISTS `Remesas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Remesas` ( + `Id_Remesa` int(11) NOT NULL AUTO_INCREMENT, + `Fecha Remesa` datetime DEFAULT NULL, + `Banco` int(11) DEFAULT '0', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + PRIMARY KEY (`Id_Remesa`), + KEY `Id_Banco` (`Banco`), + KEY `empresa_id` (`empresa_id`), + CONSTRAINT `Remesas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Remesas_ibfk_2` FOREIGN KEY (`Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1012 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Reservas` +-- + +DROP TABLE IF EXISTS `Reservas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Reservas` ( + `Id_Reserva` int(11) NOT NULL AUTO_INCREMENT, + `Id_Ticket` int(11) DEFAULT '0', + `Fecha` datetime DEFAULT NULL, + `Alias` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `article` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `medida` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `categoria` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `color` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `origen` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `cantidad` int(11) DEFAULT '0', + `Id_Article` double DEFAULT '0', + PRIMARY KEY (`Id_Reserva`), + KEY `Id_1` (`Id_Ticket`), + KEY `Id_Article` (`Id_Article`) +) ENGINE=InnoDB AUTO_INCREMENT=178 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Rutas` +-- + +DROP TABLE IF EXISTS `Rutas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Rutas` ( + `Id_Ruta` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Trabajador` int(10) unsigned DEFAULT NULL, + `Fecha` date NOT NULL, + `Id_Vehiculo` int(10) unsigned DEFAULT NULL, + `Id_Agencia` int(11) DEFAULT NULL, + `Hora` datetime DEFAULT NULL, + `ok` tinyint(1) unsigned NOT NULL DEFAULT '0', + `km_start` mediumint(9) NOT NULL, + `km_end` mediumint(9) NOT NULL, + `date_start` datetime NOT NULL, + `date_end` datetime NOT NULL, + `gestdoc_id` int(11) DEFAULT NULL, + `cost` double unsigned DEFAULT NULL, + `m3` decimal(10,1) unsigned DEFAULT NULL, + `description` text COLLATE utf8_unicode_ci, + PRIMARY KEY (`Id_Ruta`), + KEY `Id_Agencia` (`Id_Agencia`), + KEY `Fecha` (`Fecha`), + KEY `gestdoc_id` (`gestdoc_id`), + CONSTRAINT `Rutas_ibfk_1` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=35799 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `Rutas_au` AFTER UPDATE ON `Rutas` FOR EACH ROW +BEGIN + + IF IFNULL(NEW.gestdoc_id,0) <> IFNULL(OLD.gestdoc_id,0) AND NEW.gestdoc_id > 0 THEN + -- JGF 09/09/14 cuando se añade un gestdoc a una ruta, se le asigna automagicamente a todos sus Tickets + + -- Inserta el gestdoc en todos los tickets de la ruta + INSERT INTO tickets_gestdoc(Id_Ticket,gestdoc_id) + SELECT Id_Ticket, NEW.gestdoc_id FROM Tickets WHERE Id_Ruta = NEW.Id_Ruta + ON DUPLICATE KEY UPDATE gestdoc_id = NEW.gestdoc_id; + + -- Update del firmado + UPDATE Tickets t JOIN tickets_gestdoc tg ON t.Id_Ticket = tg.Id_Ticket + SET Firmado = 1 WHERE t.Id_Ruta = NEW.Id_Ruta; + 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 `Rutas_Master` +-- + +DROP TABLE IF EXISTS `Rutas_Master`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Rutas_Master` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `warehouse_id` smallint(6) unsigned DEFAULT NULL, + `km` int(11) DEFAULT NULL, + `bultos` int(11) NOT NULL, + `vehiculos_coste` decimal(10,2) DEFAULT NULL, + `personal_coste` decimal(10,2) DEFAULT NULL, + `vehiculos_numero` decimal(10,2) DEFAULT NULL, + `personal_numero` decimal(10,2) DEFAULT NULL, + `gasoil` int(11) DEFAULT NULL, + `autonomos` decimal(10,2) DEFAULT NULL, + `año` int(11) DEFAULT NULL, + `mes` int(11) DEFAULT NULL, + `gastos` decimal(10,2) DEFAULT NULL, + `bultos_autonomos` int(11) DEFAULT NULL, + `coste_km` decimal(10,2) DEFAULT NULL, + `coste_bulto` decimal(10,2) DEFAULT NULL, + `coste_bulto_autonomo` decimal(10,2) DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `fk_rutas_warehouse_id_idx` (`warehouse_id`), + CONSTRAINT `fk_rutas_warehouse_id` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Rutas_dits` +-- + +DROP TABLE IF EXISTS `Rutas_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Rutas_dits` ( + `idRutas_dits` int(11) unsigned NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idRutas_dits`), + KEY `index2` (`idaccion_dits`), + KEY `index3` (`Id_Ticket`), + KEY `index4` (`Id_Trabajador`), + CONSTRAINT `fk_Id_Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_Id_ruta` FOREIGN KEY (`Id_Ticket`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_action_dits` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=300164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Rutas_monitor` +-- + +DROP TABLE IF EXISTS `Rutas_monitor`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Rutas_monitor` ( + `Id_Ruta` int(10) unsigned NOT NULL, + `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Ubicacion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `pedidosEncajados` int(11) DEFAULT NULL, + `pedidosLibres` int(11) DEFAULT NULL, + `bultos` int(11) DEFAULT NULL, + `notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `pedidosProduccion` int(11) DEFAULT NULL, + `fecha` date DEFAULT NULL, + `dockFk` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Ruta`), + KEY `Rutas_monitor_fk_2_idx` (`dockFk`), + CONSTRAINT `Rutas_monitor_fk_1` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Rutas_monitor_fk_2` FOREIGN KEY (`dockFk`) REFERENCES `dock` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite ubicar y controlar el estado de preparacion de las rutas'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Salarios` +-- + +DROP TABLE IF EXISTS `Salarios`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Salarios` ( + `Id_Trabajador` int(11) NOT NULL, + `Salario_Bruto` double DEFAULT '0', + `Incentivo` double DEFAULT '0', + `SS` double DEFAULT '0', + `warehouse_id` smallint(6) NOT NULL DEFAULT '1', + PRIMARY KEY (`Id_Trabajador`), + CONSTRAINT `trabajadaor_id` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Saldos_Prevision` +-- + +DROP TABLE IF EXISTS `Saldos_Prevision`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Saldos_Prevision` ( + `Saldos_Prevision_id` int(11) NOT NULL AUTO_INCREMENT, + `Descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Importe` double NOT NULL DEFAULT '0', + `Fecha` date NOT NULL, + `Id_Banco` int(11) DEFAULT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + PRIMARY KEY (`Saldos_Prevision_id`), + KEY `Fecha_indice` (`Fecha`), + KEY `banco_prevision_idx` (`Id_Banco`), + KEY `empresa_prevision_idx` (`empresa_id`), + CONSTRAINT `banco_prevision` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `empresa_prevision` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=91 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Aqui ponemos los gastos e ingresos pendientes de introducir '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Series` +-- + +DROP TABLE IF EXISTS `Series`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Series` ( + `Id_Serie` varchar(2) COLLATE utf8_unicode_ci NOT NULL, + `Serie` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, + `Cuenta` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Serie`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Split_lines` +-- + +DROP TABLE IF EXISTS `Split_lines`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Split_lines` ( + `Id_Split_lines` int(11) NOT NULL AUTO_INCREMENT, + `Id_Split` int(11) NOT NULL, + `Id_Article` int(11) DEFAULT NULL, + `Id_Compra` int(11) DEFAULT NULL, + PRIMARY KEY (`Id_Split_lines`), + KEY `Id_Split` (`Id_Split`), + KEY `Id_Compra` (`Id_Compra`), + CONSTRAINT `Id_Compra` FOREIGN KEY (`Id_Compra`) REFERENCES `Compres` (`Id_Compra`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Split_lines_ibfk_1` FOREIGN KEY (`Id_Split`) REFERENCES `Splits` (`Id_Split`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=313132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Splits` +-- + +DROP TABLE IF EXISTS `Splits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Splits` ( + `Id_Split` int(11) NOT NULL AUTO_INCREMENT, + `Id_Ticket` int(11) DEFAULT NULL, + `Id_Entrada` int(11) DEFAULT NULL, + `Fecha` datetime DEFAULT NULL, + `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Split`), + KEY `Id_Entrada` (`Id_Entrada`) +) ENGINE=InnoDB AUTO_INCREMENT=36130 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Stockcontrol` +-- + +DROP TABLE IF EXISTS `Stockcontrol`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Stockcontrol` ( + `Id_Control` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Article` int(11) NOT NULL, + `Id_Remitente` int(11) NOT NULL, + `Id_Solver` int(11) NOT NULL, + `Problema` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `Solucion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `Listo` tinyint(1) NOT NULL, + `Air` tinyint(1) NOT NULL, + `Datestart` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `Dateend` datetime DEFAULT NULL, + PRIMARY KEY (`Id_Control`), + KEY `Id_Article` (`Id_Article`), + KEY `Id_Remitente` (`Id_Remitente`), + KEY `Id_Solver` (`Id_Solver`), + CONSTRAINT `Stockcontrol_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Stockcontrol_ibfk_2` FOREIGN KEY (`Id_Remitente`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Stockcontrol_ibfk_3` FOREIGN KEY (`Id_Solver`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=23305 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Tickets` +-- + +DROP TABLE IF EXISTS `Tickets`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tickets` ( + `Id_Ticket` int(11) NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL DEFAULT '0', + `warehouse_id` smallint(6) unsigned NOT NULL DEFAULT '1', + `Fecha` datetime NOT NULL, + `Alias` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Notas` longtext COLLATE utf8_unicode_ci, + `Factura` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `factura_id` int(10) unsigned DEFAULT NULL COMMENT 'eliminar', + `Anotadoencaja` tinyint(1) NOT NULL DEFAULT '0', + `Id_Consigna` int(11) NOT NULL DEFAULT '0', + `Id_Trabajador` int(11) DEFAULT NULL, + `Observaciones` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'eliminar', + `Firmado` tinyint(1) NOT NULL DEFAULT '0', + `Etiquetasemitidas` tinyint(1) NOT NULL DEFAULT '0', + `PedidoImpreso` tinyint(1) NOT NULL DEFAULT '0', + `Bultos` smallint(10) unsigned DEFAULT '0', + `Localizacion` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `Hora` int(11) DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `blocked` tinyint(1) NOT NULL DEFAULT '1', + `Solucion` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Ruta` int(10) unsigned DEFAULT NULL, + `Prioridad` tinyint(3) unsigned DEFAULT NULL, + `priority` tinyint(1) unsigned NOT NULL DEFAULT '1', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `Id_Agencia` int(11) NOT NULL, + `landing` date DEFAULT NULL, + `boxed` tinyint(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Ticket`), + KEY `Id_Cliente` (`Id_Cliente`), + KEY `Id_Consigna` (`Id_Consigna`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `warehouse_id` (`warehouse_id`), + KEY `empresa_id` (`empresa_id`), + KEY `Id_Agencia` (`Id_Agencia`), + KEY `Factura` (`Factura`), + KEY `Fecha` (`Fecha`), + KEY `Id_Ruta` (`Id_Ruta`), + KEY `warehouse_date` (`warehouse_id`,`Fecha`), + CONSTRAINT `Tickets_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Tickets_ibfk_5` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Tickets_ibfk_6` FOREIGN KEY (`Id_Consigna`) REFERENCES `Consignatarios` (`id_consigna`) ON UPDATE CASCADE, + CONSTRAINT `Tickets_ibfk_8` FOREIGN KEY (`Id_Agencia`) REFERENCES `Agencias` (`Id_Agencia`), + CONSTRAINT `Tickets_ibfk_9` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON UPDATE CASCADE, + CONSTRAINT `ticket_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, + CONSTRAINT `tickets_fk10` FOREIGN KEY (`Factura`) REFERENCES `Facturas` (`Id_Factura`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1773798 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 `TicketsBeforeInsert` + BEFORE INSERT ON `Tickets` FOR EACH ROW +BEGIN +/* + DECLARE strEspecif VARCHAR(255); + DECLARE intId_Agencia INTEGER; + DECLARE auxprovince INTEGER; + DECLARE intemp INTEGER; + + -- Si el cliente es de Canarias se le asigna la empresa ORN + + SELECT province_id INTO auxprovince + FROM Consignatarios WHERE Id_Consigna = NEW.Id_Consigna; + + IF (auxprovince = 49 OR auxprovince = 33) AND NEW.Id_Cliente <> 5270 THEN + SET intemp = 1381; + END IF; + + IF intemp THEN + SET NEW.empresa_id = intemp; + 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 `vn2008`.`TicketsAfterInsert` + AFTER INSERT ON `vn2008`.`Tickets` FOR EACH ROW +BEGIN + /* borrar cuando se canvie el insert ticket en la APP mobil */ + DECLARE vEmployee INT; + + SELECT Id_Trabajador INTO vEmployee + FROM Trabajadores WHERE user_id = account.userGetId(); + + IF vEmployee IS NULL THEN + SET vEmployee = 20; + END IF; + + IF NEW.Id_Cliente = 400 OR NEW.Id_Cliente = 200 + THEN + INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) + SELECT id, NEW.Id_Ticket, vEmployee + FROM state + WHERE `code` = 'DELIVERED'; + 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 `TicketsBeforeUpdate` + BEFORE UPDATE ON `Tickets` FOR EACH ROW +BEGIN + DECLARE vAgency INT; + DECLARE vEmployee INT; + DECLARE vIsCee TINYINT; + DECLARE vHasVies TINYINT; + + SELECT Id_Trabajador INTO vEmployee + FROM Trabajadores WHERE user_id = account.userGetId(); + + IF vEmployee IS NULL THEN + SET vEmployee = 20; + END IF; + + -- Comprobación de VIES + IF NEW.empresa_id <> OLD.empresa_id THEN + + SELECT CEE INTO vIsCee + FROM Proveedores AS pr + INNER JOIN Paises p ON p.Id = pr.pais_id + WHERE Id_Proveedor = NEW.empresa_id; + + SELECT isVies INTO vHasVies + FROM vn.`client` + WHERE id = OLD.Id_Cliente; + + IF vIsCee = 1 AND NOT vHasVies Then + CALL util.throw("NO_VALID_VIES"); + END IF; + END IF; + + IF NEW.Fecha < '2001-01-01' + THEN + SET NEW.Id_Ruta = NULL; + + IF NEW.Fecha < '2000-01-01' then + SET NEW.Fecha = OLD.Fecha; + END IF; + + INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) + VALUES(17, NEW.Id_Ticket, vEmployee); + 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 `vn2008`.`TicketsAfterUpdate` + AFTER UPDATE ON `Tickets` FOR EACH ROW +BEGIN + IF NEW.Id_Ruta IS NULL AND OLD.Id_Ruta IS NOT NULL THEN + INSERT INTO vn.routeLog(originFk, userFk, `action`, description) + VALUES (OLD.Id_Ruta, account.userGetId(), 'update', CONCAT('Saca el ticket ', OLD.Id_Ticket, ' de la ruta')); + ELSEIF NOT (NEW.Id_Ruta <=> OLD.Id_Ruta) THEN + INSERT INTO vn.routeLog(originFk, userFk, `action`, description) + VALUES (NEW.Id_Ruta, account.userGetId(), 'update', CONCAT('Añade el ticket ', OLD.Id_Ticket, ' a la ruta')); + END IF; + + CALL stock.queueAdd ('ticket', NEW.Id_Ticket, OLD.Id_Ticket); +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=`z-developer`@`%`*/ /*!50003 TRIGGER `vn2008`.`Tickets_BEFORE_DELETE` BEFORE DELETE ON `Tickets` FOR EACH ROW +BEGIN + /*INSERT INTO vn2008.mail SET + `to` = 'jgallego@verdnatura.es', + `reply_to` = 'jgallego@verdnatura.es', + `subject` = 'Ticket Eliminado', + `text` = CONCAT(USER(), ' ha eliminado el ticket ', + OLD.`Id_Ticket`);*/ +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 `Tickets_dits` +-- + +DROP TABLE IF EXISTS `Tickets_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tickets_dits` ( + `idTickets_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idTickets_dits`), + KEY `fgkey1_idx` (`idaccion_dits`), + KEY `fgkey2_idx` (`Id_Ticket`), + KEY `fgkey3_idx` (`Id_Trabajador`), + CONSTRAINT `Tickets_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fgkey1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `fgkey3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=57231072 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Tickets_stack` +-- + +DROP TABLE IF EXISTS `Tickets_stack`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tickets_stack` ( + `Id_Ticket` int(11) NOT NULL, + `orden` smallint(5) unsigned NOT NULL, + `label_number` smallint(6) DEFAULT '0', + `preparado` tinyint(4) DEFAULT '0', + PRIMARY KEY (`Id_Ticket`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Orden para imprimir los F5.Se borra autom. lo de 2 meses'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Tickets_state` +-- + +DROP TABLE IF EXISTS `Tickets_state`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tickets_state` ( + `Id_Ticket` int(11) NOT NULL DEFAULT '0', + `inter_id` int(11) NOT NULL, + `state_name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`Id_Ticket`), + KEY `double_foreign` (`Id_Ticket`,`inter_id`), + CONSTRAINT `Id_Ticket` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `double_foreign` FOREIGN KEY (`Id_Ticket`, `inter_id`) REFERENCES `vncontrol`.`inter` (`Id_Ticket`, `inter_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 `Tickets_turno` +-- + +DROP TABLE IF EXISTS `Tickets_turno`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tickets_turno` ( + `Id_Ticket` int(11) NOT NULL AUTO_INCREMENT, + `weekDay` tinyint(1) DEFAULT NULL COMMENT 'funcion de mysql Lunes = 0, Domingo = 6', + PRIMARY KEY (`Id_Ticket`), + CONSTRAINT `Id_Ticket_fk` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1772234 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Tintas` +-- + +DROP TABLE IF EXISTS `Tintas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tintas` ( + `Id_Tinta` char(3) COLLATE utf8_unicode_ci NOT NULL, + `name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Tinta` blob NOT NULL, + `Orden` int(11) NOT NULL, + `ball` blob, + `cargex` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Tinta`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Tipos` +-- + +DROP TABLE IF EXISTS `Tipos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tipos` ( + `tipo_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `Id_Tipo` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `Tipo` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + `Orden` int(11) DEFAULT '0', + `Temperatura` tinyint(1) unsigned NOT NULL DEFAULT '0', + `reino_id` int(10) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `inventory` tinyint(4) NOT NULL DEFAULT '1', + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `f11` tinyint(4) NOT NULL DEFAULT '0', + `father_id` smallint(5) DEFAULT NULL, + `transaction` tinyint(4) NOT NULL DEFAULT '0', + `confeccion` int(10) unsigned DEFAULT NULL, + `location` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `life` smallint(5) unsigned DEFAULT NULL, + `maneuver` double NOT NULL DEFAULT '0.21', + `target` double NOT NULL DEFAULT '0.15', + `top_margin` double NOT NULL DEFAULT '0.3', + `profit` double NOT NULL DEFAULT '0.02', + `FV` tinyint(3) DEFAULT '1', + `density` double NOT NULL DEFAULT '167' COMMENT 'Almacena el valor por defecto de la densidad en kg/m3 para el calculo de los portes aereos, en articulos se guarda la correcta', + `promo` double NOT NULL DEFAULT '0', + `box` tinyint(4) NOT NULL DEFAULT '0', + `CYM` int(11) NOT NULL DEFAULT '0', + `isPackaging` tinyint(1) NOT NULL DEFAULT '0', + `hasComponents` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`Id_Tipo`), + UNIQUE KEY `tipo_id_UNIQUE` (`tipo_id`), + KEY `Trabajador` (`Id_Trabajador`), + KEY `reino_id` (`reino_id`), + KEY `Tipos_fk3_idx` (`confeccion`), + CONSTRAINT `Tipos_fk3` FOREIGN KEY (`confeccion`) REFERENCES `vn`.`confectionType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `Tipos_ibfk_1` FOREIGN KEY (`reino_id`) REFERENCES `reinos` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=225 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Protege la tabla tipos de updates para los 4 parámetros de los compradores, en funcion del valor del campo CodigoRojo de tblContadores.'; +/*!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 `Tipos_bu` BEFORE UPDATE ON `Tipos` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + DECLARE strCOD VARCHAR(40); + + SELECT CodigoRojo INTO strCOD FROM tblContadores LIMIT 1; + + IF strCOD <> 'tipos' + THEN + SET NEW.maneuver = OLD.maneuver ; + SET NEW.target = OLD.target ; + SET NEW.top_margin = OLD.top_margin ; + SET NEW.profit = OLD.profit ; + 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 `Tipos_f11` +-- + +DROP TABLE IF EXISTS `Tipos_f11`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tipos_f11` ( + `f11_id` tinyint(4) NOT NULL AUTO_INCREMENT, + `description` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`f11_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 `Trabajadores` +-- + +DROP TABLE IF EXISTS `Trabajadores`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Trabajadores` ( + `Id_Trabajador` int(11) NOT NULL AUTO_INCREMENT, + `CodigoTrabajador` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `Nombre` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Apellidos` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Password` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `extension` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `sub` int(11) unsigned DEFAULT NULL, + `user` varchar(20) CHARACTER SET utf8 DEFAULT NULL, + `Contrato_Tipo` varchar(30) CHARACTER SET utf8 DEFAULT 'no dejar vacio' COMMENT 'campo obsoleto, actualmente se rellena en laboral', + `Categoria_Laboral` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Fecha_Inicio` datetime DEFAULT NULL, + `Fecha_Fin` datetime DEFAULT NULL, + `Notas` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, + `Foto` blob, + `dni` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL, + `address` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `date_birth` date NOT NULL, + `marital_status` enum('soltero/a','casado/a') COLLATE utf8_unicode_ci NOT NULL, + `phone` varchar(9) COLLATE utf8_unicode_ci NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL, + `Id_Cliente_Interno` int(11) DEFAULT NULL, + `user_id` int(10) unsigned DEFAULT NULL, + `boss` int(11) NOT NULL DEFAULT '2', + `DniExpiration` datetime DEFAULT NULL, + PRIMARY KEY (`Id_Trabajador`), + UNIQUE KEY `CodigoTrabajador_UNIQUE` (`CodigoTrabajador`), + UNIQUE KEY `user` (`user`), + UNIQUE KEY `user_id_UNIQUE` (`user_id`), + UNIQUE KEY `Id_Cliente_Interno` (`Id_Cliente_Interno`), + KEY `sub` (`sub`), + CONSTRAINT `Clientes` FOREIGN KEY (`Id_Cliente_Interno`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, + CONSTRAINT `Trabajadores_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1051 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 `vn2008`.`TrabajadoresBeforeInsert` + BEFORE INSERT ON `Trabajadores` + FOR EACH ROW +BEGIN + IF NEW.password = '' THEN + SET NEW.password = 'FALLO'; + 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 `vn2008`.`TrabajadoresBeforeUpdate` + BEFORE UPDATE ON `Trabajadores` + FOR EACH ROW +BEGIN + IF NEW.password = '' THEN + SET NEW.password = 'FALLO'; + 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 `Tramos` +-- + +DROP TABLE IF EXISTS `Tramos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Tramos` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Tramo` time NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `Tramo` (`Tramo`) +) ENGINE=MyISAM AUTO_INCREMENT=50 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Ubicator` +-- + +DROP TABLE IF EXISTS `Ubicator`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Ubicator` ( + `Id_Estanterias` int(11) NOT NULL, + `Date` date NOT NULL, + `w` int(11) DEFAULT '0', + `d` int(11) DEFAULT '0', + `h` int(11) DEFAULT '0', + `Id_Cubo` int(11) NOT NULL, + `Id_Article` int(11) NOT NULL +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `V_edi_item_track` +-- + +DROP TABLE IF EXISTS `V_edi_item_track`; +/*!50001 DROP VIEW IF EXISTS `V_edi_item_track`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `V_edi_item_track` ( + `item_id` tinyint NOT NULL, + `s1` tinyint NOT NULL, + `s2` tinyint NOT NULL, + `s3` tinyint NOT NULL, + `s4` tinyint NOT NULL, + `s5` tinyint NOT NULL, + `s6` tinyint NOT NULL, + `kop` tinyint NOT NULL, + `pac` tinyint NOT NULL, + `cat` tinyint NOT NULL, + `ori` tinyint NOT NULL, + `pro` tinyint NOT NULL, + `sub` tinyint NOT NULL, + `package` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `Vehiculos` +-- + +DROP TABLE IF EXISTS `Vehiculos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Vehiculos` ( + `Id_Vehiculo` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Matricula` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `Modelo` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `Marca` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `m3` double DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `warehouseFk` smallint(6) unsigned DEFAULT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`Id_Vehiculo`), + KEY `empresa_id` (`empresa_id`), + KEY `provinceFk_idx` (`warehouseFk`), + CONSTRAINT `Vehiculos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `provinceFk` FOREIGN KEY (`warehouseFk`) REFERENCES `province` (`province_id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=365 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `Vehiculos_consumo` +-- + +DROP TABLE IF EXISTS `Vehiculos_consumo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Vehiculos_consumo` ( + `Vehiculos_consumo_id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Vehiculo` int(10) unsigned NOT NULL, + `fecha` date NOT NULL, + `km` int(20) unsigned NOT NULL, + `litros` double unsigned NOT NULL, + `precio` double unsigned NOT NULL, + `adblue` decimal(10,2) NOT NULL DEFAULT '0.00', + `peajes` double DEFAULT NULL, + `descuento` double DEFAULT NULL, + `silla` int(11) NOT NULL DEFAULT '0' COMMENT 'indica si han repostado en la gasolinera de la rotonda', + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `otros` double DEFAULT NULL, + PRIMARY KEY (`Vehiculos_consumo_id`,`Id_Vehiculo`), + KEY `fk_Vehiculos_consumo_Vehiculos_idx` (`Id_Vehiculo`), + CONSTRAINT `fk_Vehiculos_consumo_Vehiculos` FOREIGN KEY (`Id_Vehiculo`) REFERENCES `Vehiculos` (`Id_Vehiculo`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=7321 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntan el importe de los tickets de la gasolinera solred, con quien tenemos un contrato y nos facturan mensualmente'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `VerEspionaje` +-- + +DROP TABLE IF EXISTS `VerEspionaje`; +/*!50001 DROP VIEW IF EXISTS `VerEspionaje`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `VerEspionaje` ( + `CodigoTrabajador` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `HoraEntrada` tinyint NOT NULL, + `HoraSalida` tinyint NOT NULL, + `Id_Equipo` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `Vistas` +-- + +DROP TABLE IF EXISTS `Vistas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `Vistas` ( + `vista_id` int(11) NOT NULL AUTO_INCREMENT, + `vista` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`vista_id`), + UNIQUE KEY `code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `XDiario` +-- + +DROP TABLE IF EXISTS `XDiario`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `XDiario` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ASIEN` double DEFAULT NULL, + `FECHA` datetime DEFAULT NULL, + `SUBCTA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `CONTRA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `CONCEPTO` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `EURODEBE` decimal(10,2) DEFAULT NULL, + `EUROHABER` decimal(10,2) DEFAULT NULL, + `BASEEURO` decimal(10,2) DEFAULT NULL, + `SERIE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `FACTURA` varchar(8) COLLATE utf8_unicode_ci DEFAULT '0', + `BASEIMPO` decimal(10,2) DEFAULT NULL, + `IVA` decimal(10,2) DEFAULT NULL, + `RECEQUIV` decimal(10,2) DEFAULT '0.00', + `DOCUMENTO` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `DEPARTA` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `CLAVE` int(11) DEFAULT NULL, + `ESTADO` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `NCASADO` decimal(10,2) DEFAULT NULL, + `TCASADO` decimal(10,2) DEFAULT NULL, + `TRANS` decimal(10,2) DEFAULT NULL, + `CAMBIO` decimal(10,2) DEFAULT NULL, + `DEBEME` decimal(10,2) DEFAULT NULL, + `HABERME` decimal(10,2) DEFAULT NULL, + `PTAHABER` decimal(10,2) DEFAULT NULL, + `AUXILIAR` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `SUCURSAL` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + `PTADEBE` decimal(10,2) DEFAULT NULL, + `CODDIVISA` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `IMPAUXME` decimal(10,2) DEFAULT NULL, + `MONEDAUSO` varchar(1) COLLATE utf8_unicode_ci DEFAULT '2', + `NOCONV` tinyint(1) NOT NULL DEFAULT '0', + `NUMEROINV` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `NFACTICK` tinyint(1) NOT NULL DEFAULT '1', + `TERIDNIF` tinyint(1) NOT NULL DEFAULT '2', + `TERNIF` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'I.F.', + `TERNOM` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Nombre Importador', + `OPBIENES` tinyint(1) NOT NULL DEFAULT '1', + `TIPOFAC` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `TIPOIVA` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `L340` tinyint(2) NOT NULL DEFAULT '0', + `enlazado` tinyint(1) NOT NULL DEFAULT '0', + `FECHA_EX` date DEFAULT NULL COMMENT 'FEcha de expedicion de la factura', + `LRECT349` tinyint(1) NOT NULL DEFAULT '0', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `LDIFADUAN` tinyint(4) NOT NULL DEFAULT '0', + `METAL` tinyint(1) NOT NULL DEFAULT '0', + `METALIMP` decimal(10,2) NOT NULL DEFAULT '0.00', + `CLIENTE` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `METALEJE` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + `FECHA_OP` date DEFAULT NULL COMMENT 'FEcha de operacion', + `FACTURAEX` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Numero de factura del proveedor', + `TIPOCLAVE` int(3) DEFAULT NULL, + `TIPOEXENCI` int(3) DEFAULT NULL, + `TIPONOSUJE` int(3) DEFAULT NULL, + `TIPOFACT` int(3) DEFAULT NULL, + `TIPORECTIF` int(3) DEFAULT NULL, + `SERIE_RT` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `FACTU_RT` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `BASEIMP_RT` decimal(10,2) DEFAULT NULL, + `BASEIMP_RF` decimal(10,2) DEFAULT NULL, + `RECTIFICA` int(1) NOT NULL DEFAULT '0', + `FECHA_RT` date DEFAULT NULL, + `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `updated` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `FECREGCON` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `empresa_id` (`empresa_id`), + CONSTRAINT `XDiario_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3191658 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `XDiario_KK` +-- + +DROP TABLE IF EXISTS `XDiario_KK`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `XDiario_KK` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ASIEN` double DEFAULT NULL, + `FECHA` date DEFAULT NULL, + `SUBCTA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `CONTRA` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, + `CONCEPTO` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, + `EURODEBE` decimal(10,2) DEFAULT NULL, + `EUROHABER` decimal(10,2) DEFAULT NULL, + `BASEEURO` decimal(10,2) DEFAULT NULL, + `SERIE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `FACTURA` varchar(8) COLLATE utf8_unicode_ci DEFAULT '0', + `BASEIMPO` decimal(10,2) DEFAULT NULL, + `IVA` decimal(10,2) DEFAULT NULL, + `RECEQUIV` decimal(10,2) DEFAULT '0.00', + `DOCUMENTO` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `DEPARTA` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `CLAVE` int(11) DEFAULT NULL, + `ESTADO` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `NCASADO` decimal(10,2) DEFAULT NULL, + `TCASADO` decimal(10,2) DEFAULT NULL, + `TRANS` decimal(10,2) DEFAULT NULL, + `CAMBIO` decimal(10,2) DEFAULT NULL, + `DEBEME` decimal(10,2) DEFAULT NULL, + `HABERME` decimal(10,2) DEFAULT NULL, + `PTAHABER` decimal(10,2) DEFAULT NULL, + `AUXILIAR` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `SUCURSAL` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + `PTADEBE` decimal(10,2) DEFAULT NULL, + `CODDIVISA` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `IMPAUXME` decimal(10,2) DEFAULT NULL, + `MONEDAUSO` varchar(1) COLLATE utf8_unicode_ci DEFAULT '2', + `NOCONV` tinyint(1) NOT NULL DEFAULT '0', + `NUMEROINV` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `NFACTICK` tinyint(1) NOT NULL DEFAULT '1', + `TERIDNIF` tinyint(1) NOT NULL DEFAULT '2', + `TERNIF` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'I.F.', + `TERNOM` varchar(30) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'Nombre Importador', + `OPBIENES` tinyint(1) NOT NULL DEFAULT '1', + `TIPOFAC` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `TIPOIVA` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `L340` tinyint(2) NOT NULL DEFAULT '0', + `enlazado` tinyint(1) NOT NULL DEFAULT '0', + `FECHA_EX` date DEFAULT NULL COMMENT 'FEcha de expedicion de la factura', + `LRECT349` tinyint(1) NOT NULL DEFAULT '0', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `LDIFADUAN` tinyint(4) NOT NULL DEFAULT '0', + `METAL` tinyint(1) NOT NULL DEFAULT '0', + `METALIMP` decimal(10,2) NOT NULL DEFAULT '0.00', + `FECHA_OP` date DEFAULT NULL COMMENT 'FEcha de operacion', + `FACTURAEX` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Numero de factura del proveedor', + `TIPOCLAVE` int(3) DEFAULT NULL, + `TIPOEXENCI` int(3) DEFAULT NULL, + `TIPONOSUJE` int(3) DEFAULT NULL, + `TIPOFACT` int(3) DEFAULT NULL, + `TIPORECTIF` int(3) DEFAULT NULL, + `SERIE_RT` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `FACTU_RT` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `BASEIMP_RT` decimal(10,2) DEFAULT NULL, + `BASEIMP_RF` decimal(10,2) DEFAULT NULL, + `RECTIFICA` int(1) NOT NULL DEFAULT '0', + `FECHA_RT` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `empresa_id` (`empresa_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `__Cartera_Ventas` +-- + +DROP TABLE IF EXISTS `__Cartera_Ventas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `__Cartera_Ventas` ( + `CodigoTrabajador` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `Mes` int(2) DEFAULT NULL, + `Año` int(4) DEFAULT NULL, + `Motivo` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL, + `Importe` double DEFAULT NULL, + `Id_Ticket` bigint(20) DEFAULT NULL, + `Semana` int(2) DEFAULT NULL, + `Cliente` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + KEY `INDEX1` (`Id_Ticket`), + KEY `INDEX2` (`Mes`,`Año`,`Id_Ticket`), + KEY `INDEX3` (`CodigoTrabajador`,`Mes`,`Año`,`Id_Ticket`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `accion_dits` +-- + +DROP TABLE IF EXISTS `accion_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `accion_dits` ( + `idaccion_dits` int(11) NOT NULL AUTO_INCREMENT, + `accion` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idaccion_dits`), + UNIQUE KEY `accion_UNIQUE` (`accion`) +) ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `account_conciliacion` +-- + +DROP TABLE IF EXISTS `account_conciliacion`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `account_conciliacion` ( + `idaccount_conciliacion` int(11) NOT NULL AUTO_INCREMENT, + `Id_Proveedores_account` mediumint(8) unsigned NOT NULL, + `Fechaoperacion` datetime NOT NULL, + `FechaValor` datetime NOT NULL, + `importe` double NOT NULL, + `Concepto` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `DebeHaber` smallint(6) NOT NULL, + `id_calculated` varchar(90) COLLATE utf8_unicode_ci DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`idaccount_conciliacion`), + UNIQUE KEY `idaccount_conciliacion_UNIQUE` (`idaccount_conciliacion`), + KEY `fg_accconciliacion_key1_idx` (`Id_Proveedores_account`), + KEY `index_id_calculated` (`id_calculated`), + CONSTRAINT `fg_key1_accountconc` FOREIGN KEY (`Id_Proveedores_account`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=29408 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`account_conciliacion_BEFORE_INSERT` +BEFORE INSERT ON `account_conciliacion` FOR EACH ROW + +set new.id_calculated = replace( + replace( + replace( + replace( + concat(new.Id_Proveedores_account,new.Fechaoperacion,new.importe,new.Concepto,new.DebeHaber) + ,' ','') + ,":",'') + ,'-','') + ,'.','') */;; +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 table structure for view `account_customer` +-- + +DROP TABLE IF EXISTS `account_customer`; +/*!50001 DROP VIEW IF EXISTS `account_customer`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `account_customer` ( + `description` tinyint NOT NULL, + `iban` tinyint NOT NULL, + `entity_id` tinyint NOT NULL, + `office` tinyint NOT NULL, + `dc` tinyint NOT NULL, + `number` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `account_detail` +-- + +DROP TABLE IF EXISTS `account_detail`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `account_detail` ( + `account_detail_id` int(11) NOT NULL AUTO_INCREMENT, + `value` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `account_detail_type_id` int(11) NOT NULL, + `Id_Proveedores_account` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`account_detail_id`), + KEY `fk_account_detail_account_detail_type1_idx` (`account_detail_type_id`), + KEY `fk_account_detail_Proveedores_account1_idx` (`Id_Proveedores_account`), + CONSTRAINT `fk_account_detail_account_detail_type1` FOREIGN KEY (`account_detail_type_id`) REFERENCES `account_detail_type` (`account_detail_type_id`) ON UPDATE CASCADE, + CONSTRAINT `fk_account_detail_account_id_proveedores_account` FOREIGN KEY (`Id_Proveedores_account`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `account_detail_type` +-- + +DROP TABLE IF EXISTS `account_detail_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `account_detail_type` ( + `account_detail_type_id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`account_detail_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `accumulatorsReadingDate` +-- + +DROP TABLE IF EXISTS `accumulatorsReadingDate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `accumulatorsReadingDate` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `pagoSdcfk` int(11) NOT NULL, + `readingDate` date NOT NULL COMMENT 'dia en que se revisa la cotizacion del dolar', + `amount` double DEFAULT NULL COMMENT 'cantidad aumentada tras la lectura del tipo de cambio', + PRIMARY KEY (`id`), + KEY `pagoSdcFk_idx` (`pagoSdcfk`), + CONSTRAINT `pagoSdcFk` FOREIGN KEY (`pagoSdcfk`) REFERENCES `pago_sdc` (`pago_sdc_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=271 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `agencia_descuadre` +-- + +DROP TABLE IF EXISTS `agencia_descuadre`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `agencia_descuadre` ( + `agencia_descuadre_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Ticket` int(11) NOT NULL, + `date` date NOT NULL, + `price` double(7,2) NOT NULL, + `Consignatario` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Tipo` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`agencia_descuadre_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `agency` +-- + +DROP TABLE IF EXISTS `agency`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `agency` ( + `agency_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + `warehouse_id` smallint(5) unsigned DEFAULT NULL COMMENT 'A nulo si se puede enrutar desde todos los almacenes', + `por_volumen` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'Si el calculo del porte se hacer por volumen', + `Id_Banco` int(11) NOT NULL DEFAULT '8' COMMENT 'para realizar los reembolsos', + `warehouse_alias_id` smallint(5) unsigned DEFAULT NULL, + `propios` tinyint(1) NOT NULL DEFAULT '0', + `zone_label` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`agency_id`), + KEY `warehouse_id` (`warehouse_id`), + KEY `Id_Banco` (`Id_Banco`), + KEY `agencias_alias_idx` (`warehouse_alias_id`), + CONSTRAINT `agency_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `agency_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=229 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`agency_ai` +AFTER INSERT ON `vn2008`.`agency` +FOR EACH ROW +BEGIN + INSERT INTO Agencias(Agencia,agency_id) VALUES(NEW.name,NEW.agency_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 */ ; + +-- +-- Table structure for table `agency_hour` +-- + +DROP TABLE IF EXISTS `agency_hour`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `agency_hour` ( + `agency_hour_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `week_day` tinyint(3) unsigned DEFAULT NULL COMMENT 'funcion de mysql Lunes = 0, Domingo = 6', + `agency_id` smallint(5) unsigned DEFAULT NULL, + `warehouse_id` smallint(5) unsigned DEFAULT NULL, + `province_id` smallint(5) unsigned DEFAULT NULL, + `subtract_day` tinyint(10) unsigned NOT NULL COMMENT 'dias a restar de la Fecha de entrega', + `max_hour` tinyint(3) unsigned NOT NULL COMMENT 'maxima hora hasta la cual se pueden hacer pedidos', + PRIMARY KEY (`agency_hour_id`), + UNIQUE KEY `week_day` (`week_day`,`agency_id`,`warehouse_id`,`province_id`,`max_hour`), + KEY `agency_id` (`agency_id`), + KEY `warehouse_id` (`warehouse_id`), + KEY `province_id` (`province_id`), + CONSTRAINT `agency_hour_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `agency_hour_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `agency_hour_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=4309 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 `vn2008`.`agency_hourBeforeInsert` BEFORE INSERT ON `agency_hour` FOR EACH ROW +BEGIN + DECLARE vAlreadyExists BOOLEAN DEFAULT FALSE; + IF NEW.week_day IS NULL AND NEW.province_id IS NULL AND NEW.subtract_day = 0 AND NEW.max_hour = 0 THEN + CALL util.throw ('FILL_MORE_FIELDS'); + END IF; + + SELECT COUNT(*) INTO vAlreadyExists + FROM vn2008.agency_hour + WHERE NEW.week_day <=> week_day AND NEW.province_id <=> province_id + AND NEW.warehouse_id <=> warehouse_id AND NEW.max_hour <=> max_hour + AND NEW.agency_id <=> agency_id; + + IF vAlreadyExists > 1 THEN + CALL util.throw('ALREADY_EXISTS'); + 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 `vn2008`.`agency_hour_AFTER_UPDATE` AFTER UPDATE ON `agency_hour` FOR EACH ROW +BEGIN +DECLARE vAlreadyExists BOOLEAN DEFAULT FALSE; + + SELECT COUNT(*) INTO vAlreadyExists + FROM vn2008.agency_hour + WHERE NEW.week_day <=> week_day AND NEW.province_id <=> province_id + AND NEW.warehouse_id <=> warehouse_id AND NEW.max_hour <=> max_hour + AND NEW.agency_id <=> agency_id; + + IF vAlreadyExists > 1 THEN + CALL util.throw('ALREADY_EXISTS'); + 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 `agency_warehouse` +-- + +DROP TABLE IF EXISTS `agency_warehouse`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `agency_warehouse` ( + `agency_id` smallint(5) unsigned NOT NULL, + `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', + `Vista` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`agency_id`,`warehouse_id`), + KEY `warehouse_id` (`warehouse_id`), + CONSTRAINT `agency_warehouse_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `agency` (`agency_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `agency_warehouse_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Indica la vista para cada agencia'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `agency_weekday_bonus` +-- + +DROP TABLE IF EXISTS `agency_weekday_bonus`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `agency_weekday_bonus` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `warehouse_id` smallint(6) unsigned DEFAULT NULL, + `agency_id` smallint(5) unsigned DEFAULT NULL, + `weekDay` tinyint(3) unsigned NOT NULL, + `zona` tinyint(4) DEFAULT NULL, + `bonus` decimal(10,2) NOT NULL DEFAULT '0.00', + PRIMARY KEY (`id`), + UNIQUE KEY `warehouse_id` (`warehouse_id`,`agency_id`,`weekDay`,`zona`) +) ENGINE=InnoDB AUTO_INCREMENT=134 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `airline` +-- + +DROP TABLE IF EXISTS `airline`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `airline` ( + `airline_id` smallint(2) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`airline_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 `airport` +-- + +DROP TABLE IF EXISTS `airport`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `airport` ( + `airport_id` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `name` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`airport_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `albaran` +-- + +DROP TABLE IF EXISTS `albaran`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `albaran` ( + `albaran_id` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `note` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL, + `fecha` date NOT NULL, + `fecha_entrega` date DEFAULT NULL, + `valor` double DEFAULT NULL, + `Id_Proveedor` int(11) NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + `albaran_state_id` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL COMMENT 'Id_Trabajador hace referencia a la persona que ha introducido el albarán', + `Id_Responsable` int(11) NOT NULL, + `department_id` int(11) NOT NULL, + `recibida_id` mediumint(8) unsigned DEFAULT NULL, + PRIMARY KEY (`albaran_id`), + KEY `fk_albaran_Proveedores_idx` (`Id_Proveedor`), + KEY `fk_albaran_empresa1_idx` (`empresa_id`), + KEY `fk_albaran_warehouse1_idx` (`warehouse_id`), + KEY `fk_albaran_albaran_state1_idx` (`albaran_state_id`), + KEY `fk_albaran_Trabajadores1_idx` (`Id_Trabajador`), + KEY `fk_albaran_Trabajadores2_idx` (`Id_Responsable`), + KEY `fk_albaran_department1_idx` (`department_id`), + KEY `fk_albaran_recibida_idx` (`recibida_id`), + CONSTRAINT `fk_albaran_Proveedores` FOREIGN KEY (`Id_Proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_Trabajadores2` FOREIGN KEY (`Id_Responsable`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_albaran_state1` FOREIGN KEY (`albaran_state_id`) REFERENCES `albaran_state` (`albaran_state_id`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_department1` FOREIGN KEY (`department_id`) REFERENCES `department` (`department_id`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_empresa1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_recibida` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_warehouse1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2065 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `albaran_gestdoc` +-- + +DROP TABLE IF EXISTS `albaran_gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `albaran_gestdoc` ( + `gestdoc_id` int(11) NOT NULL, + `albaran_id` int(11) NOT NULL, + PRIMARY KEY (`gestdoc_id`,`albaran_id`), + KEY `fk_albaran_gestdoc_gestdoc1_idx` (`gestdoc_id`), + KEY `fk_albaran_gestdoc_albaran1_idx` (`albaran_id`), + CONSTRAINT `fk_albaran_gestdoc_albaran1` FOREIGN KEY (`albaran_id`) REFERENCES `albaran` (`albaran_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_gestdoc_gestdoc1` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`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 `albaran_state` +-- + +DROP TABLE IF EXISTS `albaran_state`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `albaran_state` ( + `albaran_state_id` int(11) NOT NULL AUTO_INCREMENT, + `state` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`albaran_state_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb` +-- + +DROP TABLE IF EXISTS `awb`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb` ( + `id` smallint(11) unsigned NOT NULL AUTO_INCREMENT, + `codigo` varchar(18) COLLATE utf8_unicode_ci NOT NULL, + `bultos` float unsigned NOT NULL, + `peso` float unsigned DEFAULT NULL, + `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `transitario_id` int(11) NOT NULL DEFAULT '582', + `iva_id` tinyint(3) unsigned DEFAULT '62', + `duakk` varchar(18) COLLATE utf8_unicode_ci DEFAULT NULL, + `gestdoc_id` int(11) DEFAULT NULL, + `importe` double NOT NULL DEFAULT '0', + `carguera_id` int(11) DEFAULT NULL, + `m3` double unsigned DEFAULT NULL, + `stems` int(10) unsigned DEFAULT NULL, + `flight_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `volume_weight` float unsigned DEFAULT NULL, + `hb` decimal(10,1) unsigned DEFAULT NULL, + `rate` decimal(10,2) unsigned DEFAULT NULL, + `booked` datetime DEFAULT NULL, + `issued` datetime DEFAULT NULL, + `operated` datetime DEFAULT NULL, + `bookEntried` date DEFAULT NULL, + `invoiceInFk` mediumint(8) unsigned DEFAULT NULL, + `isChecked` tinyint(3) DEFAULT '0', + `isTransitoryChecked` tinyint(3) DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `codigo_UNIQUE` (`codigo`), + KEY `proveedor_id` (`transitario_id`), + KEY `iva_id` (`iva_id`), + KEY `carguera_id` (`carguera_id`), + KEY `flight_id` (`flight_id`), + KEY `awbInvoiceIn` (`invoiceInFk`), + CONSTRAINT `awbInvoiceIn` FOREIGN KEY (`invoiceInFk`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `awbTransitoryFk` FOREIGN KEY (`transitario_id`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, + CONSTRAINT `awb_ibfk_1` FOREIGN KEY (`iva_id`) REFERENCES `iva_codigo` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2375 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 `awb_ai` AFTER INSERT ON `awb` FOR EACH ROW +BEGIN +DECLARE lastrecibida_id INT; +INSERT INTO recibida(proveedor_id,fecha,empresa_id) + VALUES(NEW.transitario_id,CURDATE(),442); + +SELECT last_insert_id() into lastrecibida_id; + +INSERT INTO awb_recibida(awb_id,recibida_id) + VALUES(NEW.id,lastrecibida_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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`awb_au` AFTER UPDATE ON `awb` FOR EACH ROW +begin + +IF NEW.importe <> OLD.importe THEN + + CALL buy_tarifas_awb(NEW.codigo); + +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 `awb_cargo` +-- + +DROP TABLE IF EXISTS `awb_cargo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_cargo` ( + `awbFk` smallint(11) unsigned NOT NULL, + `id` int(11) DEFAULT NULL, + `awb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, + `awbmaster` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, + `descripcion` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `numawb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, + `codcliente` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `nomcliente` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `codbroker` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `nombroker` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `numawbmaster` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, + `codclientemaster` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `tipoawb` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `fechaexportacion` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `cupo` int(11) DEFAULT NULL, + `pesonetocajaestiamdo` double DEFAULT NULL, + `pesovolumencajaestiamdo` double DEFAULT NULL, + `pesonetoestiamdo` double DEFAULT NULL, + `pesovolumenestiamdo` double DEFAULT NULL, + `aeropuertosalida` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `aeropuertollegada` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `codvuelo` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `numvuelo` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `ruta1` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `ruta2` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `ruta3` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `destinofinal` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `puertodestinofinal` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `tipopago` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `codbodegaentrega` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `bodegaentrega` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `codpaletizadora` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `paletizadora` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `mrn` varchar(24) COLLATE utf8_unicode_ci DEFAULT NULL, + `cierre` int(11) DEFAULT NULL, + `numebarque` int(11) DEFAULT NULL, + `pesonetocorte` double DEFAULT NULL, + `pesovolumencorte` double DEFAULT NULL, + `pcsreservadas` int(11) DEFAULT NULL, + `bxsreservadas` double DEFAULT NULL, + `pcsconfirmadas` int(11) DEFAULT NULL, + `bxsconfirmadas` double DEFAULT NULL, + `codlineacamion` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`awbFk`), + KEY `awb_cargo_fk1_idx` (`awbFk`), + CONSTRAINT `awb_cargo_fk1` FOREIGN KEY (`awbFk`) REFERENCES `awb` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Aloja los datos correspondientes al embarque relativos a la carguera'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_component` +-- + +DROP TABLE IF EXISTS `awb_component`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_component` ( + `awb_id` smallint(11) unsigned DEFAULT NULL, + `Id_Proveedor` int(11) NOT NULL, + `Fecha` date NOT NULL, + `awb_component_type_id` mediumint(3) unsigned DEFAULT NULL, + `awb_role_id` tinyint(1) unsigned NOT NULL DEFAULT '1', + `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `value` decimal(10,2) DEFAULT NULL, + `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '2', + `recibida_id` mediumint(8) unsigned DEFAULT NULL, + UNIQUE KEY `unique_idx` (`awb_id`,`Id_Proveedor`,`awb_component_type_id`,`Fecha`), + KEY `Id_Moneda` (`Id_Moneda`), + KEY `awb_component_fk` (`awb_component_type_id`), + KEY `awb_role_fk` (`awb_role_id`), + KEY `awb_unit_fk` (`awb_unit_id`), + CONSTRAINT `Id_Monedafk` FOREIGN KEY (`Id_Moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON DELETE CASCADE, + CONSTRAINT `awb_component_` FOREIGN KEY (`awb_component_type_id`) REFERENCES `awb_component_type` (`awb_component_type_id`) ON UPDATE CASCADE, + CONSTRAINT `awb_role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE, + CONSTRAINT `awb_unit_fk` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_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 `awb_component_template` +-- + +DROP TABLE IF EXISTS `awb_component_template`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_component_template` ( + `awb_component_template_id` int(11) NOT NULL AUTO_INCREMENT, + `carguera_id` int(11) DEFAULT NULL, + `airport_in` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `airport_out` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `airline_id` smallint(2) unsigned DEFAULT NULL, + `awb_component_type_id` mediumint(3) unsigned NOT NULL, + `Fecha` date NOT NULL, + `awb_role_id` tinyint(1) unsigned NOT NULL, + `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `value` decimal(10,3) DEFAULT NULL, + `max_value` decimal(10,2) unsigned DEFAULT NULL, + `min_value` decimal(10,2) unsigned DEFAULT NULL, + `Id_Moneda` tinyint(3) unsigned NOT NULL DEFAULT '2', + `days` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`awb_component_template_id`), + UNIQUE KEY `carguera_id_UNIQUE` (`carguera_id`,`airport_in`,`airport_out`,`airline_id`,`awb_component_type_id`,`Fecha`,`days`), + KEY `Id_Moneda` (`Id_Moneda`), + KEY `airline_idx` (`airline_id`), + KEY `role_idx` (`awb_role_id`), + KEY `awb_unit_fk1` (`awb_unit_id`), + CONSTRAINT `Id_Moneda` FOREIGN KEY (`Id_Moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON UPDATE CASCADE, + CONSTRAINT `awb_unit_fk1` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_id`) ON UPDATE CASCADE, + CONSTRAINT `role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=484 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_component_type` +-- + +DROP TABLE IF EXISTS `awb_component_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_component_type` ( + `awb_component_type_id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`awb_component_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_coordinacion` +-- + +DROP TABLE IF EXISTS `awb_coordinacion`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_coordinacion` ( + `hawb` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `awb` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL, + `codexportador` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `nomexportador` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `pcs` int(11) DEFAULT NULL, + `bxs` double DEFAULT NULL, + `producto` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `numdae` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `id` int(11) DEFAULT NULL, + `descripcion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `awbFk` smallint(11) unsigned DEFAULT NULL, + PRIMARY KEY (`hawb`), + KEY `awb_coordinacion_fk1_idx` (`awbFk`), + CONSTRAINT `awb_coordinacion_fk1` FOREIGN KEY (`awbFk`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Soporta la información relativa a las facturas que componen un embarque'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_daes` +-- + +DROP TABLE IF EXISTS `awb_daes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_daes` ( + `id` int(11) NOT NULL, + `descripcion` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `numdae` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `fechainicial` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `fechafinal` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `aeropuertosalida` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `codpais` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `codexportador` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL, + `supplierFk` int(11) DEFAULT NULL, + PRIMARY KEY (`numdae`), + KEY `awb_daes_fk1_idx` (`supplierFk`), + CONSTRAINT `awb_daes_fk1` FOREIGN KEY (`supplierFk`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_gestdoc` +-- + +DROP TABLE IF EXISTS `awb_gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_gestdoc` ( + `awb_gestdoc_id` int(11) NOT NULL AUTO_INCREMENT, + `awb_id` smallint(11) unsigned NOT NULL, + `gestdoc_id` int(11) NOT NULL, + PRIMARY KEY (`awb_gestdoc_id`), + KEY `awb_gestdoc_awb_fk` (`awb_id`), + KEY `awb_gestdoc_gestdoc_fk` (`gestdoc_id`), + CONSTRAINT `awb_gestdoc_awb_fk` FOREIGN KEY (`awb_id`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `awb_gestdoc_gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2077 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_recibida` +-- + +DROP TABLE IF EXISTS `awb_recibida`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_recibida` ( + `awb_id` smallint(5) unsigned NOT NULL, + `recibida_id` mediumint(8) unsigned NOT NULL, + `dua` varchar(18) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`recibida_id`), + KEY `awb_id` (`awb_id`), + CONSTRAINT `awb_recibida_ibfk_1` FOREIGN KEY (`awb_id`) REFERENCES `awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `awb_recibida_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `awb_recibida_ad` AFTER DELETE ON `awb_recibida` FOR EACH ROW +IF (SELECT COUNT(*) FROM recibida_iva where recibida_id = OLD.recibida_id) = 0 + AND + (SELECT COUNT(*) FROM recibida_vencimiento where recibida_id = OLD.recibida_id) = 0 + AND + (SELECT contabilizada FROM recibida WHERE id = OLD.recibida_id) = 0 +THEN + DELETE FROM recibida WHERE id = OLD.recibida_id; +END IF */;; +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 `awb_role` +-- + +DROP TABLE IF EXISTS `awb_role`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_role` ( + `awb_role_id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`awb_role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `awb_unit` +-- + +DROP TABLE IF EXISTS `awb_unit`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `awb_unit` ( + `awb_unit_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + `operation` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`awb_unit_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='tipos de unidades'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `awb_volume` +-- + +DROP TABLE IF EXISTS `awb_volume`; +/*!50001 DROP VIEW IF EXISTS `awb_volume`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `awb_volume` ( + `awb_id` tinyint NOT NULL, + `volume` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `balance_nest_tree` +-- + +DROP TABLE IF EXISTS `balance_nest_tree`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `balance_nest_tree` ( + `lft` int(11) DEFAULT NULL, + `rgt` int(11) DEFAULT NULL, + `name` text COLLATE utf8_unicode_ci, + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=383 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` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Article` int(11) NOT NULL, + `code` varchar(22) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code` (`code`), + UNIQUE KEY `Id_Article_2` (`Id_Article`,`code`), + KEY `Id_Article` (`Id_Article`), + CONSTRAINT `barcodes_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=34217 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `bionic_updating_options` +-- + +DROP TABLE IF EXISTS `bionic_updating_options`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `bionic_updating_options` ( + `buo_id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`buo_id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla pondremos las distintas opciones que se ofrecen al comecial o al cliente al cambiar alguno de los parametros básicos de un ticket'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `botanic_export` +-- + +DROP TABLE IF EXISTS `botanic_export`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `botanic_export` ( + `botanic_export_id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `edi_genus_id` mediumint(8) unsigned NOT NULL, + `edi_specie_id` mediumint(8) unsigned DEFAULT NULL, + `Id_Paises` mediumint(8) unsigned DEFAULT NULL, + `restriction` enum('Sin restriccion','Importacion Prohibida','Se Requiere Certificado','pasaporte individual','declaracion origen') CHARACTER SET utf8 NOT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`botanic_export_id`), + KEY `Id_Paises` (`Id_Paises`), + CONSTRAINT `botanic_export_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `Paises` (`Id`) +) ENGINE=InnoDB AUTO_INCREMENT=274 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Especifica los generos y especies prohibidos en paises'; +/*!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 `vn2008`.`botanic_exportBeforeInsert` BEFORE INSERT ON `botanic_export` FOR EACH ROW +BEGIN + IF (SELECT botanic_export_is_updatable (NEW.edi_genus_id, NEW.edi_specie_id, NEW.id_Paises, NEW.restriction) ) > 0 THEN + CALL util.throw ('Datos duplicados'); + 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 `businessReasonEnd` +-- + +DROP TABLE IF EXISTS `businessReasonEnd`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `businessReasonEnd` ( + `id` tinyint(3) NOT NULL AUTO_INCREMENT, + `reason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `business_labour_payrroll` +-- + +DROP TABLE IF EXISTS `business_labour_payrroll`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `business_labour_payrroll` ( + `business_id` int(11) NOT NULL, + `cod_tarifa` int(11) NOT NULL, + `cod_categoria` int(11) NOT NULL, + `cod_contrato` int(11) NOT NULL, + `importepactado` double NOT NULL DEFAULT '0', + PRIMARY KEY (`business_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `buy_edi` +-- + +DROP TABLE IF EXISTS `buy_edi`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `buy_edi` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `barcode` char(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `entry_year` smallint(5) unsigned NOT NULL, + `delivery_number` bigint(20) unsigned DEFAULT NULL, + `fec` date DEFAULT NULL, + `hor` time DEFAULT NULL, + `now` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `ptj` mediumint(8) unsigned DEFAULT NULL, + `ref` int(11) NOT NULL, + `item` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `pac` int(11) DEFAULT '0', + `qty` int(10) unsigned NOT NULL, + `ori` varchar(3) COLLATE utf8_unicode_ci DEFAULT 'NL', + `cat` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + `agj` int(11) DEFAULT NULL, + `kop` int(11) DEFAULT NULL, + `ptd` varchar(6) COLLATE utf8_unicode_ci DEFAULT NULL, + `sub` mediumint(8) unsigned DEFAULT NULL, + `pro` mediumint(8) unsigned NOT NULL, + `pri` double NOT NULL, + `package` int(10) unsigned DEFAULT NULL, + `auction` smallint(5) unsigned DEFAULT NULL, + `klo` smallint(5) unsigned DEFAULT NULL, + `k01` smallint(5) unsigned DEFAULT NULL, + `k02` smallint(5) unsigned DEFAULT NULL, + `k03` tinyint(3) unsigned DEFAULT NULL, + `k04` tinyint(3) unsigned DEFAULT NULL, + `s1` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `s2` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `s3` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `s4` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + `s5` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `s6` varchar(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `ok` tinyint(4) NOT NULL DEFAULT '0', + `trolley_id` int(11) DEFAULT NULL, + `scanned` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) USING BTREE, + UNIQUE KEY `barcode_year` (`barcode`,`entry_year`), + UNIQUE KEY `delivery_number` (`delivery_number`), + KEY `ref` (`ref`), + KEY `ptj` (`ptj`), + KEY `pro` (`pro`), + KEY `kop` (`kop`), + KEY `barcode` (`barcode`), + KEY `fec` (`fec`) +) ENGINE=InnoDB AUTO_INCREMENT=644468 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `buy_edi_k012` +-- + +DROP TABLE IF EXISTS `buy_edi_k012`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `buy_edi_k012` ( + `buy_edi_k012_id` smallint(6) unsigned NOT NULL, + `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`buy_edi_k012_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características negativas de los articulos de subasta'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `buy_edi_k03` +-- + +DROP TABLE IF EXISTS `buy_edi_k03`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `buy_edi_k03` ( + `buy_edi_k03_id` tinyint(3) unsigned NOT NULL, + `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`buy_edi_k03_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características fitosanitarias de los articulos de subasta'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `buy_edi_k04` +-- + +DROP TABLE IF EXISTS `buy_edi_k04`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `buy_edi_k04` ( + `buy_edi_k04_id` tinyint(3) unsigned NOT NULL, + `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`buy_edi_k04_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Características calidad de los articulos de subasta'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `call_information` +-- + +DROP TABLE IF EXISTS `call_information`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `call_information` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Descripcio` text COLLATE utf8_unicode_ci NOT NULL, + `Conclusio` tinyint(3) unsigned NOT NULL, + `Id_Cliente` int(11) NOT NULL, + `fecha` date NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `call_option` +-- + +DROP TABLE IF EXISTS `call_option`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `call_option` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `descripcion` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `callings` +-- + +DROP TABLE IF EXISTS `callings`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `callings` ( + `id` int(11) NOT NULL, + `motivo` varchar(105) COLLATE utf8_unicode_ci DEFAULT NULL, + `tel1` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `tel2` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `situacion` varchar(45) COLLATE utf8_unicode_ci 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 `callingtasksKK` +-- + +DROP TABLE IF EXISTS `callingtasksKK`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `callingtasksKK` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `instruccion` varchar(99) COLLATE utf8_unicode_ci DEFAULT NULL, + `tel1` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `tel2` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `situacion` varchar(99) COLLATE utf8_unicode_ci DEFAULT NULL, + `closed` tinyint(1) DEFAULT '0', + `Id_Trabajador` tinyint(4) DEFAULT NULL, + `Id_Prioridad` tinyint(4) DEFAULT '2', + `selected` tinyint(4) DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `cdr` +-- + +DROP TABLE IF EXISTS `cdr`; +/*!50001 DROP VIEW IF EXISTS `cdr`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `cdr` ( + `calldate` tinyint NOT NULL, + `clid` tinyint NOT NULL, + `src` tinyint NOT NULL, + `dst` tinyint NOT NULL, + `dcontext` tinyint NOT NULL, + `channel` tinyint NOT NULL, + `dstchannel` tinyint NOT NULL, + `lastapp` tinyint NOT NULL, + `lastdata` tinyint NOT NULL, + `duration` tinyint NOT NULL, + `billsec` tinyint NOT NULL, + `disposition` tinyint NOT NULL, + `amaflags` tinyint NOT NULL, + `accountcode` tinyint NOT NULL, + `uniqueid` tinyint NOT NULL, + `userfield` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `chanel` +-- + +DROP TABLE IF EXISTS `chanel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `chanel` ( + `chanel_id` smallint(6) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`chanel_id`) +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Canal por el que nos ha conocido un cliente y se ha dado de'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `chat` +-- + +DROP TABLE IF EXISTS `chat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `chat` ( + `chat_id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Trabajador` int(11) NOT NULL, + `msg` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`chat_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Para chatear los compradores, en el frmRESERVE de la COMPARATIVA'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `city` +-- + +DROP TABLE IF EXISTS `city`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `city` ( + `city_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `province_id` smallint(6) unsigned DEFAULT NULL, + `nst_geo_id` int(11) DEFAULT NULL, + `nst_name` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`city_id`), + UNIQUE KEY `province_city_pk` (`province_id`,`name`), + KEY `NST_CITY_FK_idx` (`nst_geo_id`), + CONSTRAINT `nst_geo_city` FOREIGN KEY (`nst_geo_id`) REFERENCES `nst`.`geo` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `province_city_fk` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=4423 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 `vn2008`.`city_BEFORE_INSERT` BEFORE INSERT ON `city` FOR EACH ROW +BEGIN + +SET new.nst_name = 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 */ ; +/*!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 `vn2008`.`city_AFTER_DELETE` AFTER DELETE ON `city` FOR EACH ROW +BEGIN + +CALL nst.del(OLD.nst_geo_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 */ ; + +-- +-- Table structure for table `cl_act` +-- + +DROP TABLE IF EXISTS `cl_act`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_act` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Movimiento` int(11) DEFAULT NULL, + `cl_main_id` int(10) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL DEFAULT '20', + `cl_sol_id` tinyint(4) DEFAULT NULL, + `greuge` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `cl_main_id` (`cl_main_id`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `Id_Movimiento` (`Id_Movimiento`), + KEY `cl_sol_id` (`cl_sol_id`), + CONSTRAINT `cl_act_ibfk_1` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `cl_act_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `cl_act_ibfk_4` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=77649 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_cau` +-- + +DROP TABLE IF EXISTS `cl_cau`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_cau` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `cl_main_id` int(10) unsigned NOT NULL, + `cl_res_id` int(10) unsigned NOT NULL DEFAULT '1', + `Id_Trabajador` int(11) NOT NULL DEFAULT '20', + `cl_mot_id` int(10) unsigned NOT NULL DEFAULT '1', + `cl_con_id` int(10) unsigned NOT NULL DEFAULT '1', + `cl_dev` tinyint(3) unsigned NOT NULL DEFAULT '1', + `cl_sol` tinyint(3) unsigned NOT NULL DEFAULT '2', + PRIMARY KEY (`id`), + KEY `cl_main_id` (`cl_main_id`), + KEY `cl_res_id` (`cl_res_id`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `cl_mot_id` (`cl_mot_id`), + KEY `cl_con_id` (`cl_con_id`), + KEY `cl_dev` (`cl_dev`), + KEY `cl_sol` (`cl_sol`), + CONSTRAINT `cl_cau_ibfk_10` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_11` FOREIGN KEY (`cl_dev`) REFERENCES `cl_dev` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_12` FOREIGN KEY (`cl_sol`) REFERENCES `cl_sol` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_6` FOREIGN KEY (`cl_res_id`) REFERENCES `cl_res` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_7` FOREIGN KEY (`cl_mot_id`) REFERENCES `cl_mot` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_8` FOREIGN KEY (`cl_con_id`) REFERENCES `cl_con` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_cau_ibfk_9` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=43084 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_con` +-- + +DROP TABLE IF EXISTS `cl_con`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_con` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `consecuencia` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Consecuencias de los motivos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_dep` +-- + +DROP TABLE IF EXISTS `cl_dep`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_dep` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `departamento` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Departamentos para las quejas'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_det` +-- + +DROP TABLE IF EXISTS `cl_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_det` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `cl_main_id` int(10) unsigned NOT NULL, + `Id_Movimiento` int(11) DEFAULT NULL, + `cl_que_id` int(10) unsigned NOT NULL DEFAULT '1', + `cl_pet_id` int(1) unsigned NOT NULL DEFAULT '1', + `numero` double DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `Id_Movimiento` (`Id_Movimiento`), + KEY `cl_pet_id` (`cl_pet_id`), + KEY `cl_que_id` (`cl_que_id`), + KEY `cl_main_id` (`cl_main_id`), + CONSTRAINT `cl_det_ibfk_5` FOREIGN KEY (`cl_que_id`) REFERENCES `cl_que` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_det_ibfk_6` FOREIGN KEY (`cl_pet_id`) REFERENCES `cl_pet` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_det_ibfk_7` FOREIGN KEY (`Id_Movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `cl_det_ibfk_8` FOREIGN KEY (`cl_main_id`) REFERENCES `cl_main` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=107737 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_dev` +-- + +DROP TABLE IF EXISTS `cl_dev`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_dev` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `devolucion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Método por el cual el cliente nos devuelve la mercancía'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_est` +-- + +DROP TABLE IF EXISTS `cl_est`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_est` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `estado` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Estados posibles de las reclamaciones'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_main` +-- + +DROP TABLE IF EXISTS `cl_main`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_main` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Fecha` datetime NOT NULL, + `cl_dep_id` tinyint(3) unsigned DEFAULT NULL, + `cl_est_id` int(10) unsigned NOT NULL DEFAULT '1', + `notas` text COLLATE utf8_unicode_ci, + `Id_Cliente` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `sensib` int(1) unsigned NOT NULL DEFAULT '3', + `mana` tinyint(1) NOT NULL DEFAULT '0', + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `cl_dep_id` (`cl_dep_id`), + KEY `cl_est_id` (`cl_est_id`), + KEY `Id_Cliente` (`Id_Cliente`), + KEY `Id_Trabajador` (`Id_Trabajador`), + CONSTRAINT `cl_main_ibfk_3` FOREIGN KEY (`cl_est_id`) REFERENCES `cl_est` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_main_ibfk_4` FOREIGN KEY (`cl_dep_id`) REFERENCES `cl_dep` (`id`) ON UPDATE CASCADE, + CONSTRAINT `cl_main_ibfk_5` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=46002 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_mot` +-- + +DROP TABLE IF EXISTS `cl_mot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_mot` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `motivo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Motivos de las fallos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_pet` +-- + +DROP TABLE IF EXISTS `cl_pet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_pet` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `peticion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Peticiones de los cliente en relacion a las quejas'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_que` +-- + +DROP TABLE IF EXISTS `cl_que`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_que` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `queja` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queja por linea de las reclamaciones'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_res` +-- + +DROP TABLE IF EXISTS `cl_res`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_res` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `responsable` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `sensibility` tinyint(4) NOT NULL DEFAULT '0' COMMENT 'if=1 >sensib >culpa', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Responsables de las causas'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cl_sol` +-- + +DROP TABLE IF EXISTS `cl_sol`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cl_sol` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `solucion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Solucion ofrecida a la reclamación'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `clientMana` +-- + +DROP TABLE IF EXISTS `clientMana`; +/*!50001 DROP VIEW IF EXISTS `clientMana`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `clientMana` ( + `Id_Cliente` tinyint NOT NULL, + `ManaUnitario` tinyint NOT NULL, + `ManaTotal` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `Concepte` tinyint NOT NULL, + `Cantidad` tinyint NOT NULL, + `Preu` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `client_observation` +-- + +DROP TABLE IF EXISTS `client_observation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `client_observation` ( + `client_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `text` text COLLATE utf8_unicode_ci NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`client_observation_id`), + KEY `Id_Trabajador` (`Id_Trabajador`), + KEY `Id_Cliente` (`Id_Cliente`), + CONSTRAINT `client_observation_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `client_observation_ibfk_2` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=57501 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `clientes_gestdoc` +-- + +DROP TABLE IF EXISTS `clientes_gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientes_gestdoc` ( + `Id_Cliente` int(11) NOT NULL, + `gest_doc_id` int(11) NOT NULL, + PRIMARY KEY (`Id_Cliente`,`gest_doc_id`), + KEY `gest_doc_id` (`gest_doc_id`), + CONSTRAINT `clientes_gestdoc_ibfk_2` FOREIGN KEY (`gest_doc_id`) REFERENCES `gestdoc` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `clientes_gestdoc_ibfk_3` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `clientes_regalos_enc` +-- + +DROP TABLE IF EXISTS `clientes_regalos_enc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientes_regalos_enc` ( + `Id_Cliente` int(11) NOT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Regalo` int(11) NOT NULL, + PRIMARY KEY (`Id_Cliente`,`Id_Regalo`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `clientes_regalos_lista_enc` +-- + +DROP TABLE IF EXISTS `clientes_regalos_lista_enc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientes_regalos_lista_enc` ( + `Id_Regalo` int(11) NOT NULL AUTO_INCREMENT, + `Descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `Activo` bit(1) NOT NULL DEFAULT b'0', + `foto` blob, + `datstart` date DEFAULT NULL, + `datend` date DEFAULT NULL, + `warehouse_id` smallint(6) unsigned DEFAULT '1', + `province_id` smallint(5) unsigned DEFAULT NULL, + PRIMARY KEY (`Id_Regalo`) +) ENGINE=MyISAM AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `clientes_tipo` +-- + +DROP TABLE IF EXISTS `clientes_tipo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientes_tipo` ( + `clientes_tipo_id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(20) CHARACTER SET utf8 NOT NULL, + `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`clientes_tipo_id`), + UNIQUE KEY `code_UNIQUE` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Establece categorias para poder agrupar las ventas'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `commission` +-- + +DROP TABLE IF EXISTS `commission`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `commission` ( + `commisision_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `percentage` tinyint(3) unsigned NOT NULL, + `value` float unsigned NOT NULL, + PRIMARY KEY (`commisision_id`) +) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!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` int(11) NOT NULL, + `generic_item` int(11) NOT NULL COMMENT 'Id del artículo genérico', + `edi_entry` int(11) NOT NULL COMMENT 'Entrada usada para los EKTs', + `lastMana` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `config_host` +-- + +DROP TABLE IF EXISTS `config_host`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `config_host` ( + `config_host_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `warehouse` smallint(6) unsigned NOT NULL DEFAULT '1', + `empresa_id` smallint(6) unsigned NOT NULL DEFAULT '442', + `caja` int(11) DEFAULT '13', + `Id_Impresora` tinyint(3) unsigned DEFAULT '27', + `Permanente` tinyint(1) unsigned DEFAULT '1', + `route_days_before` smallint(6) DEFAULT '2', + `route_days_after` smallint(6) DEFAULT '1', + PRIMARY KEY (`config_host_id`), + KEY `warehouse` (`warehouse`), + KEY `empresa_id` (`empresa_id`), + KEY `caja` (`caja`), + KEY `Id_Impresora` (`Id_Impresora`), + CONSTRAINT `config_host_ibfk_1` FOREIGN KEY (`caja`) REFERENCES `Bancos` (`Id_Banco`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `config_host_ibfk_2` FOREIGN KEY (`warehouse`) REFERENCES `warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `config_host_ibfk_3` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `config_host_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sustituye al antiguo TPV_Settings'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `config_host_forms` +-- + +DROP TABLE IF EXISTS `config_host_forms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `config_host_forms` ( + `config_host_id` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `formname` varchar(56) COLLATE utf8_unicode_ci NOT NULL, + `x` int(8) NOT NULL, + `y` int(8) NOT NULL, + `h` int(8) NOT NULL, + `l` int(8) NOT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`config_host_id`,`formname`), + CONSTRAINT `config_host_form_ibfk_1` FOREIGN KEY (`config_host_id`) REFERENCES `config_host` (`config_host_id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registra las posiciones de los formularios'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `consignatarios_observation` +-- + +DROP TABLE IF EXISTS `consignatarios_observation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `consignatarios_observation` ( + `consignatarios_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Consigna` int(11) NOT NULL, + `observation_type_id` tinyint(3) unsigned NOT NULL, + `text` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`consignatarios_observation_id`), + UNIQUE KEY `Id_Consigna` (`Id_Consigna`,`observation_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2905 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `container` +-- + +DROP TABLE IF EXISTS `container`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `container` ( + `container_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `Continente` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`container_id`) +) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cooler_path` +-- + +DROP TABLE IF EXISTS `cooler_path`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cooler_path` ( + `cooler_path_id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`cooler_path_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define el orden en que se imprimen los F5'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cooler_path_detail` +-- + +DROP TABLE IF EXISTS `cooler_path_detail`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cooler_path_detail` ( + `cooler_path_detail_id` int(11) NOT NULL AUTO_INCREMENT, + `cooler_path_id` int(11) NOT NULL DEFAULT '1', + `pasillo` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`cooler_path_id`,`pasillo`), + UNIQUE KEY `cooler_path_detail_id_UNIQUE` (`cooler_path_detail_id`) +) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cp` +-- + +DROP TABLE IF EXISTS `cp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cp` ( + `cp_id` int(11) NOT NULL AUTO_INCREMENT, + `cpd` int(11) NOT NULL, + `cph` int(11) NOT NULL, + `zone_id` smallint(6) DEFAULT NULL, + `town` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`cp_id`) +) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relacio de codis postals i el municipi al qual se asigna'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `credit` +-- + +DROP TABLE IF EXISTS `credit`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `credit` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL, + `amount` double unsigned NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Trabajador` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `workers_fk_idx` (`Id_Trabajador`), + KEY `credit_ClienteFk` (`Id_Cliente`), + CONSTRAINT `credit_ClienteFk` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `workers_fk` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=59773 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `credit_card` +-- + +DROP TABLE IF EXISTS `credit_card`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `credit_card` ( + `credit_card_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(10) NOT NULL, + `number` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `expiration_month` tinyint(2) unsigned zerofill NOT NULL, + `expiration_year` tinyint(2) unsigned zerofill NOT NULL, + `priority` tinyint(3) unsigned NOT NULL DEFAULT '1', + `obs` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`credit_card_id`), + KEY `Id_Cliente` (`Id_Cliente`), + CONSTRAINT `credit_card_ibfk_1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=956 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cyc` +-- + +DROP TABLE IF EXISTS `cyc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cyc` ( + `Id_Cliente` int(11) NOT NULL, + `Riesgo` double DEFAULT NULL, + `Fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `cyc_id` int(11) NOT NULL AUTO_INCREMENT, + PRIMARY KEY (`cyc_id`), + KEY `Cliente` (`Id_Cliente`), + CONSTRAINT `Cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=467096 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que estan clasificados en Credito y Cau'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cyc_declaration` +-- + +DROP TABLE IF EXISTS `cyc_declaration`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cyc_declaration` ( + `factura_id` int(10) unsigned NOT NULL, + `Riesgo` double DEFAULT NULL, + `Fecha` date NOT NULL, + `Vencimiento` int(10) NOT NULL DEFAULT '0', + PRIMARY KEY (`factura_id`), + CONSTRAINT `Factura` FOREIGN KEY (`factura_id`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registro de las facturas declaradas a cyc'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `daily_task_log` +-- + +DROP TABLE IF EXISTS `daily_task_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `daily_task_log` ( + `consulta` varchar(250) COLLATE utf8_unicode_ci NOT NULL, + `odbc_date` 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 `definitivo` +-- + +DROP TABLE IF EXISTS `definitivo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `definitivo` ( + `definitivo_id` int(11) NOT NULL, + `empresa_id` int(11) NOT NULL, + `desde` bigint(20) NOT NULL, + `hasta` bigint(20) NOT NULL, + `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`definitivo_id`,`empresa_id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `department` +-- + +DROP TABLE IF EXISTS `department`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `department` ( + `department_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `lft` int(11) NOT NULL, + `rgt` int(11) NOT NULL, + `Id_Trabajador` int(11) DEFAULT NULL COMMENT 'Id_Trabajador es el jefe del departamento', + PRIMARY KEY (`department_id`), + UNIQUE KEY `lft_UNIQUE` (`lft`), + UNIQUE KEY `rgt_UNIQUE` (`rgt`), + UNIQUE KEY `name_UNIQUE` (`name`), + KEY `fk_department_Trabajadores1_idx` (`Id_Trabajador`), + CONSTRAINT `fk_department_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `device` +-- + +DROP TABLE IF EXISTS `device`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `device` ( + `device_id` int(11) NOT NULL AUTO_INCREMENT, + `sn` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `model` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`device_id`), + UNIQUE KEY `device_id_UNIQUE` (`device_id`), + UNIQUE KEY `sn_UNIQUE` (`sn`) +) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `device_user` +-- + +DROP TABLE IF EXISTS `device_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `device_user` ( + `device_id` int(11) NOT NULL, + `user_id` int(11) NOT NULL, + PRIMARY KEY (`device_id`,`user_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `dhl` +-- + +DROP TABLE IF EXISTS `dhl`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `dhl` ( + `codigo_postal` mediumint(8) unsigned NOT NULL, + `frecuencia` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`codigo_postal`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `dock` +-- + +DROP TABLE IF EXISTS `dock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `dock` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + `xPos` int(11) DEFAULT NULL, + `yPos` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code_UNIQUE` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Soporta la estructura de muelles de paletizacion'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `duaDismissed` +-- + +DROP TABLE IF EXISTS `duaDismissed`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `duaDismissed` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ticketFk` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`,`ticketFk`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `edi_article` +-- + +DROP TABLE IF EXISTS `edi_article`; +/*!50001 DROP VIEW IF EXISTS `edi_article`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_article` ( + `id` tinyint NOT NULL, + `product_name` tinyint NOT NULL, + `name` tinyint NOT NULL, + `plant_id` tinyint NOT NULL, + `group_id` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_bucket` +-- + +DROP TABLE IF EXISTS `edi_bucket`; +/*!50001 DROP VIEW IF EXISTS `edi_bucket`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_bucket` ( + `bucket_id` tinyint NOT NULL, + `bucket_type_id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `x_size` tinyint NOT NULL, + `y_size` tinyint NOT NULL, + `z_size` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_bucket_type` +-- + +DROP TABLE IF EXISTS `edi_bucket_type`; +/*!50001 DROP VIEW IF EXISTS `edi_bucket_type`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_bucket_type` ( + `bucket_type_id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_feature` +-- + +DROP TABLE IF EXISTS `edi_feature`; +/*!50001 DROP VIEW IF EXISTS `edi_feature`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_feature` ( + `item_id` tinyint NOT NULL, + `feature_type_id` tinyint NOT NULL, + `feature_value` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_genus` +-- + +DROP TABLE IF EXISTS `edi_genus`; +/*!50001 DROP VIEW IF EXISTS `edi_genus`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_genus` ( + `genus_id` tinyint NOT NULL, + `latin_genus_name` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_item_feature` +-- + +DROP TABLE IF EXISTS `edi_item_feature`; +/*!50001 DROP VIEW IF EXISTS `edi_item_feature`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_item_feature` ( + `item_id` tinyint NOT NULL, + `presentation_order` tinyint NOT NULL, + `feature` tinyint NOT NULL, + `regulation_type` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_plant` +-- + +DROP TABLE IF EXISTS `edi_plant`; +/*!50001 DROP VIEW IF EXISTS `edi_plant`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_plant` ( + `plant_id` tinyint NOT NULL, + `genus_id` tinyint NOT NULL, + `specie_id` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_specie` +-- + +DROP TABLE IF EXISTS `edi_specie`; +/*!50001 DROP VIEW IF EXISTS `edi_specie`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_specie` ( + `specie_id` tinyint NOT NULL, + `genus_id` tinyint NOT NULL, + `latin_species_name` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_supplier` +-- + +DROP TABLE IF EXISTS `edi_supplier`; +/*!50001 DROP VIEW IF EXISTS `edi_supplier`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_supplier` ( + `supplier_id` tinyint NOT NULL, + `company_name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `edi_testigos` +-- + +DROP TABLE IF EXISTS `edi_testigos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `edi_testigos` ( + `id` smallint(6) NOT NULL AUTO_INCREMENT, + `table` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + `field` varchar(32) COLLATE utf8_unicode_ci NOT NULL, + `testigo` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `edi_type` +-- + +DROP TABLE IF EXISTS `edi_type`; +/*!50001 DROP VIEW IF EXISTS `edi_type`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_type` ( + `type_id` tinyint NOT NULL, + `type_group_id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `edi_value` +-- + +DROP TABLE IF EXISTS `edi_value`; +/*!50001 DROP VIEW IF EXISTS `edi_value`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `edi_value` ( + `type_id` tinyint NOT NULL, + `type_value` tinyint NOT NULL, + `type_description` tinyint NOT NULL, + `entry_date` tinyint NOT NULL, + `expiry_date` tinyint NOT NULL, + `change_date_time` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `emp_day_pay` +-- + +DROP TABLE IF EXISTS `emp_day_pay`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `emp_day_pay` ( + `id` smallint(5) unsigned NOT NULL, + `emp_day_pay` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`id`,`emp_day_pay`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `empresa` +-- + +DROP TABLE IF EXISTS `empresa`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `empresa` ( + `id` smallint(5) unsigned NOT NULL, + `abbreviation` char(3) COLLATE utf8_unicode_ci DEFAULT NULL, + `registro` varchar(120) COLLATE utf8_unicode_ci NOT NULL, + `gerente_id` int(11) NOT NULL, + `alta` date NOT NULL, + `baja` date DEFAULT NULL, + `logo` longblob, + `oficial` tinyint(1) unsigned NOT NULL DEFAULT '1', + `cyc` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', + `rgb` varchar(6) COLLATE utf8_unicode_ci NOT NULL, + `mail` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + `cuno` blob, + `ODBC_DATE` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP, + `Id_Cliente` int(11) DEFAULT NULL, + `digito_factura` int(2) DEFAULT NULL, + `Id_Proveedores_account` mediumint(8) unsigned DEFAULT NULL, + `morosidad` tinyint(4) NOT NULL DEFAULT '0', + `empresa_grupo` int(11) NOT NULL DEFAULT '1', + `CodigoEmpresa` int(2) DEFAULT NULL COMMENT 'Campo para movConta', + PRIMARY KEY (`id`), + KEY `gerente_id` (`gerente_id`), + KEY `empresa_cliente_idx` (`Id_Cliente`), + KEY `Id_Proveedores_account` (`Id_Proveedores_account`), + KEY `empresa_grupo_fk_idx` (`empresa_grupo`), + CONSTRAINT `empresa_cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT `empresa_ibfk_1` FOREIGN KEY (`gerente_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_empresa_grupo` FOREIGN KEY (`empresa_grupo`) REFERENCES `empresa_grupo` (`empresa_grupo_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 `empresa_grupo` +-- + +DROP TABLE IF EXISTS `empresa_grupo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `empresa_grupo` ( + `empresa_grupo_id` int(11) NOT NULL AUTO_INCREMENT, + `grupo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`empresa_grupo_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `entity` +-- + +DROP TABLE IF EXISTS `entity`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `entity` ( + `pais_id` mediumint(8) unsigned NOT NULL DEFAULT '1', + `entity_id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `bic` varchar(11) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`entity_id`), + UNIQUE KEY `bic_UNIQUE` (`bic`), + KEY `fg_entity1_idx` (`pais_id`), + CONSTRAINT `fg_entity1` FOREIGN KEY (`pais_id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=10229 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Entidades bancarias '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `escritos` +-- + +DROP TABLE IF EXISTS `escritos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `escritos` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `abrev` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `descripcion` varchar(105) COLLATE utf8_unicode_ci NOT NULL, + `visible` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `escritos_det` +-- + +DROP TABLE IF EXISTS `escritos_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `escritos_det` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(10) unsigned NOT NULL, + `escritos_id` int(10) unsigned NOT NULL, + `fecha` datetime NOT NULL, + `Id_Trabajador` int(10) unsigned NOT NULL, + `Saldo` float NOT NULL, + `empresa_id` smallint(5) unsigned DEFAULT NULL, + `escritos_detcol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `userFk` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `empresa_id` (`empresa_id`), + CONSTRAINT `escritos_det_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=14630 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `expeditions` +-- + +DROP TABLE IF EXISTS `expeditions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `expeditions` ( + `expeditions_id` int(11) NOT NULL AUTO_INCREMENT, + `agency_id` int(11) NOT NULL, + `ticket_id` int(10) NOT NULL, + `EsBulto` int(11) DEFAULT '1', + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `reembolso` bit(1) DEFAULT b'0', + `recogida` bit(1) DEFAULT b'0', + `Id_Article` int(11) DEFAULT NULL, + `counter` smallint(5) unsigned NOT NULL, + `checked` tinyint(4) NOT NULL DEFAULT '0', + `workerFk` int(11) DEFAULT NULL, + PRIMARY KEY (`expeditions_id`), + KEY `index1` (`agency_id`), + KEY `index2` (`EsBulto`), + KEY `index3` (`odbc_date`), + KEY `index4` (`ticket_id`), + CONSTRAINT `Id_Agencia` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, + CONSTRAINT `ticket_id` FOREIGN KEY (`ticket_id`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2245705 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 `expeditionsBeforeInsert` +BEFORE INSERT ON `expeditions` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + DECLARE intcounter INT; + + IF NEW.EsBulto > 0 THEN + + UPDATE Tickets SET Bultos = nz(Bultos) + 1 WHERE Id_Ticket = NEW.ticket_id; + SELECT IFNULL(MAX(counter),0) +1 INTO intcounter FROM expeditions e + INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket + LEFT JOIN vn.ticketState ts ON ts.ticket = t1.Id_Ticket + INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) AND t1.warehouse_id = t2.warehouse_id + WHERE t2.Id_Ticket = NEW.ticket_id AND ts.alertLevel < 3 AND t1.empresa_id = t2.empresa_id AND t1.Id_Agencia = t2.Id_Agencia; + SET NEW.`counter` = intcounter; + END IF; + SET NEW.workerFk=get_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 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 `vn2008`.`expeditionsBeforeUpdate` +BEFORE UPDATE ON `vn2008`.`expeditions` +FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + IF NEW.counter <> OLD.counter THEN + IF (SELECT COUNT(*) FROM expeditions e + INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket + INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) + WHERE t1.Id_Ticket = NEW.ticket_id AND counter = NEW.counter) > 0 THEN + SET NEW.expeditions_id = NULL; + 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 `vn2008`.`expeditionsAfterUpdate` +AFTER UPDATE ON `expeditions` FOR EACH ROW +BEGIN + CALL cache.barcodes_expeditions_update(NEW.expeditions_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 `vn2008`.`expeditionsBeforeDelete` +BEFORE DELETE ON `expeditions` FOR EACH ROW +BEGIN + DECLARE trabajador integer DEFAULT NULL; + + + SELECT Id_Trabajador into trabajador from Trabajadores where user_id = account.userGetId(); + if trabajador is null then + SET trabajador = 33; + end if; + UPDATE Tickets SET Bultos = (SELECT COUNT(counter)-1 FROM expeditions WHERE ticket_id = OLD.ticket_id and EsBulto) WHERE Id_Ticket = OLD.ticket_id; + + INSERT INTO Tickets_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + SELECT 133/*Borra expedition*/,trabajador,OLD.ticket_id,CONCAT(OLD.odbc_date,',Bultos:',OLD.counter,',Embalaje:',OLD.EsBulto),user() + FROM Tickets + WHERE Id_Ticket = OLD.ticket_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 */ ; + +-- +-- Table structure for table `expeditions_deleted` +-- + +DROP TABLE IF EXISTS `expeditions_deleted`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `expeditions_deleted` ( + `expeditions_id` int(11) NOT NULL AUTO_INCREMENT, + `agency_id` int(11) NOT NULL, + `ticket_id` int(10) NOT NULL, + `EsBulto` int(11) DEFAULT '1', + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `reembolso` bit(1) DEFAULT b'0', + `recogida` bit(1) DEFAULT b'0', + `Id_Article` int(11) DEFAULT NULL, + `counter` smallint(5) unsigned NOT NULL, + `checked` tinyint(4) NOT NULL DEFAULT '0', + `completed` tinyint(4) DEFAULT '0', + `expedicion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Id_Trabajador` int(11) DEFAULT NULL, + PRIMARY KEY (`expeditions_id`), + KEY `index1` (`agency_id`), + KEY `index2` (`EsBulto`), + KEY `index3` (`odbc_date`), + KEY `index4` (`ticket_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2245400 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `expeditions_pictures` +-- + +DROP TABLE IF EXISTS `expeditions_pictures`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `expeditions_pictures` ( + `Id_Article` int(11) NOT NULL, + `NoImprimirEtiqueta` bit(1) DEFAULT b'0', + PRIMARY KEY (`Id_Article`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `filtros` +-- + +DROP TABLE IF EXISTS `filtros`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `filtros` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `sql` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `Estanteria` tinyint(1) DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `financialProductType` +-- + +DROP TABLE IF EXISTS `financialProductType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `financialProductType` ( + `id` varchar(2) COLLATE utf8_unicode_ci NOT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `description_UNIQUE` (`description`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Distintos tipos de productos financieros: seguros de cambio, polizas de credito, acumuladores....'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `flight` +-- + +DROP TABLE IF EXISTS `flight`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `flight` ( + `flight_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `duration` tinyint(2) unsigned DEFAULT NULL, + `route` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `days` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL, + `airline_id` smallint(2) unsigned DEFAULT NULL, + `airport_out` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `airport_in` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`flight_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `form_query` +-- + +DROP TABLE IF EXISTS `form_query`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `form_query` ( + `form_query_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `query` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `response1` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `response2` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `type_id` enum('gest_doc') COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`form_query_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 `gastos_resumen` +-- + +DROP TABLE IF EXISTS `gastos_resumen`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gastos_resumen` ( + `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `year` int(4) NOT NULL, + `month` int(2) NOT NULL, + `importe` decimal(10,2) DEFAULT NULL, + `empresa_id` int(11) NOT NULL, + PRIMARY KEY (`Id_Gasto`,`year`,`month`,`empresa_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Sirve para resumir los gastos que se ponen a mano en el contaplus'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `gestdoc` +-- + +DROP TABLE IF EXISTS `gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gestdoc` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `gesttip_id` int(11) NOT NULL DEFAULT '1', + `sref` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `brief` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL, + `emp_id` smallint(5) unsigned NOT NULL DEFAULT '791', + `orden` mediumint(8) unsigned DEFAULT NULL, + `file` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, + `original` tinyint(4) NOT NULL DEFAULT '0', + `trabajador_id` int(11) NOT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `gestdoccol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `emp_id` (`emp_id`,`orden`,`warehouse_id`), + KEY `trabajador_id` (`trabajador_id`), + KEY `warehouse_id` (`warehouse_id`) +) ENGINE=InnoDB AUTO_INCREMENT=833249 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`gestdoc_bi` +BEFORE INSERT ON `vn2008`.`gestdoc` +FOR EACH ROW +BEGIN + + DECLARE intORD int; + IF NEW.warehouse_id = 44 THEN + SET NEW.warehouse_id = 1; + END IF; + IF NEW.original THEN + SELECT 1 + MAX(orden) INTO intORD FROM gestdoc WHERE emp_id = NEW.emp_id AND warehouse_id = NEW.warehouse_id ; + + SET NEW.orden = IFNULL(intORD,1) ; + END IF; +-- Marca Firmado a uno cada vez que se escanea un Ticket de forma que desaparezca del TNAC JGF 27/08/13 + IF NEW.gesttip_id = 14 THEN + UPDATE Tickets SET Firmado = 1 WHERE Id_Ticket = NEW.sref; + 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`gestdoc_bu` +BEFORE UPDATE ON `vn2008`.`gestdoc` +FOR EACH ROW +BEGIN + + DECLARE intORD int; + IF (NEW.original <> 0) AND (OLD.original = 0) AND (NEW.orden IS NULL) THEN + + SELECT 1 + MAX(orden) INTO intORD FROM gestdoc WHERE emp_id = NEW.emp_id AND warehouse_id = NEW.warehouse_id; + SET NEW.orden = IFNULL(intORD,1); + + END IF; +IF ((NEW.orden = 0) OR NEW.orden IS NULL) AND (OLD.orden <> 0) THEN + + SET NEW.original = 0; + 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 `gesttip` +-- + +DROP TABLE IF EXISTS `gesttip`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gesttip` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guillen` +-- + +DROP TABLE IF EXISTS `guillen`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `guillen` ( + `bulto` tinyint(3) unsigned NOT NULL, + `1` float unsigned NOT NULL, + `2` float unsigned NOT NULL, + `re_exp` float unsigned NOT NULL, + PRIMARY KEY (`bulto`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `guillen_carry` +-- + +DROP TABLE IF EXISTS `guillen_carry`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `guillen_carry` ( + `carry` tinyint(3) unsigned NOT NULL, + `1` float unsigned NOT NULL, + `2` float unsigned NOT NULL, + `re_exp` float unsigned NOT NULL, + PRIMARY KEY (`carry`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `integra2` +-- + +DROP TABLE IF EXISTS `integra2`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `integra2` ( + `postal_code` mediumint(8) unsigned NOT NULL, + `frequency` tinyint(3) unsigned NOT NULL, + `warehouse_id` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`postal_code`,`frequency`,`warehouse_id`), + KEY `postal_code` (`postal_code`), + KEY `warehouse_id` (`warehouse_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `integra2_escala` +-- + +DROP TABLE IF EXISTS `integra2_escala`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `integra2_escala` ( + `province_id` smallint(6) unsigned NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + PRIMARY KEY (`province_id`,`warehouse_id`), + KEY `warehouse_escala_idx` (`warehouse_id`), + CONSTRAINT `province_escala` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehouse_escala` FOREIGN KEY (`warehouse_id`) REFERENCES `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 `integra2_province` +-- + +DROP TABLE IF EXISTS `integra2_province`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `integra2_province` ( + `province_id` smallint(6) unsigned NOT NULL, + `franquicia` varchar(65) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`province_id`), + CONSTRAINT `integra2_province_id` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `intervalos` +-- + +DROP TABLE IF EXISTS `intervalos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `intervalos` ( + `id` int(11) NOT NULL, + `hour` time NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `intrastat_data` +-- + +DROP TABLE IF EXISTS `intrastat_data`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `intrastat_data` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `recibida_id` mediumint(8) unsigned NOT NULL, + `neto` decimal(10,2) DEFAULT NULL, + `intrastat_id` int(8) unsigned zerofill NOT NULL DEFAULT '06049190', + `importe` double NOT NULL, + `unidades` int(11) NOT NULL, + `Paises_Id` mediumint(8) unsigned DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `valorestadistico` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `intrastat_id` (`intrastat_id`), + KEY `recibida` (`recibida_id`), + CONSTRAINT `intrastat_data_ibfk_1` FOREIGN KEY (`intrastat_id`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE, + CONSTRAINT `intrastat_data_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=62337 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoiceCorrection` +-- + +DROP TABLE IF EXISTS `invoiceCorrection`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceCorrection` ( + `correctingFk` int(10) unsigned NOT NULL COMMENT 'Factura rectificativa', + `correctedFk` int(10) unsigned NOT NULL COMMENT 'Factura rectificada', + `cplusRectificationTypeFk` int(10) unsigned NOT NULL, + `cplusInvoiceType477Fk` int(10) unsigned NOT NULL, + `invoiceCorrectionTypeFk` int(11) NOT NULL DEFAULT '3', + PRIMARY KEY (`correctingFk`), + KEY `correctedFk_idx` (`correctedFk`), + KEY `invoiceCorrection_ibfk_1_idx` (`cplusRectificationTypeFk`), + KEY `cplusInvoiceTyoeFk_idx` (`cplusInvoiceType477Fk`), + KEY `invoiceCorrectionTypeFk_idx` (`invoiceCorrectionTypeFk`), + CONSTRAINT `corrected_fk` FOREIGN KEY (`correctedFk`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `correcting_fk` FOREIGN KEY (`correctingFk`) REFERENCES `Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `cplusInvoiceTyoeFk` FOREIGN KEY (`cplusInvoiceType477Fk`) REFERENCES `vn`.`cplusInvoiceType477` (`id`) ON UPDATE CASCADE, + CONSTRAINT `invoiceCorrectionType_Fk33` FOREIGN KEY (`invoiceCorrectionTypeFk`) REFERENCES `vn`.`invoiceCorrectionType` (`id`) ON UPDATE CASCADE, + CONSTRAINT `invoiceCorrection_ibfk_1` FOREIGN KEY (`cplusRectificationTypeFk`) REFERENCES `vn`.`cplusRectificationType` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relacion entre las facturas rectificativas y las rectificadas.'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoice_observation` +-- + +DROP TABLE IF EXISTS `invoice_observation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoice_observation` ( + `invoice_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `desde` date NOT NULL, + `hasta` date NOT NULL, + `serie` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '0', + `text` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`invoice_observation_id`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemTag` +-- + +DROP TABLE IF EXISTS `itemTag`; +/*!50001 DROP VIEW IF EXISTS `itemTag`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemTag` ( + `id` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `tagFk` tinyint NOT NULL, + `value` tinyint NOT NULL, + `priority` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `itemTagArranged` +-- + +DROP TABLE IF EXISTS `itemTagArranged`; +/*!50001 DROP VIEW IF EXISTS `itemTagArranged`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemTagArranged` ( + `itemFk` tinyint NOT NULL, + `tag1` tinyint NOT NULL, + `val1` tinyint NOT NULL, + `tag2` tinyint NOT NULL, + `val2` tinyint NOT NULL, + `tag3` tinyint NOT NULL, + `val3` tinyint NOT NULL, + `tag4` tinyint NOT NULL, + `val4` tinyint NOT NULL, + `tag5` tinyint NOT NULL, + `val5` tinyint NOT NULL, + `tag6` tinyint NOT NULL, + `val6` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `item_catalog` +-- + +DROP TABLE IF EXISTS `item_catalog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `item_catalog` ( + `item_id` int(11) unsigned NOT NULL, + `available` mediumint(9) NOT NULL, + `fixed` tinyint(1) NOT NULL DEFAULT '0', + `price` double DEFAULT NULL, + `s1` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `s2` varchar(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `discount` tinyint(3) unsigned, + `grouping` decimal(10,0) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `item_entry_in` +-- + +DROP TABLE IF EXISTS `item_entry_in`; +/*!50001 DROP VIEW IF EXISTS `item_entry_in`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `item_entry_in` ( + `warehouse_id` tinyint NOT NULL, + `dat` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `received` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `item_entry_out` +-- + +DROP TABLE IF EXISTS `item_entry_out`; +/*!50001 DROP VIEW IF EXISTS `item_entry_out`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `item_entry_out` ( + `warehouse_id` tinyint NOT NULL, + `dat` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `delivered` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `item_entry_outkk` +-- + +DROP TABLE IF EXISTS `item_entry_outkk`; +/*!50001 DROP VIEW IF EXISTS `item_entry_outkk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `item_entry_outkk` ( + `warehouse_id` tinyint NOT NULL, + `dat` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `delivered` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `item_out` +-- + +DROP TABLE IF EXISTS `item_out`; +/*!50001 DROP VIEW IF EXISTS `item_out`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `item_out` ( + `warehouse_id` tinyint NOT NULL, + `dat` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `ok` tinyint NOT NULL, + `Reservado` tinyint NOT NULL, + `ready` tinyint NOT NULL, + `invoice` tinyint NOT NULL, + `alertLevel` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `iva_codigo` +-- + +DROP TABLE IF EXISTS `iva_codigo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `iva_codigo` ( + `id` tinyint(2) unsigned NOT NULL AUTO_INCREMENT, + `fecha` date NOT NULL, + `codigo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `iva_tipo_id` tinyint(2) NOT NULL, + `iva` decimal(4,1) NOT NULL DEFAULT '0.0', + `recargo` decimal(4,1) NOT NULL DEFAULT '0.0', + `tipo` char(1) COLLATE utf8_unicode_ci NOT NULL, + `link` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT 'las que tienen el mismo valor se contabilizan emparejadas', + `isActive` tinyint(2) NOT NULL DEFAULT '1', + `updated` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `transactionCode` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `iva_tipo_id` (`iva_tipo_id`), + KEY `codigo` (`codigo`), + KEY `tipo_index` (`tipo`), + CONSTRAINT `iva_codigo_ibfk_1` FOREIGN KEY (`iva_tipo_id`) REFERENCES `iva_tipo` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `iva_group` +-- + +DROP TABLE IF EXISTS `iva_group`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `iva_group` ( + `iva_group_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + `code` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'R', + PRIMARY KEY (`iva_group_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `iva_group_codigo` +-- + +DROP TABLE IF EXISTS `iva_group_codigo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `iva_group_codigo` ( + `iva_group_id` tinyint(3) unsigned NOT NULL, + `date` date NOT NULL, + `iva_codigo_id` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`iva_group_id`,`date`,`iva_codigo_id`), + KEY `iva_codigo_id` (`iva_codigo_id`), + CONSTRAINT `iva_group_codigo_ibfk_1` FOREIGN KEY (`iva_group_id`) REFERENCES `iva_group` (`iva_group_id`) ON UPDATE CASCADE, + CONSTRAINT `iva_group_codigo_ibfk_2` FOREIGN KEY (`iva_codigo_id`) REFERENCES `iva_codigo` (`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 `iva_tipo` +-- + +DROP TABLE IF EXISTS `iva_tipo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `iva_tipo` ( + `id` tinyint(2) NOT NULL AUTO_INCREMENT, + `alias` varchar(6) COLLATE utf8_unicode_ci NOT NULL, + `isAccrued` tinyint(4) NOT NULL DEFAULT '0', + `serie_id` char(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `TIPOOPE` varchar(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT ' ', + `descripcion` varchar(100) COLLATE utf8_unicode_ci NOT NULL, + `Id_Pais` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `serie_id` (`serie_id`), + KEY `Id_Pais` (`Id_Pais`), + CONSTRAINT `iva_tipo_ibfk_1` FOREIGN KEY (`Id_Pais`) REFERENCES `Paises` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `jerarquia` +-- + +DROP TABLE IF EXISTS `jerarquia`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `jerarquia` ( + `worker_id` int(11) NOT NULL, + `boss_id` int(11) NOT NULL, + `vinculado` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`worker_id`,`boss_id`), + KEY `worker_trabajador` (`worker_id`), + KEY `boss_trabajador` (`boss_id`), + CONSTRAINT `boss_trabajador` FOREIGN KEY (`boss_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `worker_trabajador` FOREIGN KEY (`worker_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `killme` +-- + +DROP TABLE IF EXISTS `killme`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `killme` ( + `Id_Article` int(11) NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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) COLLATE utf8_unicode_ci NOT NULL, + `name` varchar(20) 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_Cliente` int(11) NOT NULL, + `Id_Proveedor` int(11) NOT NULL, + PRIMARY KEY (`Id_Cliente`,`Id_Proveedor`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `log_articles` +-- + +DROP TABLE IF EXISTS `log_articles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `log_articles` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Article` int(11) NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Fecha_old` datetime DEFAULT NULL, + `cantidad_old` double DEFAULT NULL, + `Id_Ticket_old` int(11) DEFAULT NULL, + `wh_old` smallint(6) unsigned DEFAULT NULL, + `Fecha_new` datetime DEFAULT NULL, + `cantidad_new` double DEFAULT NULL, + `Id_Ticket_new` int(11) DEFAULT NULL, + `wh_new` smallint(6) DEFAULT NULL, + `accion` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `Id_Article_log` (`Id_Article`), + KEY `Id_Ticket_log` (`Id_Ticket_old`), + KEY `Id_Ticket_new_log` (`Id_Ticket_new`), + CONSTRAINT `Id_Article_log_Articles` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los movimientos de los articulos para intentar encontrar los procesos que generan negativos'; +/*!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` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `to` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `reply_to` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `subject` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `text` text COLLATE utf8_unicode_ci NOT NULL, + `sent` tinyint(2) NOT NULL DEFAULT '0', + `DATE_ODBC` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `path` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `error` varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'OK', + `senderFk` int(11) DEFAULT NULL, + `recipientFk` int(11) DEFAULT NULL, + `plainTextBody` text COLLATE utf8_unicode_ci, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=1254885 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `mail_templates` +-- + +DROP TABLE IF EXISTS `mail_templates`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mail_templates` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `countryCode` char(2) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'ES', + `name` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + `subject` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `body` text COLLATE utf8_unicode_ci NOT NULL, + `attachment` text COLLATE utf8_unicode_ci, + PRIMARY KEY (`id`,`countryCode`,`name`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `mandato` +-- + +DROP TABLE IF EXISTS `mandato`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mandato` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL, + `Id_mandato` varchar(32) COLLATE utf8_unicode_ci DEFAULT NULL, + `FAlta` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `Fbaja` timestamp NULL DEFAULT NULL, + `idmandato_tipo` smallint(5) NOT NULL, + PRIMARY KEY (`id`), + KEY `mandato_fgkey1_idx` (`Id_Cliente`), + KEY `mandato_fgkey2_idx` (`empresa_id`), + KEY `mandato_fgkey3_idx` (`idmandato_tipo`), + CONSTRAINT `mandato_fgkey1` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `mandato_fgkey2` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `mandato_fgkey3` FOREIGN KEY (`idmandato_tipo`) REFERENCES `mandato_tipo` (`idmandato_tipo`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=14378 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 trigger mandato_ins before insert +on mandato +for each row +begin + if (NEW.Id_mandato IS NULL) THEN + SET NEW.Id_mandato=CONCAT(NEW.Id_Cliente,'-',(SELECT AUTO_INCREMENT + from information_schema.TABLES + where TABLE_SCHEMA='vn2008' and TABLE_NAME='mandato')); + 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 `mandato_tipo` +-- + +DROP TABLE IF EXISTS `mandato_tipo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mandato_tipo` ( + `idmandato_tipo` smallint(5) NOT NULL AUTO_INCREMENT, + `Nombre` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`idmandato_tipo`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `movement_label` +-- + +DROP TABLE IF EXISTS `movement_label`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `movement_label` ( + `Id_movimiento` int(11) NOT NULL, + `label` mediumint(8) unsigned NOT NULL, + `stem` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`Id_movimiento`), + CONSTRAINT `movement_label_ibfk_1` FOREIGN KEY (`Id_movimiento`) REFERENCES `Movimientos` (`Id_Movimiento`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `movement_label_au` AFTER UPDATE ON `movement_label` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +IF NEW.stem >= (SELECT Cantidad FROM Movimientos WHERE Id_Movimiento = NEW.Id_Movimiento) THEN + UPDATE Movimientos SET OK = 1 WHERE Id_Movimiento = NEW.Id_Movimiento; +END IF */;; +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 table structure for view `new_viewkk` +-- + +DROP TABLE IF EXISTS `new_viewkk`; +/*!50001 DROP VIEW IF EXISTS `new_viewkk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `new_viewkk` ( + `id` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `document` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `nichos` +-- + +DROP TABLE IF EXISTS `nichos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `nichos` ( + `id` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `observation_type` +-- + +DROP TABLE IF EXISTS `observation_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `observation_type` ( + `observation_type_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`observation_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `order` +-- + +DROP TABLE IF EXISTS `order`; +/*!50001 DROP VIEW IF EXISTS `order`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `order` ( + `id` tinyint NOT NULL, + `date_make` tinyint NOT NULL, + `date_send` tinyint NOT NULL, + `customer_id` tinyint NOT NULL, + `delivery_method_id` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `address_id` tinyint NOT NULL, + `note` tinyint NOT NULL, + `confirmed` tinyint NOT NULL, + `is_bionic` tinyint NOT NULL, + `source_app` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `order_Tickets` +-- + +DROP TABLE IF EXISTS `order_Tickets`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `order_Tickets` ( + `order_id` int(10) unsigned NOT NULL, + `Id_Ticket` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`Id_Ticket`,`order_id`), + KEY `order_id` (`order_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `order_component` ( + `order_row_id` tinyint NOT NULL, + `component_id` tinyint NOT NULL, + `price` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_row` ( + `id` tinyint NOT NULL, + `order_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `shipment` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `price` tinyint NOT NULL, + `rate` tinyint NOT NULL, + `created` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `pago` +-- + +DROP TABLE IF EXISTS `pago`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pago` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `fecha` date NOT NULL, + `id_proveedor` int(11) NOT NULL, + `importe` decimal(10,2) NOT NULL DEFAULT '0.00', + `id_moneda` tinyint(3) unsigned NOT NULL DEFAULT '1', + `divisa` decimal(10,2) DEFAULT NULL, + `id_banco` int(11) NOT NULL DEFAULT '0', + `pay_met_id` tinyint(3) unsigned NOT NULL, + `g_bancarios` double(6,2) unsigned NOT NULL DEFAULT '0.00', + `concepte` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `conciliado` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', + `pago_sdc_id` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `empresa_id` (`empresa_id`), + KEY `id_banco` (`id_banco`), + KEY `id_moneda` (`id_moneda`), + KEY `pay_met` (`pay_met_id`), + KEY `proveedor_pago` (`id_proveedor`), + KEY `fk_pago_pago_sdc1_idx` (`pago_sdc_id`), + CONSTRAINT `pago_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pago_ibfk_2` FOREIGN KEY (`id_banco`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `pago_moneda` FOREIGN KEY (`id_moneda`) REFERENCES `Monedas` (`Id_Moneda`) ON UPDATE CASCADE, + CONSTRAINT `pago_pay_met` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, + CONSTRAINT `proveedor_pago` FOREIGN KEY (`id_proveedor`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=39372 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 `pago_bi` BEFORE INSERT ON `pago` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + DECLARE cuenta_banco,cuenta_proveedor DOUBLE; + DECLARE max_asien INT; + DECLARE bolCASH BOOLEAN; + + + + -- PAK 10/02/15 No se asientan los pagos directamente, salvo en el caso de las cajas de CASH + SELECT (cash = 1) INTO bolCASH FROM Bancos WHERE Bancos.Id_Banco = NEW.id_banco ; + + IF bolCASH THEN -- AND NEW.id_pago <> 1 + + SELECT Cuenta INTO cuenta_banco FROM Bancos WHERE Id_Banco = NEW.id_banco; + SELECT Cuenta INTO cuenta_proveedor FROM Proveedores WHERE Id_Proveedor=NEW.id_proveedor; + SELECT MAX(asien)+1 INTO max_asien FROM XDiario; + + INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) + SELECT max_asien,NEW.fecha,SUBCTA,CONTRA,NEW.concepte,EURODEBE,EUROHABER,NEW.empresa_id FROM + ( SELECT cuenta_banco SUBCTA,cuenta_proveedor CONTRA, + 0 EURODEBE, NEW.importe + NEW.g_bancarios EUROHABER + UNION ALL + SELECT cuenta_proveedor SUBCTA, cuenta_banco CONTRA, + NEW.importe EURODEBE, 0 EUROHABER) gf; + + IF NEW.g_bancarios <> 0 THEN + INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) + SELECT max_asien,NEW.fecha,IF(Id = 1,6260000002,IF(CEE = 1,6260000003,6260000004)),cuenta_banco,NEW.concepte, + NEW.g_bancarios,0,NEW.empresa_id FROM Proveedores pr + JOIN Paises pa ON pr.pais_id = pa.Id WHERE Id_Proveedor = NEW.id_proveedor; + 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 */ ; + +-- +-- Table structure for table `pago_sdc` +-- + +DROP TABLE IF EXISTS `pago_sdc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pago_sdc` ( + `pago_sdc_id` int(11) NOT NULL AUTO_INCREMENT, + `importe` decimal(10,2) NOT NULL, + `fecha` date NOT NULL, + `vencimiento` date NOT NULL, + `entity_id` int(10) unsigned NOT NULL, + `ref` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `rate` decimal(10,4) NOT NULL, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `financialProductTypefk` varchar(2) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'SC', + `pago_sdccol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `upperBarrier` decimal(10,2) DEFAULT NULL, + `lowerBarrier` decimal(10,2) DEFAULT NULL, + `strike` decimal(10,2) DEFAULT NULL, + PRIMARY KEY (`pago_sdc_id`), + KEY `empresa_sdc_idx` (`empresa_id`), + KEY `financial_type_fk_idx` (`financialProductTypefk`), + KEY `pago_sdc_entity_fk_idx` (`entity_id`), + CONSTRAINT `empresa_sdc` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `financial_type_fk` FOREIGN KEY (`financialProductTypefk`) REFERENCES `financialProductType` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pago_sdc_entity_fk` FOREIGN KEY (`entity_id`) REFERENCES `entity` (`entity_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=45 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Seguros de cambio'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `pay_dem` +-- + +DROP TABLE IF EXISTS `pay_dem`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pay_dem` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `pay_dem` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `pay_dem_det` +-- + +DROP TABLE IF EXISTS `pay_dem_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pay_dem_det` ( + `id` tinyint(3) unsigned NOT NULL, + `detalle` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`id`,`detalle`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `pay_met` +-- + +DROP TABLE IF EXISTS `pay_met`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pay_met` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `solucion` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `deudaviva` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000', + `graceDays` int(11) unsigned NOT NULL DEFAULT '0', + `ibanRequired` tinyint(3) DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_basess` +-- + +DROP TABLE IF EXISTS `payroll_basess`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_basess` ( + `id_payroll_Basess` int(11) NOT NULL AUTO_INCREMENT, + `empresa_id` int(10) NOT NULL, + `id_tipobasess` int(11) NOT NULL, + `valor` double NOT NULL, + `fechadesde` date NOT NULL, + `fechahasta` date DEFAULT NULL, + `contratotemporal` tinyint(1) DEFAULT '0', + PRIMARY KEY (`id_payroll_Basess`), + KEY `payroll_basess_1_idx` (`id_tipobasess`), + KEY `payroll_basess_2_idx` (`empresa_id`), + CONSTRAINT `payroll_basess_1` FOREIGN KEY (`id_tipobasess`) REFERENCES `payroll_tipobasess` (`id_payroll_tipobasess`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `payroll_basess_2` FOREIGN KEY (`empresa_id`) REFERENCES `payroll_centros` (`empresa_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 `payroll_bonificaciones` +-- + +DROP TABLE IF EXISTS `payroll_bonificaciones`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_bonificaciones` ( + `codtrabajador` int(11) NOT NULL, + `codempresa` int(11) NOT NULL, + `Fecha` date NOT NULL, + `bonificacionSS` double NOT NULL, + PRIMARY KEY (`codtrabajador`,`codempresa`,`Fecha`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_categorias` +-- + +DROP TABLE IF EXISTS `payroll_categorias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_categorias` ( + `codcategoria` int(11) NOT NULL, + `descripcion` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `Tarifa` tinyint(4) NOT NULL, + PRIMARY KEY (`codcategoria`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_centros` +-- + +DROP TABLE IF EXISTS `payroll_centros`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_centros` ( + `cod_centro` int(11) NOT NULL, + `Centro` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `nss_cotizacion` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `domicilio` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `poblacion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `cp` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + `empresa_id` int(10) NOT NULL, + `codempresa` int(11) DEFAULT NULL, + PRIMARY KEY (`cod_centro`,`empresa_id`), + KEY `payroll_centros_ix1` (`empresa_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_conceptos` +-- + +DROP TABLE IF EXISTS `payroll_conceptos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_conceptos` ( + `conceptoid` int(11) NOT NULL, + `concepto` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`conceptoid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_contratos` +-- + +DROP TABLE IF EXISTS `payroll_contratos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_contratos` ( + `CodContrato` int(11) NOT NULL, + `TipoCotizacion` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `DescContrato` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`CodContrato`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_datos` +-- + +DROP TABLE IF EXISTS `payroll_datos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_datos` ( + `codtrabajador` int(11) NOT NULL, + `codempresa` int(10) NOT NULL, + `Fecha` date NOT NULL, + `conceptoid` int(11) NOT NULL, + `orden` tinyint(4) DEFAULT NULL, + `dias` smallint(6) DEFAULT NULL, + `Importe` decimal(8,2) NOT NULL, + `DH` tinyint(4) DEFAULT NULL, + `T_Paga` tinyint(4) NOT NULL, + `TributaIRPF` tinyint(4) NOT NULL, + PRIMARY KEY (`codtrabajador`,`codempresa`,`conceptoid`,`Fecha`), + KEY `fgkey_payrolldatos_1_idx` (`conceptoid`), + CONSTRAINT `fgkey_payrolldatos_1` FOREIGN KEY (`conceptoid`) REFERENCES `payroll_conceptos` (`conceptoid`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_embargos` +-- + +DROP TABLE IF EXISTS `payroll_embargos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_embargos` ( + `codtrabajador` int(11) NOT NULL, + `codempresa` int(10) NOT NULL, + `conceptoid` int(11) NOT NULL, + `Fecha` date NOT NULL, + `pagado` double NOT NULL, + `pendiente` double DEFAULT NULL, + `total` double NOT NULL, + PRIMARY KEY (`codtrabajador`,`codempresa`,`Fecha`,`conceptoid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_employee` +-- + +DROP TABLE IF EXISTS `payroll_employee`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_employee` ( + `CodTrabajador` int(11) NOT NULL, + `Person_id` int(11) NOT NULL, + `nss` varchar(23) COLLATE utf8_unicode_ci NOT NULL, + `codpuesto` int(10) NOT NULL, + `codempresa` int(10) NOT NULL, + `codcontrato` int(10) NOT NULL, + `FAntiguedad` date NOT NULL, + `grupotarifa` int(10) NOT NULL, + `codcategoria` int(10) NOT NULL, + `ContratoTemporal` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`CodTrabajador`,`codempresa`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_pagarini` +-- + +DROP TABLE IF EXISTS `payroll_pagarini`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_pagarini` ( + `fecha` date NOT NULL, + `person_id` int(11) NOT NULL, + `saldotpv` double NOT NULL DEFAULT '0', + `saldolab` double NOT NULL DEFAULT '0', + `saldoprod` double NOT NULL DEFAULT '0', + `saldobruto` double NOT NULL DEFAULT '0', + `business_id` int(11) NOT NULL, + `exportado` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`fecha`,`person_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_pais` +-- + +DROP TABLE IF EXISTS `payroll_pais`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_pais` ( + `codpais` int(11) NOT NULL, + `pais` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`codpais`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payroll_tipobasess` +-- + +DROP TABLE IF EXISTS `payroll_tipobasess`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payroll_tipobasess` ( + `id_payroll_tipobasess` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id_payroll_tipobasess`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `payrroll_apEmpresarial` +-- + +DROP TABLE IF EXISTS `payrroll_apEmpresarial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payrroll_apEmpresarial` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `codTrabajador` int(11) NOT NULL, + `Fecha` date NOT NULL, + `CosteEmpresaAT` decimal(8,2) NOT NULL, + `costeEmpresaCC` decimal(8,2) NOT NULL, + `costeEmpresaDesempleo` decimal(8,2) NOT NULL, + `costeEmpresaFP` decimal(8,2) NOT NULL, + `costeEmpresaFogasa` decimal(8,2) NOT NULL, + `costeEmpresaExtra` decimal(8,2) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1654 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `person_user` +-- + +DROP TABLE IF EXISTS `person_user`; +/*!50001 DROP VIEW IF EXISTS `person_user`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `person_user` ( + `id` tinyint NOT NULL, + `mysql_user_id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `password` tinyint NOT NULL, + `active` tinyint NOT NULL, + `last_pass_change` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `person_user_idtrabajador` +-- + +DROP TABLE IF EXISTS `person_user_idtrabajador`; +/*!50001 DROP VIEW IF EXISTS `person_user_idtrabajador`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `person_user_idtrabajador` ( + `Id_Trabajador` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `plantpassport` +-- + +DROP TABLE IF EXISTS `plantpassport`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `plantpassport` ( + `producer_id` mediumint(3) unsigned NOT NULL, + `plantpassport_authority_id` mediumint(3) unsigned NOT NULL, + `number` varchar(25) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`producer_id`,`plantpassport_authority_id`), + KEY `plantpassport_authority_idx` (`plantpassport_authority_id`), + KEY `producer_id_idx` (`producer_id`), + CONSTRAINT `plantpassport_authority` FOREIGN KEY (`plantpassport_authority_id`) REFERENCES `plantpassport_authority` (`plantpassport_authority_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `producer` FOREIGN KEY (`producer_id`) REFERENCES `producer` (`producer_id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='tiene la asignacion de cada productor con la autoridad certificadora'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `plantpassport_authority` +-- + +DROP TABLE IF EXISTS `plantpassport_authority`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `plantpassport_authority` ( + `plantpassport_authority_id` mediumint(3) unsigned NOT NULL, + `denomination` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `Paises_Id` mediumint(8) unsigned DEFAULT NULL, + PRIMARY KEY (`plantpassport_authority_id`), + UNIQUE KEY `denomination_UNIQUE` (`denomination`), + KEY `Pais_id_idx` (`Paises_Id`), + CONSTRAINT `Pais_id` FOREIGN KEY (`Paises_Id`) REFERENCES `Paises` (`Id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='entidades certificadoras'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `preparation_exception` +-- + +DROP TABLE IF EXISTS `preparation_exception`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `preparation_exception` ( + `exception_day` date NOT NULL COMMENT 'preparation day', + `warehouse_id` smallint(6) unsigned DEFAULT NULL, + `percentage` tinyint(2) NOT NULL DEFAULT '0', + UNIQUE KEY `exception_day_UNIQUE` (`exception_day`), + UNIQUE KEY `warehouse_id_UNIQUE` (`warehouse_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `preparation_percentage` +-- + +DROP TABLE IF EXISTS `preparation_percentage`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `preparation_percentage` ( + `week_day` tinyint(1) unsigned NOT NULL COMMENT 'preparation day. Funcion de mysql Lunes = 0, Domingo = 6', + `warehouse_id` smallint(6) unsigned DEFAULT NULL, + `percentage` tinyint(2) NOT NULL DEFAULT '0', + UNIQUE KEY `week_day_UNIQUE` (`week_day`), + UNIQUE KEY `warehouse_id_UNIQUE` (`warehouse_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `price_fixed` +-- + +DROP TABLE IF EXISTS `price_fixed`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `price_fixed` ( + `item_id` int(10) NOT NULL, + `rate_0` double NOT NULL, + `rate_1` double NOT NULL, + `rate_2` double NOT NULL, + `rate_3` double NOT NULL, + `date_start` date NOT NULL, + `date_end` date NOT NULL, + `bonus` double NOT NULL DEFAULT '0', + `warehouse_id` smallint(5) unsigned NOT NULL DEFAULT '0', + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `price_fixed_id` int(11) NOT NULL AUTO_INCREMENT, + `grouping` smallint(5) DEFAULT NULL, + `Packing` int(11) DEFAULT NULL, + `caja` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`item_id`,`date_start`,`date_end`,`warehouse_id`), + UNIQUE KEY `price_fixed_id_UNIQUE` (`price_fixed_id`), + KEY `item_id` (`item_id`), + KEY `date_start` (`date_start`), + KEY `date_end` (`date_end`), + KEY `warehouse_id` (`warehouse_id`), + CONSTRAINT `price_fixed_ibfk_1` FOREIGN KEY (`item_id`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=51755 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`price_fixed_bi` BEFORE INSERT ON `vn2008`.`price_fixed` + FOR EACH ROW BEGIN + DECLARE v_aux DATE; + IF NEW.date_start > NEW.date_end THEN + SET v_aux = NEW.date_start; + SET NEW.date_start = NEW.date_end; + SET NEW.date_end = v_aux; + 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`price_fixed_bu` BEFORE UPDATE ON `vn2008`.`price_fixed` + FOR EACH ROW BEGIN + DECLARE v_aux DATE; + IF NEW.date_start > NEW.date_end THEN + SET v_aux = NEW.date_start; + SET NEW.date_start = NEW.date_end; + SET NEW.date_end = v_aux; + 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 `producer` +-- + +DROP TABLE IF EXISTS `producer`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `producer` ( + `producer_id` mediumint(3) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `visible` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`producer_id`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=3769 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `profile_labour_payroll` +-- + +DROP TABLE IF EXISTS `profile_labour_payroll`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `profile_labour_payroll` ( + `profile_id` int(11) NOT NULL, + `codpais` int(11) NOT NULL, + `nivelformativo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `NSSProvincia` tinyint(2) unsigned zerofill NOT NULL, + `NssNumero` varchar(8) COLLATE utf8_unicode_ci NOT NULL, + `NssDC` char(2) COLLATE utf8_unicode_ci NOT NULL, + `sexo` enum('H','M') COLLATE utf8_unicode_ci NOT NULL, + `estadocivil` enum('S','C') COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`profile_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `proveedores_clientes` +-- + +DROP TABLE IF EXISTS `proveedores_clientes`; +/*!50001 DROP VIEW IF EXISTS `proveedores_clientes`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `proveedores_clientes` ( + `Id_Proveedor` tinyint NOT NULL, + `Proveedor` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `Cliente` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `provider_account_customer` +-- + +DROP TABLE IF EXISTS `provider_account_customer`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `provider_account_customer` ( + `account_id` mediumint(8) unsigned NOT NULL, + PRIMARY KEY (`account_id`), + CONSTRAINT `provider_account_customer_ibfk_1` FOREIGN KEY (`account_id`) REFERENCES `Proveedores_account` (`Id_Proveedores_account`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Bank accounts used for customer transfers'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `province` +-- + +DROP TABLE IF EXISTS `province`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `province` ( + `province_id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(30) COLLATE utf8_unicode_ci NOT NULL, + `Paises_Id` mediumint(8) unsigned NOT NULL, + `warehouse_id` smallint(6) unsigned DEFAULT NULL COMMENT 'warehouse responsable de las rutas', + `zone` tinyint(4) DEFAULT NULL, + `nst_geo_id` int(11) DEFAULT NULL, + `nst_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`province_id`), + KEY `Paises_Id` (`Paises_Id`), + KEY `warehouse_Id` (`warehouse_id`), + KEY `provicne_zone_fk_idx` (`zone`), + CONSTRAINT `province_ibfk_1` FOREIGN KEY (`Paises_Id`) REFERENCES `Paises` (`Id`) ON UPDATE CASCADE, + CONSTRAINT `province_zone_fk` FOREIGN KEY (`zone`) REFERENCES `zones` (`zone_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehouse_Id` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=192 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 `vn2008`.`provinceBeforeInsert` + BEFORE INSERT ON `province` FOR EACH ROW +BEGIN + IF NEW.`name` = '' THEN + CALL util.throw ('EMPTY_NAME'); + 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 `vn2008`.`provinceBeforeUpdate` + BEFORE UPDATE ON `province` FOR EACH ROW +BEGIN + IF NEW.`name` = '' THEN + CALL util.throw ('EMPTY_NAME'); + 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 `rec_translator` +-- + +DROP TABLE IF EXISTS `rec_translator`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `rec_translator` ( + `Id_Article` int(11) NOT NULL, + `denominacion` varchar(85) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`Id_Article`,`denominacion`), + KEY `id_article_rec_idx` (`Id_Article`), + CONSTRAINT `id_article_rec` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Equipara las denominaciones de las fincas de ecuador con nuestro Id_Article'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `recibida` +-- + +DROP TABLE IF EXISTS `recibida`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `num_recibida` mediumint(11) unsigned DEFAULT NULL COMMENT 'insertado por Trigger', + `serie` char(1) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'R', + `proveedor_id` int(11) NOT NULL, + `fecha` date NOT NULL COMMENT 'Fecha de emision de la factura', + `sref` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0', + `contabilizada` tinyint(1) NOT NULL DEFAULT '0', + `moneda_id` tinyint(3) unsigned NOT NULL DEFAULT '1', + `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', + `gestdoc_id` int(11) DEFAULT NULL, + `dateBooking` date DEFAULT NULL COMMENT 'Fecha de contabilizacion', + `dateOperation` date DEFAULT NULL COMMENT 'Fecha de entrega de la mercancia o el suministro', + `cplusInvoiceType472Fk` int(10) unsigned DEFAULT '1', + `cplusRectificationTypeFk` int(10) unsigned DEFAULT '1', + `cplusSubjectOpFk` int(10) unsigned DEFAULT '1', + `cplusTaxBreakFk` int(10) unsigned DEFAULT '1', + `cplusTrascendency472Fk` int(10) unsigned DEFAULT '1', + `bookEntried` date DEFAULT NULL, + `isVatDeductible` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + KEY `proveedor_id` (`proveedor_id`), + KEY `empresa_id` (`empresa_id`), + KEY `serie` (`serie`), + KEY `num_recibida_2` (`num_recibida`), + KEY `gestdoc_id` (`gestdoc_id`), + KEY `fecha` (`fecha`), + KEY `recibida_ibfk_3_idx` (`cplusSubjectOpFk`), + KEY `recibida_ibfk_4_idx` (`cplusTaxBreakFk`), + KEY `recibida_ibfk_5_idx` (`cplusInvoiceType472Fk`), + KEY `recibida_ibfk_6` (`cplusRectificationTypeFk`), + KEY `recibida_ibfk_7` (`cplusTrascendency472Fk`), + CONSTRAINT `recibida_ibfk_1` FOREIGN KEY (`proveedor_id`) REFERENCES `Proveedores` (`Id_Proveedor`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_2` FOREIGN KEY (`empresa_id`) REFERENCES `empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_3` FOREIGN KEY (`cplusSubjectOpFk`) REFERENCES `vn`.`cplusSubjectOp` (`id`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `vn`.`cplusTaxBreak` (`id`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_5` FOREIGN KEY (`cplusInvoiceType472Fk`) REFERENCES `vn`.`cplusInvoiceType472` (`id`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_6` FOREIGN KEY (`cplusRectificationTypeFk`) REFERENCES `vn`.`cplusRectificationType` (`id`) ON UPDATE CASCADE, + CONSTRAINT `recibida_ibfk_7` FOREIGN KEY (`cplusTrascendency472Fk`) REFERENCES `vn`.`cplusTrascendency472` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=64453 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 `vn2008`.`recibida_bi` +BEFORE INSERT ON `vn2008`.`recibida` +FOR EACH ROW +BEGIN + DECLARE v_serie CHAR(1) DEFAULT 'R'; + DECLARE v_num_recibida INT; + DECLARE pais_emisor, pais_receptor INT; + DECLARE vActive TINYINT; + + + SELECT pais_id, active into pais_emisor, vActive FROM Proveedores WHERE Id_Proveedor = NEW.proveedor_id; + SELECT pais_id into pais_receptor FROM Proveedores WHERE Id_Proveedor = NEW.empresa_id; + + IF vActive = 0 THEN + CALL util.throw('INACTIVE_PROVIDER'); + END IF; + + SELECT CASE WHEN (SELECT Cuenta FROM Proveedores where Id_Proveedor = NEW.proveedor_id) LIKE '___3______' THEN 'C' + WHEN (SELECT pais_emisor=pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor + where p1.CEE < 2 and p2.CEE < 2) = 1 THEN 'R' + WHEN (SELECT pais_emisor <> pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor + where p1.CEE < 2 and p2.CEE < 2) = 1 THEN 'E' + WHEN (SELECT pais_emisor<>pais_receptor from Paises p1 join Paises p2 ON p2.Id = pais_receptor AND p1.Id = pais_emisor + where NOT p1.CEE < 2 AND not p1.Id = 1) = 1 THEN 'W' + END INTO v_serie; + + SET NEW.serie = v_serie; + + IF v_serie LIKE 'W' THEN + + SELECT IFNULL(MAX(num_recibida) + 1,1) INTO v_num_recibida FROM recibida + WHERE serie LIKE NEW.serie + AND YEAR(fecha) = YEAR(NEW.fecha) + AND empresa_id = NEW.empresa_id; + + SET NEW.num_recibida = v_num_recibida; + + 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 `recibida_bu` BEFORE UPDATE ON `recibida` FOR EACH ROW +-- Edit trigger body code below this line. Do not edit lines above this one +BEGIN + + DECLARE cta_proveed VARCHAR(10); + DECLARE cta_proveeda VARCHAR(10); + DECLARE v_num_recibida INT; + DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; + DECLARE vActive TINYINT; + + SELECT active INTO vActive FROM Proveedores WHERE Id_Proveedor = NEW.proveedor_id; + + IF vActive = 0 THEN + CALL util.throw('INACTIVE_PROVIDER'); + END IF; + + IF NEW.empresa_id <> OLD.empresa_id THEN + SET NEW.num_recibida = NULL; + SET NEW.contabilizada = FALSE ; + END IF; + + + +/* PAK 27/11/17 ESto tiene pinta de no hacer falta.... + +IF NEW.contabilizada = 1 AND OLD.contabilizada = 0 AND NEW.fecha < '2017-07-01' THEN + + SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate + WHERE date <= (SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = NEW.id GROUP BY re.awb_recibida)); + + SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min + WHERE date<=(SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = NEW.id GROUP BY re.awb_recibida)); + + -- IF dblRefMin < dblRefRate THEN + -- SET dblRef = dblRefRate; + -- ELSE + -- SET dblRef =dblRefMin; + -- END IF; + SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r + WHERE r.serie LIKE NEW.serie + AND YEAR(r.fecha) = YEAR(NEW.fecha) + AND r.empresa_id = NEW.empresa_id GROUP BY r.empresa_id; + + SET NEW.num_recibida = IFNULL(v_num_recibida,1); + SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW.proveedor_id; + + INSERT INTO XDiario(ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE, EUROHABER,BASEEURO, SERIE,FACTURA,IVA,DOCUMENTO, + L340,LRECT349,TIPOOPE,AUXILIAR,empresa_id,LDIFADUAN) +SELECT a,NEW.fecha,subcta,contra,concepto,eurodebe,eurohaber,baseeuro,serie,NEW.sref,iva, + (SELECT CONCAT(serie,'/', LPAD(v_num_recibida,5,'0'))),l340,LRECT349,TIPOOPE,AUXILIAR,NEW.empresa_id,LDIFADUAN + FROM + + (SELECT MAX(ASIEN) + 1 as a FROM XDiario) t + + INNER JOIN + + ( + + SELECT *,NEW.serie,0 LDIFADUAN FROM + + (SELECT CONCAT('s/fra',RIGHT(sref,8),':',LEFT(Proveedor, 10)) concepto FROM Proveedores + + INNER JOIN recibida ON Id_Proveedor = proveedor_id WHERE id = NEW.id) t4 + + INNER JOIN( + -- Linea del proveedor/acreedor + SELECT subcta,'' contra,eurodebe,ROUND(SUM(eurohaber) + 0.0001,2) eurohaber,baseeuro,0 iva, l340,LRECT349,TIPOOPE,'' AUXILIAR + + FROM ( + + SELECT cta_proveed subcta, + + NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi),2) eurohaber, NULL baseeuro,ri.recibida_id, 0 l340,0 LRECT349,' ' TIPOOPE + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE r.id = NEW.id GROUP BY iva) t + + GROUP BY recibida_id + + UNION ALL + -- Linea de iva + SELECT ic.codigo,cta_proveed contra, + + ROUND(iva/100*SUM(ri.bi) + 0.0001,2) eurodebe, NULL eurohaber, + + ROUND(SUM(ri.bi),2) baseeuro,iva, 1 l340,(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2)) LRECT349,TIPOOPE, + IF(pa.CEE < 2 AND ri2.gastos_id IS NULL,'','*') AUXILIAR + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + LEFT JOIN recibida_iva ri2 ON ri2.recibida_id = r.id AND ri2.gastos_id LIKE '4751______' + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN iva_tipo it ON it.id = ic.iva_tipo_id + + INNER JOIN Gastos g ON ri.gastos_id = g.Id_Gasto AND g.iva_tipo_id = ic.iva_tipo_id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + + INNER JOIN Paises pa ON p.pais_id = pa.Id + + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + INNER JOIN Paises pa2 ON p2.pais_id = pa2.Id + WHERE r.id = NEW.id AND ic.tipo <> '-' AND link GROUP BY iva + -- JGF 2016-05-05 g.conbase + UNION ALL + -- Linea iva inversor sujeto pasivo + SELECT ic2.codigo,cta_proveed contra, + + NULL eurodebe, ROUND(ic2.iva/100*SUM(bi) + 0.0001,2) eurohaber, + + ROUND(SUM(bi),2) baseeuro,ic2.iva, 1 l340,0 LRECT349,TIPOOPE,'*' AUXILIAR + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id + + INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + WHERE r.id = NEW.id AND ic2.link GROUP BY ic2.iva + + UNION ALL + -- Linea de Gastos + SELECT if(gastos_id LIKE '4751______',LPAD(RIGHT(cta_proveed ,5),10,gastos_id),gastos_id),cta_proveed , + + if(gastos_id LIKE '4751______',NULL,ABS(ROUND(SUM(bi),2))) , + + if(gastos_id LIKE '4751______',ABS(ROUND(SUM(bi),2)),NULL) , + + NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + + WHERE r.id = NEW.id AND gastos_id <> 5660000002 GROUP BY gastos_id + + UNION ALL + -- Iva Importacion pendiente + -- JGF 17/02/15 cambia la forma de declarar este tipo de importaciones, sólo afecta a transitarios + SELECT '4700000999',NULL,NULL ,ROUND(SUM(importe * (iva/100)),2),NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR + + FROM recibida r + JOIN recibida_intrastat ri ON r.id = ri.recibida_id + JOIN Intrastat i ON i.Codintrastat = ri.Codintrastat + JOIN iva_codigo ic ON ic.id = i.iva_codigo_id + WHERE ri.recibida_id = NEW.id GROUP BY ri.recibida_id + + ) t2 + + UNION ALL + + + -- Extracomunitarias gasto contra proveedor/acreedor + SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,gastos_id,cuenta, + + ROUND(SUM(bi)/IF(r.serie='W' AND ri.divisa IS NULL,dblRefRate,1)* (re.percentage / 100),2),NULL ,IF( @a:=@a+1 ,NULL,NULL) ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN + + FROM recibida_entrada re + + INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id + + INNER JOIN recibida r ON r.id = ri.recibida_id + + INNER JOIN Proveedores p ON p.Id_Proveedor = r.proveedor_id + + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + + LEFT JOIN travel t ON t.id = e.travel_id + + INNER JOIN (SELECT @a:=0,@cont:=1,@total:=0,@base:=2) t1 + + WHERE re.awb_recibida = NEW.id AND re.percentage GROUP BY r.id + +UNION ALL + + -- Extracomunitarias proveedor contra gasto + SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,p.cuenta subcta,gastos_id, + + NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi)/IF(r.serie='W' AND ri.divisa IS NULL,dblRefRate,1)* (re.percentage / 100),2) eurohaber, + + NULL baseeuro,0 iva, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN + -- antes sols iva + FROM recibida_entrada re + + INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id + + INNER JOIN recibida r ON r.id = ri.recibida_id + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN Proveedores p ON Id_Proveedor = r.proveedor_id + + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE re.awb_recibida = NEW.id AND re.percentage GROUP BY r.id + +UNION ALL + + -- Linea de iva adquisicion + SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic.codigo,p.cuenta contra, + + ROUND(iva/100*SUM(ri.importe) + 0.0001,2) eurodebe, NULL eurohaber, + + ROUND(SUM(ri.importe),2) baseeuro,iva, 1 l340,1 LRECT349,TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN + + FROM awb_recibida ar + + JOIN awb a ON ar.awb_id = a.id + + JOIN iva_codigo ic ON a.iva_id = ic.id + + JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor + + JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id + + JOIN recibida r ON r.id = ri.recibida_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE ar.recibida_id = NEW.id AND (p.pais_id <> p2.pais_id) + GROUP BY iva + + UNION ALL + + -- Linea de iva adquisicion + SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic2.codigo,p.cuenta contra, + + NULL eurodebe, ROUND(ic2.iva/100*SUM(ri.importe) + 0.0001,2) eurohaber, + + ROUND(SUM(ri.importe),2) baseeuro,ic2.iva, 1 l340,0 LRECT349, TIPOOPE,'' AUXILIAR,r.serie,0 LDIFADUAN + + FROM awb_recibida ar + + JOIN awb a ON ar.awb_id = a.id + + JOIN iva_codigo ic ON a.iva_id = ic.id + + JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id + + JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor + + JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id + + JOIN recibida r ON r.id = ar.recibida_id + + JOIN Proveedores p1 ON p1.Id_Proveedor = r.proveedor_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE ar.recibida_id = NEW.id AND (p.pais_id <> p2.pais_id) GROUP BY ic2.iva + + UNION ALL + -- Linea iva importacion + SELECT concepto,subcta,Cuenta, + IF (NOT ((ppais_id <> p2pais_id) AND CEE < 2), + + eurodebe + ,NULL)eurodebe,eurohaber,baseeuro, iva, + IF(@total:=@total+eurodebe ,0,0) l340, 0 LRECT349, + IF(@cont:=@cont+1,'','') TIPOOPE,'*' AUXILIAR,serie,1 LDIFADUAN FROM ( + + SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic2.codigo subcta,p.Cuenta,ic2.iva, + ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*(ic2.iva/100),2) eurodebe,NULL eurohaber, -- JGF 17/02/15 canvie 0.21 per ic.iva + ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,r.serie,pa.CEE,pa.Id_Paisreal ppais_id, + p2.pais_id p2pais_id,SUM(sub3.SumIntrastat *(ic2.iva/100)) SumIntrastat, p.Id_Proveedor,Codintrastat + + FROM awb_recibida ar + + JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida + + JOIN Compres c ON c.Id_Entrada = re.Id_Entrada + + INNER JOIN Articles a ON a.Id_Article = c.Id_Article + + INNER JOIN ( + + SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal + + FROM Compres c + + JOIN Articles a ON a.Id_Article = c.Id_Article + + JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada + + JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida + + JOIN awb aw ON ar.awb_id = aw.id + + WHERE ar.recibida_id = NEW.id AND re.percentage + + GROUP BY a.Codintrastat + + ) sub1 USING(Codintrastat) + + INNER JOIN ( + + SELECT Codintrastat,ri.importe, i.iva_codigo_id + + FROM recibida_intrastat ri + JOIN Intrastat i USING(Codintrastat) + + WHERE ri.recibida_id = NEW.id + + ) sub2 USING(Codintrastat) + + INNER JOIN ( + + SELECT SUM(ri.importe) SumIntrastat + + FROM recibida_intrastat ri + + WHERE ri.recibida_id = NEW.id + + ) sub3 + + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + + JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor + + JOIN Paises pa ON p.pais_id = pa.Id + + JOIN recibida r ON r.id = re.recibida_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + JOIN iva_codigo ic2 ON ic2.id = sub2.iva_codigo_id -- JGF 15/04/15 nou canvi llei (Ali) + + WHERE re.awb_recibida = NEW.id AND re.percentage + -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put + + GROUP BY p.Id_Proveedor, sub2.iva_codigo_id + +) t3 GROUP BY Id_Proveedor, iva)t4; + +-- linea que estava a l'ultim WHERE +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 `vn2008`.`recibida_au` AFTER UPDATE ON `recibida` FOR EACH ROW +BEGIN + + IF NEW.fecha != OLD.fecha + OR + NEW.moneda_id != OLD.moneda_id + THEN + + CALL recibidaIvaDivisaUpdate(NEW.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 */ ; + +-- +-- Table structure for table `recibida_agricola` +-- + +DROP TABLE IF EXISTS `recibida_agricola`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida_agricola` ( + `recibida_id` mediumint(8) unsigned NOT NULL, + `num` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`recibida_id`), + CONSTRAINT `recibida_agricola_ibfk_1` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`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 `recibida_entrada` +-- + +DROP TABLE IF EXISTS `recibida_entrada`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida_entrada` ( + `recibida_entrada_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `recibida_id` mediumint(8) unsigned NOT NULL, + `Id_Entrada` int(11) NOT NULL, + `percentage` decimal(10,2) unsigned NOT NULL DEFAULT '0.00', + `awb_recibida` mediumint(8) unsigned NOT NULL, + `Contabilizado` tinyint(3) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`recibida_entrada_id`), + KEY `awb_recibida` (`awb_recibida`), + KEY `Id_Entrada` (`Id_Entrada`), + KEY `recibida_id` (`recibida_id`), + CONSTRAINT `recibida_entrada_ibfk_2` FOREIGN KEY (`Id_Entrada`) REFERENCES `Entradas` (`Id_Entrada`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=9972 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `recibida_entrada_bi` BEFORE INSERT ON `recibida_entrada` FOR EACH ROW +BEGIN + DECLARE intRecibida INT; + IF NEW.recibida_id = 0 THEN + SELECT recibida_id INTO intRecibida FROM recibida_entrada WHERE Id_Entrada = NEW.Id_Entrada; + SET NEW.recibida_id = intRecibida; + 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `recibida_entrada_bu` BEFORE UPDATE ON `recibida_entrada` FOR EACH ROW +BEGIN + DECLARE intRecibida INT; + IF NEW.recibida_id = 0 THEN + SELECT recibida_id INTO intRecibida FROM recibida_entrada WHERE Id_Entrada = NEW.Id_Entrada; + SET NEW.recibida_id = intRecibida; + 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 `recibida_intrastat` +-- + +DROP TABLE IF EXISTS `recibida_intrastat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida_intrastat` ( + `recibida_id` mediumint(8) unsigned NOT NULL, + `Codintrastat` int(8) unsigned zerofill NOT NULL, + `importe` decimal(10,2) NOT NULL, + PRIMARY KEY (`recibida_id`,`Codintrastat`), + KEY `Codintrastat` (`Codintrastat`), + KEY `recibida_id` (`recibida_id`), + CONSTRAINT `recibida_intrastat_ibfk_1` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `recibida_intrastat_ibfk_2` FOREIGN KEY (`Codintrastat`) REFERENCES `Intrastat` (`Codintrastat`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `recibida_iva` +-- + +DROP TABLE IF EXISTS `recibida_iva`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida_iva` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `recibida_id` mediumint(8) unsigned NOT NULL, + `iva_id` tinyint(2) unsigned NOT NULL, + `bi` decimal(10,2) NOT NULL, + `gastos_id` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `divisa` decimal(10,2) DEFAULT NULL, + `MYSQL_TIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `gastos_id` (`gastos_id`), + KEY `recibida_id` (`recibida_id`), + KEY `recibida_iva_ibfk_2` (`iva_id`), + CONSTRAINT `recibida_iva_ibfk_2` FOREIGN KEY (`iva_id`) REFERENCES `iva_codigo` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `recibida_iva_ibfk_5` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `recibida_iva_ibfk_6` FOREIGN KEY (`gastos_id`) REFERENCES `Gastos` (`Id_Gasto`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=85746 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `recibida_vencimiento` +-- + +DROP TABLE IF EXISTS `recibida_vencimiento`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recibida_vencimiento` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `recibida_id` mediumint(8) unsigned NOT NULL, + `fecha` date NOT NULL, + `banco_id` int(11) NOT NULL DEFAULT '3117', + `cantidad` decimal(10,2) NOT NULL DEFAULT '0.00', + `divisa` decimal(10,2) DEFAULT NULL, + `stamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `recibida_id` (`recibida_id`), + KEY `banco_id` (`banco_id`), + CONSTRAINT `recibida_vencimiento_ibfk_6` FOREIGN KEY (`banco_id`) REFERENCES `Bancos` (`Id_Banco`) ON UPDATE CASCADE, + CONSTRAINT `recibida_vencimiento_ibfk_7` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=83351 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`recibida_vencimiento_bi` +BEFORE INSERT ON `vn2008`.`recibida_vencimiento` +FOR EACH ROW +BEGIN + IF NEW.cantidad = 0 THEN + SET NEW.id = 5; + 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 `recovery` +-- + +DROP TABLE IF EXISTS `recovery`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recovery` ( + `recovery_id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Cliente` int(11) NOT NULL DEFAULT '0', + `dstart` date NOT NULL COMMENT 'Fecha a partir de la que comienza el recobro', + `dend` date DEFAULT NULL COMMENT 'Fecha en la que acaba', + `amount` double NOT NULL, + `period` tinyint(3) unsigned NOT NULL DEFAULT '7', + PRIMARY KEY (`recovery_id`), + KEY `cliente_idx` (`Id_Cliente`), + CONSTRAINT `cliente333` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, + CONSTRAINT `cliente_cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=248 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntaremos los acuerdos de recobro semanal a '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `recovery_asset` +-- + +DROP TABLE IF EXISTS `recovery_asset`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `recovery_asset` ( + `recovery_asset_id` int(11) NOT NULL AUTO_INCREMENT, + `dreceipt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `amount` double NOT NULL, + `Id_Cliente` int(11) NOT NULL, + PRIMARY KEY (`recovery_asset_id`), + KEY `Cliente_Recovery_detalle_idx` (`Id_Cliente`), + CONSTRAINT `Cliente_Recovery_detalle` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=723 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla se registra el detalle de los recobros definid'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `reference_min` +-- + +DROP TABLE IF EXISTS `reference_min`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reference_min` ( + `date` date NOT NULL, + `rate` decimal(10,4) NOT NULL, + `moneda_id` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`date`,`moneda_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `reference_rate` +-- + +DROP TABLE IF EXISTS `reference_rate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reference_rate` ( + `moneda_id` tinyint(3) unsigned NOT NULL, + `date` date NOT NULL, + `rate` float unsigned NOT NULL, + PRIMARY KEY (`moneda_id`,`date`), + KEY `date` (`date`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `reinos` +-- + +DROP TABLE IF EXISTS `reinos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reinos` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `reino` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `orden` int(10) unsigned DEFAULT NULL, + `display` tinyint(4) NOT NULL DEFAULT '1', + `color` char(6) COLLATE utf8_unicode_ci DEFAULT NULL, + `efimero` int(11) NOT NULL DEFAULT '0' COMMENT 'Sirve para filtrar aquellos reinos que tienen precios estables', + `mercancia` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `reparacion` +-- + +DROP TABLE IF EXISTS `reparacion`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `reparacion` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `id_user` int(2) DEFAULT NULL, + `config_host` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `problema` text COLLATE utf8_unicode_ci NOT NULL, + `solucion` text COLLATE utf8_unicode_ci NOT NULL, + `estado` enum('No atendida','Vista','En Proceso','Solucionada') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'No atendida', + `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `id_reparador` int(2) DEFAULT NULL, + `ref` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `articulo` varchar(30) COLLATE utf8_unicode_ci DEFAULT NULL, + `marca` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `config_host` (`config_host`), + KEY `id_user` (`id_user`), + KEY `id_reparador` (`id_reparador`), + CONSTRAINT `reparacion_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `reparacion_ibfk_2` FOREIGN KEY (`config_host`) REFERENCES `config_host` (`config_host_id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `reparacion_ibfk_4` FOREIGN KEY (`id_reparador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `rolekk` +-- + +DROP TABLE IF EXISTS `rolekk`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `rolekk` ( + `role_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `rounding` +-- + +DROP TABLE IF EXISTS `rounding`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `rounding` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `amount` double NOT NULL DEFAULT '0', + `price` double DEFAULT '0', + `discount` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `route` +-- + +DROP TABLE IF EXISTS `route`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `route` ( + `agency_id` smallint(5) unsigned NOT NULL, + `week_day` tinyint(3) unsigned NOT NULL COMMENT 'weekday de access el domingo = 1, sabado = 7. Intentar cambiar al de Mysql Lunes = 0', + PRIMARY KEY (`agency_id`,`week_day`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ruta_location` +-- + +DROP TABLE IF EXISTS `ruta_location`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ruta_location` ( + `Id_Ruta` int(10) unsigned NOT NULL, + `longitude` decimal(11,7) NOT NULL, + `latitude` decimal(11,7) NOT NULL, + `time_location` datetime NOT NULL, + PRIMARY KEY (`Id_Ruta`), + CONSTRAINT `Id_Ruta_Location` FOREIGN KEY (`Id_Ruta`) REFERENCES `Rutas` (`Id_Ruta`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `salarioDits` +-- + +DROP TABLE IF EXISTS `salarioDits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `salarioDits` ( + `idSalario_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idSalario_dits`) +) ENGINE=InnoDB AUTO_INCREMENT=96 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `scan` +-- + +DROP TABLE IF EXISTS `scan`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `scan` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `lft` int(11) NOT NULL, + `rgt` int(11) NOT NULL, + `name` varchar(45) CHARACTER SET utf8 DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=46728 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `scanTree` +-- + +DROP TABLE IF EXISTS `scanTree`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `scanTree` ( + `id` int(11) NOT NULL DEFAULT '0', + `name` longtext CHARACTER SET utf8, + `lft` int(11) NOT NULL, + `rgt` int(11) NOT NULL, + `depth` bigint(22) NOT NULL DEFAULT '0', + `sons` decimal(10,0) DEFAULT NULL, + `lastScanned` datetime DEFAULT NULL, + `routeCount` int(11) DEFAULT NULL, + `minRoute` int(11) DEFAULT NULL, + `maxRoute` int(11) DEFAULT NULL, + `scanned` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `scan_line` +-- + +DROP TABLE IF EXISTS `scan_line`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `scan_line` ( + `scan_line_id` int(11) NOT NULL AUTO_INCREMENT, + `scan_id` int(11) NOT NULL, + `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`scan_line_id`), + KEY `id_scan_id_idx` (`scan_id`), + CONSTRAINT `id_scan_id` FOREIGN KEY (`scan_id`) REFERENCES `scan` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=611063 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `sharingcart` +-- + +DROP TABLE IF EXISTS `sharingcart`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sharingcart` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Trabajador` int(11) NOT NULL, + `datSTART` date NOT NULL, + `datEND` date NOT NULL, + `Id_Suplente` int(11) NOT NULL, + `odbc_date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `Worker` (`Id_Trabajador`), + KEY `Suplent` (`Id_Suplente`), + CONSTRAINT `Suplent_key` FOREIGN KEY (`Id_Suplente`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `Trabajador_key` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1701 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 `sharingcart_bi` BEFORE INSERT ON `sharingcart` FOR EACH ROW + +BEGIN + + SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); + SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); + + IF NEW.Id_Trabajador = NEW.Id_Suplente THEN + SET NEW.Id_Trabajador = 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 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 `sharingcart_bu` BEFORE UPDATE ON `sharingcart` FOR EACH ROW + +BEGIN + + SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); + SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); + + IF NEW.Id_Trabajador = NEW.Id_Suplente THEN + SET NEW.Id_Trabajador = 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 `sharingclient` +-- + +DROP TABLE IF EXISTS `sharingclient`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sharingclient` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `Id_Trabajador` int(11) NOT NULL, + `datSTART` date NOT NULL, + `datEND` date NOT NULL, + `Id_Cliente` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `Worker` (`Id_Trabajador`), + KEY `Client` (`Id_Cliente`), + CONSTRAINT `Clients_key` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE, + CONSTRAINT `Trabajadores_key` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=32 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 `vn2008`.`sharingclient_BEFORE_INSERT` BEFORE INSERT ON `sharingclient` FOR EACH ROW +BEGIN + +SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); +SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); + +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 `vn2008`.`sharingclient_BEFORE_UPDATE` BEFORE UPDATE ON `sharingclient` FOR EACH ROW +BEGIN + +SET NEW.datEND = GREATEST(CURDATE(),NEW.datEND); +SET NEW.datSTART = GREATEST(CURDATE(),NEW.datSTART); + +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 table structure for view `sms` +-- + +DROP TABLE IF EXISTS `sms`; +/*!50001 DROP VIEW IF EXISTS `sms`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `sms` ( + `id` tinyint NOT NULL, + `Id_trabajador` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `from` tinyint NOT NULL, + `to` tinyint NOT NULL, + `text` tinyint NOT NULL, + `sent` tinyint NOT NULL, + `response` tinyint NOT NULL, + `DATE_ODBC` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `split` +-- + +DROP TABLE IF EXISTS `split`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `split` ( + `edi_id` int(11) NOT NULL, + `customer_id` int(11) NOT NULL, + `quantity` int(11) NOT NULL, + KEY `edi_id` (`edi_id`,`customer_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `state` +-- + +DROP TABLE IF EXISTS `state`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `state` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `order` tinyint(3) unsigned DEFAULT NULL, + `alert_level` int(11) NOT NULL DEFAULT '0', + `code` varchar(45) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `code_UNIQUE` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `subordinate` +-- + +DROP TABLE IF EXISTS `subordinate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `subordinate` ( + `Id_Trabajador` bigint(11) DEFAULT NULL, + `visited` int(1) NOT NULL DEFAULT '0', + `boss` int(1) NOT NULL DEFAULT '0', + KEY `Id_Trabajador` (`Id_Trabajador`) +) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `tag` +-- + +DROP TABLE IF EXISTS `tag`; +/*!50001 DROP VIEW IF EXISTS `tag`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `tag` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `free` tinyint NOT NULL, + `isQuantitatif` tinyint NOT NULL, + `sourceTable` tinyint NOT NULL, + `unit` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `tarifa_componentes` +-- + +DROP TABLE IF EXISTS `tarifa_componentes`; +/*!50001 DROP VIEW IF EXISTS `tarifa_componentes`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `tarifa_componentes` ( + `Id_Componente` tinyint NOT NULL, + `Componente` tinyint NOT NULL, + `tarifa_componentes_series_id` tinyint NOT NULL, + `tarifa_class` tinyint NOT NULL, + `tax` tinyint NOT NULL, + `is_renewable` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `tarifa_componentes_series` +-- + +DROP TABLE IF EXISTS `tarifa_componentes_series`; +/*!50001 DROP VIEW IF EXISTS `tarifa_componentes_series`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `tarifa_componentes_series` ( + `tarifa_componentes_series_id` tinyint NOT NULL, + `Serie` tinyint NOT NULL, + `base` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `tarifas` +-- + +DROP TABLE IF EXISTS `tarifas`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tarifas` ( + `tarifa_id` int(11) NOT NULL AUTO_INCREMENT, + `fecha` date NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + `t0` double NOT NULL, + `t1` double NOT NULL, + `t2` double NOT NULL, + `t3` double NOT NULL, + PRIMARY KEY (`tarifa_id`), + KEY `tarifa_warehouse` (`warehouse_id`), + CONSTRAINT `tarifa_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=140 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tblContadores` +-- + +DROP TABLE IF EXISTS `tblContadores`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tblContadores` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ochoa` int(10) unsigned NOT NULL, + `nfactura` int(11) DEFAULT '0', + `nasiento` int(11) DEFAULT '0', + `serieA` int(11) DEFAULT '0', + `serieE` int(11) DEFAULT '0', + `serieR` int(11) DEFAULT '0', + `serieC` int(11) DEFAULT '0', + `SerieH` int(11) NOT NULL, + `serieP` int(11) DEFAULT '0', + `serieT` int(11) DEFAULT '0', + `FechaInventario` datetime DEFAULT NULL, + `serieM` int(11) DEFAULT '0', + `HistoricoArticulo` int(11) DEFAULT '0', + `week_goal` int(11) DEFAULT NULL, + `Rutafotos` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `numCaja` int(11) DEFAULT '0', + `CodigoRojo` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `Tablet_Hora` datetime DEFAULT NULL, + `t0` int(11) NOT NULL DEFAULT '0', + `t1` int(11) NOT NULL DEFAULT '0', + `t2` int(11) NOT NULL DEFAULT '0', + `t3` int(11) NOT NULL DEFAULT '0', + `cc` double NOT NULL DEFAULT '0', + `palet` double NOT NULL DEFAULT '0', + `campaign` datetime NOT NULL, + `campaign_life` tinyint(3) unsigned NOT NULL, + `truck_days` tinyint(3) unsigned NOT NULL, + `tasa_transporte` double NOT NULL, + `escaner_path` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `turnoimpreso` int(4) DEFAULT NULL, + `truck_length` int(11) DEFAULT '24', + `fuel_consumption` int(11) DEFAULT NULL, + `petrol` decimal(10,1) DEFAULT NULL, + `maintenance` decimal(10,1) DEFAULT NULL, + `hour_price` decimal(10,1) DEFAULT NULL, + `meter_price` decimal(10,1) DEFAULT NULL, + `km_price` decimal(10,1) DEFAULT NULL, + `route_option` int(11) DEFAULT '1', + `dbproduccion` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=4 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 `vn2008`.`tblContadores_bi` BEFORE INSERT ON `tblContadores` FOR EACH ROW +BEGIN + DECLARE v_count INT; + + SELECT COUNT(*) INTO v_count FROM tblContadores; + + IF v_count > 0 THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'ONLY_ONE_ROW_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 */ ; + +-- +-- Table structure for table `tblIVA` +-- + +DROP TABLE IF EXISTS `tblIVA`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tblIVA` ( + `tipoiva` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `iva` smallint(6) NOT NULL DEFAULT '0', + `cuenta` double DEFAULT '0', + `cuentaRE` double DEFAULT '0', + `cuentaivaRE` double DEFAULT '0', + `REQ` double DEFAULT '0', + PRIMARY KEY (`tipoiva`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `template_bionic_component` +-- + +DROP TABLE IF EXISTS `template_bionic_component`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `template_bionic_component` ( + `warehouse_id` smallint(5) unsigned NOT NULL, + `item_id` int(11) NOT NULL, + `component_id` int(10) unsigned NOT NULL, + `cost` decimal(10,4) NOT NULL, + UNIQUE KEY `item_warehouse_component` (`item_id`,`warehouse_id`,`component_id`) USING HASH, + KEY `item_warehouse` (`item_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 `template_bionic_lot` +-- + +DROP TABLE IF EXISTS `template_bionic_lot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `template_bionic_lot` ( + `warehouse_id` smallint(5) unsigned NOT NULL, + `item_id` int(11) NOT NULL, + `available` double DEFAULT NULL, + `buy_id` int(11) DEFAULT NULL, + `fix` tinyint(3) unsigned DEFAULT '0', + KEY `item_id` (`item_id`), + KEY `item_warehouse` (`item_id`,`warehouse_id`) USING HASH +) ENGINE=MEMORY DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `template_bionic_price` +-- + +DROP TABLE IF EXISTS `template_bionic_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `template_bionic_price` ( + `warehouse_id` smallint(5) unsigned NOT NULL, + `item_id` int(11) NOT NULL, + `rate` tinyint(3) unsigned NOT NULL, + `items` int(11) DEFAULT NULL, + `grouping` int(11) DEFAULT NULL, + `price` decimal(10,2) DEFAULT NULL, + KEY `item_id` (`item_id`) USING BTREE +) ENGINE=MEMORY DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `thermograph` +-- + +DROP TABLE IF EXISTS `thermograph`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `thermograph` ( + `thermograph_id` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `model` enum('TL30','SENSITECH','TREKVIEW1','TREKVIEW2','DISPOSABLE') COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`thermograph_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `ticketCreationData` +-- + +DROP TABLE IF EXISTS `ticketCreationData`; +/*!50001 DROP VIEW IF EXISTS `ticketCreationData`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ticketCreationData` ( + `DiadelaSemana` tinyint NOT NULL, + `Hora` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `Dispositivo` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `ticket_location` +-- + +DROP TABLE IF EXISTS `ticket_location`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticket_location` ( + `Id_Ticket` int(11) NOT NULL, + `longitude` decimal(11,7) DEFAULT NULL, + `latitude` decimal(11,7) DEFAULT NULL, + PRIMARY KEY (`Id_Ticket`), + CONSTRAINT `Id_Ticket_Location` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) 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 `ticket_observation` +-- + +DROP TABLE IF EXISTS `ticket_observation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticket_observation` ( + `ticket_observation_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `Id_Ticket` int(11) NOT NULL, + `observation_type_id` tinyint(3) unsigned NOT NULL, + `text` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`ticket_observation_id`), + UNIQUE KEY `Id_Ticket` (`Id_Ticket`,`observation_type_id`), + KEY `observation_type_id` (`observation_type_id`), + CONSTRAINT `ticket_observation_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ticket_observation_ibfk_2` FOREIGN KEY (`observation_type_id`) REFERENCES `observation_type` (`observation_type_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=995650 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tickets_gestdoc` +-- + +DROP TABLE IF EXISTS `tickets_gestdoc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tickets_gestdoc` ( + `Id_Ticket` int(11) NOT NULL, + `gestdoc_id` int(11) NOT NULL, + PRIMARY KEY (`Id_Ticket`,`gestdoc_id`), + KEY `gestdoc_id` (`gestdoc_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `time` +-- + +DROP TABLE IF EXISTS `time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `time` ( + `date` date NOT NULL, + `period` int(6) NOT NULL, + `month` int(2) NOT NULL, + `year` int(4) NOT NULL, + `day` int(2) NOT NULL, + `week` int(2) NOT NULL, + `yearMonth` int(6) NOT NULL, + PRIMARY KEY (`date`), + KEY `day_index` (`day`) USING HASH, + KEY `week_index` (`week`) USING HASH, + KEY `year_index` (`year`) USING HASH, + KEY `month_index` (`month`) USING HASH, + KEY `periodo` (`period`) USING HASH, + KEY `yearMonth` (`yearMonth`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla de referencia para las semanas, años y meses'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tipsa` +-- + +DROP TABLE IF EXISTS `tipsa`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tipsa` ( + `kilos` tinyint(3) unsigned NOT NULL, + `importe` double unsigned NOT NULL, + `zona` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`kilos`,`zona`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tmpNEWTARIFAS` +-- + +DROP TABLE IF EXISTS `tmpNEWTARIFAS`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tmpNEWTARIFAS` ( + `Id_Cliente` int(11) NOT NULL, + `Cliente` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `Consumo_medio_mensual` double(17,0) DEFAULT NULL, + `Tarifa_Actual` int(11) DEFAULT '0', + `Nueva_Tarifa` int(11) DEFAULT NULL, + `Id_Trabajador` int(11) DEFAULT '20', + 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 `transport` +-- + +DROP TABLE IF EXISTS `transport`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `transport` ( + `wday` tinyint(4) NOT NULL, + PRIMARY KEY (`wday`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `travel` +-- + +DROP TABLE IF EXISTS `travel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travel` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `shipment` date DEFAULT NULL, + `shipment_hour` time DEFAULT NULL, + `landing` date NOT NULL, + `landing_hour` time DEFAULT NULL, + `warehouse_id` smallint(6) unsigned DEFAULT NULL, + `warehouse_id_out` smallint(6) unsigned DEFAULT NULL, + `agency_id` int(11) DEFAULT NULL, + `ref` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `delivered` tinyint(1) NOT NULL DEFAULT '0', + `received` tinyint(1) NOT NULL DEFAULT '0', + `m3` decimal(10,2) unsigned DEFAULT NULL, + `kg` decimal(10,0) unsigned DEFAULT NULL, + `cargoSupplierFk` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `shipment_2` (`shipment`,`landing`,`warehouse_id`,`warehouse_id_out`,`agency_id`,`ref`), + KEY `agency_id` (`agency_id`), + KEY `shipment` (`shipment`), + KEY `landing` (`landing`), + KEY `warehouse_landing` (`warehouse_id`,`landing`), + KEY `warehouse_out_shipment` (`warehouse_id_out`,`shipment`), + KEY `travel_ibfk_4_idx` (`cargoSupplierFk`), + CONSTRAINT `travel_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_ibfk_2` FOREIGN KEY (`warehouse_id_out`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_ibfk_3` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, + CONSTRAINT `travel_ibfk_4` FOREIGN KEY (`cargoSupplierFk`) REFERENCES `Proveedores` (`Id_Proveedor`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=100076 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +/*!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 `travelBeforeInsert` + BEFORE INSERT ON `travel` FOR EACH ROW +BEGIN + -- Evita fechas absurdas + + IF NEW.landing < TIMESTAMPADD(YEAR, -10, CURDATE()) + OR NEW.shipment < TIMESTAMPADD(YEAR, -10, CURDATE()) + OR NEW.landing < NEW.shipment + THEN + SET NEW.landing = 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 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 `travelBeforeUpdate` + BEFORE UPDATE ON `travel` FOR EACH ROW +BEGIN + DECLARE trabajador INT; + + -- Volem permetre dates iguals de eixida i arribada per al magatzems filiats en warehouse_tree + + IF NEW.landing < NEW.shipment THEN + SET NEW.shipment = NEW.landing; + END IF; + + -- Evita fechas absurdas + + IF NEW.landing < TIMESTAMPADD(YEAR,-10, CURDATE()) + OR NEW.shipment < TIMESTAMPADD(YEAR,-10,CURDATE()) + THEN + SET NEW.landing = NULL; + END IF; + + -- Ditacio para averiguar cuando se marca como delivered = true los travels, pues aparecen por la mañana sin explicacion + + IF ABS(NEW.delivered) > ABS(OLD.delivered) + THEN + SELECT Id_Trabajador into trabajador from Trabajadores where user_id = account.userGetId(); + + INSERT INTO travel_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + VALUES (89/*Cambia delivered*/,IFNULL(trabajador,20),NEW.id,OLD.delivered,CONCAT(NEW.delivered,' desde ' ,user())); + 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 `vn2008`.`travelAfterUpdate` + AFTER UPDATE ON `travel` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('travel', NEW.id, OLD.id); + + IF NEW.shipment != OLD.shipment THEN + + UPDATE Entradas + SET comision = getComision(Id_Entrada, Id_Moneda) + WHERE travel_id = NEW.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 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 `vn2008`.`travelAfterDelete` + AFTER DELETE ON `travel` FOR EACH ROW +BEGIN + CALL stock.queueAdd ('travel', NULL, OLD.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 */ ; + +-- +-- Table structure for table `travel_dits` +-- + +DROP TABLE IF EXISTS `travel_dits`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travel_dits` ( + `idtravel_dits` int(11) NOT NULL AUTO_INCREMENT, + `idaccion_dits` int(11) NOT NULL, + `ODBC_DATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `Id_Ticket` int(11) NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `value_old` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `value_new` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`idtravel_dits`), + KEY `fgkey1_idx` (`idaccion_dits`), + KEY `fgkey2_idx` (`Id_Ticket`), + KEY `fgkey3_idx` (`Id_Trabajador`), + CONSTRAINT `travel_dits_ibfk_1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=152130 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `travel_pattern` +-- + +DROP TABLE IF EXISTS `travel_pattern`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travel_pattern` ( + `travel_pattern_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `week_start` tinyint(3) unsigned NOT NULL, + `week_end` tinyint(3) unsigned NOT NULL, + `warehouse_out` smallint(5) unsigned NOT NULL, + `warehouse_in` smallint(5) unsigned NOT NULL, + `agency_id` int(11) NOT NULL, + `day_out` tinyint(3) unsigned NOT NULL, + `duration` tinyint(3) unsigned NOT NULL, + `ref` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`travel_pattern_id`), + KEY `warehouse_out` (`warehouse_out`), + KEY `warehouse_in` (`warehouse_in`), + KEY `agency_id` (`agency_id`), + CONSTRAINT `travel_pattern_ibfk_3` FOREIGN KEY (`warehouse_out`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_pattern_ibfk_4` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON UPDATE CASCADE, + CONSTRAINT `travel_pattern_ibfk_5` FOREIGN KEY (`warehouse_in`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=320 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `travel_reserve` +-- + +DROP TABLE IF EXISTS `travel_reserve`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travel_reserve` ( + `travel_reserve_id` int(11) NOT NULL AUTO_INCREMENT, + `travel_id` int(11) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `reserved` decimal(4,1) DEFAULT NULL, + `buyed` decimal(4,1) DEFAULT NULL, + `askingfor` decimal(4,1) DEFAULT NULL, + `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `labeled` decimal(4,1) unsigned NOT NULL DEFAULT '0.0', + PRIMARY KEY (`Id_Trabajador`,`travel_id`), + UNIQUE KEY `travel_reserve_id_UNIQUE` (`travel_reserve_id`), + KEY `travel_travel_reserve_idx` (`travel_id`), + KEY `traveL_buyer_id_idx` (`Id_Trabajador`), + CONSTRAINT `travel_reserve_ibfk_1` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla almacenamos los m3 que cada comprador tiene asignados, por travel.'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `travel_thermograph` +-- + +DROP TABLE IF EXISTS `travel_thermograph`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travel_thermograph` ( + `thermograph_id` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `odbc_date` date NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + `travel_id` int(10) unsigned DEFAULT NULL, + `temperature` enum('COOL','WARM') COLLATE utf8_unicode_ci NOT NULL, + `result` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `gestdoc_id` int(11) DEFAULT NULL, + PRIMARY KEY (`thermograph_id`,`odbc_date`), + KEY `thermograph_fk_idx` (`thermograph_id`), + KEY `gestdoc_fk_idx` (`gestdoc_id`), + KEY `travel_id` (`travel_id`), + KEY `warehouse_id` (`warehouse_id`), + CONSTRAINT `gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `gestdoc` (`id`) ON UPDATE CASCADE, + CONSTRAINT `thermograph_fk` FOREIGN KEY (`thermograph_id`) REFERENCES `thermograph` (`thermograph_id`) ON UPDATE CASCADE, + CONSTRAINT `travel_fk` FOREIGN KEY (`travel_id`) REFERENCES `travel` (`id`), + CONSTRAINT `travel_thermograph_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registra cada termografo que se ha introducido en cada travel'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `trolley` +-- + +DROP TABLE IF EXISTS `trolley`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `trolley` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(4) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `turn` +-- + +DROP TABLE IF EXISTS `turn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `turn` ( + `number` int(11) NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`number`,`odbc_date`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `unary` +-- + +DROP TABLE IF EXISTS `unary`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `parent` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `idunary_UNIQUE` (`id`), + KEY `unary_parent_idx` (`parent`), + CONSTRAINT `unary_parent` FOREIGN KEY (`parent`) REFERENCES `unary` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=883 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `unaryScanFilter` +-- + +DROP TABLE IF EXISTS `unaryScanFilter`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unaryScanFilter` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `filter` text COLLATE utf8_unicode_ci 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 `unary_scan` +-- + +DROP TABLE IF EXISTS `unary_scan`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary_scan` ( + `unary_id` int(11) NOT NULL, + `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `type` set('BUYS','EXPEDITIONS') COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`unary_id`), + KEY `scan_unary_idx` (`unary_id`), + CONSTRAINT `unary_scan` FOREIGN KEY (`unary_id`) REFERENCES `unary` (`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 `unary_scan_line` +-- + +DROP TABLE IF EXISTS `unary_scan_line`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary_scan_line` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `unary_id` int(11) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `id_UNIQUE` (`id`), + KEY `unary_line_idx` (`unary_id`), + CONSTRAINT `unary_line` FOREIGN KEY (`unary_id`) REFERENCES `unary_scan` (`unary_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=8462 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `unary_scan_line_buy` +-- + +DROP TABLE IF EXISTS `unary_scan_line_buy`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary_scan_line_buy` ( + `scan_line_id` int(11) NOT NULL, + `Id_Article` int(11) NOT NULL, + PRIMARY KEY (`scan_line_id`), + UNIQUE KEY `scan_line_id_UNIQUE` (`scan_line_id`), + KEY `Id_Article_buy_idx` (`Id_Article`), + CONSTRAINT `Id_Article_buy` FOREIGN KEY (`Id_Article`) REFERENCES `Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `scan_line_id_patriarcal` FOREIGN KEY (`scan_line_id`) REFERENCES `unary_scan_line` (`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 `unary_scan_line_expedition` +-- + +DROP TABLE IF EXISTS `unary_scan_line_expedition`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary_scan_line_expedition` ( + `scan_line_id` int(11) NOT NULL, + `expedition_id` int(11) NOT NULL, + PRIMARY KEY (`scan_line_id`), + UNIQUE KEY `scan_line_id_UNIQUE` (`scan_line_id`), + KEY `expedition_id_scan_idx` (`expedition_id`), + CONSTRAINT `expedition_id_scan` FOREIGN KEY (`expedition_id`) REFERENCES `expeditions` (`expeditions_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 `unary_source` +-- + +DROP TABLE IF EXISTS `unary_source`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `unary_source` ( + `name` varchar(100) 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 */; + +-- +-- Temporary table structure for view `v_Agenda` +-- + +DROP TABLE IF EXISTS `v_Agenda`; +/*!50001 DROP VIEW IF EXISTS `v_Agenda`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_Agenda` ( + `Tipo` tinyint NOT NULL, + `Id` tinyint NOT NULL, + `Nombre` tinyint NOT NULL, + `Telephone` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_Agenda2` +-- + +DROP TABLE IF EXISTS `v_Agenda2`; +/*!50001 DROP VIEW IF EXISTS `v_Agenda2`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_Agenda2` ( + `Tipo` tinyint NOT NULL, + `Id` tinyint NOT NULL, + `Nombre` tinyint NOT NULL, + `Telefono` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_Articles_botanical` +-- + +DROP TABLE IF EXISTS `v_Articles_botanical`; +/*!50001 DROP VIEW IF EXISTS `v_Articles_botanical`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_Articles_botanical` ( + `Id_Article` tinyint NOT NULL, + `edi_botanic` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_Movimientos_Volumen_shipping_charge` +-- + +DROP TABLE IF EXISTS `v_Movimientos_Volumen_shipping_charge`; +/*!50001 DROP VIEW IF EXISTS `v_Movimientos_Volumen_shipping_charge`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_Movimientos_Volumen_shipping_charge` ( + `Id_Ticket` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `price` tinyint NOT NULL, + `freight` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_Ordenes` +-- + +DROP TABLE IF EXISTS `v_Ordenes`; +/*!50001 DROP VIEW IF EXISTS `v_Ordenes`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_Ordenes` ( + `Id_ORDEN` tinyint NOT NULL, + `ORDEN` tinyint NOT NULL, + `datORDEN` tinyint NOT NULL, + `datTICKET` tinyint NOT NULL, + `CodVENDEDOR` tinyint NOT NULL, + `CodCOMPRADOR` tinyint NOT NULL, + `CANTIDAD` tinyint NOT NULL, + `PRECIOMAX` tinyint NOT NULL, + `PREU` tinyint NOT NULL, + `Id_ARTICLE` tinyint NOT NULL, + `Id_CLIENTE` tinyint NOT NULL, + `COMENTARIO` tinyint NOT NULL, + `OK` tinyint NOT NULL, + `TOTAL` tinyint NOT NULL, + `datCOMPRA` tinyint NOT NULL, + `KO` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_XDiario_ALL` +-- + +DROP TABLE IF EXISTS `v_XDiario_ALL`; +/*!50001 DROP VIEW IF EXISTS `v_XDiario_ALL`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_XDiario_ALL` ( + `empresa_id` tinyint NOT NULL, + `SUBCTA` tinyint NOT NULL, + `Eurodebe` tinyint NOT NULL, + `Eurohaber` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `FECHA_EX` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_accion` +-- + +DROP TABLE IF EXISTS `v_accion`; +/*!50001 DROP VIEW IF EXISTS `v_accion`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_accion` ( + `accion_id` tinyint NOT NULL, + `accion` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_account` +-- + +DROP TABLE IF EXISTS `v_account`; +/*!50001 DROP VIEW IF EXISTS `v_account`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_account` ( + `user_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_analisis_ventas` +-- + +DROP TABLE IF EXISTS `v_analisis_ventas`; +/*!50001 DROP VIEW IF EXISTS `v_analisis_ventas`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_analisis_ventas` ( + `Familia` tinyint NOT NULL, + `Reino` tinyint NOT NULL, + `Comercial` tinyint NOT NULL, + `Comprador` tinyint NOT NULL, + `Provincia` tinyint NOT NULL, + `almacen` tinyint NOT NULL, + `Año` tinyint NOT NULL, + `Mes` tinyint NOT NULL, + `Semana` tinyint NOT NULL, + `Vista` tinyint NOT NULL, + `Importe` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_awb_volumen` +-- + +DROP TABLE IF EXISTS `v_awb_volumen`; +/*!50001 DROP VIEW IF EXISTS `v_awb_volumen`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_awb_volumen` ( + `awb_id` tinyint NOT NULL, + `codigo` tinyint NOT NULL, + `importe` tinyint NOT NULL, + `Vol_Total` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_barcodes` +-- + +DROP TABLE IF EXISTS `v_barcodes`; +/*!50001 DROP VIEW IF EXISTS `v_barcodes`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_barcodes` ( + `code` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_barcodes_plus` +-- + +DROP TABLE IF EXISTS `v_barcodes_plus`; +/*!50001 DROP VIEW IF EXISTS `v_barcodes_plus`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_barcodes_plus` ( + `code` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `Article` tinyint NOT NULL, + `Medida` tinyint NOT NULL, + `Color` tinyint NOT NULL, + `Categoria` tinyint NOT NULL, + `Producer` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_botanic_export` +-- + +DROP TABLE IF EXISTS `v_botanic_export`; +/*!50001 DROP VIEW IF EXISTS `v_botanic_export`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_botanic_export` ( + `Nom_botanic` tinyint NOT NULL, + `Id_Paises` tinyint NOT NULL, + `restriction` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_compres` +-- + +DROP TABLE IF EXISTS `v_compres`; +/*!50001 DROP VIEW IF EXISTS `v_compres`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_compres` ( + `Familia` tinyint NOT NULL, + `reino_id` tinyint NOT NULL, + `Id_Compra` tinyint NOT NULL, + `Id_Entrada` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `Cantidad` tinyint NOT NULL, + `Costefijo` tinyint NOT NULL, + `Portefijo` tinyint NOT NULL, + `Novincular` tinyint NOT NULL, + `Etiquetas` tinyint NOT NULL, + `Packing` tinyint NOT NULL, + `grouping` tinyint NOT NULL, + `Comisionfija` tinyint NOT NULL, + `Embalajefijo` tinyint NOT NULL, + `Nicho` tinyint NOT NULL, + `Id_Cubo` tinyint NOT NULL, + `Tarifa1` tinyint NOT NULL, + `Tarifa2` tinyint NOT NULL, + `Tarifa3` tinyint NOT NULL, + `PVP` tinyint NOT NULL, + `Vida` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL, + `punteo` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL, + `Inventario` tinyint NOT NULL, + `Id_Proveedor` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `Confirmada` tinyint NOT NULL, + `Redada` tinyint NOT NULL, + `empresa_id` tinyint NOT NULL, + `travel_id` tinyint NOT NULL, + `Pedida` tinyint NOT NULL, + `recibida_id` tinyint NOT NULL, + `id` tinyint NOT NULL, + `shipment` tinyint NOT NULL, + `landing` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `warehouse_id_out` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `delivered` tinyint NOT NULL, + `received` tinyint NOT NULL, + `Article` tinyint NOT NULL, + `Medida` tinyint NOT NULL, + `Tallos` tinyint NOT NULL, + `caja` tinyint NOT NULL, + `Categoria` tinyint NOT NULL, + `id_origen` tinyint NOT NULL, + `Tipo` tinyint NOT NULL, + `tipo_id` tinyint NOT NULL, + `Color` tinyint NOT NULL, + `Min` tinyint NOT NULL, + `Coste` tinyint NOT NULL, + `fuente` tinyint NOT NULL, + `iva_group_id` tinyint NOT NULL, + `cm3` tinyint NOT NULL, + `producer_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_departure_limit` +-- + +DROP TABLE IF EXISTS `v_departure_limit`; +/*!50001 DROP VIEW IF EXISTS `v_departure_limit`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_departure_limit` ( + `warehouse_id` tinyint NOT NULL, + `fecha` tinyint NOT NULL, + `hora` tinyint NOT NULL, + `minSpeed` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_descuadre_bionic` +-- + +DROP TABLE IF EXISTS `v_descuadre_bionic`; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_bionic`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_descuadre_bionic` ( + `Id_Ticket` tinyint NOT NULL, + `Alias` tinyint NOT NULL, + `Concepte` tinyint NOT NULL, + `suma_componente` tinyint NOT NULL, + `Preu` tinyint NOT NULL, + `Descuento` tinyint NOT NULL, + `diferencia` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `benvenut` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_descuadre_porte` +-- + +DROP TABLE IF EXISTS `v_descuadre_porte`; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_descuadre_porte` ( + `Id_Ticket` tinyint NOT NULL, + `suma_componente` tinyint NOT NULL, + `teorico_agencia` tinyint NOT NULL, + `diferencia` tinyint NOT NULL, + `Fecha` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_descuadre_porte2` +-- + +DROP TABLE IF EXISTS `v_descuadre_porte2`; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte2`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_descuadre_porte2` ( + `Id_Ticket` tinyint NOT NULL, + `suma_componente` tinyint NOT NULL, + `Fecha` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_empresa` +-- + +DROP TABLE IF EXISTS `v_empresa`; +/*!50001 DROP VIEW IF EXISTS `v_empresa`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_empresa` ( + `logo` tinyint NOT NULL, + `id` tinyint NOT NULL, + `registro` tinyint NOT NULL, + `gerente_id` tinyint NOT NULL, + `alta` tinyint NOT NULL, + `Nombre` tinyint NOT NULL, + `Apellidos` tinyint NOT NULL, + `Proveedor` tinyint NOT NULL, + `Domicilio` tinyint NOT NULL, + `CP` tinyint NOT NULL, + `Localidad` tinyint NOT NULL, + `NIF` tinyint NOT NULL, + `Telefono` tinyint NOT NULL, + `Alias` tinyint NOT NULL, + `abbreviation` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_encajado` +-- + +DROP TABLE IF EXISTS `v_encajado`; +/*!50001 DROP VIEW IF EXISTS `v_encajado`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_encajado` ( + `hora` tinyint NOT NULL, + `minuto` tinyint NOT NULL, + `cm3` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_encajado_ultima_hora` +-- + +DROP TABLE IF EXISTS `v_encajado_ultima_hora`; +/*!50001 DROP VIEW IF EXISTS `v_encajado_ultima_hora`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_encajado_ultima_hora` ( + `m3` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_expeditions_shipping_charge` +-- + +DROP TABLE IF EXISTS `v_expeditions_shipping_charge`; +/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_expeditions_shipping_charge` ( + `Id_Ticket` tinyint NOT NULL, + `shipping_charge` tinyint NOT NULL, + `Fecha` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_expeditions_shipping_charge2` +-- + +DROP TABLE IF EXISTS `v_expeditions_shipping_charge2`; +/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge2`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_expeditions_shipping_charge2` ( + `Id_Ticket` tinyint NOT NULL, + `shipping_charge` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_fallo` +-- + +DROP TABLE IF EXISTS `v_fallo`; +/*!50001 DROP VIEW IF EXISTS `v_fallo`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_fallo` ( + `queja_id` tinyint NOT NULL, + `accion_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_inter` +-- + +DROP TABLE IF EXISTS `v_inter`; +/*!50001 DROP VIEW IF EXISTS `v_inter`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_inter` ( + `inter_id` tinyint NOT NULL, + `state_id` tinyint NOT NULL, + `nota` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL, + `Id_supervisor` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_jerarquia` +-- + +DROP TABLE IF EXISTS `v_jerarquia`; +/*!50001 DROP VIEW IF EXISTS `v_jerarquia`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_jerarquia` ( + `Id_Trabajador` tinyint NOT NULL, + `boss_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_location` +-- + +DROP TABLE IF EXISTS `v_location`; +/*!50001 DROP VIEW IF EXISTS `v_location`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_location` ( + `longitude` tinyint NOT NULL, + `latitude` tinyint NOT NULL, + `Id_Consigna` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_mana_spellers` +-- + +DROP TABLE IF EXISTS `v_mana_spellers`; +/*!50001 DROP VIEW IF EXISTS `v_mana_spellers`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_mana_spellers` ( + `Id_Trabajador` tinyint NOT NULL, + `size` tinyint NOT NULL, + `used` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_miriam` +-- + +DROP TABLE IF EXISTS `v_miriam`; +/*!50001 DROP VIEW IF EXISTS `v_miriam`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_miriam` ( + `Id_Article` tinyint NOT NULL, + `Concepte` tinyint NOT NULL, + `Cantidad` tinyint NOT NULL, + `Preu` tinyint NOT NULL, + `Descuento` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `Importe` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_movimientos_log` +-- + +DROP TABLE IF EXISTS `v_movimientos_log`; +/*!50001 DROP VIEW IF EXISTS `v_movimientos_log`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_movimientos_log` ( + `idmovimientos_log` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL, + `field_name` tinyint NOT NULL, + `new_value` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_movimientos_mark` +-- + +DROP TABLE IF EXISTS `v_movimientos_mark`; +/*!50001 DROP VIEW IF EXISTS `v_movimientos_mark`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_movimientos_mark` ( + `Id_Movimiento` tinyint NOT NULL, + `Accion` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_pedidos_auto_preparados` +-- + +DROP TABLE IF EXISTS `v_pedidos_auto_preparados`; +/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparados`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_pedidos_auto_preparados` ( + `CodigoTrabajador` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Momento` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_pedidos_auto_preparadoskk` +-- + +DROP TABLE IF EXISTS `v_pedidos_auto_preparadoskk`; +/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparadoskk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_pedidos_auto_preparadoskk` ( + `CodigoTrabajador` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Momento` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_phonebook` +-- + +DROP TABLE IF EXISTS `v_phonebook`; +/*!50001 DROP VIEW IF EXISTS `v_phonebook`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_phonebook` ( + `Id_Cliente` tinyint NOT NULL, + `Telefono` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_price_fixed` +-- + +DROP TABLE IF EXISTS `v_price_fixed`; +/*!50001 DROP VIEW IF EXISTS `v_price_fixed`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_price_fixed` ( + `warehouse_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `rate_0` tinyint NOT NULL, + `rate_1` tinyint NOT NULL, + `rate_2` tinyint NOT NULL, + `rate_3` tinyint NOT NULL, + `date_start` tinyint NOT NULL, + `date_end` tinyint NOT NULL, + `bonus` tinyint NOT NULL, + `grouping` tinyint NOT NULL, + `Packing` tinyint NOT NULL, + `caja` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_price_fixed_group` +-- + +DROP TABLE IF EXISTS `v_price_fixed_group`; +/*!50001 DROP VIEW IF EXISTS `v_price_fixed_group`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_price_fixed_group` ( + `warehouse_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `rate_0` tinyint NOT NULL, + `rate_1` tinyint NOT NULL, + `rate_2` tinyint NOT NULL, + `rate_3` tinyint NOT NULL, + `date_start` tinyint NOT NULL, + `date_end` tinyint NOT NULL, + `bonus` tinyint NOT NULL, + `grouping` tinyint NOT NULL, + `Packing` tinyint NOT NULL, + `caja` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_session` +-- + +DROP TABLE IF EXISTS `v_session`; +/*!50001 DROP VIEW IF EXISTS `v_session`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_session` ( + `id` tinyint NOT NULL, + `CodigoTrabajador` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `Cliente` tinyint NOT NULL, + `Fecha` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_ticket_amount` +-- + +DROP TABLE IF EXISTS `v_ticket_amount`; +/*!50001 DROP VIEW IF EXISTS `v_ticket_amount`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_ticket_amount` ( + `Id_Ticket` tinyint NOT NULL, + `amount` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_trabajadores` +-- + +DROP TABLE IF EXISTS `v_trabajadores`; +/*!50001 DROP VIEW IF EXISTS `v_trabajadores`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_trabajadores` ( + `CodigoTrabajador` tinyint NOT NULL, + `Nombre` tinyint NOT NULL, + `Fecha_Inicio` tinyint NOT NULL, + `Password` tinyint NOT NULL, + `user` tinyint NOT NULL, + `Apellidos` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL, + `Foto` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_user` +-- + +DROP TABLE IF EXISTS `v_user`; +/*!50001 DROP VIEW IF EXISTS `v_user`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_user` ( + `id` tinyint NOT NULL, + `mysql_user_id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `password` tinyint NOT NULL, + `active` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_ventes` +-- + +DROP TABLE IF EXISTS `v_ventes`; +/*!50001 DROP VIEW IF EXISTS `v_ventes`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_ventes` ( + `Agencia` tinyint NOT NULL, + `Categoria` tinyint NOT NULL, + `tipo_id` tinyint NOT NULL, + `Medida` tinyint NOT NULL, + `Article` tinyint NOT NULL, + `Color` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `Tipo` tinyint NOT NULL, + `Factura` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `Familia` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Concepte` tinyint NOT NULL, + `Cantidad` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `Preu` tinyint NOT NULL, + `Descuento` tinyint NOT NULL, + `CostFixat` tinyint NOT NULL, + `Reservado` tinyint NOT NULL, + `OK` tinyint NOT NULL, + `PrecioFijado` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `FechaCompleta` tinyint NOT NULL, + `Alias` tinyint NOT NULL, + `Id_Consigna` tinyint NOT NULL, + `Importe` tinyint NOT NULL, + `Origen` tinyint NOT NULL, + `reino_id` tinyint NOT NULL, + `invoice` tinyint NOT NULL, + `producer_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_venteskk` +-- + +DROP TABLE IF EXISTS `v_venteskk`; +/*!50001 DROP VIEW IF EXISTS `v_venteskk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_venteskk` ( + `Agencia` tinyint NOT NULL, + `Categoria` tinyint NOT NULL, + `tipo_id` tinyint NOT NULL, + `Medida` tinyint NOT NULL, + `Article` tinyint NOT NULL, + `Color` tinyint NOT NULL, + `Id_Cliente` tinyint NOT NULL, + `Tipo` tinyint NOT NULL, + `Factura` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `Familia` tinyint NOT NULL, + `Id_Ticket` tinyint NOT NULL, + `Concepte` tinyint NOT NULL, + `Cantidad` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `Preu` tinyint NOT NULL, + `Descuento` tinyint NOT NULL, + `CostFixat` tinyint NOT NULL, + `Reservado` tinyint NOT NULL, + `OK` tinyint NOT NULL, + `PrecioFijado` tinyint NOT NULL, + `odbc_date` tinyint NOT NULL, + `Fecha` tinyint NOT NULL, + `FechaCompleta` tinyint NOT NULL, + `Alias` tinyint NOT NULL, + `Id_Consigna` tinyint NOT NULL, + `Importe` tinyint NOT NULL, + `Origen` tinyint NOT NULL, + `reino_id` tinyint NOT NULL, + `invoice` tinyint NOT NULL, + `producer_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_warehouse` +-- + +DROP TABLE IF EXISTS `v_warehouse`; +/*!50001 DROP VIEW IF EXISTS `v_warehouse`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_warehouse` ( + `id` tinyint NOT NULL, + `almacen` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_xsubclien` +-- + +DROP TABLE IF EXISTS `v_xsubclien`; +/*!50001 DROP VIEW IF EXISTS `v_xsubclien`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_xsubclien` ( + `Id_Cliente` tinyint NOT NULL, + `empresa_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_xsubcuentas` +-- + +DROP TABLE IF EXISTS `v_xsubcuentas`; +/*!50001 DROP VIEW IF EXISTS `v_xsubcuentas`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_xsubcuentas` ( + `COD` tinyint NOT NULL, + `TITULO` tinyint NOT NULL, + `NIF` tinyint NOT NULL, + `DOMICILIO` tinyint NOT NULL, + `POBLACION` tinyint NOT NULL, + `PROVINCIA` tinyint NOT NULL, + `CODPOSTAL` tinyint NOT NULL, + `country_code` tinyint NOT NULL, + `empresa_id` tinyint NOT NULL, + `EMAIL` tinyint NOT NULL, + `IDNIF` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `v_xsubprov` +-- + +DROP TABLE IF EXISTS `v_xsubprov`; +/*!50001 DROP VIEW IF EXISTS `v_xsubprov`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `v_xsubprov` ( + `proveedor_id` tinyint NOT NULL, + `empresa_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `versiones` +-- + +DROP TABLE IF EXISTS `versiones`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `versiones` ( + `programa` varchar(11) COLLATE utf8_unicode_ci NOT NULL, + `version` int(11) NOT NULL, + `critical` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`programa`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `viaxpress` +-- + +DROP TABLE IF EXISTS `viaxpress`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `viaxpress` ( + `codigo_postal` varchar(5) COLLATE utf8_unicode_ci NOT NULL, + `zona` tinyint(4) NOT NULL DEFAULT '2', + `m_t` tinyint(4) NOT NULL DEFAULT '0', + `POBLACION` varchar(25) COLLATE utf8_unicode_ci NOT NULL, + `PROVINCIA` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`codigo_postal`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `vnCreditClassification` +-- + +DROP TABLE IF EXISTS `vnCreditClassification`; +/*!50001 DROP VIEW IF EXISTS `vnCreditClassification`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `vnCreditClassification` ( + `id` tinyint NOT NULL, + `client` tinyint NOT NULL, + `dateStart` tinyint NOT NULL, + `dateEnd` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `vnCreditInsurance` +-- + +DROP TABLE IF EXISTS `vnCreditInsurance`; +/*!50001 DROP VIEW IF EXISTS `vnCreditInsurance`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `vnCreditInsurance` ( + `id` tinyint NOT NULL, + `creditClassification` tinyint NOT NULL, + `credit` tinyint NOT NULL, + `creationDate` tinyint NOT NULL, + `grade` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `vnSolunionCAP` +-- + +DROP TABLE IF EXISTS `vnSolunionCAP`; +/*!50001 DROP VIEW IF EXISTS `vnSolunionCAP`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `vnSolunionCAP` ( + `creditInsurance` tinyint NOT NULL, + `dateStart` tinyint NOT NULL, + `dateEnd` tinyint NOT NULL, + `dateLeaving` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `warehouse` +-- + +DROP TABLE IF EXISTS `warehouse`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse` ( + `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `fuente` tinyint(1) unsigned NOT NULL DEFAULT '0', + `address_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `delay` double NOT NULL DEFAULT '0.004', + `reserve` tinyint(4) NOT NULL DEFAULT '0', + `tpv` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00', + `Id_Paises` mediumint(8) unsigned NOT NULL DEFAULT '1', + `zone_label` tinyint(4) NOT NULL DEFAULT '0', + `comisionantes` tinyint(4) NOT NULL DEFAULT '0', + `inventario` tinyint(2) NOT NULL DEFAULT '0', + `is_comparative` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Si esta a true,en la comparativa muestra el stock de este almacen, cuando no se especifica almacen.', + `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0', + `isManaged` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Se añaden los cubos de expedition a la tabla ticketPackaging', + `hasConfectionTeam` tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `name_UNIQUE` (`name`), + KEY `Id_Paises` (`Id_Paises`), + CONSTRAINT `warehouse_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `Paises` (`Id`) +) ENGINE=InnoDB AUTO_INCREMENT=56 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 = '' */ ; +DELIMITER ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_ai` AFTER INSERT ON `warehouse` FOR EACH ROW +begin + IF NEW.Fuente THEN + INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); + INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) + VALUES(NEW.id,LAST_INSERT_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 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 `warehouse_au` AFTER UPDATE ON `warehouse` FOR EACH ROW +begin + IF NEW.fuente IS TRUE and OLD.fuente IS FALSE then + INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); + INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) + VALUES(NEW.id,LAST_INSERT_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 */ ; + +-- +-- Table structure for table `warehouse_alias` +-- + +DROP TABLE IF EXISTS `warehouse_alias`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_alias` ( + `warehouse_alias_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, + `alias` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`warehouse_alias_id`) +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `warehouse_filtro` +-- + +DROP TABLE IF EXISTS `warehouse_filtro`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_filtro` ( + `warehouse_id` smallint(6) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL, + `ok` tinyint(3) unsigned DEFAULT '1', + PRIMARY KEY (`Id_Trabajador`,`warehouse_id`), + KEY `wh_worker_idx` (`Id_Trabajador`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla que permite filtrar los almacenes que muestra la comparativa, recordando la selección personal del usuario'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `warehouse_group` +-- + +DROP TABLE IF EXISTS `warehouse_group`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_group` ( + `warehouse_alias_id` smallint(5) unsigned NOT NULL DEFAULT '22', + `warehouse_id` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`warehouse_alias_id`,`warehouse_id`), + KEY `warehosue_group_ware_idx` (`warehouse_id`), + CONSTRAINT `warehosue_group_ware` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehouse_group_alias` FOREIGN KEY (`warehouse_alias_id`) REFERENCES `warehouse_alias` (`warehouse_alias_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Agrupa warehouses '; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `warehouse_joined` +-- + +DROP TABLE IF EXISTS `warehouse_joined`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_joined` ( + `warehouse_id` smallint(5) unsigned NOT NULL, + `warehouse_alias_id` smallint(5) unsigned NOT NULL, + PRIMARY KEY (`warehouse_id`,`warehouse_alias_id`), + CONSTRAINT `warehouse_joined_ibfk_3` FOREIGN KEY (`warehouse_id`) REFERENCES `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 `warehouse_lc` +-- + +DROP TABLE IF EXISTS `warehouse_lc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_lc` ( + `whin` smallint(6) unsigned NOT NULL, + `whout` smallint(6) unsigned NOT NULL, + `m3` double NOT NULL DEFAULT '15', + `days` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`whin`,`whout`), + KEY `whout_wh_idx` (`whout`), + CONSTRAINT `whin_wh` FOREIGN KEY (`whin`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `whout_wh` FOREIGN KEY (`whout`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Warehouses cost for linking'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `warehouse_pickup` +-- + +DROP TABLE IF EXISTS `warehouse_pickup`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_pickup` ( + `warehouse_id` smallint(5) unsigned NOT NULL, + `agency_id` int(11) DEFAULT NULL, + PRIMARY KEY (`warehouse_id`), + UNIQUE KEY `agency_id` (`agency_id`,`warehouse_id`), + CONSTRAINT `warehouse_pickup_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehouse_pickup_ibfk_2` FOREIGN KEY (`agency_id`) REFERENCES `Agencias` (`Id_Agencia`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `warehouse_tree_bidi` +-- + +DROP TABLE IF EXISTS `warehouse_tree_bidi`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse_tree_bidi` ( + `father` tinyint(1) unsigned NOT NULL, + `son` tinyint(1) unsigned NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `wh_selection` +-- + +DROP TABLE IF EXISTS `wh_selection`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wh_selection` ( + `Id_Trabajador` int(11) NOT NULL, + `warehouse_id` smallint(6) unsigned NOT NULL, + PRIMARY KEY (`Id_Trabajador`,`warehouse_id`), + KEY `Trabajadores` (`Id_Trabajador`), + KEY `Warehouse` (`warehouse_id`), + CONSTRAINT `Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `Warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite que los usuarios seleccionen los almacenes que van a'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `widget` +-- + +DROP TABLE IF EXISTS `widget`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `widget` ( + `widget_id` int(11) NOT NULL, + `chr` int(11) NOT NULL, + PRIMARY KEY (`widget_id`), + UNIQUE KEY `chr_UNIQUE` (`chr`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `wks` +-- + +DROP TABLE IF EXISTS `wks`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `wks` ( + `wk` int(10) unsigned NOT NULL, + `yr` int(10) unsigned NOT NULL, + `vwk` int(10) unsigned NOT NULL, + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `comments` text COLLATE utf8_unicode_ci, + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=626 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `workcenter_holiday` +-- + +DROP TABLE IF EXISTS `workcenter_holiday`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workcenter_holiday` ( + `workcenter_id` int(11) NOT NULL, + `day` double NOT NULL, + `year` smallint(6) NOT NULL, + PRIMARY KEY (`workcenter_id`,`day`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `workerDocument` +-- + +DROP TABLE IF EXISTS `workerDocument`; +/*!50001 DROP VIEW IF EXISTS `workerDocument`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `workerDocument` ( + `id` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `document` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `workerTeam` +-- + +DROP TABLE IF EXISTS `workerTeam`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workerTeam` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `team` int(11) NOT NULL, + `user` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `user_team_idx` (`user`), + CONSTRAINT `user_team` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `workerTeamCollegues` +-- + +DROP TABLE IF EXISTS `workerTeamCollegues`; +/*!50001 DROP VIEW IF EXISTS `workerTeamCollegues`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `workerTeamCollegues` ( + `workerId` tinyint NOT NULL, + `collegueId` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `workerTeam_kk` +-- + +DROP TABLE IF EXISTS `workerTeam_kk`; +/*!50001 DROP VIEW IF EXISTS `workerTeam_kk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `workerTeam_kk` ( + `team` tinyint NOT NULL, + `user` tinyint NOT NULL, + `id` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `zeleris` +-- + +DROP TABLE IF EXISTS `zeleris`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zeleris` ( + `codigo_postal` mediumint(8) unsigned NOT NULL, + `franja` tinyint(3) unsigned NOT NULL, + PRIMARY KEY (`codigo_postal`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `zoneNickname` +-- + +DROP TABLE IF EXISTS `zoneNickname`; +/*!50001 DROP VIEW IF EXISTS `zoneNickname`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `zoneNickname` ( + `warehouse_id` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `zona` tinyint NOT NULL, + `alias` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `zones` +-- + +DROP TABLE IF EXISTS `zones`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zones` ( + `zone_id` tinyint(4) NOT NULL, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `printingOrder` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`zone_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Zonas de reparto'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'vn2008' +-- +/*!50106 SET @save_time_zone= @@TIME_ZONE */ ; +/*!50106 DROP EVENT IF EXISTS `cierre automatico` */; +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 = 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 `cierre automatico` ON SCHEDULE EVERY 1 DAY STARTS '2016-05-25 23:00:00' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Realiza el cierre de todos los Warehouse' DO INSERT INTO `vn2008`.`Colas` (`Id_Informe`,`Cola`) VALUES ('2',CURDATE()) */ ;; +/*!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 `closeTickets` */;; +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 = 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 `closeTickets` ON SCHEDULE EVERY 1 DAY STARTS '2017-06-23 07:20:00' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Vuelve a realizar el cierre del dia anterior por la mañana.' DO INSERT INTO `vn2008`.`Colas` (`Id_Informe`,`Cola`) VALUES ('2',DATE_ADD(CURDATE(), INTERVAL -1 DAY)) */ ;; +/*!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 `item_cache_cleaner` */;; +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 = 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 `item_cache_cleaner` ON SCHEDULE EVERY 30 SECOND STARTS '2014-06-30 13:38:27' ON COMPLETION NOT PRESERVE DISABLE COMMENT 'Cleans the item cache' DO CALL item_cache_cleaner () */ ;; +/*!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 `raidUpdate` */;; +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 `raidUpdate` ON SCHEDULE EVERY 1 DAY STARTS '2017-12-29 00:05:00' ON COMPLETION PRESERVE ENABLE DO CALL raidUpdate */ ;; +/*!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 'vn2008' +-- +/*!50003 DROP FUNCTION IF EXISTS `articod` */; +/*!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 `articod`(intArt INT) RETURNS varchar(70) CHARSET utf8 COLLATE utf8_unicode_ci BEGIN - DECLARE is_updatable INTEGER; - SELECT COUNT(*) INTO is_updatable FROM botanic_export - WHERE edi_genus_id = v_edi_genus_id - AND (v_edi_specie_id = edi_specie_id OR IFNULL(v_edi_specie_id,edi_specie_id) IS NULL) - AND (v_id_Paises = Id_Paises OR IFNULL(v_id_Paises,Id_Paises) IS NULL) - AND v_restriction = restriction; -RETURN is_updatable; -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 `buffer_name` */; -/*!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 `buffer_name`(v_date DATE, v_wh INT) RETURNS varchar(11) CHARSET utf8 + DECLARE strArt VARCHAR(70); + SELECT CONCAT(Article,' ', Medida, ' ',Color) INTO strArt FROM Articles WHERE Id_Article = intArt; + + RETURN strArt; + +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 `asiento` */; +/*!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 `asiento`( + v_asiento INT + ,v_date DATE + ,v_subaccount VARCHAR(12) + ,v_account VARCHAR(12) + ,v_concept VARCHAR(25) + ,v_debit DOUBLE + ,v_credit DOUBLE + ,v_euro DOUBLE + ,v_serial CHAR(1) + ,v_invoice VARCHAR(8) + ,v_vat DOUBLE + ,v_re DOUBLE + ,v_aux TINYINT + ,v_company INT +) RETURNS int(11) +BEGIN + IF v_asiento IS NULL + THEN + SELECT MAX(ASIEN) + 1 INTO v_asiento FROM XDiario FOR UPDATE; + END IF; + + INSERT INTO XDiario + SET + ASIEN = v_asiento + ,FECHA = v_date + ,SUBCTA = v_subaccount + ,CONTRA = v_account + ,CONCEPTO = v_concept + ,EURODEBE = v_debit + ,EUROHABER = v_credit + ,BASEEURO = v_euro + ,SERIE = v_serial + ,FACTURA = v_invoice + ,IVA = v_vat + ,RECEQUIV = v_re + ,AUXILIAR = IF(v_aux = FALSE, NULL, '*') + ,MONEDAUSO = 2 + ,empresa_id = v_company; + + RETURN v_asiento; +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 `Averiguar_ComercialCliente` */; +/*!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 `Averiguar_ComercialCliente`(v_customer INT, v_date DATE) RETURNS varchar(3) CHARSET utf8 + DETERMINISTIC +BEGIN +/** + * Dado un id cliente y una fecha, devuelve su comercial. + * Para más información ir a Averiguar_ComercialCliente_Id() + * + * @param v_customer El id del cliente + * @param v_date Fecha a comprobar + * @return El código del comercial para la fecha dada + **/ + DECLARE v_employee CHAR(3); + DECLARE v_salesperson INT; + + SET v_salesperson = Averiguar_ComercialCliente_Id(v_customer, v_date); + + SELECT CodigoTrabajador + INTO v_employee + FROM Trabajadores + WHERE Id_Trabajador = v_salesperson; + + RETURN IFNULL(v_employee, '---'); +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 `Averiguar_ComercialCliente_Id` */; +/*!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 `Averiguar_ComercialCliente_Id`(v_customer INT, v_date DATE) RETURNS int(11) + DETERMINISTIC +BEGIN +/** + * Dado un id cliente y una fecha, devuelve su comercial para ese dia, teniendo + * en cuenta la jerarquía de las tablas: 1º la de sharingclient, 2º la de + * sharingcart y tercero la de clientes. + * + * @param v_customer El id del cliente + * @param v_date Fecha a comprobar + * @return El id del comercial para la fecha dada + **/ + DECLARE v_salesperson INT DEFAULT NULL; + DECLARE v_substitute INT DEFAULT NULL; + DECLARE v_loop BOOLEAN; + + -- Obtiene el comercial original y el de sharingclient + + SELECT c.Id_Trabajador, s.Id_Trabajador + INTO v_salesperson, v_substitute + FROM Clientes c + LEFT JOIN sharingclient s + ON c.Id_Cliente = s.Id_Cliente + AND v_date BETWEEN s.datSTART AND s.datEND + WHERE c.Id_Cliente = v_customer + ORDER BY s.id + LIMIT 1; + + -- Si no hay ninguno en sharingclient busca en sharingcart + + IF v_substitute IS NOT NULL + THEN + SET v_salesperson = v_substitute; + ELSEIF v_salesperson IS NOT NULL + THEN + DROP TEMPORARY TABLE IF EXISTS tmp.stack; + CREATE TEMPORARY TABLE tmp.stack + (INDEX (substitute)) + ENGINE = MEMORY + SELECT v_salesperson substitute; + + l: LOOP + SELECT Id_Suplente INTO v_substitute + FROM sharingcart + WHERE v_date BETWEEN datSTART AND datEND + AND Id_Trabajador = v_salesperson + ORDER BY id + LIMIT 1; + + IF v_substitute IS NULL THEN + LEAVE l; + END IF; + + SELECT COUNT(*) > 0 INTO v_loop + FROM tmp.stack WHERE substitute = v_substitute; + + IF v_loop THEN + LEAVE l; + END IF; + + INSERT INTO tmp.stack SET + substitute = v_substitute; + + SET v_salesperson = v_substitute; + END LOOP; + + DROP TEMPORARY TABLE tmp.stack; + END IF; + + RETURN v_salesperson; +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 `Averiguar_ComercialCliente_IdTicket` */; +/*!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 `Averiguar_ComercialCliente_IdTicket`(v_ticket INT) RETURNS varchar(3) CHARSET utf8 + DETERMINISTIC +BEGIN +/** + * Dado un id ticket, devuelve su comercial. + * Para más información ir a Averiguar_ComercialCliente_Id() + * + * @param v_customer El id del cliente + * @param v_date Fecha a comprobar + * @return El código del comercial para la fecha dada + **/ + DECLARE v_customer INT; + DECLARE v_date DATE; + + SELECT id_cliente, fecha + INTO v_customer, v_date + FROM Tickets WHERE id_ticket = v_ticket; + + RETURN Averiguar_ComercialCliente(v_customer, v_date); +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 `Averiguar_ComercialCliente_IdTicket_Id` */; +/*!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 `Averiguar_ComercialCliente_IdTicket_Id`(v_ticket INT) RETURNS int(11) + DETERMINISTIC +BEGIN +/** + * Dado un id ticket, devuelve su comercial. + * Para más información ir a Averiguar_ComercialCliente_Id() + * + * @param v_customer El id del cliente + * @param v_date Fecha a comprobar + * @return El id del comercial para la fecha dada + **/ + DECLARE v_customer INT; + DECLARE v_date DATE; + + SELECT id_cliente, fecha + INTO v_customer, v_date + FROM Tickets WHERE id_ticket = v_ticket; + + RETURN Averiguar_ComercialCliente_Id(v_customer, v_date); +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 `Averiguar_Comprador` */; +/*!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 `Averiguar_Comprador`(idARTICLE INT) RETURNS varchar(3) CHARSET utf8 +BEGIN + +-- Devuelve la abreviatura del comprador del articulo + +DECLARE buyer VARCHAR(3); + +SELECT CodigoTrabajador INTO buyer +FROM Trabajadores t +JOIN Tipos tp on tp.Id_Trabajador = t.Id_Trabajador +JOIN Articles a on a.tipo_id = tp.tipo_id +WHERE Id_Article = idARTICLE; + + +RETURN buyer; +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 `base_ticket` */; +/*!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 `base_ticket`(Id_Ticket INT) RETURNS double +BEGIN + + DECLARE base DOUBLE; + SELECT + red(SUM(Cantidad * Preu * (100 - Descuento) / 100)) into base + FROm + Movimientos m + INNER JOIN Tickets t USING (Id_Ticket) + WHERE t.Id_Ticket = Id_Ticket; + +RETURN base; +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 `bionicCalcReverse` */; +/*!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 `bionicCalcReverse`(vWarehouse INT, + vMargin DECIMAL(10,3), + vRetailedPrice DECIMAL(10,3), + vM3 DECIMAL(10,3), + vConsigna INT, + vAgencia INT) RETURNS decimal(10,3) +BEGIN + DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; + DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; + DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; + DECLARE vCost DECIMAL(10,4) DEFAULT 0; + DECLARE vCustomer INT; + DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; + DECLARE vMana DECIMAL(10,4) DEFAULT 0; + DECLARE vPort DECIMAL(10,4) DEFAULT 0; + + SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; + + -- Recobro + SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery + FROM bi.claims_ratio + WHERE Id_Cliente = vCustomer AND recobro > 0.009; + + -- Componente de maná automático, en función del maná acumulado por el comercial. + SELECT ROUND(prices_modifier_rate, 3) INTO vMana + FROM Clientes c + JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador + WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; + + -- Reparto + SELECT COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + vM3 + * az.price + * az.inflacion + / VOLUMEN_CAJA_VERDNATURA, 4 + ) INTO vPort + FROM vn2008.Agencias a + JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; + + -- Modificacion de precio por dia de preparacion del pedido + -- No aplicada + + SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; + + RETURN vCost; +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 `botanic_export_is_updatable` */; +/*!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 `botanic_export_is_updatable`(v_edi_genus_id MEDIUMINT,v_edi_specie_id MEDIUMINT,v_id_Paises MEDIUMINT,v_restriction MEDIUMINT) RETURNS int(11) +BEGIN + DECLARE is_updatable INTEGER; + SELECT COUNT(*) INTO is_updatable FROM botanic_export + WHERE edi_genus_id = v_edi_genus_id + AND (v_edi_specie_id = edi_specie_id OR IFNULL(v_edi_specie_id,edi_specie_id) IS NULL) + AND (v_id_Paises = Id_Paises OR IFNULL(v_id_Paises,Id_Paises) IS NULL) + AND v_restriction = restriction; +RETURN is_updatable; +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 `buffer_name` */; +/*!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 `buffer_name`(v_date DATE, v_wh INT) RETURNS varchar(11) CHARSET utf8 +BEGIN + RETURN CONCAT('b', YEAR(v_date), MONTH(v_date), DAY(v_date), IFNULL(v_wh, 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 FUNCTION IF EXISTS `buyingAbsoluteCost` */; +/*!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 `buyingAbsoluteCost`(vCompra BIGINT) RETURNS int(11) +BEGIN +/** + * Devuelve el coste completo de una compra + * + * @param vCompra Id_Compra a calcular + * @return Suma de los 4 componentes del coste + */ + +DECLARE vCost DOUBLE; + +SELECT IFNULL(Costefijo,0) + IFNULL(Portefijo,0) + IFNULL(Embalajefijo,0) + IFNULL(Comisionfija,0) +INTO vCost +FROM Compres +WHERE Id_Compra = vCompra; + +RETURN vCost; + +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 `cc_to_iban` */; +/*!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 `cc_to_iban`(cc VARCHAR(20)) RETURNS varchar(4) CHARSET utf8 + DETERMINISTIC +BEGIN + DECLARE iban VARCHAR(4); + select + CONCAT('ES', + RIGHT( + concat(0, + 98- + mod( + concat( + mod( + concat( + mod( + concat( + mod( + substring(cc,1,8), + 97), + substring(cc,9,8) + ), + 97), + substring( + concat( + cc, + 142800 + ), + 17, + 8 + ) + ), + 97), + substring( + concat( + cc, + 142800 + ), + 25, + 2 + ) + ), + 97) + ) + ,2) + )into iban; +RETURN iban; +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 `cm3` */; +/*!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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `cm3`(v_buy_id INT) RETURNS int(11) BEGIN - RETURN CONCAT('b', YEAR(v_date), MONTH(v_date), DAY(v_date), IFNULL(v_wh, 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 FUNCTION IF EXISTS `buyingAbsoluteCost` */; -/*!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 `buyingAbsoluteCost`(vCompra BIGINT) RETURNS int(11) -BEGIN -/** - * Devuelve el coste completo de una compra - * - * @param vCompra Id_Compra a calcular - * @return Suma de los 4 componentes del coste - */ - -DECLARE vCost DOUBLE; - -SELECT IFNULL(Costefijo,0) + IFNULL(Portefijo,0) + IFNULL(Embalajefijo,0) + IFNULL(Comisionfija,0) -INTO vCost -FROM Compres -WHERE Id_Compra = vCompra; - -RETURN vCost; - -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 `cc_to_iban` */; -/*!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 `cc_to_iban`(cc VARCHAR(20)) RETURNS varchar(4) CHARSET utf8 - DETERMINISTIC -BEGIN - DECLARE iban VARCHAR(4); - select - CONCAT('ES', - RIGHT( - concat(0, - 98- - mod( - concat( - mod( - concat( - mod( - concat( - mod( - substring(cc,1,8), - 97), - substring(cc,9,8) - ), - 97), - substring( - concat( - cc, - 142800 - ), - 17, - 8 - ) - ), - 97), - substring( - concat( - cc, - 142800 - ), - 25, - 2 - ) - ), - 97) - ) - ,2) - )into iban; -RETURN iban; -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 `cm3` */; -/*!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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `cm3`(v_buy_id INT) RETURNS int(11) -BEGIN - DECLARE id_CUB VARCHAR(10); - DECLARE id_ART INT; - SELECT Id_Cubo, Id_Article INTO id_CUB, id_ART - FROM Compres c - WHERE c.Id_compra = v_buy_id; - - RETURN cm3_2(id_CUB, id_ART); - -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 `cm3_2` */; -/*!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 `cm3_2`(id_CUB VARCHAR(10), id_ART INT) RETURNS int(11) -BEGIN - DECLARE v_cm3 INT; - - SELECT SUM(IF(b.Volumen > 0, - b.Volumen, - x * y * IF(z = 0, Medida + 10, z) - )) INTO v_cm3 - FROM Cubos b - INNER JOIN Articles a ON Id_Article = id_ART - WHERE Id_Cubo = id_CUB; - - RETURN v_cm3; -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 `cm3_unidad` */; -/*!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 `cm3_unidad`(v_buy_id INT) RETURNS int(11) -BEGIN - DECLARE id_CUB VARCHAR(10); + DECLARE id_CUB VARCHAR(10); DECLARE id_ART INT; - DECLARE intPACK INT; - - SELECT Id_Cubo, Id_Article, Packing INTO id_CUB, id_ART, intPACK - FROM Compres c - WHERE c.Id_compra = v_buy_id; - - RETURN ifnull(round(cm3_2(id_CUB, id_ART)/intPACK),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 FUNCTION IF EXISTS `code_to_id` */; -/*!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 `code_to_id`(idART VARCHAR(22)) RETURNS int(11) - DETERMINISTIC + SELECT Id_Cubo, Id_Article INTO id_CUB, id_ART + FROM Compres c + WHERE c.Id_compra = v_buy_id; + + RETURN cm3_2(id_CUB, id_ART); + +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 `cm3_2` */; +/*!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 `cm3_2`(id_CUB VARCHAR(10), id_ART INT) RETURNS int(11) +BEGIN + DECLARE v_cm3 INT; + + SELECT SUM(IF(b.Volumen > 0, + b.Volumen, + x * y * IF(z = 0, Medida + 10, z) + )) INTO v_cm3 + FROM Cubos b + INNER JOIN Articles a ON Id_Article = id_ART + WHERE Id_Cubo = id_CUB; + + RETURN v_cm3; +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 `cm3_unidad` */; +/*!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 `cm3_unidad`(v_buy_id INT) RETURNS int(11) BEGIN - DECLARE idchecked INT; + DECLARE id_CUB VARCHAR(10); + DECLARE id_ART INT; + DECLARE intPACK INT; + + SELECT Id_Cubo, Id_Article, Packing INTO id_CUB, id_ART, intPACK + FROM Compres c + WHERE c.Id_compra = v_buy_id; - set idchecked = (SELECT Id_Article FROM barcodes WHERE code = idART); + RETURN ifnull(round(cm3_2(id_CUB, id_ART)/intPACK),0); - IF idchecked THEN - RETURN idchecked; - END IF; - - IF idART > 6000000 THEN - SELECT Id_Article INTO idchecked - FROM Compres WHERE Id_Compra = idART; - ELSE - SET idchecked = CAST(idART AS SIGNED); - END IF; - - RETURN idchecked; -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 `code_to_id2` */; -/*!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 `code_to_id2`(idART VARCHAR(22)) RETURNS int(11) +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 `code_to_id` */; +/*!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 `code_to_id`(idART VARCHAR(22)) RETURNS int(11) + DETERMINISTIC +BEGIN + DECLARE idchecked INT; + + set idchecked = (SELECT Id_Article FROM barcodes WHERE code = idART); + + IF idchecked THEN + RETURN idchecked; + END IF; + + IF idART > 6000000 THEN + SELECT Id_Article INTO idchecked + FROM Compres WHERE Id_Compra = idART; + ELSE + SET idchecked = CAST(idART AS SIGNED); + END IF; + + RETURN idchecked; +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 `code_to_id2` */; +/*!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 `code_to_id2`(idART VARCHAR(22)) RETURNS int(11) +BEGIN + DECLARE idchecked INT; + + SELECT IFNULL(Id_Article,COUNT(*)) INTO idchecked + FROM barcodes + WHERE code = idART LIMIT 1; + + IF idchecked THEN + RETURN idchecked; + END IF; + + IF idART > 6000000 THEN + /*SELECT Id_Article INTO idchecked + FROM Compres WHERE Id_Compra = idART;*/ + SET idchecked = CAST(idART AS SIGNED); + ELSE + SET idchecked = CAST(idART AS SIGNED); + END IF; + + RETURN idchecked; +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 `cub` */; +/*!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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `cub`(v_buy_id INT) RETURNS int(11) +BEGIN + DECLARE v_cm3 INT; + + SELECT SUM(Etiquetas * IF(b.Volumen > 0, + b.Volumen, + IF(z = 0, + x * y * (Medida + 10), + x * y * z + ) + )) INTO v_cm3 + FROM Compres c + INNER JOIN Cubos b USING (Id_Cubo) + INNER JOIN Articles a USING (Id_Article) + WHERE c.Id_compra = v_buy_id; + + RETURN v_cm3; +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 `currate` */; +/*!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 `currate`() RETURNS double +BEGIN + +DECLARE dblRATE DOUBLE; + +SELECT rate INTO dblRATE FROM reference_rate ORDER BY date DESC LIMIT 1 ; + +RETURN dblRATE; + +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 `date_inv` */; +/*!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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `date_inv`() RETURNS datetime + DETERMINISTIC BEGIN - DECLARE idchecked INT; - - SELECT IFNULL(Id_Article,COUNT(*)) INTO idchecked - FROM barcodes - WHERE code = idART LIMIT 1; - - IF idchecked THEN - RETURN idchecked; - END IF; - - IF idART > 6000000 THEN - /*SELECT Id_Article INTO idchecked - FROM Compres WHERE Id_Compra = idART;*/ - SET idchecked = CAST(idART AS SIGNED); - ELSE - SET idchecked = CAST(idART AS SIGNED); - END IF; - - RETURN idchecked; -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 `cub` */; -/*!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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `cub`(v_buy_id INT) RETURNS int(11) + RETURN (SELECT FechaInventario FROM tblContadores 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 FUNCTION IF EXISTS `DAYEND` */; +/*!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 `DAYEND`(v_date DATE) RETURNS datetime + DETERMINISTIC BEGIN - DECLARE v_cm3 INT; + RETURN TIMESTAMP(v_date,'23:59:59'); + +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 `FIRSTDAYOFYEAR` */; +/*!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 `FIRSTDAYOFYEAR`(datFEC DATE) RETURNS date +BEGIN + +DECLARE datRETURNS DATE; + +SELECT TIMESTAMPADD(DAY, -1 * DAYOFYEAR(datFEC) + 1, datFEC) INTO datRETURNS; + +RETURN datRETURNS; + +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 `f_periodo` */; +/*!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 `f_periodo`(datFEC date) RETURNS int(7) + DETERMINISTIC +BEGIN +DECLARE intPeriod INT; + +SELECT Year(datFEC) * 100 + week(datFEC) into intPeriod; + +RETURN intPeriod; - SELECT SUM(Etiquetas * IF(b.Volumen > 0, - b.Volumen, - IF(z = 0, - x * y * (Medida + 10), - x * y * z - ) - )) INTO v_cm3 - FROM Compres c - INNER JOIN Cubos b USING (Id_Cubo) - INNER JOIN Articles a USING (Id_Article) - WHERE c.Id_compra = v_buy_id; - - RETURN v_cm3; -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 `currate` */; -/*!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 `currate`() RETURNS double + + + +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 `getBouquetId` */; +/*!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 `getBouquetId`( + vName VARCHAR(50), + vType int, + vSize int, + vColour VARCHAR(5) +) RETURNS int(11) +BEGIN +/** + * De vuelve el ID del ramo. Si no existe uno parecido, lo crea. + * + * @param vName Nombre del artículo + * @param vType Tipo de flor/planta + * @param vSize Tamaño del ramo + * @param vColour Color del ramo + * @return ID del ramo + */ + DECLARE bouquetId INT(11); + + CALL vn2008.createBouquet(vName, vType, vSize, vColour, @vItem); + + SET bouquetId = (SELECT @vItem); + +RETURN bouquetId; +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 `getComision` */; +/*!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 `getComision`(vEntry INT, vMoneda INT) RETURNS int(11) +BEGIN + + DECLARE vComision INT; + + SELECT IFNULL(round(-100 * (1 - (1 / rm.rate))),0) INTO vComision + FROM Entradas e + JOIN travel tr ON tr.id = e.travel_id + LEFT JOIN reference_min rm ON rm.moneda_id = vMoneda AND tr.shipment >= rm.`date` + WHERE e.Id_Entrada = vEntry + ORDER BY rm.date DESC + LIMIT 1; + + RETURN vComision; + +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 `getInvoiceWeight` */; +/*!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 `getInvoiceWeight`(vInvoice VARCHAR(15)) RETURNS decimal(10,2) +BEGIN + DECLARE vTotalWeight DECIMAL(10,2); + + SELECT SUM(IFNULL(tallos,1) * Cantidad * a.density) sumTotal + INTO vTotalWeight FROM Tickets t + LEFT JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket + LEFT JOIN Articles a ON a.Id_Article = m.Id_Article + LEFT JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE t.Factura = vInvoice AND Codintrastat; + RETURN vTotalWeight; +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 `getShippingFromTicket` */; +/*!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 `getShippingFromTicket`(vTicket INTEGER) RETURNS decimal(10,2) +BEGIN + DECLARE vValue DECIMAL(10,2); + SELECT + SUM(Valor * m.Cantidad) INTO vValue + FROM + Movimientos_componentes mc + JOIN + Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento + JOIN + bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente + JOIN + bi.tarifa_componentes_series tcs ON tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id + AND tcs.tarifa_componentes_series_id = 6 + + WHERE m.Id_Ticket = vTicket; + + RETURN vValue; +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 `get_special_price` */; +/*!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 `get_special_price`(intArticle int(11),intCliente int(11)) RETURNS decimal(10,2) +BEGIN + DECLARE price DECIMAL(10,2); + + SELECT rate_3 INTO price FROM price_fixed WHERE item_id = intArticle AND CURDATE() BETWEEN date_start AND date_end order by odbc_date DESC limit 1; + + SELECT precioespecial INTO price FROM PreciosEspeciales WHERE Id_Article = intArticle and Id_Cliente = intCliente ; +RETURN price; +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 `get_Trabajador` */; +/*!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 `get_Trabajador`() RETURNS int(11) + DETERMINISTIC +BEGIN + RETURN IFNULL((SELECT Id_Trabajador FROM Trabajadores WHERE user_id = account.userGetId()),20); +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 `has_notify_passport` */; +/*!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 `has_notify_passport`(idA INT, idCompra INT) RETURNS tinyint(1) +BEGIN + DECLARE has_passport BOOLEAN; + DECLARE is_already_sent BOOLEAN; + + SELECT COUNT(*) INTO has_passport FROM vn2008.botanic_export be JOIN + vn2008.Articles_botanical ab ON be.edi_genus_id = ab.genus_id + AND IFNULL(be.edi_specie_id, ab.specie_id) = ab.specie_id + AND be.restriction = 'Se Requiere Certificado' + JOIN vn2008.Articles a ON a.Id_Article = ab.Id_Article + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + WHERE ab.Id_Article = idA AND t.reino_id = 2; + + IF has_passport THEN + SELECT COUNT(*) INTO is_already_sent FROM mail M + JOIN vn2008.Compres c ON c.Id_Compra = idCompra + WHERE `text` LIKE CONCAT('%',c.buy_edi_id,'%') limit 1; + END IF; + RETURN has_passport && NOT is_already_sent; +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 `intrastat_neto` */; +/*!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 `intrastat_neto`( intINSTRASTAT INTEGER,intUNIDADES INTEGER) RETURNS double +BEGIN + +DECLARE n DOUBLE; + +select ROUND(intUNIDADES / (sum(MEDIA) / count(media)),2) into n from ( +select *, unidades / neto MEDIA FROM intrastat_data WHERE intrastat_id = intINSTRASTAT and neto and unidades > 0 ORDER BY odbc_date DESC limit 50) t; +-- JGF 01/06 per a evitar Kg en negatiu +RETURN n/2; + +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 `is_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`@`%` FUNCTION `is_bionic`(intTicket INT) RETURNS tinyint(1) +BEGIN + DECLARE bolIsBionic boolean; + SELECT (COUNT(*) > 0) INTO bolIsBionic FROM order_Tickets ot + WHERE ot.Id_Ticket = intTicket; + RETURN bolIsBionic; +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 `lang` */; +/*!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 `lang`() RETURNS char(2) CHARSET utf8 + DETERMINISTIC +BEGIN + RETURN IFNULL(@lang, 'es'); +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 `next_venc` */; +/*!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 `next_venc`( datFecha DATE,intDia INT,intPayDay INT) RETURNS date +BEGIN + +DECLARE n DATE; +DECLARE datVenc DATE; +DECLARE intVenc INT; + + SELECT TIMESTAMPADD(DAY,intDia,datFecha) INTO datVenc; + SELECT DAY(datVenc) INTO intVenc; + + SELECT MIN(TIMESTAMPADD(MONTH,(intVenc > intPayDay),DATE_FORMAT(datVenc,CONCAT('%y/%m/',intPayDay)))) INTO n; +RETURN n; + +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 `next_venctesting` */; +/*!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 `next_venctesting`( datFecha DATE,intDia INT,intPayDay INT) RETURNS date +BEGIN + +DECLARE n DATE; +DECLARE datVenc DATE; +DECLARE intVenc INT; + + SELECT TIMESTAMPADD(DAY,intDia,datFecha) INTO datVenc; + SELECT DAY(datVenc) INTO intVenc; + + SELECT IFNULL + ( + TIMESTAMPADD + ( + MONTH, + (intVenc > intPayDay), + DATE_FORMAT + ( + datVenc, + CONCAT('%y/%m/',intPayDay) + ) + ), + LAST_DAY(datVenc) + ) INTO n; +RETURN n; + +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 `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 + DETERMINISTIC +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 FUNCTION IF EXISTS `paymentday` */; +/*!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 `paymentday`(vDated DATE, vDayToPay INT) RETURNS date +BEGIN + +DECLARE vDued DATE; + +SET vDued = vn.getDueDate(vDated, vDayToPay); + +RETURN vDued; + +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 `periodo` */; +/*!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 `periodo`(datFEC DATETIME) RETURNS int(6) + DETERMINISTIC +BEGIN + +DECLARE intPERIODO INt; + +SET intPERIODO = YEAR(datFEC) * 100 + MONTH(datFEC); + +RETURN intPERIODO; + +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 `periodo_day` */; +/*!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 `periodo_day`(datFEC DATETIME) RETURNS int(8) + DETERMINISTIC +BEGIN + +DECLARE intPERIODO INt; + +SET intPERIODO = YEAR(datFEC) * 10000 + MONTH(datFEC) * 100 + DAY(datFEC); + +RETURN intPERIODO; + +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 `porte` */; +/*!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 `porte`(intId_Ticket INT) RETURNS double +BEGIN + + + DECLARE dblprice DOUBLE; + SELECT + SUM(`az`.`price`) INTO dblprice + FROM + (((((`expeditions` `e` + JOIN `Tickets` `t` ON ((`e`.`ticket_id` = `t`.`Id_Ticket`))) + JOIN `Consignatarios` `c` ON ((`c`.`Id_Consigna` = `t`.`Id_Consigna`))) + JOIN `Agencias` `a` ON ((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) + JOIN `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 `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` >= '2015-10-01') + AND (`t`.`empresa_id` IN (442 , 791))) AND t.Id_Ticket = intId_Ticket + GROUP BY `t`.`Id_Ticket`; + + RETURN dblprice; + +/* + DECLARE intId_Agencia INT; + DECLARE int_agency_id SMALLINT; + DECLARE int_province_id SMALLINT; + DECLARE bolCOD71 TINYINT(1); + DECLARE intPorte DOUBLE DEFAULT -1; + DECLARE dayofweek TINYINT(1) default 0; + DECLARE suplemento DOUBLE DEFAULT 9.41; + DECLARE strCodPostal VARCHAR(5); + DECLARE intWarehouse_id SMALLINT; + DECLARE dbldescuento DOUBLE DEFAULT 0; + DECLARE intVista TINYINT(1); + DECLARE dblvolumen DOUBLE; + + SET @porte := 0; + SELECT a.agency_id, t.Id_Agencia, cod71, Porte,c.CODPOSTAL,t.warehouse_id,c.province_id,cli.Descuento,IFNULL(ag.Vista,a.Vista), por_volumen + INTO int_agency_id,intId_Agencia, bolCOD71,intPorte,strCodPostal,intWarehouse_id,int_province_id,dbldescuento,intVista,dblvolumen + FROM Tickets t + JOIN Consignatarios c USING(Id_Consigna) + JOIN Agencias a ON t.Id_Agencia = a.Id_Agencia + JOIN agency agn ON agn.agency_id = a.agency_id + JOIN Clientes cli on c.Id_Cliente=cli.Id_Cliente + LEFT JOIN agency_warehouse ag ON ag.agency_id = a.agency_id + WHERE Id_Ticket = intId_Ticket limit 1; + + + + + IF bolCOD71 THEN + + IF intId_Agencia = 47 THEN -- Si es viaxpress + SELECT price INTO dblprice FROM Agencias_zonas az INNER JOIN viaxpress USING(zona) + WHERE Id_Agencia = 47 AND codigo_postal = strCodPostal AND az.warehouse_id = intWarehouse_id; + ELSE + SELECT price INTO dblprice FROM Agencias_zonas az + WHERE Id_Agencia = intId_Agencia AND 71 = Id_Article AND az.warehouse_id = intWarehouse_id + AND zona = (SELECT zona FROM Agencias_province + WHERE warehouse_id = intWarehouse_id AND agency_id = int_agency_id and province_id = int_province_id); + END IF; + + ELSE + SELECT 0 INTO dblprice; + 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 FUNCTION IF EXISTS `red` */; +/*!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 `red`( intCANTIDAD DOUBLE) RETURNS double + DETERMINISTIC BEGIN -DECLARE dblRATE DOUBLE; + DECLARE n DOUBLE; -SELECT rate INTO dblRATE FROM reference_rate ORDER BY date DESC LIMIT 1 ; + SET n = SIGN(intCANTIDAD) * TRUNCATE( (ABS(intCANTIDAD) * 100) + 0.5001 ,0) /100 ; -RETURN dblRATE; + RETURN n; -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 `date_inv` */; -/*!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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `date_inv`() RETURNS datetime - DETERMINISTIC -BEGIN - RETURN (SELECT FechaInventario FROM tblContadores 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 FUNCTION IF EXISTS `DAYEND` */; -/*!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 `DAYEND`(v_date DATE) RETURNS datetime - DETERMINISTIC -BEGIN - RETURN TIMESTAMP(v_date,'23:59:59'); +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 `riskKk` */; +/*!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 `riskKk`(datMax DATE, intCustomer INT) RETURNS decimal(10,2) +BEGIN +/** + * Deprecated + * + * Utilizar vn.clientGetDebt + **/ + + DECLARE decRisk DECIMAL(10,2) DEFAULT 0; + + SELECT vn.clientGetDebt(intCustomer,datMax) INTO decRisk; + + RETURN decRisk; + +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 `semana` */; +/*!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 `semana`(datFec DATETIME) RETURNS int(11) + DETERMINISTIC +BEGIN + /* DECLARE intWeek TINYINT DEFAULT WEEK(datFec, 1); + DECLARE intYear SMALLINT DEFAULT YEAR(datFec); + + +-- La funcio week dona un error en els primers dies del any +-- Por convención, consideraremos que el año tiene siempre 52 semanas, y la 53 se incorpora a la 1 del año siguiente. +-- Mysql week function smells, so ... + + IF intWeek > 52 THEN + + SET intWeek = 1; + + IF MONTH(datFec) = 12 THEN + + SET intYear = intYear + 1; + + SET intWeek = 1; + + + END IF; + + END IF; + + RETURN intYear * 100 + intWeek; +*/ + + RETURN vnperiod(datFec); + + +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 `shipmentDay` */; +/*!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 `shipmentDay`(landingDay INT, intervalDays INT) RETURNS int(11) +BEGIN + +/* PAK 01/09/16 +* +* Devuelve el weekday resultante de restar al landingDay los dias de intervalDays +* +*/ + +DECLARE resultDay INT; + +SET resultDay = (landingDay + 7 - (intervalDays mod 7)) mod 7; + +RETURN resultDay; + +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 `ticket_freight` */; +/*!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 `ticket_freight`(idT INT) RETURNS decimal(10,3) +BEGIN + + DECLARE dblFreight DECIMAL(10,2); + + /* + DECLARE intWh INTEGER; + DECLARE datFecha DATE; + + + SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; + + + CALL item_last_buy_(intWh,datFecha); + + SELECT SUM((`M`.`Cantidad` * (CM3(`b`.`buy_id`) / 1000000 /`C`.`Packing`) * `az`.`price` / 0.08)) INTO dblFreight + FROM Movimientos M + JOIN t_item_last_buy b on M.Id_Article = b.item_id + JOIN Compres C ON C.Id_Compra = b.buy_id + JOIN Tickets t on t.Id_Ticket = M.Id_Ticket + JOIN `Consignatarios` `cn` ON (`cn`.`Id_Consigna` = `t`.`Id_Consigna`) + JOIN `Agencias` `a` ON (`a`.`Id_Agencia` = `t`.`Id_Agencia`) + JOIN `Agencias_province` `ap` ON (`t`.`warehouse_id` = `ap`.`warehouse_id`) + AND (`ap`.`province_id` = `cn`.`province_id`) + AND (`ap`.`agency_id` = `a`.`agency_id`) + JOIN `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) + WHERE M.Id_Ticket = idT; + + DROP TEMPORARY TABLE t_item_last_buy; + */ + + SELECT sum(freight) + INTO dblFreight + FROM v_Movimientos_Volumen_shipping_charge + WHERE Id_Ticket = idT; + + RETURN dblFreight; + +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 `ticket_state` */; +/*!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 `ticket_state`( + strFAC VARCHAR(15), + intIMP TINYINT(1), + intETI TINYINT(1), + intBLO TINYINT(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 FUNCTION IF EXISTS `FIRSTDAYOFYEAR` */; -/*!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 `FIRSTDAYOFYEAR`(datFEC DATE) RETURNS date + ) RETURNS varchar(15) CHARSET utf8 BEGIN - -DECLARE datRETURNS DATE; - -SELECT TIMESTAMPADD(DAY, -1 * DAYOFYEAR(datFEC) + 1, datFEC) INTO datRETURNS; - -RETURN datRETURNS; - -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 `f_periodo` */; -/*!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 `f_periodo`(datFEC date) RETURNS int(7) - DETERMINISTIC -BEGIN -DECLARE intPeriod INT; - -SELECT Year(datFEC) * 100 + week(datFEC) into intPeriod; - -RETURN intPeriod; - - - - -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 `getBouquetId` */; -/*!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 `getBouquetId`( - vName VARCHAR(50), - vType int, - vSize int, - vColour VARCHAR(5) -) RETURNS int(11) -BEGIN -/** - * De vuelve el ID del ramo. Si no existe uno parecido, lo crea. - * - * @param vName Nombre del artículo - * @param vType Tipo de flor/planta - * @param vSize Tamaño del ramo - * @param vColour Color del ramo - * @return ID del ramo - */ - DECLARE bouquetId INT(11); - - CALL vn2008.createBouquet(vName, vType, vSize, vColour, @vItem); - - SET bouquetId = (SELECT @vItem); - -RETURN bouquetId; -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 `getComision` */; -/*!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 `getComision`(vEntry INT, vMoneda INT) RETURNS int(11) -BEGIN - - DECLARE vComision INT; - - SELECT IFNULL(round(-100 * (1 - (1 / rm.rate))),0) INTO vComision - FROM Entradas e - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN reference_min rm ON rm.moneda_id = vMoneda AND tr.shipment >= rm.`date` - WHERE e.Id_Entrada = vEntry - ORDER BY rm.date DESC - LIMIT 1; - - RETURN vComision; - -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 `getInvoiceWeight` */; -/*!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 `getInvoiceWeight`(vInvoice VARCHAR(15)) RETURNS decimal(10,2) -BEGIN - DECLARE vTotalWeight DECIMAL(10,2); - - SELECT SUM(IFNULL(tallos,1) * Cantidad * a.density) sumTotal - INTO vTotalWeight FROM Tickets t - LEFT JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket - LEFT JOIN Articles a ON a.Id_Article = m.Id_Article - LEFT JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE t.Factura = vInvoice AND Codintrastat; - RETURN vTotalWeight; -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 `getShippingFromTicket` */; -/*!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 `getShippingFromTicket`(vTicket INTEGER) RETURNS decimal(10,2) -BEGIN - DECLARE vValue DECIMAL(10,2); - SELECT - SUM(Valor * m.Cantidad) INTO vValue - FROM - Movimientos_componentes mc - JOIN - Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - JOIN - bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente - JOIN - bi.tarifa_componentes_series tcs ON tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id - AND tcs.tarifa_componentes_series_id = 6 - - WHERE m.Id_Ticket = vTicket; - - RETURN vValue; -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 `get_special_price` */; -/*!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 `get_special_price`(intArticle int(11),intCliente int(11)) RETURNS decimal(10,2) -BEGIN - DECLARE price DECIMAL(10,2); - - SELECT rate_3 INTO price FROM price_fixed WHERE item_id = intArticle AND CURDATE() BETWEEN date_start AND date_end order by odbc_date DESC limit 1; - - SELECT precioespecial INTO price FROM PreciosEspeciales WHERE Id_Article = intArticle and Id_Cliente = intCliente ; -RETURN price; -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 `get_Trabajador` */; -/*!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 `get_Trabajador`() RETURNS int(11) - DETERMINISTIC -BEGIN - RETURN IFNULL((SELECT Id_Trabajador FROM Trabajadores WHERE user_id = account.userGetId()),20); -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 `has_notify_passport` */; -/*!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 `has_notify_passport`(idA INT, idCompra INT) RETURNS tinyint(1) -BEGIN - DECLARE has_passport BOOLEAN; - DECLARE is_already_sent BOOLEAN; - - SELECT COUNT(*) INTO has_passport FROM vn2008.botanic_export be JOIN - vn2008.Articles_botanical ab ON be.edi_genus_id = ab.genus_id - AND IFNULL(be.edi_specie_id, ab.specie_id) = ab.specie_id - AND be.restriction = 'Se Requiere Certificado' - JOIN vn2008.Articles a ON a.Id_Article = ab.Id_Article - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - WHERE ab.Id_Article = idA AND t.reino_id = 2; - - IF has_passport THEN - SELECT COUNT(*) INTO is_already_sent FROM mail M - JOIN vn2008.Compres c ON c.Id_Compra = idCompra - WHERE `text` LIKE CONCAT('%',c.buy_edi_id,'%') limit 1; - END IF; - RETURN has_passport && NOT is_already_sent; -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 `intrastat_neto` */; -/*!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 `intrastat_neto`( intINSTRASTAT INTEGER,intUNIDADES INTEGER) RETURNS double -BEGIN - -DECLARE n DOUBLE; - -select ROUND(intUNIDADES / (sum(MEDIA) / count(media)),2) into n from ( -select *, unidades / neto MEDIA FROM intrastat_data WHERE intrastat_id = intINSTRASTAT and neto and unidades > 0 ORDER BY odbc_date DESC limit 50) t; --- JGF 01/06 per a evitar Kg en negatiu -RETURN n/2; - -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 `is_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`@`%` FUNCTION `is_bionic`(intTicket INT) RETURNS tinyint(1) -BEGIN - DECLARE bolIsBionic boolean; - SELECT (COUNT(*) > 0) INTO bolIsBionic FROM order_Tickets ot - WHERE ot.Id_Ticket = intTicket; - RETURN bolIsBionic; -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 `lang` */; -/*!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 `lang`() RETURNS char(2) CHARSET utf8 - DETERMINISTIC -BEGIN - RETURN IFNULL(@lang, 'es'); -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 `next_venc` */; -/*!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 `next_venc`( datFecha DATE,intDia INT,intPayDay INT) RETURNS date -BEGIN - -DECLARE n DATE; -DECLARE datVenc DATE; -DECLARE intVenc INT; - - SELECT TIMESTAMPADD(DAY,intDia,datFecha) INTO datVenc; - SELECT DAY(datVenc) INTO intVenc; - - SELECT MIN(TIMESTAMPADD(MONTH,(intVenc > intPayDay),DATE_FORMAT(datVenc,CONCAT('%y/%m/',intPayDay)))) INTO n; -RETURN n; - -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 `next_venctesting` */; -/*!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 `next_venctesting`( datFecha DATE,intDia INT,intPayDay INT) RETURNS date -BEGIN - -DECLARE n DATE; -DECLARE datVenc DATE; -DECLARE intVenc INT; - - SELECT TIMESTAMPADD(DAY,intDia,datFecha) INTO datVenc; - SELECT DAY(datVenc) INTO intVenc; - - SELECT IFNULL - ( - TIMESTAMPADD - ( - MONTH, - (intVenc > intPayDay), - DATE_FORMAT - ( - datVenc, - CONCAT('%y/%m/',intPayDay) - ) - ), - LAST_DAY(datVenc) - ) INTO n; -RETURN n; - -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 `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 - DETERMINISTIC -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 FUNCTION IF EXISTS `paymentday` */; -/*!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 `paymentday`(vDated DATE, vDayToPay INT) RETURNS date -BEGIN - -DECLARE vDued DATE; - -SET vDued = vn.getDueDate(vDated, vDayToPay); - -RETURN vDued; - -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 `periodo` */; -/*!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 `periodo`(datFEC DATETIME) RETURNS int(6) - DETERMINISTIC -BEGIN - -DECLARE intPERIODO INt; - -SET intPERIODO = YEAR(datFEC) * 100 + MONTH(datFEC); - -RETURN intPERIODO; - -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 `periodo_day` */; -/*!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 `periodo_day`(datFEC DATETIME) RETURNS int(8) - DETERMINISTIC -BEGIN - -DECLARE intPERIODO INt; - -SET intPERIODO = YEAR(datFEC) * 10000 + MONTH(datFEC) * 100 + DAY(datFEC); - -RETURN intPERIODO; - -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 `porte` */; -/*!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 `porte`(intId_Ticket INT) RETURNS double -BEGIN - - - DECLARE dblprice DOUBLE; - SELECT - SUM(`az`.`price`) INTO dblprice - FROM - (((((`expeditions` `e` - JOIN `Tickets` `t` ON ((`e`.`ticket_id` = `t`.`Id_Ticket`))) - JOIN `Consignatarios` `c` ON ((`c`.`Id_Consigna` = `t`.`Id_Consigna`))) - JOIN `Agencias` `a` ON ((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) - JOIN `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 `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` >= '2015-10-01') - AND (`t`.`empresa_id` IN (442 , 791))) AND t.Id_Ticket = intId_Ticket - GROUP BY `t`.`Id_Ticket`; - - RETURN dblprice; - -/* - DECLARE intId_Agencia INT; - DECLARE int_agency_id SMALLINT; - DECLARE int_province_id SMALLINT; - DECLARE bolCOD71 TINYINT(1); - DECLARE intPorte DOUBLE DEFAULT -1; - DECLARE dayofweek TINYINT(1) default 0; - DECLARE suplemento DOUBLE DEFAULT 9.41; - DECLARE strCodPostal VARCHAR(5); - DECLARE intWarehouse_id SMALLINT; - DECLARE dbldescuento DOUBLE DEFAULT 0; - DECLARE intVista TINYINT(1); - DECLARE dblvolumen DOUBLE; - - SET @porte := 0; - SELECT a.agency_id, t.Id_Agencia, cod71, Porte,c.CODPOSTAL,t.warehouse_id,c.province_id,cli.Descuento,IFNULL(ag.Vista,a.Vista), por_volumen - INTO int_agency_id,intId_Agencia, bolCOD71,intPorte,strCodPostal,intWarehouse_id,int_province_id,dbldescuento,intVista,dblvolumen - FROM Tickets t - JOIN Consignatarios c USING(Id_Consigna) - JOIN Agencias a ON t.Id_Agencia = a.Id_Agencia - JOIN agency agn ON agn.agency_id = a.agency_id - JOIN Clientes cli on c.Id_Cliente=cli.Id_Cliente - LEFT JOIN agency_warehouse ag ON ag.agency_id = a.agency_id - WHERE Id_Ticket = intId_Ticket limit 1; - - - - - IF bolCOD71 THEN - - IF intId_Agencia = 47 THEN -- Si es viaxpress - SELECT price INTO dblprice FROM Agencias_zonas az INNER JOIN viaxpress USING(zona) - WHERE Id_Agencia = 47 AND codigo_postal = strCodPostal AND az.warehouse_id = intWarehouse_id; - ELSE - SELECT price INTO dblprice FROM Agencias_zonas az - WHERE Id_Agencia = intId_Agencia AND 71 = Id_Article AND az.warehouse_id = intWarehouse_id - AND zona = (SELECT zona FROM Agencias_province - WHERE warehouse_id = intWarehouse_id AND agency_id = int_agency_id and province_id = int_province_id); - END IF; - - ELSE - SELECT 0 INTO dblprice; - 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 FUNCTION IF EXISTS `red` */; -/*!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 `red`( intCANTIDAD DOUBLE) RETURNS double - DETERMINISTIC -BEGIN - - DECLARE n DOUBLE; - - SET n = SIGN(intCANTIDAD) * TRUNCATE( (ABS(intCANTIDAD) * 100) + 0.5001 ,0) /100 ; - - RETURN n; - -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 `riskKk` */; -/*!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 `riskKk`(datMax DATE, intCustomer INT) RETURNS decimal(10,2) -BEGIN -/** - * Deprecated - * - * Utilizar vn.clientGetDebt - **/ - - DECLARE decRisk DECIMAL(10,2) DEFAULT 0; - - SELECT vn.clientGetDebt(intCustomer,datMax) INTO decRisk; - - RETURN decRisk; - -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 `semana` */; -/*!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 `semana`(datFec DATETIME) RETURNS int(11) - DETERMINISTIC -BEGIN - /* DECLARE intWeek TINYINT DEFAULT WEEK(datFec, 1); - DECLARE intYear SMALLINT DEFAULT YEAR(datFec); - - --- La funcio week dona un error en els primers dies del any --- Por convención, consideraremos que el año tiene siempre 52 semanas, y la 53 se incorpora a la 1 del año siguiente. --- Mysql week function smells, so ... - - IF intWeek > 52 THEN - - SET intWeek = 1; - - IF MONTH(datFec) = 12 THEN - - SET intYear = intYear + 1; - - SET intWeek = 1; - - - END IF; - - END IF; - - RETURN intYear * 100 + intWeek; -*/ - - RETURN vnperiod(datFec); - - -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 `shipmentDay` */; -/*!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 `shipmentDay`(landingDay INT, intervalDays INT) RETURNS int(11) -BEGIN - -/* PAK 01/09/16 -* -* Devuelve el weekday resultante de restar al landingDay los dias de intervalDays -* -*/ - -DECLARE resultDay INT; - -SET resultDay = (landingDay + 7 - (intervalDays mod 7)) mod 7; - -RETURN resultDay; - -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 `ticket_freight` */; -/*!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 `ticket_freight`(idT INT) RETURNS decimal(10,3) -BEGIN - - DECLARE dblFreight DECIMAL(10,2); - - /* - DECLARE intWh INTEGER; - DECLARE datFecha DATE; - - - SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; - - - CALL item_last_buy_(intWh,datFecha); - - SELECT SUM((`M`.`Cantidad` * (CM3(`b`.`buy_id`) / 1000000 /`C`.`Packing`) * `az`.`price` / 0.08)) INTO dblFreight - FROM Movimientos M - JOIN t_item_last_buy b on M.Id_Article = b.item_id - JOIN Compres C ON C.Id_Compra = b.buy_id - JOIN Tickets t on t.Id_Ticket = M.Id_Ticket - JOIN `Consignatarios` `cn` ON (`cn`.`Id_Consigna` = `t`.`Id_Consigna`) - JOIN `Agencias` `a` ON (`a`.`Id_Agencia` = `t`.`Id_Agencia`) - JOIN `Agencias_province` `ap` ON (`t`.`warehouse_id` = `ap`.`warehouse_id`) - AND (`ap`.`province_id` = `cn`.`province_id`) - AND (`ap`.`agency_id` = `a`.`agency_id`) - JOIN `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) - WHERE M.Id_Ticket = idT; - - DROP TEMPORARY TABLE t_item_last_buy; - */ - - SELECT sum(freight) - INTO dblFreight - FROM v_Movimientos_Volumen_shipping_charge - WHERE Id_Ticket = idT; - - RETURN dblFreight; - -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 `ticket_state` */; -/*!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 `ticket_state`( - strFAC VARCHAR(15), - intIMP TINYINT(1), - intETI TINYINT(1), - intBLO TINYINT(1) - - ) RETURNS varchar(15) CHARSET utf8 -BEGIN -CASE - - WHEN strFAC IS NOT NULL AND strFAC != '' THEN RETURN 'FACTURADO'; - - WHEN intETI <> 0 THEN RETURN 'ALBARAN'; - - WHEN intIMP <> 0 THEN RETURN 'PREPARACION'; - - WHEN intBLO <> 0 THEN RETURN 'BLOQUEADO'; - - ELSE RETURN 'LIBRE'; - -END CASE; - - - - - -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 `ticket_state_2` */; -/*!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 `ticket_state_2`( - idTICKET INT(11) - - ) RETURNS varchar(15) CHARSET utf8 -BEGIN - -DECLARE strVAR VARCHAR(15); - - -SELECT ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, Blocked) -INTO strVAR -FROM Tickets -WHERE Id_Ticket = idTICKET; - - - -RETURN strVAR; - - - -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 `ticket_state_3` */; -/*!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 `ticket_state_3`( - idTICKET INT(11) - - ) RETURNS varchar(15) CHARSET utf8 -BEGIN - -DECLARE strVAR VARCHAR(15); -DECLARE strNAM VARCHAR(15); -DECLARE fltID FLOAT DEFAULT 0; -DECLARE strfac VARCHAR(15); -DECLARE inteti tinyint; -DECLARE intimp tinyint; -DECLARE intblk tinyint; - -SELECT s.`name`,id INTO strNAM,fltID - FROM Tickets t INNER JOIN vncontrol.inter i USING(Id_Ticket) - INNER JOIN state s ON s.id = i.state_id - WHERE Id_Ticket = idTICKET ORDER BY i.odbc_date DESC,i.state_id DESC LIMIT 1; - -SELECT Factura, PedidoImpreso, Etiquetasemitidas, Blocked - INTO strfac,intimp,inteti,intblk - FROM Tickets - WHERE Id_Ticket = idTICKET; - CASE + WHEN strFAC IS NOT NULL AND strFAC != '' THEN RETURN 'FACTURADO'; - WHEN strfac <> '' AND fltID < 11 THEN RETURN 'FACTURADO'; + WHEN intETI <> 0 THEN RETURN 'ALBARAN'; - WHEN inteti <> 0 AND fltID < 11 THEN RETURN 'ALBARAN' ; + WHEN intIMP <> 0 THEN RETURN 'PREPARACION'; - WHEN intimp <> 0 AND fltID <= 5 THEN RETURN 'EN PREPARACION'; + WHEN intBLO <> 0 THEN RETURN 'BLOQUEADO'; - WHEN fltID > 0 THEN RETURN strNAM; - - ELSE RETURN 'LIBRE'; + ELSE RETURN 'LIBRE'; END CASE; -RETURN strVAR; -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 `ticket_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 `ticket_total`(ticket_id INT) RETURNS double -BEGIN -/** - * Calcula el total con IVA de un ticket. - * - * @deprecated Use function vn.ticketGetTotal() instead - * - * @param ticket_id Identificador del ticket - * @return Total del ticket - */ - -- TODO: Una vez provado el nuevo método con esta instrucción es suficiente - -- RETURN vn.ticketGetTotal (vTicketId); - - DECLARE v_total DOUBLE; - - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - - CREATE TEMPORARY TABLE ticket_tmp - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id; - - CALL ticket_total; - - SELECT total INTO v_total FROM ticket_total; - - DROP TEMPORARY TABLE - ticket_total, - ticket_tmp; - - RETURN v_total; -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 `ticket_volumen` */; -/*!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 `ticket_volumen`(idT INT) RETURNS decimal(10,3) -BEGIN - DECLARE intWh INTEGER; - DECLARE datFecha DATE; - DECLARE dblVolume DECIMAL(10,3); - - SELECT warehouse_id, Fecha - INTO intWh,datFecha - FROM Tickets - WHERE Id_Ticket = idT; - - SELECT IFNULL(SUM(m.Cantidad * cm3)/1000000,0) INTO dblVolume - FROM Movimientos m - JOIN bi.rotacion r on r.Id_Article = m.Id_Article AND r.warehouse_id = intWh - WHERE m.Id_Ticket = idT; - - RETURN dblVolume; - -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 `ticket_volumen_encajado` */; -/*!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 `ticket_volumen_encajado`(idT INT) RETURNS decimal(10,1) -BEGIN - -/* Devuelve el volumen estimado de un pedido, en cajas -* -* idT Numero de ticket -* -*/ - - - DECLARE vVolumenCajaM3 DOUBLE; - DECLARE vTicketVolumenEnCajas DECIMAL(10,1); - DECLARE CAJA VARCHAR(10) DEFAULT '94'; - - SELECT Volumen/1000000 INTO vVolumenCajaM3 FROM Cubos WHERE Id_Cubo = CAJA; - - SET vTicketVolumenEnCajas = ticket_volumen(idT) / vVolumenCajaM3; - - RETURN vTicketVolumenEnCajas; - -RETURN 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 FUNCTION IF EXISTS `ticket_volumen_en_cajas` */; -/*!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 `ticket_volumen_en_cajas`(idT INT) RETURNS decimal(10,1) -BEGIN - -/* Devuelve el volumen estimado de un pedido, en cajas -* -* idT Numero de ticket -* -* - - - DECLARE vVolumenCajaM3 DOUBLE; - DECLARE vTicketVolumenEnCajas DECIMAL(10,1); - DECLARE CAJA VARCHAR(10) DEFAULT '94'; - - SELECT Volumen/1000000 INTO vVolumenCajaM3 FROM Cubos WHERE Id_Cubo = CAJA; - - SET vTicketVolumenEnCajas = ticket_volumen(idT) / vVolumenCajaM3; - - RETURN vTicketVolumenEnCajas; -*/ -RETURN 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 FUNCTION IF EXISTS `till_entry` */; -/*!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 `till_entry`( - v_customer INT - ,v_bank INT - ,v_amount DOUBLE - ,v_concept VARCHAR(25) - ,v_date DATE - ,v_serial CHAR(1) - ,v_batch TINYINT - ,v_number INT - ,v_company SMALLINT - ,v_employee INT -) RETURNS int(11) -BEGIN - DECLARE v_account VARCHAR(12); - DECLARE v_subaccount VARCHAR(12); - DECLARE v_asiento INT DEFAULT NULL; - - -- Inserta el registro en cajas - - INSERT INTO Cajas - SET - Id_Trabajador = v_employee - ,Id_Banco = v_bank - ,Entrada = v_amount - ,Concepto = v_concept - ,Cajafecha = v_date - ,Serie = v_serial - ,Partida = v_batch - ,Numero = v_number - ,empresa_id = v_company; - - -- Inserta los asientos contables - - SELECT Cuenta INTO v_account - FROM Bancos WHERE Id_Banco = v_bank; - - SELECT Cuenta INTO v_subaccount - FROM Clientes WHERE Id_Cliente = v_customer; - - SET v_asiento = asiento +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 `ticket_state_2` */; +/*!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 `ticket_state_2`( + idTICKET INT(11) + + ) RETURNS varchar(15) CHARSET utf8 +BEGIN + +DECLARE strVAR VARCHAR(15); + + +SELECT ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, Blocked) +INTO strVAR +FROM Tickets +WHERE Id_Ticket = idTICKET; + + + +RETURN strVAR; + + + +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 `ticket_state_3` */; +/*!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 `ticket_state_3`( + idTICKET INT(11) + + ) RETURNS varchar(15) CHARSET utf8 +BEGIN + +DECLARE strVAR VARCHAR(15); +DECLARE strNAM VARCHAR(15); +DECLARE fltID FLOAT DEFAULT 0; +DECLARE strfac VARCHAR(15); +DECLARE inteti tinyint; +DECLARE intimp tinyint; +DECLARE intblk tinyint; + +SELECT s.`name`,id INTO strNAM,fltID + FROM Tickets t INNER JOIN vncontrol.inter i USING(Id_Ticket) + INNER JOIN state s ON s.id = i.state_id + WHERE Id_Ticket = idTICKET ORDER BY i.odbc_date DESC,i.state_id DESC LIMIT 1; + +SELECT Factura, PedidoImpreso, Etiquetasemitidas, Blocked + INTO strfac,intimp,inteti,intblk + FROM Tickets + WHERE Id_Ticket = idTICKET; + +CASE + + + WHEN strfac <> '' AND fltID < 11 THEN RETURN 'FACTURADO'; + + WHEN inteti <> 0 AND fltID < 11 THEN RETURN 'ALBARAN' ; + + WHEN intimp <> 0 AND fltID <= 5 THEN RETURN 'EN PREPARACION'; + + WHEN fltID > 0 THEN RETURN strNAM; + + ELSE RETURN 'LIBRE'; + +END CASE; + + +RETURN strVAR; + + + +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 `ticket_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 `ticket_total`(ticket_id INT) RETURNS double +BEGIN +/** + * Calcula el total con IVA de un ticket. + * + * @deprecated Use function vn.ticketGetTotal() instead + * + * @param ticket_id Identificador del ticket + * @return Total del ticket + */ + -- TODO: Una vez provado el nuevo método con esta instrucción es suficiente + -- RETURN vn.ticketGetTotal (vTicketId); + + DECLARE v_total DOUBLE; + + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + + CREATE TEMPORARY TABLE ticket_tmp + (INDEX (ticket_id)) + ENGINE = MEMORY + SELECT ticket_id; + + CALL ticket_total; + + SELECT total INTO v_total FROM ticket_total; + + DROP TEMPORARY TABLE + ticket_total, + ticket_tmp; + + RETURN v_total; +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 `ticket_volumen` */; +/*!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 `ticket_volumen`(idT INT) RETURNS decimal(10,3) +BEGIN + DECLARE intWh INTEGER; + DECLARE datFecha DATE; + DECLARE dblVolume DECIMAL(10,3); + + SELECT warehouse_id, Fecha + INTO intWh,datFecha + FROM Tickets + WHERE Id_Ticket = idT; + + SELECT IFNULL(SUM(m.Cantidad * cm3)/1000000,0) INTO dblVolume + FROM Movimientos m + JOIN bi.rotacion r on r.Id_Article = m.Id_Article AND r.warehouse_id = intWh + WHERE m.Id_Ticket = idT; + + RETURN dblVolume; + +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 `ticket_volumen_encajado` */; +/*!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 `ticket_volumen_encajado`(idT INT) RETURNS decimal(10,1) +BEGIN + +/* Devuelve el volumen estimado de un pedido, en cajas +* +* idT Numero de ticket +* +*/ + + + DECLARE vVolumenCajaM3 DOUBLE; + DECLARE vTicketVolumenEnCajas DECIMAL(10,1); + DECLARE CAJA VARCHAR(10) DEFAULT '94'; + + SELECT Volumen/1000000 INTO vVolumenCajaM3 FROM Cubos WHERE Id_Cubo = CAJA; + + SET vTicketVolumenEnCajas = ticket_volumen(idT) / vVolumenCajaM3; + + RETURN vTicketVolumenEnCajas; + +RETURN 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 FUNCTION IF EXISTS `ticket_volumen_en_cajas` */; +/*!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 `ticket_volumen_en_cajas`(idT INT) RETURNS decimal(10,1) +BEGIN + +/* Devuelve el volumen estimado de un pedido, en cajas +* +* idT Numero de ticket +* +* + + + DECLARE vVolumenCajaM3 DOUBLE; + DECLARE vTicketVolumenEnCajas DECIMAL(10,1); + DECLARE CAJA VARCHAR(10) DEFAULT '94'; + + SELECT Volumen/1000000 INTO vVolumenCajaM3 FROM Cubos WHERE Id_Cubo = CAJA; + + SET vTicketVolumenEnCajas = ticket_volumen(idT) / vVolumenCajaM3; + + RETURN vTicketVolumenEnCajas; +*/ +RETURN 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 FUNCTION IF EXISTS `till_entry` */; +/*!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 `till_entry`( + v_customer INT + ,v_bank INT + ,v_amount DOUBLE + ,v_concept VARCHAR(25) + ,v_date DATE + ,v_serial CHAR(1) + ,v_batch TINYINT + ,v_number INT + ,v_company SMALLINT + ,v_employee INT +) RETURNS int(11) +BEGIN + DECLARE v_account VARCHAR(12); + DECLARE v_subaccount VARCHAR(12); + DECLARE v_asiento INT DEFAULT NULL; + + -- Inserta el registro en cajas + + INSERT INTO Cajas + SET + Id_Trabajador = v_employee + ,Id_Banco = v_bank + ,Entrada = v_amount + ,Concepto = v_concept + ,Cajafecha = v_date + ,Serie = v_serial + ,Partida = v_batch + ,Numero = v_number + ,empresa_id = v_company; + + -- Inserta los asientos contables + + SELECT Cuenta INTO v_account + FROM Bancos WHERE Id_Banco = v_bank; + + SELECT Cuenta INTO v_subaccount + FROM Clientes WHERE Id_Cliente = v_customer; + + SET v_asiento = asiento + ( + v_asiento + ,v_date + ,v_account + ,v_subaccount + ,v_concept + ,v_amount + ,0 + ,0 + ,NULL -- Serie + ,NULL -- Factura + ,NULL -- IVA + ,NULL -- Recargo + ,FALSE -- Auxiliar + ,v_company + ); + DO asiento + ( + v_asiento + ,v_date + ,v_subaccount + ,v_account + ,v_concept + ,0 + ,v_amount + ,0 + ,NULL -- Serie + ,NULL -- Factura + ,NULL -- IVA + ,NULL -- Recargo + ,FALSE -- Auxiliar + ,v_company + ); + + RETURN 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 FUNCTION IF EXISTS `to_weeks` */; +/*!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 `to_weeks`(v_date DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + RETURN FLOOR((TO_DAYS(v_date) - 366) / 7); +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 `ubicator_cabecaja` */; +/*!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 `ubicator_cabecaja`(x SMALLINT,y SMALLINT,z SMALLINT,w SMALLINT,d SMALLINT,h SMALLINT) RETURNS tinyint(1) +BEGIN + +IF ((y>d) OR (x>w) OR (z>h)) THEN -- si no cabe alguna de las medidas en la balda. + RETURN FALSE; +END IF; +RETURN 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 FUNCTION IF EXISTS `vnday` */; +/*!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 `vnday`(datfec DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + +DECLARE intper INT; + +SELECT day INTO intper FROM time WHERE date = datfec; + +RETURN intper; + +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 `vndayname` */; +/*!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 `vndayname`(datfec DATE) RETURNS varchar(10) CHARSET utf8 COLLATE utf8_unicode_ci + DETERMINISTIC +BEGIN + +DECLARE vDayName VARCHAR(10); + +CASE weekday(datfec) + + WHEN 6 then + SET vDayName = 'Domingo'; + + WHEN 0 then + SET vDayName = 'Lunes'; + + WHEN 1 then + SET vDayName = 'Martes'; + + WHEN 2 then + SET vDayName = 'Miercoles'; + + WHEN 3 then + SET vDayName = 'Jueves'; + + WHEN 4 then + SET vDayName = 'Viernes'; + + WHEN 5 then + SET vDayName = 'Sabado'; + +END CASE; + +RETURN vDayName; + +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 `vnmonth` */; +/*!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 `vnmonth`(datfec DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + +DECLARE intper INT; + +SELECT month INTO intper FROM time WHERE date = datfec; + +RETURN intper; + +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 `vnperiod` */; +/*!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 `vnperiod`(datfec DATE) RETURNS int(6) + DETERMINISTIC +BEGIN + +DECLARE intper INT; + +SELECT period INTO intper FROM time WHERE date = datfec; + +RETURN intper; + +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 `vntrimestre` */; +/*!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 `vntrimestre`(datfec DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + + CASE + WHEN MONTH(datfec)<=3 THEN RETURN 1; + WHEN MONTH(datfec)<=6 THEN RETURN 2; + WHEN MONTH(datfec)<=9 THEN RETURN 3; + ELSE return 4; + END CASE; + +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 `vnweek` */; +/*!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 `vnweek`(datfec DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + +DECLARE intper INT; + +SELECT week INTO intper FROM time WHERE date = datfec; + +RETURN intper; + +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 `vnyear` */; +/*!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 `vnyear`(datfec DATE) RETURNS int(11) + DETERMINISTIC +BEGIN + +DECLARE intper INT; + +SELECT year INTO intper FROM time WHERE date = datfec; + +RETURN intper; + +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 `__AltaEmpleado` */; +/*!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 `__AltaEmpleado`(strCodTrabajador varchar(3),strNombre varchar(50),strApellidos varchar(50),strDni varchar(9), + strDomicilio longtext,strCodPostal varchar(5),strPoblacion varchar(25),provinceId smallint(5), intempresa_id smallint(5),strMovil varchar(11)) RETURNS varchar(50) CHARSET utf8 +BEGIN + +DECLARE RETORNO varchar(50) DEFAULT 'Empleado creado CORRECTAMENTE'; +DECLARE tmpUserId INT(11) DEFAULT 0; +DECLARE intId_Cliente int(11) DEFAULT 0; +DECLARE Cod_Trabajador VARCHAR(8) DEFAULT strCodTrabajador; +DECLARE strPassword VARCHAR(50); +DECLARE strSambaNombre VARCHAR(30); + +samba:BEGIN + +proc:BEGIN + -- IF (boolCrearSamba) THEN + -- SELECT Id_Cliente_Interno INTO intId_Cliente FROM Trabajadores WHERE Nombre=strNombre and Apellidos=strApellidos; + -- SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; + -- LEAVE proc; + -- END IF; +-- Tabla Clientes +SELECT COUNT(*) INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; +IF (intId_Cliente=0) THEN + -- SELECT IFNULL(province_id,1) INTO intprovince_id FROM province WHERE `name`=strProvincia; + SELECT MAX(Id_Cliente)+1 INTO intId_Cliente FROM Clientes WHERE Id_Cliente<999999; + + INSERT INTO Clientes (Id_Cliente,Cliente,Domicilio,`IF`,Telefono,province_id,Poblacion,CodPostal,RazonSocial,Contacto,Oficial,Descuento) + SELECT intId_Cliente,Concat('TR ',strNombre,' ',StrApellidos),strDomicilio,strDni,strMovil,provinceId,strPoblacion,strCodPostal, + CONCAT(strApellidos,' ',strNombre),strNombre,1,3; +ELSE + SELECT id_cliente INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; +END IF; + +SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; + +-- Tabla Trabajadores +IF (SELECT COUNT(*) FROM Trabajadores WHERE Nombre=strNombre AND Apellidos=strApellidos)=0 THEN + + IF strCodTrabajador IS NULL THEN + SET Cod_Trabajador = CONCAT(LEFT(strNombre, 1), LEFT(strApellidos, 1), MID(strApellidos, (LOCATE(' ', strApellidos) + 1), 1)); + END IF; + + IF (SELECT COUNT(*) FROM Trabajadores WHERE CodigoTrabajador=Cod_Trabajador) > 0 THEN + SET Cod_Trabajador = CONCAT(Cod_Trabajador, (FLOOR(RAND() * 100))); + END IF; + + SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; + + INSERT INTO Trabajadores (CodigoTrabajador,Nombre,Apellidos,`Password`,dni,empresa_id,id_Cliente_Interno) + SELECT Cod_Trabajador,strNombre,strApellidos,LCASE(strPassword),strDni,intempresa_id,intId_Cliente; +ELSE + SET RETORNO="CodigoTrabajador Existente"; +END IF; + -- LEAVE SAMBA; +END; -- PROC + +-- Tabla Account, lo crea como usuario y en samba +-- Obtengo el nombre sin espacios +SET strSambaNombre = REPLACE(strNombre,' ',''); +IF (SELECT COUNT(*) FROM account.user WHERE `name`=convert(strNombre USING utf8) COLLATE utf8_general_ci)>0 THEN -- Si existe cojo la inicial del nombre+1º apellido + SELECT CONCAT(LEFT(strNombre,1),CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),intId_Cliente)) + INTO strSambaNombre; +END IF; + + IF (SELECT COUNT(*) FROM account.user where id=intId_Cliente)=0 THEN + INSERT INTO account.user (id,role,`name`,`password`,active) VALUES (intId_Cliente,1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); + INSERT INTO account.account (id,lastchange,`expire`,user_id) values (intId_Cliente,CURRENT_DATE(),CURRENT_DATE(),intId_Cliente); + UPDATE Trabajadores SET user_id=intId_Cliente WHERE Id_Cliente_Interno=intId_Cliente; + ELSE + INSERT INTO account.user (role,`name`,`password`,active) VALUES (1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); + SET tmpUserId = LAST_INSERT_ID(); + INSERT INTO account.account (id,lastchange,`expire`,user_id) values (tmpUserId,CURRENT_DATE(),CURRENT_DATE(),tmpUserId); + UPDATE Trabajadores SET user_id=tmpUserId WHERE Id_Cliente_Interno=intId_Cliente; + END IF; + + REPLACE INTO account.mailAliasAccount(mailAlias, account) VALUES (48,intId_Cliente); + +END; -- samba + +RETURN RETORNO; +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 `account_conciliacion_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 = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `account_conciliacion_add`() +BEGIN + +update account_conciliacion ac +join +( + select idaccount_conciliacion, @c:= if(@id = id_calculated, @c + 1, 1) contador + , @id:= id_calculated as id_calculated, concat(id_calculated,'(',@c,')') as new_id from account_conciliacion + join + ( + select id_calculated, count(*) rep, @c:= 0, @id:= concat('-',id_calculated) from account_conciliacion + group by id_calculated + having rep > 1 + ) sub using(id_calculated) +) sub2 using(idaccount_conciliacion) +set ac.id_calculated = sub2.new_id; + + +insert into Cajas(Cajafecha, Partida, Serie, Concepto, Entrada, Salida, Id_Banco, Id_Trabajador, empresa_id, warehouse_id, Proveedores_account_id, id_calculated) +select Fechaoperacion, TRUE, 'MB', ac.Concepto, IF(DebeHaber = 2, importe,null), IF(DebeHaber = 1, importe, null), pa.Id_Banco, 20 + , pa.Id_Proveedor, 1, ac.Id_Proveedores_account,ac.id_calculated +from account_conciliacion ac +join Proveedores_account pa on pa.Id_Proveedores_account = ac.Id_Proveedores_account +left join Cajas c on c.id_calculated = ac.id_calculated +where c.Id_Caja is 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 `accumulatorsReadingDateUpdate` */; +/*!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 `accumulatorsReadingDateUpdate`() +BEGIN + +/* Actualiza los valores de la tabla en función de la cotización del EUR/USD +* +*/ + +UPDATE accumulatorsReadingDate a + JOIN + ( + SELECT + d.id, + CASE + WHEN rr.rate between p.lowerBarrier and p.rate THEN p.strike + WHEN rr.rate between p.rate and p.upperBarrier AND p.financialProductTypefk = 'AC' THEN p.strike + WHEN rr.rate >= p.upperBarrier THEN p.strike * 2 + ELSE 0 + END AS Acumulado + FROM vn2008.reference_rate rr + JOIN accumulatorsReadingDate d ON d.readingDate = rr.date + JOIN pago_sdc p ON p.pago_sdc_id = d.pagoSdcfk + WHERE IFNULL(amount,0) = 0 + AND rr.rate >= p.lowerBarrier) sub ON sub.id = a.id + SET a.amount = sub.Acumulado + WHERE a.amount IS 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 `add_awb_component` */; +/*!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 `add_awb_component`(IN v_awb SMALLINT) +BEGIN + + DECLARE vShipment DATE; + SELECT t.shipment INTO vShipment + FROM awb_recibida aw + JOIN recibida_entrada re ON re.awb_recibida = aw.recibida_id + JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE awb_id = v_awb limit 1; + + INSERT IGNORE INTO awb_component (awb_id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,value,Id_Moneda) + SELECT id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,LEAST(GREATEST(value1,IFNULL(min_value,value1)),IFNULL(max_value,value1)),Id_Moneda + FROM ( + SELECT a.id,IFNULL(act.carguera_id,CASE awb_role_id WHEN 1 THEN a.carguera_id WHEN 2 THEN a.transitario_id WHEN 3 THEN f.airline_id END) Id_Proveedor, + act.awb_component_type_id,act.awb_role_id,act.awb_unit_id, value * + CASE awb_unit_id + WHEN '1000Tj-20' THEN ((CAST(stems AS SIGNED) - 20000)/1000) + (min_value / value) + WHEN '1000Tj-10' THEN ((CAST(stems AS SIGNED) - 10000)/1000) + (min_value / value) + WHEN '100GW' THEN peso/100 + WHEN 'AWB' THEN 1 -- No action + WHEN 'FB' THEN hb/2 + WHEN 'GW' THEN peso + WHEN 'TW' THEN GREATEST(peso,volume_weight) + END value1 + , value, + act.Id_Moneda, act.min_value, act.max_value + FROM awb a JOIN flight f ON f.flight_id = a.flight_id + LEFT JOIN awb_component_template act ON ((IFNULL(act.carguera_id, a.carguera_id) = a.carguera_id AND awb_role_id = 1) + OR (IFNULL(act.carguera_id, a.transitario_id) = a.transitario_id AND awb_role_id = 2)) + AND IFNULL(act.airport_out, f.airport_out) = f.airport_out AND IFNULL(act.airport_in, f.airport_in) = f.airport_in + AND IFNULL(act.airline_id, f.airline_id) = f.airline_id + WHERE a.id = v_awb AND Fecha <= vShipment ORDER BY Fecha DESC) t ; + +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 `add_awb_componentKK` */; +/*!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 `add_awb_componentKK`(IN v_awb SMALLINT) +BEGIN + + INSERT IGNORE INTO awb_component (awb_id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,value,Id_Moneda) + SELECT id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,LEAST(GREATEST(value1,IFNULL(min_value,value1)),IFNULL(max_value,value1)),Id_Moneda + FROM ( + SELECT a.id,IFNULL(act.carguera_id,CASE awb_role_id WHEN 1 THEN a.carguera_id WHEN 2 THEN a.transitario_id WHEN 3 THEN f.airline_id END) Id_Proveedor, + act.awb_component_type_id,act.awb_role_id,act.awb_unit_id, value * + CASE awb_unit_id + WHEN '1000Tj-20' THEN ((CAST(stems AS SIGNED) - 20000)/1000) + (min_value / value) + WHEN '1000Tj-10' THEN ((CAST(stems AS SIGNED) - 10000)/1000) + (min_value / value) + WHEN '100GW' THEN peso/100 + WHEN 'AWB' THEN 1 -- No action + WHEN 'FB' THEN hb/2 + WHEN 'GW' THEN peso + WHEN 'TW' THEN GREATEST(peso,volume_weight) + END value1 + , value, + act.Id_Moneda, act.min_value, act.max_value + FROM awb a JOIN flight f ON f.flight_id = a.flight_id + LEFT JOIN awb_component_template act ON ((IFNULL(act.carguera_id, a.carguera_id) = a.carguera_id AND awb_role_id = 1) + OR (IFNULL(act.carguera_id, a.transitario_id) = a.transitario_id AND awb_role_id = 2)) + AND IFNULL(act.airport_out, f.airport_out) = f.airport_out AND IFNULL(act.airport_in, f.airport_in) = f.airport_in + AND IFNULL(act.airline_id, f.airline_id) = f.airline_id + WHERE a.id = v_awb AND Fecha <= CURDATE() ORDER BY Fecha DESC) t ; + +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 `adelantarTickets` */; +/*!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 `adelantarTickets`(datCurrent DATE,datAttempted DATE) +BEGIN + DECLARE vWarehouse INTEGER; + DECLARE vFechedTicket INTEGER; + DECLARE done INT DEFAULT 0; + DECLARE vFetchCounter INT DEFAULT 0; + DECLARE cur1 CURSOR FOR + SELECT ticketId + FROM tmpTicketList; + DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; + + OPEN cur1; + + SELECT warehouse_id INTO vWarehouse FROM tmpTicketList ttl JOIN Tickets t ON t.Id_Ticket = ttl.ticketId LIMIT 1; + CALL item_stock(vWarehouse,CURDATE(),NULL); + + DROP TEMPORARY TABLE IF EXISTS tmpAdelantarTickets; + CREATE TEMPORARY TABLE tmpAdelantarTickets( + Id_Ticket INT, + count INT, + media DOUBLE) + ENGINE = MEMORY; + + REPEAT + FETCH cur1 INTO vFechedTicket; + + INSERT INTO tmpAdelantarTickets + SELECT + vFechedTicket, + COUNT(Cantidad), + AVG(Cantidad <= IFNULL(Saldo, 0)) AS `AVG` + FROM Movimientos m + LEFT JOIN + (SELECT + * + FROM + (SELECT + Id_Article, Saldo + FROM + (SELECT + Dia, Id_Article, SUM(Entradas - Salidas) AS Saldo + FROM + ( + SELECT CURDATE() AS Dia, + item_id Id_Article, + stock AS Entradas, + 0 AS Salidas + FROM tmp_item ti + JOIN Movimientos m ON m.Id_Article = ti.item_id AND m.Id_Ticket = vFechedTicket + UNION ALL + SELECT DATE(t.Fecha) AS Dia, + mt.Id_Article, + 0 AS Entradas, + - m.Cantidad AS Salidas + FROM Tickets t + JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket AND t.warehouse_id = vWarehouse + JOIN Movimientos mt ON mt.Id_Article = m.Id_Article + WHERE mt.Id_Ticket = vFechedTicket AND + t.Fecha BETWEEN curdate() AND datCurrent + UNION ALL + SELECT tr.landing, c.Id_Article, c.Cantidad, 0 + FROM + Compres c + JOIN Movimientos mt ON mt.Id_Article = c.Id_Article + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = travel_id and tr.warehouse_id = vWarehouse + WHERE mt.Id_Ticket = vFechedTicket AND + tr.landing BETWEEN curdate() AND datCurrent + UNION ALL + SELECT tr.shipment, c.Id_Article, - c.Cantidad, 0 + FROM + Compres c + JOIN Movimientos mt ON mt.Id_Article = c.Id_Article + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = travel_id and tr.warehouse_id_out = vWarehouse + WHERE mt.Id_Ticket = vFechedTicket AND tr.shipment BETWEEN curdate() AND datCurrent + ) sub GROUP BY Dia , Id_Article) sub2 + ORDER BY Saldo) sub3 + GROUP BY Id_Article) sub4 USING (Id_Article) + WHERE m.Id_Ticket = vFechedTicket; + + UNTIL done END REPEAT; + + select * from tmpAdelantarTickets; + CLOSE cur1; + DROP TEMPORARY TABLE IF EXISTS tmpAdelantarTickets; +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 `agencia_descuadre` */; +/*!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 `agencia_descuadre`(datSince DATE, datTo DATE, intAgency INT, intWarehouseAlias INT) +BEGIN + + + DECLARE isFile boolean; + DECLARE datTo2359 DATETIME; + + SET datTo2359 = util.dayEnd(datTo); + + SELECT SUM(price) INTO isFile FROM agencia_descuadre; + + IF NOT IFNULL(isFile,0) THEN + + SELECT t.Id_Ticket,0 AS Total_Agencia,t.Id_Consigna,t.empresa_id,t.warehouse_id, + v.suma_componente AS VN, v.suma_componente - shipping_charge AS Difer, + e.shipping_charge AS teorico,t.Id_Agencia, t.Bultos,t.Id_Cliente, ap.zona + + FROM Tickets t LEFT JOIN + (SELECT Id_Ticket, SUM(suma_componente) suma_componente,Fecha + FROM v_descuadre_porte2 + WHERE Fecha BETWEEN datSince AND datTo2359 + GROUP BY Id_Ticket) v ON t.Id_Ticket = v.Id_Ticket + LEFT JOIN (SELECT Id_Ticket, SUM(shipping_charge) shipping_charge, Fecha + FROM v_expeditions_shipping_charge2 + WHERE Fecha BETWEEN datSince AND datTo2359 + GROUP BY Id_Ticket + ) e ON t.Id_Ticket = e.Id_Ticket + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + JOIN Consignatarios c ON t.Id_Consigna = c.Id_Consigna + JOIN Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = t.warehouse_id AND ap.province_id = c.province_id + JOIN warehouse_group wg ON wg.warehouse_id =t.warehouse_id + WHERE DATE(t.Fecha) BETWEEN datSince AND datTo2359 AND a.agency_id = intAgency and wg.warehouse_alias_id = intWarehouseAlias; + + ELSE + + SELECT t.Id_Ticket, Round(sum_price , 2) AS Total_Agencia,t.Id_Consigna,t.empresa_id,t.warehouse_id, + v.suma_componente AS VN, IF(isFile,Round(sum_price, 2) - v.suma_componente,v.diferencia) AS Difer, + v.teorico_agencia AS teorico,zd.Id_Agencia, t.Bultos,t.Id_Cliente + FROM + (SELECT + *, SUM(price) sum_price + FROM + (select + t.Id_Ticket, zd.price,t.Id_Consigna, zd.date,t.empresa_id,t.warehouse_id,c.Descuento,t.Id_Agencia + from + agencia_descuadre zd + LEFT JOIN Tickets t ON t.Id_Ticket = zd.Id_Ticket + LEFT JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente + ORDER BY t.Id_Cliente DESC) t + GROUP BY Id_Ticket,`date`) zd + LEFT JOIN + Tickets t ON zd.date = DATE(t.Fecha) + AND zd.Id_Consigna = t.Id_Consigna + AND zd.warehouse_id = t.warehouse_id + AND zd.Id_Agencia = t.Id_Agencia + LEFT JOIN + v_descuadre_porte v ON v.Id_Ticket = t.Id_Ticket + WHERE t.Id_Cliente <> 4712 AND t.Id_Cliente <> 450 + GROUP BY zd.date,Id_Consigna,warehouse_id,zd.Id_Agencia -- HAVING Difer > 0.5 OR Difer < -0.5 jgf 2015-08-18 + ORDER BY v.diferencia; + 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 `agencia_volume` */; +/*!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 `agencia_volume`() +BEGIN + DECLARE v_start DATETIME DEFAULT TIMESTAMP(CURDATE()); + DECLARE v_end DATETIME DEFAULT TIMESTAMP(CURDATE(), '23:59:59'); + + + SET v_start = IF(WEEKDAY(CURDATE()), CURDATE(),TIMESTAMPADD(DAY,-1,CURDATE())); + SET v_start = IF(CURDATE() = '2014-05-02', '2014-05-01',v_start); + DROP TEMPORARY TABLE IF EXISTS agenVOL; + CREATE TEMPORARY TABLE agenVOL + ( + Id_Ticket INT PRIMARY KEY + ,Id_Agencia INT + ,Agencia VARCHAR(30) + ,Bultos INT DEFAULT 0 + ,Faltan INT DEFAULT 0 + /*,Prioridad VARCHAR(15) DEFAULT ''*/ + ) + ENGINE=MEMORY; + + -- Insertamos los tickets que ya tienen la linea de portes + + INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Bultos) + SELECT a.Id_Agencia, name , Id_Ticket, sum(Cantidad) Bultos + FROM Tickets t + JOIN Agencias a USING(Id_Agencia) + JOIN Movimientos m USING(Id_Ticket) + JOIN agency ag USING(agency_id) + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE Concepte LIKE '%porte%' + AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) + AND Fecha BETWEEN v_start AND v_end + AND Vista = 1 + GROUP BY Id_Ticket; + + -- Insertamos los tickets que ya tienen expediciones, que fallaran si se repite la clave primaria. + + INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Bultos) + SELECT a.Id_Agencia, name, ticket_id, COUNT(ticket_id) + FROM expeditions e + JOIN Tickets t ON t.Id_Ticket = e.ticket_id + JOIN Agencias a ON a.Id_Agencia = e.agency_id + JOIN agency ag ON ag.agency_id = a.agency_id + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE t.Fecha BETWEEN v_start AND v_end + AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) + AND Vista = 1 + GROUP BY ticket_id + ON DUPLICATE KEY UPDATE Bultos = Bultos; + + -- Adivinamos el futuro + INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Faltan) + SELECT a.Id_Agencia, name, Id_Ticket, 1 as Faltan + FROM Tickets t + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN expeditions e ON e.ticket_id = t.Id_Ticket + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE Fecha BETWEEN v_start AND v_end + AND Bultos = 0 AND expeditions_id IS NULL AND EtiquetasEmitidas = 0 + AND wj.warehouse_alias_id = 1 -- JGF 18/12/14 El 1 equivale a Silla (SillaFV-SillaPCA) + AND Vista = 1 + GROUP BY Id_Ticket + ON DUPLICATE KEY UPDATE Faltan = Faltan + 1; + + + -- Matizamos la urgencia para ZELERIS + /* + UPDATE agenVOL a + JOIN Tickets t USING(Id_Ticket) + JOIN Clientes c USING(Id_Cliente) + JOIN Agencias agen ON agen.Id_Agencia = t.Id_Agencia + JOIN agency ag ON ag.agency_id = agen.agency_id + JOIN Agencias_province ap ON ag.agency_id = ap.province_id + JOIN province p ON p.province_id = ap.province_id + SET a.Prioridad = IF(p.name IN ('VALENCIA','MURCIA','MADRID','BARCELONA','GIRONA','ALICANTE','CASTELLON'), 'LENTA','RAPIDA') + WHERE ag.name LIKE 'zeleris';*/ + + SELECT agen.agency_id, name Agencia, COUNT(Id_Ticket) expediciones, SUM(Bultos) Bultos, SUM(Faltan) Faltan/*, Prioridad*/ + FROM agenVOL a + JOIN Agencias agen USING(Id_Agencia) + JOIN agency ag USING(agency_id) + GROUP BY ag.agency_id/*, Prioridad*/; + + DROP TEMPORARY TABLE IF EXISTS agenVOL; +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 `alfa_invoices` */; +/*!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 `alfa_invoices`(IN datFEC DATE) +BEGIN + +DECLARE datSTART DATETIME; +DECLARE vTotal DECIMAL(10,2) DEFAULT 0.00; + +SET @myId = -10000000; +SET @myRef = 'factura'; +SET @myTotal = vTotal; + +SET datSTART = TIMESTAMPADD(DAY, -1 * DAYOFMONTH(datFEC) + 1, datfec); + +IF datFEC < '2017-07-01' THEN + + SELECT Id_Factura `Invoice no`, + date(Fecha) as `Invoice date`, + Id_Cliente `Debtor no`, + `IF` `Vat nr`, + Razonsocial `Name`, + BI7 `Amount excl Vat 6%`, + BI16 `Amount excl Vat 19%`, + IVA7 `Vat 6%`, + IVA16 `Vat 19%`, + Importe `Total inc Vat` + from Facturas + INNER JOIN Clientes USING(Id_Cliente) + where empresa_id = 567 + and Fecha BETWEEN datSTART AND datFEC + order by `Invoice date`, factura_id; + +ELSE + +SELECT * FROM + ( + SELECT io.ref `Invoice no`, + io.issued `Invoice date`, + IF(@myId = io.id, '', clientFk) `Debtor no`, + IF(@myId = io.id, '', c.fi) `Vat nr`, + IF(@myId = io.id, '', c.socialName) `Name`, + taxableBase `Taxable Amount excl VAT`, + CONCAT(CAST(pgc.rate AS DECIMAL(2,0)) ,' %') `VAT Rate`, + CAST(vat AS DECIMAL(10,2)) `VAT Quote`, + CAST(@myTotal + taxableBase + vat AS DECIMAL(10,2)) `Total plus Vat`, + IF(@myId := io.id, NULL, NULL) as ControlField + FROM vn.invoiceOut io + JOIN vn.client c ON c.id = io.clientFk + JOIN vn.invoiceOutTax iot ON iot.invoiceOutFk = io.id + JOIN vn.pgc ON pgc.code = iot.pgcFk + WHERE io.companyFk = 567 + AND io.issued BETWEEN datSTART AND datFEC + ORDER BY io.id, iot.id + ) t1 + ORDER BY `Invoice date` DESC, `Invoice no`; + +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 `article` */; +/*!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 `article`() +BEGIN + DROP TEMPORARY TABLE IF EXISTS `article_inventory`; + CREATE TEMPORARY TABLE `article_inventory` ( - v_asiento - ,v_date - ,v_account - ,v_subaccount - ,v_concept - ,v_amount - ,0 - ,0 - ,NULL -- Serie - ,NULL -- Factura - ,NULL -- IVA - ,NULL -- Recargo - ,FALSE -- Auxiliar - ,v_company - ); - DO asiento + `article_id` INT(11) NOT NULL PRIMARY KEY, + `future` DATETIME + ) + ENGINE = MEMORY; +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 `articleTagUpdatePriority_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 `articleTagUpdatePriority_kk`(IN vItem INT) +BEGIN +/* +* DEPRECATED +*/ + +CALL vn.itemTagUpdatePriority(vItem); + +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 `article_available_single` */; +/*!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 `article_available_single`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT) +BEGIN + + CALL bionic_available_single (v_wh, v_date,id_single,0); + + + SELECT available AS minimo FROM tmp_item + WHERE item_id = id_single; +-- ixen totes les linies en lloc d'una sola + DROP TEMPORARY TABLE IF EXISTS 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `article_inventory_warehouses` */; +/*!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 `article_inventory_warehouses`(vDate DATE) +proc: BEGIN +/** + * Recalcula los inventarios de todos los almacenes. + * + * @param vDate Fecha de los nuevos inventarios + */ + DECLARE vWh INT; + DECLARE vDone BOOL; + DECLARE vEntryId INT; + DECLARE vTravelId INT; + DECLARE vDateTime DATETIME DEFAULT TIMESTAMP(vDate, '00:00:00'); + DECLARE vDeleteDate DATE DEFAULT TIMESTAMPADD(DAY, -2, vDate); + + DECLARE cWarehouses CURSOR FOR + SELECT id FROM warehouse WHERE inventario; + + DECLARE CONTINUE HANDLER FOR NOT FOUND + SET vDone = TRUE; + + OPEN cWarehouses; + + l: LOOP + + SET vDone = FALSE; + FETCH cWarehouses INTO vWh; + + IF vDone THEN + LEAVE l; + END IF; + + INSERT INTO travel SET + warehouse_id_out = 13, + warehouse_id = vWh, + shipment = vDateTime, + landing = vDateTime, + agency_id = 53, + ref = 'inventario', + delivered = TRUE, + received = TRUE; + + SELECT LAST_INSERT_ID() INTO vTravelId; + + INSERT INTO Entradas SET + Id_Proveedor = 4, + Fecha = vDateTime, + Confirmada = TRUE, + Pedida = TRUE, + travel_id = vTravelId; + + SELECT LAST_INSERT_ID() INTO vEntryId; + + -- Inserta el visible + + CALL inventario_multiple_inventarios (vWh, vDateTime); + + -- Inserta Last_buy_id + + ALTER TABLE article_inventory + ADD buy_id INT; + + UPDATE article_inventory ai + JOIN + ( + SELECT * FROM ( + SELECT Id_Article, Id_Compra,warehouse_id + FROM Compres c + JOIN Entradas e USING (Id_Entrada) + JOIN travel tr ON tr.id = e.travel_id + WHERE Novincular = FALSE + AND costefijo > 0 AND tarifa2 > 0 + AND NOT Redada + AND landing BETWEEN date_inv() AND vDate + ORDER BY (vWh = warehouse_id) DESC, landing DESC + ) t1 + GROUP BY Id_Article + ) t + ON ai.article_id = t.Id_Article + SET ai.buy_id = t.Id_Compra; + + INSERT INTO Compres ( + Id_Entrada + ,Id_Article + ,Cantidad + ,Costefijo + ,Packing + ,Id_Cubo + ,Tarifa2 + ,Tarifa3 + ,Productor + ) + SELECT + vEntryId + ,AI.article_id + ,IF(AI.visible < 0,0,AI.visible) + ,ifnull(C.Costefijo,0) + ifnull(C.Portefijo,0) + ifnull(C.Comisionfija,0) + ifnull(C.Embalajefijo,0) + ,C.Packing + ,C.Id_Cubo + ,C.Tarifa2 + ,C.Tarifa3 + ,C.Productor + FROM article_inventory AI + LEFT JOIN Compres C ON C.Id_Compra = AI.buy_id; + + DROP TEMPORARY TABLE article_inventory; + END LOOP; + + CLOSE cWarehouses; + + UPDATE tblContadores SET FechaInventario = vDate; + + DELETE e, t + FROM travel t + JOIN Entradas e ON e.travel_id = t.id + WHERE Id_Proveedor = 4 + AND shipment <= vDeleteDate + AND (DAY(shipment) <> 1 OR shipment < TIMESTAMPADD(MONTH, -12, 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 `article_minacum` */; +/*!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 `article_minacum`(IN v_wh TINYINT, IN v_date_ini DATETIME, IN v_range INT) +BEGIN + -- Cálculo del mínimo acumulado + + DECLARE v_date DATE DEFAULT v_date_ini; + DECLARE v_date_end DATETIME; + + SET v_date_ini = TIMESTAMP(DATE(v_date_ini), '00:00:00'); + SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, v_range, v_date_ini),'23:59:59'); + + -- CALL item_travel (v_wh, v_date_ini); + + DROP TEMPORARY TABLE IF EXISTS article_minacum; + CREATE TEMPORARY TABLE article_minacum + ENGINE = MEMORY + SELECT t.article_id, t.warehouse_id, minacum(dat, amount, v_date) AS amount FROM ( + SELECT article_id, DATE(Fecha) AS dat, SUM(amount) AS amount, warehouse_id FROM ( + SELECT Id_Article article_id, Fecha, -Cantidad AS amount, warehouse_id + FROM Movimientos m INNER JOIN Tickets t USING (Id_Ticket) + WHERE Fecha BETWEEN v_date_ini AND v_date_end + AND Cantidad != 0 + AND (@aid IS NULL OR Id_Article = @aid) + AND (v_wh IS NULL OR t.warehouse_id = v_wh) + UNION ALL + SELECT Id_Article, t.landing, Cantidad, warehouse_id + FROM Compres c INNER JOIN Entradas e USING (Id_Entrada) + LEFT JOIN travel t ON e.travel_id = t.id + WHERE t.landing BETWEEN v_date_ini AND v_date_end + AND (v_wh IS NULL OR t.warehouse_id = v_wh) + AND e.Inventario = FALSE + AND Cantidad != 0 + AND (@aid IS NULL OR Id_Article = @aid) + UNION ALL + SELECT Id_Article, t.shipment, -Cantidad, warehouse_id_out + FROM Compres c INNER JOIN Entradas e USING (Id_Entrada) + LEFT JOIN travel t ON e.travel_id = t.id + WHERE t.shipment BETWEEN v_date_ini AND v_date_end + AND (v_wh IS NULL OR t.warehouse_id_out = v_wh) + AND e.Inventario = FALSE + AND Cantidad != 0 + AND (@aid IS NULL OR Id_Article = @aid) + ) t1 + GROUP BY t1.article_id, dat, warehouse_id + ) t + + GROUP BY t.article_id, warehouse_id HAVING amount != 0; + SET @aid = 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 `article_multiple_buy` */; +/*!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 `article_multiple_buy`(v_date DATETIME, wh INT) +BEGIN + DECLARE v_date_aux DATETIME; + + SELECT TIMESTAMPADD(DAY, -90, CURDATE()) INTO v_date_aux; + + ALTER TABLE article_inventory + ADD buy_id INT; + + DROP TEMPORARY TABLE IF EXISTS tmp; + + CREATE TEMPORARY TABLE tmp + (KEY (Id_Article)) + ENGINE = MEMORY + SELECT * FROM + ( + SELECT Id_Article, Id_Compra + FROM bi.Last_buy_id + ORDER BY (wh = warehouse_id) DESC + ) t + GROUP BY Id_Article; + + UPDATE article_inventory ai + JOIN tmp t ON ai.article_id = t.Id_Article + SET ai.buy_id = t.Id_Compra; + + -- Los valores de hoy + + TRUNCATE TABLE tmp; + + INSERT INTO tmp + SELECT Id_Article, Id_Compra + FROM Compres c + JOIN Entradas e USING (Id_Entrada) + JOIN travel tr ON tr.id = e.travel_id + WHERE Novincular = FALSE + AND tarifa2 > 0 + AND landing BETWEEN CURDATE() AND v_date + ORDER BY (wh = warehouse_id) DESC; + + UPDATE article_inventory ai + INNER JOIN tmp t + ON ai.article_id = t.Id_Article + SET ai.buy_id = t.Id_Compra; + + -- CREATE INDEX idx USING HASH ON article_inventory (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 `article_multiple_buy_date` */; +/*!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`@`localhost` PROCEDURE `article_multiple_buy_date`(IN date_ DATETIME, IN wh TINYINT(3)) +BEGIN + + DECLARE datINV DATE; + SELECT FechaInventario INTO datINV FROM tblContadores; + + ALTER TABLE `article_inventory` + ADD `buy_date` datetime NOT NULL; + + UPDATE article_inventory INNER JOIN ( - v_asiento - ,v_date - ,v_subaccount - ,v_account - ,v_concept - ,0 - ,v_amount - ,0 - ,NULL -- Serie - ,NULL -- Factura - ,NULL -- IVA - ,NULL -- Recargo - ,FALSE -- Auxiliar - ,v_company - ); + + SELECT * FROM + ( + SELECT travel.landing AS bdate, Compres.Id_Article AS article_id + FROM Compres + JOIN Entradas USING(Id_Entrada) + JOIN travel ON travel.id = Entradas.travel_id + + JOIN warehouse W ON W.id = travel.warehouse_id + WHERE travel.landing BETWEEN datINV AND date_ + AND IF(wh = 0, W.comisionantes, wh = travel.warehouse_id) + /*AND Compres.Novincular = FALSE + AND Entradas.Id_Proveedor <> 4 + AND Entradas.Inventario = FALSE*/ + -- jgf 2017/03/06 en la comparativa no trau el dia de caducitat + AND Entradas.Redada = FALSE + ORDER BY article_id, bdate DESC - RETURN 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 FUNCTION IF EXISTS `to_weeks` */; -/*!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 `to_weeks`(v_date DATE) RETURNS int(11) - DETERMINISTIC + ) AS temp + GROUP BY article_id + ) + AS buy ON article_inventory.article_id = buy.article_id + SET article_inventory.buy_date = buy.bdate; +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 `article_multiple_buy_last` */; +/*!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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `article_multiple_buy_last`(IN wh TINYINT, IN date_end DATETIME) BEGIN - RETURN FLOOR((TO_DAYS(v_date) - 366) / 7); -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 `ubicator_cabecaja` */; -/*!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 `ubicator_cabecaja`(x SMALLINT,y SMALLINT,z SMALLINT,w SMALLINT,d SMALLINT,h SMALLINT) RETURNS tinyint(1) + DECLARE v_date DATETIME; + + DROP TEMPORARY TABLE IF EXISTS article_buy_last; + CREATE TEMPORARY TABLE article_buy_last + SELECT * FROM ( + SELECT c.Id_Article AS article_id, c.Id_Compra AS id + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv() AND date_end + AND c.Novincular = FALSE + AND c.tarifa2 > 0 + ORDER BY t.landing DESC,(wh IN (0,t.warehouse_id)) DESC, (Id_Cubo IS NULL) ,article_id, (e.Id_proveedor = 4) + ) t + GROUP BY article_id; + ALTER TABLE article_buy_last ADD INDEX (article_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 `article_visible_single` */; +/*!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 `article_visible_single`(IN v_wh TINYINT,IN v_article INT) +BEGIN +DECLARE bisible FLOAT; +CALL article_visible_single2(v_wh,v_article,@suma2); + +SET bisible = @suma2; +SELECT bisible AS suma, A.Id_Article, A.Article, A.Medida, A.Tallos, A.Nicho, O.Abreviatura as origen, A.Color, A.Tipo, A.Nicho, + A.Categoria + FROM v_compres A INNER JOIN Origen O ON O.id = A.id_origen WHERE A.Id_Article =v_article AND A.warehouse_id = v_wh ORDER BY landing DESC 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 `article_visible_single2` */; +/*!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 `article_visible_single2`(IN v_wh TINYINT,IN v_article INT,OUT int_amount INT) BEGIN + + call item_stock(v_wh,CURDATE(),v_article); + call article_visible(v_wh); -IF ((y>d) OR (x>w) OR (z>h)) THEN -- si no cabe alguna de las medidas en la balda. - RETURN FALSE; -END IF; -RETURN 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 FUNCTION IF EXISTS `vnday` */; -/*!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 `vnday`(datfec DATE) RETURNS int(11) - DETERMINISTIC + SELECT SUM(stock) INTO int_amount FROM tmp_item WHERE item_id = v_article ; + SELECT IFNULL(SUM(amount),0) + IFNULL(int_amount,0) INTO int_amount + FROM article_visible + WHERE article_id = v_article; + + DROP TEMPORARY TABLE tmp_item; + DROP TEMPORARY TABLE article_visible; + +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 `availableTraslate` */; +/*!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 `availableTraslate`(vWarehouseLanding INT, v_date DATE,vWarehouseShipment INT) +proc: BEGIN + DECLARE v_date_ini DATE; + DECLARE v_date_end DATETIME; + DECLARE v_reserve_date DATETIME; + DECLARE v_date_inv DATE; + + IF v_date < CURDATE() + THEN + LEAVE proc; + END IF; + + CALL vn2008.item_stock (vWarehouseLanding, v_date, 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(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; + + -- 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.Id_Article item_id, MAX(landing) date_end + 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 = vWarehouseLanding + AND NOT e.Inventario + AND NOT e.Redada + GROUP BY Id_Article; + + -- Tabla con el ultimo dia de last_buy para cada producto que hace un replace de la anterior + + CALL item_last_buy_(vWarehouseShipment,curdate()); + + 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; + + INSERT INTO item_range + SELECT t.item_id, tr.landing + FROM t_item_last_buy t + JOIN Compres c ON c.Id_Compra = t.buy_id + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = e.travel_id + LEFT JOIN item_range_copy i ON t.item_id = i.item_id + WHERE t.warehouse_id = vWarehouseShipment + ON DUPLICATE KEY UPDATE item_range.date_end = GREATEST(item_range.date_end,landing); + + 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 c.item_id, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range 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; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy2; + CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range_copy1; + INSERT INTO item_range_copy2 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy3; + CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range_copy1; + INSERT INTO item_range_copy3 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy4; + CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range_copy1; + INSERT INTO item_range_copy4 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy5; + CREATE TEMPORARY TABLE item_range_copy5 LIKE item_range_copy1; + INSERT INTO item_range_copy5 + SELECT * FROM item_range_copy1; + + -- Calcula el ATP + + DROP TEMPORARY TABLE IF EXISTS availableTraslate; + CREATE TEMPORARY TABLE availableTraslate + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT t.item_id, SUM(stock) available 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 = vWarehouseLanding + UNION ALL + SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount + FROM Compres m + JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada + JOIN travel t ON e.travel_id = t.id + JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article + WHERE + e.Inventario = 0 + AND m.Cantidad <> 0 + AND e.redada = 0 + AND t.warehouse_id = vWarehouseLanding + AND t.landing >= v_date_ini + AND (ir.date_end IS NULL OR t.landing <= ir.date_end) + + 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 = vWarehouseLanding + 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 = vWarehouseLanding + 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 available != 0; + + DROP TEMPORARY TABLE + vn2008.tmp_item + ,item_range + ,item_range_copy1 + ,item_range_copy2 + ,item_range_copy3 + ,item_range_copy4 + ,item_range_copy5; +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 `availableTraslateTesting` */; +/*!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 `availableTraslateTesting`(vWarehouseLanding INT, v_date DATE,vWarehouseShipment INT) +proc: BEGIN + DECLARE v_date_ini DATE; + DECLARE v_date_end DATETIME; + DECLARE v_reserve_date DATETIME; + DECLARE v_date_inv DATE; + + IF v_date < CURDATE() + THEN + LEAVE proc; + END IF; + + CALL vn2008.item_stock (vWarehouseLanding, v_date, 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(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; + + -- 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.Id_Article item_id, MAX(landing) date_end + 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 = vWarehouseLanding + AND NOT e.Inventario + AND NOT e.Redada + GROUP BY Id_Article; + + -- Tabla con el ultimo dia de last_buy para cada producto que hace un replace de la anterior + + SELECT vWarehouseShipment; + + CALL item_last_buy_(vWarehouseShipment,v_date); + + SELECT *,'last_buy' FROM t_item_last_buy t ; -- WHERE t.item_id = 41576; + SELECT * FROM item_range t WHERE t.item_id = 41576; + + 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; + + SELECT 'update' , t.item_id, tr.landing + FROM t_item_last_buy t + JOIN Compres c ON c.Id_Compra = t.buy_id + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = e.travel_id + LEFT JOIN item_range_copy i ON t.item_id = i.item_id + WHERE t.warehouse_id = vWarehouseShipment AND t.item_id = 41576; + + INSERT INTO item_range + SELECT t.item_id, tr.landing + FROM t_item_last_buy t + JOIN Compres c ON c.Id_Compra = t.buy_id + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = e.travel_id + LEFT JOIN item_range_copy i ON t.item_id = i.item_id + WHERE t.warehouse_id = vWarehouseShipment + ON DUPLICATE KEY UPDATE item_range.date_end = GREATEST(item_range.date_end,landing); + + 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 c.item_id, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range 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; + + select * from item_range_copy1 where item_id = 41576; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy2; + CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range_copy1; + INSERT INTO item_range_copy2 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy3; + CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range_copy1; + INSERT INTO item_range_copy3 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy4; + CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range_copy1; + INSERT INTO item_range_copy4 + SELECT * FROM item_range_copy1; + + DROP TEMPORARY TABLE IF EXISTS item_range_copy5; + CREATE TEMPORARY TABLE item_range_copy5 LIKE item_range_copy1; + INSERT INTO item_range_copy5 + SELECT * FROM item_range_copy1; + + -- Calcula el ATP + SELECT ti.item_id, stock + FROM vn2008.tmp_item ti + JOIN item_range ir ON ir.item_id = ti.item_id ; + + 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 = vWarehouseLanding; + + SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount + FROM Compres m + JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada + JOIN travel t ON e.travel_id = t.id + JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article + WHERE + e.Inventario = 0 + AND m.Cantidad <> 0 + AND e.redada = 0 + AND t.warehouse_id = vWarehouseLanding + AND t.landing >= v_date_ini + AND (ir.date_end IS NULL OR t.landing <= ir.date_end); + + 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 = vWarehouseLanding; + 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 = vWarehouseLanding + AND r.created >= v_reserve_date + AND NOT o.confirmed; + + DROP TEMPORARY TABLE IF EXISTS availableTraslate; + CREATE TEMPORARY TABLE availableTraslate + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT t.item_id, SUM(stock) available 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 = vWarehouseLanding + UNION ALL + SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount + FROM Compres m + JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada + JOIN travel t ON e.travel_id = t.id + JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article + WHERE + e.Inventario = 0 + AND m.Cantidad <> 0 + AND e.redada = 0 + AND t.warehouse_id = vWarehouseLanding + AND t.landing >= v_date_ini + AND (ir.date_end IS NULL OR t.landing <= ir.date_end) + + 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 = vWarehouseLanding + 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 = vWarehouseLanding + 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 available != 0; + + select * from availableTraslate where item_id = 41576; + + DROP TEMPORARY TABLE + vn2008.tmp_item + ,item_range + ,item_range_copy1 + ,item_range_copy2 + ,item_range_copy3 + ,item_range_copy4 + ,item_range_copy5; +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 `balance_create` */; +/*!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 `balance_create`(IN vStartingMonth INT + , IN vEndingMonth INT + , IN vCompany INT + , IN vConsolidate BOOLEAN + , IN vInterGroupSalesIncluded BOOLEAN) +BEGIN + +DECLARE v_sql TEXT; +DECLARE strTABLE VARCHAR(20) DEFAULT "balance_nest_tree"; +DECLARE intGAP INTEGER DEFAULT 7; +DECLARE intYEARS INTEGER DEFAULT 3; +DECLARE vConsolidatedGroup INTEGER; +DECLARE vStartingDate DATE DEFAULT '2016-01-01'; +DECLARE vStartingYear INT DEFAULT 2016; + + +-- Solicitamos la tabla tmp.nest, como base para el balance +CALL nest_tree(strTABLE,intGAP, FALSE); + +DROP TEMPORARY TABLE IF EXISTS tmp.balance; + +CREATE TEMPORARY TABLE tmp.balance +SELECT * FROM tmp.nest; + +DROP TEMPORARY TABLE IF EXISTS tmp.empresas_receptoras; +DROP TEMPORARY TABLE IF EXISTS tmp.empresas_emisoras; + +IF vConsolidate THEN + SELECT empresa_grupo INTO vConsolidatedGroup FROM empresa WHERE id = vCompany; +END IF; + +CREATE TEMPORARY TABLE tmp.empresas_receptoras + SELECT id as empresa_id + FROM vn2008.empresa + WHERE id = vCompany + OR empresa_grupo = vConsolidatedGroup; + + +CREATE TEMPORARY TABLE tmp.empresas_emisoras + SELECT Id_Proveedor as empresa_id + FROM vn2008.Proveedores p; + +IF NOT vInterGroupSalesIncluded THEN + + DELETE ee.* + FROM tmp.empresas_emisoras ee + JOIN vn2008.empresa e on e.id = ee.empresa_id + WHERE e.empresa_grupo = vConsolidatedGroup; + + END IF; + +-- Se calculan las facturas que intervienen, para luego poder servir el desglose desde aqui + +DROP TEMPORARY TABLE IF EXISTS tmp.balance_desglose; +CREATE TEMPORARY TABLE tmp.balance_desglose + SELECT er.empresa_id as receptora_id + , ee.empresa_id as emisora_id + , year(IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha))) as `year` + , month(IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha))) as `month` + , gastos_id as Id_Gasto + , sum(bi) as importe + FROM recibida r + JOIN recibida_iva ri on ri.recibida_id = r.id + JOIN tmp.empresas_receptoras er on er.empresa_id = r.empresa_id + JOIN tmp.empresas_emisoras ee ON ee.empresa_id = r.proveedor_id + WHERE IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha)) >= vStartingDate + AND r.contabilizada + GROUP BY Id_Gasto, year, month, emisora_id, receptora_id; +/* +DROP TEMPORARY TABLE IF EXISTS tmp.balance_desglose; +CREATE TEMPORARY TABLE tmp.balance_desglose + SELECT er.empresa_id as receptora_id + , ee.empresa_id as emisora_id + , year(IFNULL(r.dateBooking, r.Fecha)) as `year` + , month(IFNULL(r.dateBooking, r.Fecha)) as `month` + , gastos_id as Id_Gasto + , sum(bi) as importe + FROM recibida r + JOIN recibida_iva ri on ri.recibida_id = r.id + JOIN tmp.empresas_receptoras er on er.empresa_id = r.empresa_id + JOIN tmp.empresas_emisoras ee ON ee.empresa_id = r.proveedor_id + WHERE IFNULL(r.dateBooking, r.Fecha) between vStartingDate and CURDATE() + GROUP BY Id_Gasto, year, month, emisora_id, receptora_id; +*/ +INSERT INTO tmp.balance_desglose(receptora_id + , emisora_id + , year + , month + , Id_Gasto + , importe) + SELECT gr.empresa_id + , gr.empresa_id + , year + , month + , Id_Gasto + , sum(importe) + FROM gastos_resumen gr + JOIN tmp.empresas_receptoras er on gr.empresa_id = er.empresa_id + WHERE year >= vStartingYear + AND month BETWEEN vStartingMonth AND vEndingMonth + GROUP BY Id_Gasto, year, month, gr.empresa_id; + + +DELETE FROM tmp.balance_desglose + WHERE month < vStartingMonth + OR month > vEndingMonth; + + + +-- Ahora el balance +SET v_sql = sql_printf ( + ' + ALTER TABLE tmp.balance + ADD COLUMN %t INT(10) NULL , + ADD COLUMN %t INT(10) NULL , + ADD COLUMN %t INT(10) NULL , + ADD COLUMN Id_Gasto VARCHAR(10) NULL, + ADD COLUMN Gasto VARCHAR(45) NULL; + ', + YEAR(CURDATE())-2, + YEAR(CURDATE())-1, + YEAR(CURDATE()) + ); + +CALL util.exec (v_sql); + + +-- Añadimos los gastos, para facilitar el formulario + +UPDATE tmp.balance b +JOIN vn2008.balance_nest_tree bnt on bnt.id = b.id +JOIN (SELECT Id_Gasto, Gasto + FROM vn2008.Gastos + GROUP BY Id_Gasto) g ON g.Id_Gasto = bnt.Id_Gasto +SET b.Id_Gasto = g.Id_Gasto + , b.Gasto = g.Gasto; + +-- Rellenamos los valores de primer nivel, los que corresponden a los gastos simples + +WHILE intYEARS > 0 DO + + SET intYEARS = intYEARS - 1; + + SET v_sql = sql_printf ( + ' + UPDATE tmp.balance b + JOIN + ( + SELECT Id_Gasto, sum(Importe) as Importe + FROM tmp.balance_desglose + WHERE year = %v + GROUP BY Id_Gasto + ) sub on sub.Id_Gasto = b.Id_Gasto + SET %t = - Importe; + ', + YEAR(CURDATE()) - intYEARS, + YEAR(CURDATE()) - intYEARS + ); + + CALL util.exec (v_sql); + +END WHILE; + +-- Añadimos las ventas + + + SET v_sql = sql_printf ( + ' + UPDATE tmp.balance b + JOIN ( + SELECT sum(IF(year = %v, venta, 0)) as y2 + , sum(IF(year = %v, venta, 0)) as y1 + , sum(IF(year = %v, venta, 0)) as y0 + , c.Gasto + + FROM bs.ventas_contables c + join tmp.empresas_receptoras er on er.empresa_id = c.empresa_id + WHERE month BETWEEN %v AND %v + GROUP BY c.Gasto + + ) sub ON sub.Gasto = b.Id_Gasto + SET %t = IFNULL(%t,0) + sub.y2 + , %t = IFNULL(%t,0) + sub.y1 + , %t = IFNULL(%t,0) + sub.y0 + ; + + ', + YEAR(CURDATE()) - 2, + YEAR(CURDATE()) - 1, + YEAR(CURDATE()), + vStartingMonth, + vEndingMonth, + YEAR(CURDATE()) - 2, YEAR(CURDATE()) - 2, + YEAR(CURDATE()) - 1, YEAR(CURDATE()) - 1, + YEAR(CURDATE()), YEAR(CURDATE()) + + ); + + CALL util.exec (v_sql); + +-- Ventas intra grupo +IF NOT vInterGroupSalesIncluded THEN + + SELECT lft, rgt + INTO @grupoLft, @grupoRgt + FROM tmp.balance b + WHERE TRIM(b.`name`) = 'Grupo'; + + DELETE + FROM tmp.balance + WHERE lft BETWEEN @grupoLft AND @grupoRgt; + +END IF; + + +-- Rellenamos el valor de los padres con la suma de los hijos +DROP TEMPORARY TABLE IF EXISTS tmp.balance_aux; +CREATE TEMPORARY TABLE tmp.balance_aux SELECT * FROM tmp.balance; + +UPDATE tmp.balance b +JOIN +( +select b1.id, b1.name, sum(b2.`2016`) as `2016`, sum(b2.`2017`) as `2017`, sum(b2.`2018`) as `2018` +from tmp.nest b1 +join tmp.balance_aux b2 on b2.lft between b1.lft and b1.rgt +group by b1.id) sub on sub.id = b.id +SET b.`2016` = sub.`2016`, b.`2017` = sub.`2017`, b.`2018` = sub.`2018` +; + + + +SELECT *, concat('',ifnull(Id_Gasto,'')) as newgasto FROM tmp.balance; + + +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 `base_ticket` */; +/*!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 `base_ticket`(IN Id_Ticket INT) +BEGIN + SELECT + red(SUM(Cantidad * Preu * (100 - Descuento) / 100)) AS base + FROm + Movimientos m + INNER JOIN Tickets t USING (Id_Ticket) + WHERE t.Id_Ticket = Id_Ticket; + +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_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 = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_`( + vDate DATE, + vAddress INT, + vAgency INT) +BEGIN +/** + * Calcula el disponible para un conjunto de almacenes y fechas + * devueltos por el procedimiento travel_tree() + * + * @table t_bionic_available Tabla con los ids de cache + **/ + DECLARE vAvailableCalc INT; + DECLARE vShipment DATE; + DECLARE vAgencyId INT; + DECLARE vWh INT; + DECLARE vDone BOOL; + DECLARE cTravelTree CURSOR FOR + SELECT warehouse_id, Fecha_envio FROM travel_tree; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + -- Establecemos los almacenes y las fechas que van a entrar al disponible + + SELECT agency_id INTO vAgencyId + FROM Agencias WHERE Id_Agencia = vAgency; + + CALL travel_tree (vDate, vAddress, vAgencyId); + + DROP TEMPORARY TABLE IF EXISTS t_bionic_available; + CREATE TEMPORARY TABLE t_bionic_available( + calc_id INT UNSIGNED, + PRIMARY KEY (calc_id) + ) + ENGINE = MEMORY; + + OPEN cTravelTree; + l: LOOP + SET vDone = FALSE; + FETCH cTravelTree INTO vWh, vShipment; + + IF vDone THEN + LEAVE l; + END IF; + + CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipment); + + INSERT IGNORE INTO t_bionic_available + SET calc_id = vAvailableCalc; + END LOOP; + + CLOSE cTravelTree; + DROP TEMPORARY TABLE travel_tree; +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_available_articlelist` */; +/*!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_available_articlelist`(IN strART VARCHAR(50) + , IN minMED DOUBLE + , IN maxMED DOUBLE + , IN minPVP DOUBLE + , IN maxPVP DOUBLE) +BEGIN + +DECLARE intSPACE_POS INT; +DECLARE strSUBTR VARCHAR(50); +DECLARE strFILTER VARCHAR(500); +DECLARE v_sql TEXT; + +DROP TEMPORARY TABLE IF EXISTS articlelist; + +CREATE TEMPORARY table articlelist +(Id_Article INT(11) PRIMARY KEY) +ENGINE = INNODB; + + + +-- Arreglos + +SET minMED = IFNULL(minMED,0); +SET minMED = IF(minMED = 0,0.01, minMED); +SET maxMED = IFNULL(maxMED,9990); +SET maxMED = IF(maxMED = 0,9990, maxMED); +SET minPVP = IFNULL(minPVP,0); +SET minPVP = IF(minPVP = 0, 0.01, minPVP); +SET maxPVP = IFNULL(maxPVP,9990); +SET maxPVP = IF(maxPVP = 0, 9990, maxPVP); + +-- ARTICLE + +SET strART = TRIM(strART); + +IF ASCII(strART) BETWEEN 48 AND 57 THEN + + INSERT INTO articlelist(Id_Article) VALUES(CAST(strART AS UNSIGNED)); + +ELSE + + SET strFILTER = 'TRUE '; + + WHILE LENGTH(strART) > 0 DO + + SET intSPACE_POS = POSITION(' ' IN strART) ; + + IF intSPACE_POS = 0 THEN + + SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',strART,'%"'); + SET strART = ''; + + ELSE + + SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',LEFT(strART,intSPACE_POS - 1),'%"'); + SET strART = TRIM(SUBSTRING(strART, intSPACE_POS)); + + END IF; + + + END WHILE; + + if minpvp = 0.01 and maxpvp = 9990 then + + SET v_sql = sql_printf ( + ' + REPLACE vn2008.articlelist + SELECT a.Id_Article + FROM vn2008.Articles a + LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + WHERE %s + AND Medida BETWEEN %v AND %v; + ' + + ,strFILTER + ,minMED + ,maxMED); + else + + SET v_sql = sql_printf ( + ' + REPLACE vn2008.articlelist + SELECT a.Id_Article + FROM vn2008.Articles a + LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + JOIN ( + SELECT DISTINCT Id_Article + FROM vn2008.Movimientos m + JOIN vn2008.Tickets t using(Id_Ticket) + JOIN vn2008.Clientes c using(Id_Cliente) + WHERE Fecha > CURDATE() - INTERVAL 4 DAY + AND Preu BETWEEN %v AND %v + AND c.invoice <> 0 + ) v on v.Id_Article = a.Id_Article + WHERE %s + AND Medida BETWEEN %v AND %v; + ' + ,minPVP + ,maxPVP + ,strFILTER + ,minMED + ,maxMED); + end if; + + CALL util.exec (v_sql); + +END IF; +-- SELECT Id_Article, Article, Medida FROM Articles join articlelist using(Id_Article); + +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_available_items_` */; +/*!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_available_items_`(v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT) +BEGIN +/** + * Crea una tabla con los identificadores de los articulos disponibles. + * + * @table t_bionic_available_items + **/ + CALL bionic_available_ (v_date, v_consigna, v_agencia); + + DROP TEMPORARY TABLE IF EXISTS t_bionic_available_items; + CREATE TEMPORARY TABLE t_bionic_available_items + (INDEX (Id_Article)) + ENGINE = MEMORY + SELECT a.Id_Article, a.Article + FROM `cache`.available c + JOIN Articles a ON c.item_id = a.Id_Article + JOIN t_bionic_available ba ON c.calc_id = ba.calc_id + WHERE c.available GROUP BY a.Article; + + DROP TEMPORARY TABLE 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 `bionic_available_single` */; +/*!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_available_single`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT, IN refresh TINYINT) +BEGIN + DECLARE intcalc_id INT; + call cache.available_refresh(intcalc_id,refresh, v_wh,v_date); + + SELECT available AS minimo FROM cache.available WHERE calc_id = intcalc_id AND item_id = id_single ; + +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_available_types_` */; +/*!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_available_types_`( + v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT) +BEGIN +/** + * Calcula los tipos disponibles para un conjunto de almacenes + * y fechas devueltos por el procedimiento travel_tree() + * + * @table t_bionic_available_types Tabla con los tipos disponibles + **/ + + CALL bionic_available_(v_date, v_consigna, v_agencia); + + DROP TEMPORARY TABLE IF EXISTS t_bionic_available_types; + CREATE TEMPORARY TABLE t_bionic_available_types + (INDEX (tipo_id)) + ENGINE = MEMORY + SELECT a.tipo_id, t.Tipo + FROM `cache`.available c + JOIN Articles a ON c.item_id = a.Id_Article + JOIN Tipos t ON t.tipo_id = a.tipo_id + JOIN t_bionic_available ba ON c.calc_id = ba.calc_id + WHERE c.available > 0 -- JGF 2016-03-23 en el bionic no apareixen negatius, els tipos que no continguen disponible, tampoc els volem mostrar + AND t.Orden != 0 + GROUP BY t.tipo_id; + + DROP TEMPORARY TABLE 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 `bionic_available_types_filter` */; +/*!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_available_types_filter`( + v_date DATE, + v_consigna INT, + v_agencia INT, + v_filter TEXT) +BEGIN +/** + * Este procedimiento devuelve una tabla t_bionic_available_types + * que debe de ser borrar por quien la llame, y se conecta con la tabla articlelist + * que tambien hay que eliminar. + * + * @param vDatefecha de recepcion de mercancia + * @table t_bionic_available_types + */ + + DECLARE v_sql TEXT; + DECLARE v_list TEXT; + SET v_list = ''; + + SET v_filter = IFNULL(v_filter,' TRUE'); + + CALL bionic_available_(v_date, v_consigna, v_agencia); + -- Inroducimos los valores en una tabla temporal + DROP TEMPORARY TABLE IF EXISTS t_bionic_available_types; + + CALL check_table_existence('articlelist'); + + IF @table_exists THEN + + SET v_list = 'JOIN vn2008.articlelist AL ON AL.Id_Article = a.Id_Article '; + + END IF; + + SET v_sql = sql_printf ( + ' + CREATE TEMPORARY TABLE t_bionic_available_types + SELECT a.tipo_id, Tipo, reino, count(*) as item_count + FROM `cache`.available c + JOIN vn2008.Articles a ON c.item_id = a.Id_Article + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + JOIN vn2008.reinos r ON r.id = t.reino_id + JOIN vn2008.t_bionic_available ba ON c.calc_id = ba.calc_id + %s + WHERE c.available > 0 + AND %s + GROUP BY a.tipo_id; + ' + , v_list + , v_filter); + + CALL sql_query (v_sql); + + DROP TEMPORARY TABLE 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 `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`( + vDate DATE, -- Fecha de recepcion de mercancia + vAddress INT, + vAgency INT) +proc: BEGIN + DECLARE vAvailableCalc INT; + DECLARE vShipment DATE; + DECLARE vAgencyId INT; + DECLARE vCustomer INT; + DECLARE vWh SMALLINT; + DECLARE vDone BOOL; + DECLARE cTravelTree CURSOR FOR + SELECT warehouse_id, Fecha_envio FROM travel_tree; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DROP TEMPORARY TABLE IF EXISTS + tmp.bionic_item, + tmp.bionic_component, + tmp.bionic_lot, + tmp.bionic_price; + + -- Establece los almacenes y las fechas que van a entrar al disponible + + SELECT agency_id INTO vAgencyId FROM Agencias WHERE Id_Agencia = vAgency; + SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vAddress; + + CALL travel_tree(vDate, vAddress, vAgencyId); + + -- Crea la tabla temporal que almacenará los lotes + + CREATE TEMPORARY TABLE tmp.bionic_lot LIKE + template_bionic_lot; + + OPEN cTravelTree; + + l: LOOP + SET vDone = FALSE; + FETCH cTravelTree INTO vWh, vShipment; + + IF vDone THEN + LEAVE l; + END IF; + + CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipment); + CALL item_last_buy_ (vWh, vShipment); + + INSERT INTO tmp.bionic_lot (warehouse_id, item_id, available, buy_id) + SELECT + vWh, + i.item_id, + IFNULL(i.available, 0), + ilb.buy_id + FROM `cache`.available i + JOIN tmp.bionic_calc br ON br.item_id = i.item_id + LEFT JOIN Articles a ON a.Id_Article = i.item_id + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = i.item_id + WHERE i.calc_id = vAvailableCalc + AND a.Id_Article != 100 + AND i.available > 0; + + DROP TEMPORARY TABLE t_item_last_buy; + END LOOP; + + CLOSE cTravelTree; + + CALL bionic_calc_component(vAddress, vAgency); + + CREATE TEMPORARY TABLE tmp.bionic_item + ENGINE = MEMORY + SELECT b.item_id, SUM(b.available) available, p.name producer, + a.Article item, a.Medida size, a.Tallos stems, a.Categoria category, + a.Color, a.Foto image, o.Abreviatura origin, bl.min_price price + FROM tmp.bionic_lot b + JOIN Articles a ON b.item_id = a.Id_Article + LEFT JOIN producer p ON p.producer_id = a.producer_id AND p.visible + JOIN Origen o ON o.id = a.id_origen + JOIN ( + SELECT MIN(price) min_price, item_id + FROM tmp.bionic_price + GROUP BY item_id + ) bl ON bl.item_id = b.item_id + GROUP BY b.item_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 `bionic_calc_clon` */; +/*!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_clon`(IN v_ticket BIGINT) +BEGIN + +/* +Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo +*/ + DECLARE v_shipment DATE; + DECLARE v_customer INT; + DECLARE v_wh SMALLINT; + DECLARE v_agencia INT; + DECLARE v_consigna INT; + DECLARE v_landing DATE; + DECLARE v_agency INT; + + REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); + + SELECT t.Id_Cliente , t.warehouse_id, date(t.Fecha), t.Id_Consigna, t.Id_Agencia, t.landing, a.agency_id + INTO v_customer, v_wh, v_shipment, v_consigna, v_agencia, v_landing, v_agency + FROM vn2008.Agencias a + JOIN vn2008.Tickets t ON t.Id_Agencia = a.Id_Agencia + WHERE t.Id_Ticket = v_ticket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY + SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; + + CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT v_wh warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; + + CALL bionic_calc_component(v_consigna,v_agencia); + + -- Bionizamos lineas con Preu = 0 + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu = 0; + CALL bionic_movement_update(1); + + -- Bionizamos lineas con Preu > 0 + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu > 0; + CALL bionic_movement_update(6); + + IF v_landing IS NULL THEN + CALL travel_tree_shipment(v_shipment, v_consigna, v_agency,v_wh); + UPDATE Tickets t + JOIN travel_tree_shipment tts ON t.warehouse_id = tts.warehouse_id + SET t.landing = tts.landing + WHERE Id_Ticket = v_ticket; + END IF; + + -- Log + call Ditacio(v_ticket + ,'Bioniza Ticket' + ,'T' + , 20 + , 'proc bionic_calc_clon' + , NULL); + + -- Limpieza + DROP TEMPORARY TABLE t_item_last_buy; +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_clonkk` */; +/*!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_clonkk`(IN v_ticket BIGINT) +BEGIN + +/* +Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo +*/ + DECLARE v_shipment DATE; + DECLARE v_customer INT; + DECLARE v_wh SMALLINT; + DECLARE v_agencia INT; + DECLARE v_consigna INT; + DECLARE v_landing DATE; + + REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); + + SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia + INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia + FROM vn2008.Agencias a + JOIN vn2008.Tickets t using(Id_Agencia) + WHERE Id_Ticket = v_ticket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY + SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; + + CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT v_wh warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; + + CALL bionic_calc_component(v_consigna,v_agencia); + + -- Bionizamos lineas con Preu = 0 + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu = 0; + CALL bionic_movement_update(1); + + -- Bionizamos lineas con Preu > 0 + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu > 0; + CALL bionic_movement_update(6); + + + -- Log + call Ditacio(v_ticket + ,'Bioniza Ticket' + ,'T' + , 20 + , 'proc bionic_calc_clon' + , NULL); + + -- Limpieza + DROP TEMPORARY TABLE t_item_last_buy; +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_component` */; +/*!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_component`( + -- v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT) +proc: BEGIN + + DECLARE v_customer INT; + DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; + DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; + DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; + -- DECLARE vValorEmbolsado DOUBLE DEFAULT 0.04; + + SELECT Id_Cliente INTO v_customer FROM Consignatarios WHERE Id_Consigna = v_consigna; + SET @rate2 := 0; + SET @rate3 := 0; + + DROP TEMPORARY TABLE IF EXISTS t_bionic_temp; + CREATE TEMPORARY TABLE t_bionic_temp + (PRIMARY KEY (item_id,warehouse_id)) + ENGINE = MEMORY + SELECT + b.item_id, b.warehouse_id,available, + IF((@rate2 := IFNULL(pf.rate_2,c.Tarifa2)) < a.PVP AND a.`Min`, a.PVP, @rate2) * 1.0 rate_2, + IF((@rate3 := IFNULL(pf.rate_3,c.Tarifa3)) < a.PVP AND a.`Min`, a.PVP, @rate3) * 1.0 rate_3, + ifnull(pf.rate_3,0) AS min_price, + IFNULL(pf.Packing,c.Packing) packing, + IFNULL(pf.grouping,c.grouping) grouping, + ABS(IFNULL(pf.caja,c.caja)) box, + b.buy_id, a.tipo_id + FROM tmp.bionic_lot b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra + JOIN vn2008.Articles a ON b.item_id = a.Id_Article + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = t.reino_id + LEFT JOIN vn2008.PreciosEspeciales p ON a.Id_Article = p.Id_Article AND p.Id_Cliente = v_customer + LEFT JOIN ( + SELECT * FROM ( + SELECT p.item_id, p.grouping, p.Packing,p.caja, p.rate_2, p.rate_3, t.warehouse_id + FROM vn2008.price_fixed p + JOIN vn2008.travel_tree t ON t.warehouse_id = p.warehouse_id OR p.warehouse_id = 0 + WHERE t.Fecha_envio BETWEEN p.date_start AND p.date_end ORDER BY p.item_id, p.warehouse_id DESC + ) t + GROUP BY item_id, warehouse_id + ) pf ON pf.item_id = b.item_id AND pf.warehouse_id = b.warehouse_id + -- descartamos articulos con coste menor de 0.01 + WHERE Costefijo + Portefijo + Embalajefijo + Comisionfija > 0.01 AND r.display <> 0; + + -- Creamos la tabla tmp.bionic_component + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; + CREATE TEMPORARY TABLE tmp.bionic_component LIKE + template_bionic_component; + + -- Componentes del precio, valores absolutos + INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) + SELECT b.warehouse_id, b.item_id, 29, rate_3 - Costefijo - Portefijo - Embalajefijo - Comisionfija + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; + + INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) + SELECT b.warehouse_id, b.item_id, 28, Costefijo + Portefijo + Embalajefijo + Comisionfija + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; + + -- Ahora los valores en funcion de la base + + DROP TEMPORARY TABLE IF EXISTS t_components_base; + + CREATE TEMPORARY TABLE t_components_base + SELECT bc.item_id, ROUND(SUM(cost), 4) AS base, bc.warehouse_id + FROM tmp.bionic_component bc + GROUP BY bc.item_id,warehouse_id; + + -- La ratio se calcula teniendo en cuenta el valor de las reclamaciones y el saldo de greuge + + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, 17, ROUND(base * LEAST(recobro,0.25), 3) + FROM t_components_base cb + JOIN bi.claims_ratio ON Id_Cliente = v_customer + WHERE recobro > 0.009; + + -- PAK 2016-08-31 Componente de maná automático, en función del maná acumulado por el comercial. + + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, 39, ROUND(base * prices_modifier_rate, 3) as manaAuto + FROM t_components_base cb + JOIN Clientes c on c.Id_Cliente = v_customer + JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador + WHERE ms.prices_modifier_activated + HAVING manaAuto <> 0 ; + + +/* + -- Vendedor variable + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, Id_Componente, IFNULL(ROUND(base * tax,4), 0) + FROM t_components_base cb + JOIN bi.tarifa_componentes + WHERE tarifa_componentes_series_id = 2 and IFNULL(tax, 0) > 0; + */ + + +-- ******* Inicio Bloque para componentes con tarifa_class diferente de NULL + -- Descuento por ultimas unidades + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, b.item_id, Id_Componente, GREATEST(IFNULL(ROUND(base * tax,4), 0), b.min_price - b.rate_3) + FROM t_components_base cb + JOIN bi.tarifa_componentes + JOIN t_bionic_temp b ON b.item_id = cb.item_id AND b.warehouse_id = cb.warehouse_id + LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE Id_Componente = 32 AND tax <> 0 AND b.min_price < b.rate_3 AND PrecioEspecial IS NULL; + + -- Incremento por paquete suelto + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 22, rate_2 - rate_3 + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra + LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE PrecioEspecial IS NULL; + +-- ******* Fin Bloque para componentes con tarifa_class diferente de NULL + + -- Reparto + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id + , b.item_id + , 15 + , COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + r.cm3 + * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) + * IFNULL(az.price + * az.inflacion ,50) + / VOLUMEN_CAJA_VERDNATURA, 4 + ) cost + FROM t_bionic_temp b + JOIN vn2008.Articles art ON art.Id_Article = b.item_id + JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia + JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id + LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id + HAVING cost <> 0; + +-- Reparto bonificado + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id + , b.item_id + , 41 + , COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + r.cm3 + * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) + * awb.bonus + * az.inflacion + / VOLUMEN_CAJA_VERDNATURA, 4 + ) cost + FROM t_bionic_temp b + JOIN vn2008.Articles art ON art.Id_Article = b.item_id + JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia + JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id + JOIN vn2008.agency_weekday_bonus awb ON awb.warehouse_id = az.warehouse_id AND awb.zona = az.zona AND a.agency_id = awb.agency_id + LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id + JOIN vn2008.travel_tree t ON t.warehouse_id = awb.warehouse_id AND weekday(t.Fecha_recepcion) = awb.weekDay + HAVING cost <> 0 + LIMIT 1; + +-- PAK 12-05-2015 + -- EMBOLSADO + IF (SELECT COUNT(*) FROM vn.addressForPackaging WHERE addressFk = v_consigna) THEN + + -- IF v_consigna IN (13690, 3402, 5661, 4233) THEN + + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 38, ap.packagingValue cost + FROM t_bionic_temp b + JOIN vn.addressForPackaging ap + WHERE ap.addressFk = v_consigna; + + END IF; + + -- JGF 14-08-2015 + -- Modificacion de precio por dia de preparacion del pedido + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, cb.item_id, 14, cb.base * (IFNULL(pe.percentage,pp.percentage)/100) + FROM t_components_base cb + JOIN vn2008.travel_tree tt ON tt.warehouse_id = cb.warehouse_id + LEFT JOIN vn2008.preparation_percentage pp ON pp.week_day = weekday(tt.Fecha_envio) AND cb.warehouse_id = IFNULL(pp.warehouse_id,cb.warehouse_id) + LEFT JOIN vn2008.preparation_exception pe ON pe.exception_day = tt.Fecha_envio AND cb.warehouse_id = IFNULL(pe.warehouse_id,cb.warehouse_id) + WHERE IFNULL(pe.percentage,pp.percentage); + + -- Creamos la tabla tmp.bionic_component_copy por que mysql no puede reabrir una tabla temporal + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component_copy; + CREATE TEMPORARY TABLE tmp.bionic_component_copy + SELECT * FROM tmp.bionic_component; + + -- JGF 19-01-2016 + -- Precios especiales + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 10, pe.PrecioEspecial - SUM(cost) sum_cost + FROM tmp.bionic_component_copy b + JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente + JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE t.tarifa_class IS NULL + GROUP BY b.item_id, b.warehouse_id + HAVING ABS(sum_cost) > 0.001; + + -- Lotes + DROP TEMPORARY TABLE IF EXISTS t_component_sum; + CREATE TEMPORARY TABLE t_component_sum + (INDEX (item_id, warehouse_id)) + ENGINE = MEMORY + SELECT SUM(cost) sum_cost, b.item_id, b.warehouse_id, t.tarifa_class + FROM tmp.bionic_component b + JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente + GROUP BY b.item_id, b.warehouse_id, t.tarifa_class; + + -- ***** Inicia Modifica t_bionic_rate las diferentes tarifas + -- Tarifa por unidad minima + DROP TEMPORARY TABLE IF EXISTS t_bionic_rate; + CREATE TEMPORARY TABLE t_bionic_rate + ENGINE = MEMORY + SELECT b.warehouse_id, item_id, 1 rate, + IF(box = 1, grouping, 1) grouping, SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE IFNULL(cs.tarifa_class,1) = 1 AND box < 2 AND (packing > grouping or box = 0) + GROUP BY warehouse_id, item_id; + + -- Tarifa por caja + INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) + SELECT b.warehouse_id, item_id, 2 rate, packing grouping, + SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE available IS NULL OR (IFNULL(cs.tarifa_class,2) = 2 AND packing > 0 AND available >= packing) + GROUP BY warehouse_id, item_id; + + -- Tarifa para toda la cantidad disponible + INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) + SELECT b.warehouse_id, item_id, 3 rate, available grouping, + SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE IFNULL(cs.tarifa_class,3) = 3 + GROUP BY warehouse_id, item_id; + + -- ***** Fin Modifica t_bionic_rate las diferentes tarifas + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; + CREATE TEMPORARY TABLE tmp.bionic_price + LIKE template_bionic_price; + + INSERT INTO tmp.bionic_price (warehouse_id, item_id, rate, grouping, price) + SELECT * FROM ( + SELECT * FROM t_bionic_rate ORDER BY price + ) t + GROUP BY item_id, warehouse_id, grouping; + + + DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; + CREATE TEMPORARY TABLE tmp.travel_tree + ENGINE = MEMORY + SELECT * FROM travel_tree; + + -- Limpieza + + DROP TEMPORARY TABLE travel_tree; + DROP TEMPORARY TABLE t_bionic_temp; + DROP TEMPORARY TABLE t_component_sum; + DROP TEMPORARY TABLE t_components_base; + DROP TEMPORARY TABLE t_bionic_rate; + DROP TEMPORARY TABLE tmp.bionic_component_copy; +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_component_beta` */; +/*!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_component_beta`( + -- v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT) +proc: BEGIN + + DECLARE v_customer INT; + DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; + DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; + DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; + -- DECLARE vValorEmbolsado DOUBLE DEFAULT 0.04; + + SELECT Id_Cliente INTO v_customer FROM Consignatarios WHERE Id_Consigna = v_consigna; + SET @rate2 := 0; + SET @rate3 := 0; + + DROP TEMPORARY TABLE IF EXISTS t_bionic_temp; + CREATE TEMPORARY TABLE t_bionic_temp + (PRIMARY KEY (item_id,warehouse_id)) + ENGINE = MEMORY + SELECT + b.item_id, b.warehouse_id,available, + IF((@rate2 := IFNULL(pf.rate_2,c.Tarifa2)) < a.PVP AND a.`Min`, a.PVP, @rate2) * 1.0 rate_2, + IF((@rate3 := IFNULL(pf.rate_3,c.Tarifa3)) < a.PVP AND a.`Min`, a.PVP, @rate3) * 1.0 rate_3, + ifnull(pf.rate_3,0) AS min_price, + IFNULL(pf.Packing,c.Packing) packing, + IFNULL(pf.grouping,c.grouping) grouping, + ABS(IFNULL(pf.caja,c.caja)) box, + b.buy_id, a.tipo_id + FROM tmp.bionic_lot b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra + JOIN vn2008.Articles a ON b.item_id = a.Id_Article + JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = t.reino_id + LEFT JOIN vn2008.PreciosEspeciales p ON a.Id_Article = p.Id_Article AND p.Id_Cliente = v_customer + LEFT JOIN ( + SELECT * FROM ( + SELECT p.item_id, p.grouping, p.Packing,p.caja, p.rate_2, p.rate_3, t.warehouse_id + FROM vn2008.price_fixed p + JOIN vn2008.travel_tree t ON t.warehouse_id = p.warehouse_id OR p.warehouse_id = 0 + WHERE t.Fecha_envio BETWEEN p.date_start AND p.date_end ORDER BY p.item_id, p.warehouse_id DESC + ) t + GROUP BY item_id, warehouse_id + ) pf ON pf.item_id = b.item_id AND pf.warehouse_id = b.warehouse_id + -- descartamos articulos con coste menor de 0.01 + WHERE Costefijo + Portefijo + Embalajefijo + Comisionfija > 0.01 AND r.display <> 0; + + -- Creamos la tabla tmp.bionic_component + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; + CREATE TEMPORARY TABLE tmp.bionic_component LIKE + template_bionic_component; + + -- Componentes del precio, valores absolutos + INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) + SELECT b.warehouse_id, b.item_id, 29, rate_3 - Costefijo - Portefijo - Embalajefijo - Comisionfija + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; + + INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) + SELECT b.warehouse_id, b.item_id, 28, Costefijo + Portefijo + Embalajefijo + Comisionfija + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; + + -- Ahora los valores en funcion de la base + + DROP TEMPORARY TABLE IF EXISTS t_components_base; + + CREATE TEMPORARY TABLE t_components_base + SELECT bc.item_id, ROUND(SUM(cost), 4) AS base, bc.warehouse_id + FROM tmp.bionic_component bc + GROUP BY bc.item_id,warehouse_id; + + -- La ratio se calcula teniendo en cuenta el valor de las reclamaciones y el saldo de greuge + + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, 17, ROUND(base * LEAST(recobro,0.25), 3) + FROM t_components_base cb + JOIN bi.claims_ratio ON Id_Cliente = v_customer + WHERE recobro > 0.009; + + -- PAK 2016-08-31 Componente de maná automático, en función del maná acumulado por el comercial. + + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, 39, ROUND(base * prices_modifier_rate, 3) as manaAuto + FROM t_components_base cb + JOIN Clientes c on c.Id_Cliente = v_customer + JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador + WHERE ms.prices_modifier_activated + HAVING manaAuto <> 0 ; + + +/* + -- Vendedor variable + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, item_id, Id_Componente, IFNULL(ROUND(base * tax,4), 0) + FROM t_components_base cb + JOIN bi.tarifa_componentes + WHERE tarifa_componentes_series_id = 2 and IFNULL(tax, 0) > 0; + */ + + +-- ******* Inicio Bloque para componentes con tarifa_class diferente de NULL + -- Descuento por ultimas unidades + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, b.item_id, Id_Componente, GREATEST(IFNULL(ROUND(base * tax,4), 0), b.min_price - b.rate_3) + FROM t_components_base cb + JOIN bi.tarifa_componentes + JOIN t_bionic_temp b ON b.item_id = cb.item_id + LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE Id_Componente = 32 AND tax <> 0 AND b.min_price < b.rate_3 AND PrecioEspecial IS NULL; + + -- Incremento por paquete suelto + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 22, rate_2 - rate_3 + FROM t_bionic_temp b + JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra + LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE PrecioEspecial IS NULL; + +-- ******* Fin Bloque para componentes con tarifa_class diferente de NULL + + -- Reparto + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id + , b.item_id + , 15 + , COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + r.cm3 + * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) + * az.price + * az.inflacion + / VOLUMEN_CAJA_VERDNATURA, 4 + ) cost + FROM t_bionic_temp b + JOIN vn2008.Articles art ON art.Id_Article = b.item_id + JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia + JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id + LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id + HAVING cost <> 0; + +-- Reparto bonificado + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id + , b.item_id + , 41 + , COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + r.cm3 + * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) + * awb.bonus + * az.inflacion + / VOLUMEN_CAJA_VERDNATURA, 4 + ) cost + FROM t_bionic_temp b + JOIN vn2008.Articles art ON art.Id_Article = b.item_id + JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia + JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id + JOIN vn2008.agency_weekday_bonus awb ON awb.warehouse_id = az.warehouse_id AND awb.zona = az.zona AND a.agency_id = awb.agency_id + LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id + JOIN vn2008.travel_tree t ON t.warehouse_id = awb.warehouse_id AND weekday(t.Fecha_recepcion) = awb.weekDay + HAVING cost <> 0; + +-- PAK 12-05-2015 + -- EMBOLSADO + IF (SELECT COUNT(*) FROM vn.addressForPackaging WHERE addressFk = v_consigna) THEN + + -- IF v_consigna IN (13690, 3402, 5661, 4233) THEN + + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 38, ap.packagingValue cost + FROM t_bionic_temp b + JOIN vn.addressForPackaging ap + WHERE ap.addressFk = v_consigna; + + END IF; + + -- JGF 14-08-2015 + -- Modificacion de precio por dia de preparacion del pedido + INSERT INTO tmp.bionic_component + SELECT cb.warehouse_id, cb.item_id, 14, cb.base * (IFNULL(pe.percentage,pp.percentage)/100) + FROM t_components_base cb + JOIN vn2008.travel_tree tt ON tt.warehouse_id = cb.warehouse_id + LEFT JOIN vn2008.preparation_percentage pp ON pp.week_day = weekday(tt.Fecha_envio) AND cb.warehouse_id = IFNULL(pp.warehouse_id,cb.warehouse_id) + LEFT JOIN vn2008.preparation_exception pe ON pe.exception_day = tt.Fecha_envio AND cb.warehouse_id = IFNULL(pe.warehouse_id,cb.warehouse_id) + WHERE IFNULL(pe.percentage,pp.percentage); + + -- Creamos la tabla tmp.bionic_component_copy por que mysql no puede reabrir una tabla temporal + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component_copy; + CREATE TEMPORARY TABLE tmp.bionic_component_copy + SELECT * FROM tmp.bionic_component; + + -- JGF 19-01-2016 + -- Precios especiales + INSERT INTO tmp.bionic_component + SELECT b.warehouse_id, b.item_id, 10, pe.PrecioEspecial - SUM(cost) sum_cost + FROM tmp.bionic_component_copy b + JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente + JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id + WHERE t.tarifa_class IS NULL + GROUP BY b.item_id, b.warehouse_id + HAVING ABS(sum_cost) > 0.001; + + + + + -- Lotes + DROP TEMPORARY TABLE IF EXISTS t_component_sum; + CREATE TEMPORARY TABLE t_component_sum + (INDEX (item_id, warehouse_id)) + ENGINE = MEMORY + SELECT SUM(cost) sum_cost, b.item_id, b.warehouse_id, t.tarifa_class + FROM tmp.bionic_component b + JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente + GROUP BY b.item_id, b.warehouse_id, t.tarifa_class; + + -- ***** Inicia Modifica t_bionic_rate las diferentes tarifas + -- Tarifa por unidad minima + DROP TEMPORARY TABLE IF EXISTS t_bionic_rate; + CREATE TEMPORARY TABLE t_bionic_rate + ENGINE = MEMORY + SELECT b.warehouse_id, item_id, 1 rate, + IF(box = 1, grouping, 1) grouping, SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE IFNULL(cs.tarifa_class,1) = 1 AND box < 2 AND (packing > grouping or box = 0) + GROUP BY warehouse_id, item_id; + + -- Tarifa por caja + INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) + SELECT b.warehouse_id, item_id, 2 rate, packing grouping, + SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE available IS NULL OR (IFNULL(cs.tarifa_class,2) = 2 AND packing > 0 AND available >= packing) + GROUP BY warehouse_id, item_id; + + -- Tarifa para toda la cantidad disponible + INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) + SELECT b.warehouse_id, item_id, 3 rate, available grouping, + SUM(sum_cost) price + FROM t_bionic_temp b + JOIN t_component_sum cs USING(item_id, warehouse_id) + WHERE IFNULL(cs.tarifa_class,3) = 3 + GROUP BY warehouse_id, item_id; + + -- ***** Fin Modifica t_bionic_rate las diferentes tarifas + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; + CREATE TEMPORARY TABLE tmp.bionic_price + LIKE template_bionic_price; + + INSERT INTO tmp.bionic_price (warehouse_id, item_id, rate, grouping, price) + SELECT * FROM ( + SELECT * FROM t_bionic_rate ORDER BY price + ) t + GROUP BY item_id, warehouse_id, grouping; + + + DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; + CREATE TEMPORARY TABLE tmp.travel_tree + ENGINE = MEMORY + SELECT * FROM travel_tree; + + -- Limpieza + + DROP TEMPORARY TABLE travel_tree; + DROP TEMPORARY TABLE t_bionic_temp; + DROP TEMPORARY TABLE t_component_sum; + DROP TEMPORARY TABLE t_components_base; + + DROP TEMPORARY TABLE t_bionic_rate; + DROP TEMPORARY TABLE tmp.bionic_component_copy; +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_date` */; +/*!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_calc_date`(v_ticket INT) +proc: BEGIN +/** + * Este procedimiento asigna la fecha de llegada correcta a un ticket. + * + * @param v_ticket Id del ticket + **/ + DECLARE v_shipment DATE; + DECLARE v_agency_id INT; + DECLARE v_wh SMALLINT; + DECLARE v_province INT; + DECLARE v_landing DATE; + + SELECT agency_id, DATE(Fecha), t.warehouse_id, province_id + INTO v_agency_id, v_shipment, v_wh, v_province + FROM Tickets t + JOIN Consignatarios c ON c.Id_Consigna = t.Id_Consigna + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + WHERE Id_Ticket = v_ticket; + + SELECT landing INTO v_landing FROM ( + SELECT + @d := TIMESTAMPADD(DAY, subtract_day, v_shipment), + @w := WEEKDAY(@d), + IF(week_day IS NOT NULL, TIMESTAMPADD(DAY, (week_day - @w) + IF(@w > week_day, 7, 0), @d), @d) landing +/* + TIMESTAMPADD(DAY, + IFNULL(IF(WEEKDAY(@vdate) > week_day, 7, 0) + week_day - WEEKDAY(@vdate), + subtract_day) - CAST(subtract_day AS DECIMAL), + @vdate) landing +*/ + FROM agency_hour + WHERE warehouse_id = v_wh + AND (province_id = v_province OR province_id IS NULL) + AND agency_id = v_agency_id + ORDER BY + (province_id IS NOT NULL) * 3 + (week_day IS NOT NULL) DESC, landing + LIMIT 1 + ) t; + + IF v_landing IS NULL THEN + SET v_landing = v_shipment; + END IF; + + UPDATE Tickets SET landing = v_landing WHERE Id_Ticket = v_ticket; +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_movement` */; +/*!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_movement`(IN v_id_mov BIGINT ) +proc: BEGIN + +/* +Este procedimiento bioniza una linea de movimiento +*/ + DECLARE v_shipment DATE; + DECLARE v_customer INT; + DECLARE v_wh SMALLINT; + DECLARE v_agencia INT; + DECLARE v_consigna INT; + DECLARE v_ticket BIGINT; + DECLARE v_id_article BIGINT; + DECLARE v_landing DATE; + DECLARE v_ticket_free BOOLEAN DEFAULT TRUE; + + + SELECT FALSE + INTO v_ticket_free + FROM Tickets t + JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket + LEFT JOIN vn.ticketState ts on ts.ticket = t.Id_Ticket + WHERE Id_Movimiento = v_id_mov + AND (t.Factura != "" + or + ( + ts.alertLevel > 0 + AND + m.Preu != 0 + ) + ) + LIMIT 1; + + SELECT Id_Ticket, Id_Article INTO v_ticket, v_id_article FROM Movimientos WHERE Id_Movimiento = v_id_mov; + + REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); + + SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia + INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia + FROM vn2008.Agencias a + JOIN vn2008.Tickets t using(Id_Agencia) + WHERE Id_Ticket = v_ticket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY + SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; + + CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra + DELETE FROM t_item_last_buy WHERE item_id != v_id_article; + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT v_wh warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Movimiento = v_id_mov; + + CALL bionic_calc_component(v_consigna,v_agencia); + + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento,v_wh warehouse_id FROM Movimientos m WHERE m.Id_Movimiento = v_id_mov; + + CALL bionic_movement_update(IF(v_ticket_free,1,6)); -- si el ticket esta facturado, respeta los precios + + -- Log + call Ditacio(v_ticket + ,'Bioniza Linea' + ,'T' + , 20 + , 'proc bionic_calc_movement ' + , v_id_mov); + + -- Limpieza + + DROP TEMPORARY TABLE t_item_last_buy; +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_movement_ok` */; +/*!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_movement_ok`(IN v_ticket BIGINT) +BEGIN + +/* +Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo +*/ + DECLARE v_shipment DATE; + DECLARE v_customer INT; + DECLARE v_wh SMALLINT; + DECLARE v_agencia INT; + DECLARE v_consigna INT; + DECLARE v_landing DATE; + + REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); + + SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia + INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia + FROM vn2008.Agencias a + JOIN vn2008.Tickets t using(Id_Agencia) + WHERE Id_Ticket = v_ticket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY + SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; + + CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT v_wh warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; + + CALL bionic_calc_component(v_consigna,v_agencia); + + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m WHERE m.Id_Ticket = v_ticket; + CALL bionic_movement_update(1); + + -- Log + call Ditacio(v_ticket + ,'Bioniza Lineas OK' + ,'T' + , 20 + , 'proc bionic_calc_movement_ok ' + , NULL); + + -- Limpieza + DROP TEMPORARY TABLE t_item_last_buy; +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_reverse` */; +/*!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_reverse`( + vWarehouse INT, + vMargin DECIMAL(10,3), + vRetailedPrice DECIMAL(10,3), + vM3 DECIMAL(10,3), + vConsigna INT, + vAgencia INT) +proc: BEGIN + + DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; + DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; + DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; + DECLARE vCost DECIMAL(10,4) DEFAULT 0; + DECLARE vCustomer INT; + DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; + DECLARE vMana DECIMAL(10,4) DEFAULT 0; + DECLARE vPort DECIMAL(10,4) DEFAULT 0; + + SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; + + -- Recobro + SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery + FROM bi.claims_ratio + WHERE Id_Cliente = vCustomer AND recobro > 0.009; + + -- Componente de maná automático, en función del maná acumulado por el comercial. + SELECT ROUND(prices_modifier_rate, 3) INTO vMana + FROM Clientes c + JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador + WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; + + -- Reparto + SELECT COEFICIENTE_DE_INFLACION_GENERAL + * ROUND( + vM3 + * az.price + * az.inflacion + / VOLUMEN_CAJA_VERDNATURA, 4 + ) INTO vPort + FROM vn2008.Agencias a + JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia + JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id + JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; + + -- Modificacion de precio por dia de preparacion del pedido + -- No aplicada + + SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; + + SELECT vCost,vRetailedPrice,vPort,vRecovery,vMana,vMargin,vCustomer; +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_ticket` */; +/*!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_ticket`(IN v_ticket BIGINT ) +proc: BEGIN + +/* +Este procedimiento trata de "rebionizar" un ticket, eliminando los componentes existentes e insertandolos de nuevo +*/ + DECLARE v_shipment DATE; + DECLARE v_customer INT; + DECLARE v_wh SMALLINT; + DECLARE v_agencia INT; + DECLARE v_consigna INT; + DECLARE v_landing DATE; + DECLARE v_ticket_free BOOLEAN; + DECLARE v_agency INT; + + CALL bionic_free(); + + SELECT (IFNULL(ts.alertLevel,0) >0 or IFNULL(Factura,"") != "") = FALSE + INTO v_ticket_free + FROM Tickets t LEFT JOIN vn.ticketState ts ON t.Id_Ticket = ts.ticket + WHERE t.Id_Ticket = v_ticket; + + /*SELECT (EtiquetasEmitidas or PedidoImpreso or Firmado or nz(Factura)) = FALSE + INTO v_ticket_free + FROM Tickets + WHERE Id_Ticket = v_ticket;*/ + + REPLACE order_Tickets(order_id, Id_Ticket) VALUES(48, v_ticket); + + SELECT Id_Cliente, t.warehouse_id, date(t.Fecha), Id_Consigna, t.Id_Agencia, landing, a.agency_id + INTO v_customer, v_wh, v_shipment, v_consigna, v_agencia, v_landing, v_agency + FROM vn2008.Tickets t LEFT JOIN vn2008.Agencias a ON t.Id_Agencia = a.Id_Agencia WHERE Id_Ticket = v_ticket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY + SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; + + CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT v_wh warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; + + CALL bionic_calc_component(v_consigna,v_agencia); + + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, v_wh warehouse_id + FROM Movimientos m + where m.Id_Ticket = v_ticket; + + CALL bionic_movement_update(IF(v_ticket_free,1,6)); -- si el ticket esta facturado, respeta los precios + + IF v_landing IS NULL THEN + + CALL travel_tree_shipment(v_shipment, v_consigna, v_agency,v_wh); + UPDATE Tickets t + JOIN travel_tree_shipment tts ON t.warehouse_id = tts.warehouse_id + SET t.landing = tts.landing + WHERE Id_Ticket = v_ticket; + + END IF; + -- Limpieza + -- DROP TEMPORARY TABLE t_item_last_buy; +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_free` */; +/*!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_free`() +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_item; + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; + DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; +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_date DATE, + v_consigna INT, + v_agencia INT, + v_item INT) +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; + CREATE TEMPORARY TABLE tmp.bionic_calc + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT v_item item_id; + + CALL bionic_calc (v_date, v_consigna, v_agencia); + + DROP TEMPORARY TABLE tmp.bionic_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 `bionic_from_order` */; +/*!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_order`( + v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT, + v_order INT) +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; + CREATE TEMPORARY TABLE tmp.bionic_calc + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT item_id FROM order_row + WHERE order_id = v_order GROUP BY item_id; + + CALL bionic_calc (v_date, v_consigna, v_agencia); + DROP TEMPORARY TABLE tmp.bionic_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 `bionic_from_ticket` */; +/*!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_from_ticket`( + v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT, + v_ticket INT) +BEGIN + DECLARE int_warehouse SMALLINT; + DECLARE v_agency_id INT; + DECLARE v_shipment DATE; + + SELECT warehouse_id INTO int_warehouse FROM Tickets WHERE Id_Ticket = v_ticket; + SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; + + + CALL bionic_free(); + CALL travel_tree(v_date,v_consigna, v_agency_id); + + + SELECT Fecha_envio INTO v_shipment FROM travel_tree WHERE warehouse_id = int_warehouse; + + CALL item_last_buy_ (int_warehouse, v_shipment); + + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; + CREATE TEMPORARY TABLE tmp.bionic_lot + SELECT int_warehouse warehouse_id,NULL available, + m.Id_Article item_id,ilb.buy_id + FROM Movimientos m + LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article + WHERE m.Id_Ticket = v_ticket + AND m.Id_Article != 100 + GROUP BY warehouse_id, item_id; + + DROP TEMPORARY TABLE t_item_last_buy; + + CALL bionic_calc_component ( v_consigna, v_agencia); + + REPLACE INTO tmp.bionic_component (warehouse_id, item_id, component_id, cost) + SELECT t.warehouse_id, m.Id_Article, mc.Id_Componente, mc.Valor + FROM Movimientos_componentes mc + JOIN Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento + JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket + JOIN tarifa_componentes tc ON tc.Id_componente = mc.Id_Componente + WHERE m.Id_Ticket = v_ticket AND tc.is_renewable = FALSE; + + -- para recuperar el shipment en caso de que se necesite + + SET @shipment = v_shipment; + DROP TEMPORARY TABLE tmp.bionic_lot; + + IF IFNULL(v_shipment,CURDATE() - 1) < CURDATE() THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'No se puede realizar el cambio'; + 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_type` */; +/*!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_from_type`( + v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT, + v_type INT) +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; + CREATE TEMPORARY TABLE tmp.bionic_calc + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT Id_Article AS item_id FROM Articles WHERE tipo_id = v_type; + + CALL bionic_calc (v_date, v_consigna, v_agencia); + + DROP TEMPORARY TABLE tmp.bionic_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 `bionic_make_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 `bionic_make_update`( + i_ticket INT + ,i_agencia INT + ,i_consigna INT + ,i_warehouse INT + ,d_shipment DATE + ,d_landing DATE + ,i_option INT) +BEGIN +/** + * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. + */ + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + -- Cambios en el ticket + + START TRANSACTION; + + UPDATE Tickets t + SET + t.Id_Agencia = i_agencia, + t.Id_Consigna = i_consigna, + t.warehouse_id = i_warehouse, + t.landing = d_landing, + t.Fecha = d_shipment + WHERE + t.Id_Ticket = i_ticket; + + -- La opcion 8 es No realizar modificaciones en los precios + + IF i_option <> 8 + THEN + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) + ENGINE = MEMORY + SELECT Id_Movimiento, i_warehouse warehouse_id + FROM Movimientos m WHERE m.Id_Ticket = i_ticket; + + CALL bionic_movement_update (i_option); + DROP TEMPORARY TABLE tmp.movement; + END IF; + + 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 `bionic_make_updateTest` */; +/*!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_make_updateTest`( + i_ticket INT + ,i_agencia INT + ,i_consigna INT + ,i_warehouse INT + ,d_shipment DATE + ,d_landing DATE + ,i_option INT) +BEGIN +/** + * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. + */ + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + -- Cambios en el ticket + + START TRANSACTION; + + UPDATE Tickets t + SET + t.Id_Agencia = i_agencia, + t.Id_Consigna = i_consigna, + t.warehouse_id = i_warehouse, + t.landing = d_landing, + t.Fecha = d_shipment + WHERE + t.Id_Ticket = i_ticket; + + -- La opcion 8 es No realizar modificaciones en los precios + + IF i_option <> 8 + THEN + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) + ENGINE = MEMORY + SELECT Id_Movimiento, i_warehouse warehouse_id + FROM Movimientos m WHERE m.Id_Ticket = i_ticket; + + CALL bionic_movement_updateTest(i_option); + DROP TEMPORARY TABLE tmp.movement; + END IF; + + 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 `bionic_movement_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 `bionic_movement_update`(i_option INT) +BEGIN +/** + * A partir de la tabla tmp.movement, crea los Movimientos_componentes + * y modifica el campo Preu de la tabla Movimientos + * + * @param i_option integer tipo de actualizacion + * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id + **/ + DECLARE intComponent INT; + DECLARE bolRENUEVA_COMPONENTES BOOLEAN; + DECLARE bolRESPETA_PRECIOS BOOLEAN; + + CASE i_option + + WHEN 1 THEN -- caso normal + + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 2 THEN + + SET intComponent = 17; -- greuge al client + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 3 THEN + + SET intComponent = 37; -- convertir en maná + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 4 THEN + + SET intComponent = 34; -- greuge contra la cartera del producto + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 5 THEN + + SET intComponent = 35; -- greuge contra la cartera del comprador + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 6 THEN + + SET intComponent = 36; -- descuadre para la empresa + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 7 THEN + -- Insertamos el 80% para el coste + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) + GROUP BY m.Id_Movimiento; + + -- Insertamos el 20% para el margen + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) + GROUP BY m.Id_Movimiento; + + SET bolRENUEVA_COMPONENTES = FALSE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 8 THEN + -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla + DELETE mc.* + FROM tmp.movement mo + JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; + + -- Insertamos el 100% para el coste Tipo 78 (Genérico) + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; + + SET bolRENUEVA_COMPONENTES = FALSE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes + + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + END CASE; + + IF bolRENUEVA_COMPONENTES THEN + + -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla + DELETE mc.* + FROM tmp.movement mo + JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente + WHERE tc.is_renewable = TRUE; + + -- Insertamos los componentes actuales + REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, bc.component_id, bc.cost + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id + LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id + WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); + + END IF; + + IF bolRESPETA_PRECIOS THEN + + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente <> intComponent + GROUP BY m.Id_Movimiento + HAVING dif <> 0; + + ELSE + + -- Cambios en movimientos. + UPDATE Movimientos m + JOIN Articles a on a.Id_Article = m.Id_Article + JOIN Tipos tp on tp.tipo_id = a.tipo_id + JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento + FROM Movimientos_componentes mc + JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento + GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento + SET m.Preu = sum_valor + WHERE Tipo != 'Portes'; -- PAK 2017-02-06 + + -- Insertamos descuento, si lo hay + + REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente != 21 + GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; + + END IF; + + -- Fija el Costfixat + + UPDATE Movimientos m + JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento + FROM Movimientos_componentes mc + JOIN tmp.movement m ON m.Id_Movimiento = mc.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 + GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento + SET m.CostFixat = sum_valor, PrecioFijado = 1; + + + -- PAK 2017-02-06 + -- Familia PORTES, un unico componente de porte + + DELETE mc.* + FROM Movimientos_componentes mc + JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE Tipo = 'Portes'; + + INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 15, preu -- Reparto + FROM Movimientos m + JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE Tipo = 'Portes' AND preu > 0; + + -- PAK 2017-09-27 + -- Tipos con un unico componente de coste + /* + DELETE mc.* + FROM Movimientos_componentes mc + JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE tp.hasComponents = FALSE; + + INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 28, preu -- Coste + FROM Movimientos m + JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE tp.hasComponents = FALSE; +*/ + +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_movement_updateTest` */; +/*!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_movement_updateTest`(i_option INT) +BEGIN +/** + * A partir de la tabla tmp.movement, crea los Movimientos_componentes + * y modifica el campo Preu de la tabla Movimientos + * + * @param i_option integer tipo de actualizacion + * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id + **/ + DECLARE intComponent INT; + DECLARE bolRENUEVA_COMPONENTES BOOLEAN; + DECLARE bolRESPETA_PRECIOS BOOLEAN; + + CASE i_option + + WHEN 1 THEN -- caso normal + + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 2 THEN + + SET intComponent = 17; -- greuge al client + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 3 THEN + + SET intComponent = 37; -- convertir en maná + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 4 THEN + + SET intComponent = 34; -- greuge contra la cartera del producto + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 5 THEN + + SET intComponent = 35; -- greuge contra la cartera del comprador + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 6 THEN + + SET intComponent = 36; -- descuadre para la empresa + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + WHEN 7 THEN + -- Insertamos el 80% para el coste + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) + GROUP BY m.Id_Movimiento; + + -- Insertamos el 20% para el margen + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) + GROUP BY m.Id_Movimiento; + + SET bolRENUEVA_COMPONENTES = FALSE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 8 THEN + -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla + DELETE mc.* + FROM tmp.movement mo + JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; + + -- Insertamos el 100% para el coste Tipo 78 (Genérico) + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; + + SET bolRENUEVA_COMPONENTES = FALSE; + SET bolRESPETA_PRECIOS = FALSE; + + WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes + + SET bolRENUEVA_COMPONENTES = TRUE; + SET bolRESPETA_PRECIOS = TRUE; + + END CASE; + + IF bolRENUEVA_COMPONENTES THEN + + -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla + DELETE mc.* + FROM tmp.movement mo + JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente + WHERE tc.is_renewable = TRUE; + SELECT m.Id_Movimiento, bc.component_id, bc.cost + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id + LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id + WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); + -- Insertamos los componentes actuales + REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, bc.component_id, bc.cost + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id + LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id + WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); + + END IF; + + IF bolRESPETA_PRECIOS THEN + + REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente <> intComponent + GROUP BY m.Id_Movimiento + HAVING dif <> 0; + + SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente <> intComponent + GROUP BY m.Id_Movimiento + HAVING dif <> 0; + ELSE + + -- Cambios en movimientos. + UPDATE Movimientos m + JOIN Articles a on a.Id_Article = m.Id_Article + JOIN Tipos tp on tp.tipo_id = a.tipo_id + JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento + FROM Movimientos_componentes mc + JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento + GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento + SET m.Preu = sum_valor + WHERE Tipo != 'Portes'; -- PAK 2017-02-06 + + SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento + FROM Movimientos_componentes mc + JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento + GROUP BY mc.Id_Movimiento; + + -- Insertamos descuento, si lo hay + + REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente != 21 + GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; + SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor + FROM Movimientos m + JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento + JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento + WHERE mc.Id_Componente != 21 + GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; + END IF; + + -- Fija el Costfixat + + UPDATE Movimientos m + JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento + FROM Movimientos_componentes mc + JOIN tmp.movement m ON m.Id_Movimiento = mc.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 + GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento + SET m.CostFixat = sum_valor, PrecioFijado = 1; + + + -- PAK 2017-02-06 + -- Familia PORTES, un unico componente de porte + + DELETE mc.* + FROM Movimientos_componentes mc + JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE Tipo = 'Portes'; + + INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 15, preu -- Reparto + FROM Movimientos m + JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE Tipo = 'Portes' AND preu > 0; + + -- PAK 2017-09-27 + -- Tipos con un unico componente de coste + /* + DELETE mc.* + FROM Movimientos_componentes mc + JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento + JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE tp.hasComponents = FALSE; + + INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 28, preu -- Coste + FROM Movimientos m + JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE tp.hasComponents = FALSE; +*/ + +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_movement_update_mode` */; +/*!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_movement_update_mode`(IN idMOV BIGINT, IN i_MODE INT) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS tmp.movement; + CREATE TEMPORARY TABLE tmp.movement + (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY + SELECT Id_Movimiento, warehouse_id + FROM Movimientos m + JOIN Tickets t using(Id_Ticket) + WHERE m.Id_Movimiento = idMOV; + + CALL bionic_movement_update(i_MODE); + +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_movimiento_precio_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 = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `bionic_movimiento_precio_update`(IN i_mov INT) +BEGIN + +DECLARE d_compo_precio DOUBLE; +DECLARE d_mov_precio DOUBLE; + +SELECT SUM(Valor) INTO d_compo_precio +FROM bi.movimientos_componentes +WHERE Id_Movimiento = i_mov; + +SELECT Preu INTO d_mov_precio +FROM Movimientos +WHERE Id_Movimiento = i_mov; + +IF d_mov_precio <> d_compo_precio +AND d_compo_precio IS NOT NULL +AND d_mov_precio IS NOT NULL +THEN + + INSERT INTO bi.movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + VALUES (i_mov, 21, d_mov_precio - d_compo_precio) + ON DUPLICATE KEY UPDATE Valor = Valor + d_mov_precio - d_compo_precio ; + +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_tickets_range_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 `bionic_tickets_range_bionizar`(IN datSTART DATE, IN datEND DATE) +BEGIN +DECLARE done BIT DEFAULT 0; +DECLARE datEND_Midnight DATETIME DEFAULT vn2008.dayend(datEND); +DECLARE v_ticket BIGINT; +DECLARE rs CURSOR FOR +SELECT DISTINCT t.Id_Ticket +FROM +( + -- Movimientos que no coincide la suma de los componentes con el precio +select t.Id_Ticket, IFNULL(sum(Valor),0) - (Preu * (100 - m.Descuento)/100) as Diferencia, NULL as Nothing + from vn2008.Tickets t + join vn2008.Movimientos m on t.Id_Ticket = m.Id_Ticket + join vn2008.Articles a using(Id_Article) + left join vn2008.Movimientos_componentes mc using(Id_Movimiento) + join vn2008.Tipos tp on a.tipo_id = tp.tipo_id + where t.Fecha between datSTART and datEND_Midnight + and not tp.confeccion + and m.Cantidad > 0 + and tp.reino_id != 6 + group by Id_Movimiento + having ABS(Diferencia) > 1 OR (Diferencia IS NULL) + +UNION ALL + -- Movimientos sin componente de coste + SELECT DISTINCT t.Id_Ticket, NULL, NULL + FROM Tickets t + JOIN Movimientos m ON t.Id_Ticket = m.Id_Ticket + JOIN Articles a ON a.Id_Article = m.Id_Article + LEFT JOIN + ( + SELECT DISTINCT t.Id_Ticket, 0 + FROM Tickets t + JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket + JOIN Articles a on a.Id_Article = m.Id_Article + JOIN Tipos tp on a.tipo_id = tp.tipo_id + JOIN Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento + JOIN tarifa_componentes tc on tc.Id_Componente = mc.Id_Componente + WHERE (tarifa_componentes_series_id = 1 OR tp.reino_id = 6) + AND t.Fecha between datSTART and datEND_Midnight + ) sub on sub.Id_Ticket = t.Id_Ticket + WHERE sub.Id_Ticket IS NULL + AND t.Fecha between datSTART and datEND_Midnight + AND a.tipo_id != 84 -- Portes + AND a.tipo_id != 78 -- Genericos + AND t.Id_Cliente NOT IN (200,400) + AND t.warehouse_id != 13 -- Inventario + +UNION ALL + -- Movimientos sin porte en tickets con agencia que SI que deberia de llevar + SELECT m.Id_Ticket, count(Id_Movimiento) as Lineas_totales, Lineas_conPorte + FROM Movimientos m + JOIN Articles a on a.Id_Article = m.Id_Article + JOIN Tipos tp on tp.tipo_id = a.tipo_id + JOIN Tickets t on m.Id_Ticket = t.Id_Ticket + JOIN v_expeditions_shipping_charge v on v.Id_ticket = t.Id_Ticket + LEFT JOIN + ( + SELECT m.Id_Ticket, count(Id_Componente) Lineas_conPorte + FROM Movimientos_componentes mc + JOIN Movimientos m using(Id_Movimiento) + JOIN Tickets t using(Id_Ticket) + WHERE Id_Componente = 15 + AND Fecha between datSTART and datEND_Midnight + GROUP BY m.Id_Ticket + ) sub on sub.Id_Ticket = t.Id_Ticket + WHERE t.Fecha between datSTART and datEND_Midnight + AND Preu != 0 + AND tp.reino_id != 6 + AND shipping_charge > 1 + GROUP BY m.Id_Ticket + HAVING Lineas_totales > IFNULL(Lineas_conPorte,0) + + + +) sub +JOIN Tickets t ON t.Id_Ticket = sub.Id_Ticket +JOIN warehouse w ON w.id = t.warehouse_id +WHERE w.inventario; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + + + +OPEN rs; + +FETCH rs INTO v_ticket ; + +WHILE NOT done DO + + CALL bionic_calc_ticket(v_ticket); + + call Ditacio(v_ticket + ,'Bioniza Ticket' + ,'T' + , 20 + , 'proc bionic_tickets_range_bionizar' + , NULL); + + FETCH rs INTO v_ticket ; + +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 `bonus_comparados` */; +/*!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 `bonus_comparados`() +BEGIN + +SELECT CodigoTrabajador as Comercial + , T.Fecha + , bs.Id_Ticket + , T.Alias + , bs.Id_Article + , A.Article + , A.Medida + ,A.Categoria + , O.Abreviatura + , bs.amount + , bs.bonus + , amount * bonus * IF(bonus_buenos.bonus_sales_id IS NULL,0,1) as saldo +FROM bonus_sales bs +JOIN Articles A USING(Id_Article) +JOIN Trabajadores USING(Id_Trabajador) +JOIN Tickets T USING(Id_Ticket) +JOIN Clientes C USING(Id_Cliente) +JOIN Origen O ON O.id = A.id_origen +JOIN Permisos P ON bs.Id_Trabajador = P.Id_Trabajador +LEFT JOIN ( + select b.bonus_sales_id + from bonus_sales b + left join Movimientos M using(Id_Ticket, Id_Article) + join Tickets T on T.Id_Ticket = b.Id_Ticket + where Fecha >= '2012-12-01' + and Cantidad > amount / 2 + ) bonus_buenos USING(bonus_sales_id) + +WHERE T.Fecha > '2012-12-01' AND invoice AND 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 `buy_label` */; +/*!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 `buy_label`(IN entry_id_ INT, IN groupby TINYINT(1)) +BEGIN + + DECLARE done INT DEFAULT 0; + DECLARE label INT; + DECLARE id INT; + DECLARE recordset CURSOR FOR SELECT Compres.Etiquetas, Compres.Id_Compra FROM Compres INNER JOIN + (SELECT e.Id_entrada FROM Entradas e INNER JOIN ( + SELECT Id_Entrada,Inventario,Id_proveedor,travel_id,Id_Agencia FROM Entradas e1 INNER JOIN travel t ON e1.travel_id = t.id WHERE Id_Entrada = entry_id_) y + ON y.Inventario = e.Inventario AND e.travel_id = y.travel_id AND e.Id_proveedor = y.Id_proveedor AND y.Id_Agencia = e.Id_Agencia + WHERE (0 OR e.Id_Entrada = entry_id_)) entry_label + ON Compres.Id_Entrada = entry_label.Id_entrada + INNER JOIN Articles ON Compres.Id_Article = Articles.Id_Article WHERE Articles.Imprimir <> FALSE; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; + + CREATE TEMPORARY TABLE `buy_label_source` + ( + `buy_id` INT(11) NOT NULL + ) + + ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + OPEN recordset; + + REPEAT + + FETCH recordset INTO label, id; + WHILE label > 0 DO + + SET label = label - 1; + INSERT INTO buy_label_source (buy_id) VALUES (id); + + END WHILE; + + UNTIL done END REPEAT; + +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 `buy_label_bunch` */; +/*!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 `buy_label_bunch`(IN entry_id_ INT, IN groupby TINYINT(1),IN single TINYINT(1), IN idCOM BIGINT) +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE date_ DATE; + DECLARE provider_id INT; + DECLARE agency_id INT; + DECLARE i_wh INT; + DECLARE label INT; + DECLARE id INT; + DECLARE recordset CURSOR FOR + SELECT ROUND(C.Cantidad / IF(C.caja = FALSE, 1,C.Grouping) + 0.49), C.Id_Compra + FROM Compres C + INNER JOIN entry_label ON C.Id_Entrada = entry_label.entry_id + INNER JOIN Articles A ON C.Id_Article = A.Id_Article + WHERE (A.Imprimir <> FALSE AND idCOM = 0 AND C.Novincular = FALSE) + OR idCOM = C.Id_Compra; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + SET idCOM = IFNULL(idCOM, 0); + + DROP TEMPORARY TABLE IF EXISTS `entry_label`; + CREATE TEMPORARY TABLE `entry_label` + (`entry_id` INT(11) NOT NULL) + ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + IF groupby <> FALSE THEN + + SELECT Id_Proveedor, DATE(landing), travel.agency_id, warehouse_id + INTO provider_id, date_, agency_id, i_wh + FROM Entradas + INNER JOIN travel ON travel.id = Entradas.travel_id + WHERE Id_Entrada = entry_id_; + + INSERT INTO entry_label (entry_id) + SELECT Entradas.Id_Entrada + FROM Entradas + INNER JOIN travel ON travel.id = Entradas.travel_id + WHERE Entradas.Inventario = FALSE + AND Entradas.Id_Proveedor = provider_id + AND warehouse_id = i_wh + AND DATE(landing) = date_ + AND travel.agency_id= agency_id; + + ELSE + + INSERT INTO entry_label (entry_id) VALUES (entry_id_); + SELECT landing + INTO date_ FROM + Entradas e + JOIN travel t ON t.id = e.travel_id + JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + WHERE (entry_id_ = e.Id_Entrada + OR c.Id_Compra = idCOM) + LIMIT 1; + + END IF; + + DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; + + CREATE TEMPORARY TABLE `buy_label_source` + (`buy_id` INT(11) NOT NULL) + ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + OPEN recordset; + FETCH recordset INTO label, id; + REPEAT + REPEAT + SET label = label - 1; + INSERT INTO buy_label_source (buy_id) VALUES (id); + UNTIL label <= 0 OR single END REPEAT; + + INSERT INTO buy_label_source (buy_id) VALUES (0); + FETCH recordset INTO label, id; + UNTIL done END REPEAT; + + SELECT + C.Id_Article, + @a:=IF(A.min + AND IFNULL(rate_3, C.Tarifa3) < A.PVP, + A.PVP, + IFNULL(rate_3, C.Tarifa3)) Tarifa2, + ROUND(IF(C.caja = FALSE, @a, @a * C.Grouping), + 2) AS Bunch, + ROUND(@a / A.Tallos, 2) AS PPT, + A.Article, + A.Medida, + A.Color, + A.Categoria, + Abreviatura AS Origen, + p.name Productor, + A.Tallos, + C.grouping, + E.Notas_Eva, + P.Proveedor, + C.Packing + FROM + buy_label_source bls + LEFT JOIN + Compres C ON C.Id_Compra = bls.buy_id + LEFT JOIN + Entradas E ON E.Id_Entrada = C.Id_Entrada + LEFT JOIN + Articles A ON A.Id_Article = C.Id_Article + LEFT JOIN + Proveedores P ON P.Id_Proveedor = E.Id_Proveedor + LEFT JOIN + Origen o ON A.id_origen = o.id + LEFT JOIN + producer p ON p.producer_id = A.producer_id + LEFT JOIN + (SELECT + item_id, rate_3 + FROM + price_fixed + WHERE + IFNULL(date_, CURDATE()) BETWEEN date_start AND date_end + AND rate_3 + AND warehouse_id IN (0 , i_wh) + GROUP BY item_id) pf ON pf.item_id = A.Id_Article; + + DROP TEMPORARY TABLE `entry_label`; + DROP TEMPORARY TABLE `buy_label_source`; + +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 `buy_label_bunchkk` */; +/*!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 `buy_label_bunchkk`(IN entry_id_ INT, IN groupby TINYINT(1),IN single TINYINT(1), IN idCOM BIGINT) +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE date_ DATE; + DECLARE provider_id INT; + DECLARE agency_id INT; + DECLARE i_wh INT; + DECLARE label INT; + DECLARE id INT; + DECLARE recordset CURSOR FOR + SELECT ROUND(C.Cantidad / IF(C.caja = FALSE, 1,C.Grouping) + 0.49), C.Id_Compra + FROM Compres C + INNER JOIN entry_label ON C.Id_Entrada = entry_label.entry_id + INNER JOIN Articles A ON C.Id_Article = A.Id_Article + WHERE (A.Imprimir <> FALSE AND idCOM = 0 AND C.Novincular = FALSE) + OR idCOM = C.Id_Compra; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + SET idCOM = IFNULL(idCOM, 0); + + DROP TEMPORARY TABLE IF EXISTS `entry_label`; + CREATE TEMPORARY TABLE `entry_label` + ( + `entry_id` INT(11) NOT NULL + ) + ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + IF groupby <> FALSE THEN + + SELECT Id_Proveedor, DATE(landing), travel.agency_id, warehouse_id INTO provider_id, date_, agency_id, i_wh + FROM Entradas + INNER JOIN travel ON travel.id = Entradas.travel_id + + WHERE Id_Entrada = entry_id_; + + INSERT INTO entry_label (entry_id) SELECT Entradas.Id_Entrada FROM Entradas + + INNER JOIN travel ON travel.id = Entradas.travel_id + + WHERE Entradas.Inventario = FALSE AND Entradas.Id_Proveedor = provider_id + + AND warehouse_id = i_wh AND DATE(landing) = date_ AND travel.agency_id= agency_id; + + ELSE + + INSERT INTO entry_label (entry_id) VALUES (entry_id_); + SELECT landing INTO date_ FROM Entradas e + JOIN travel t ON t.id = e.travel_id + JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + WHERE (entry_id_ = e.Id_Entrada OR c.Id_Compra = idCOM) LIMIT 1; + + END IF; + + + DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; + + CREATE TEMPORARY TABLE `buy_label_source` + ( + `buy_id` INT(11) NOT NULL + ) + ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + OPEN recordset; + FETCH recordset INTO label, id; + REPEAT + REPEAT + + SET label = label - 1; + INSERT INTO buy_label_source (buy_id) VALUES (id); + UNTIL label <= 0 OR single END REPEAT; + + INSERT INTO buy_label_source (buy_id) VALUES (0); + FETCH recordset INTO label, id; + UNTIL done END REPEAT; + + SELECT C.Id_Article,@a := IF(A.min AND IFNULL(rate_3,C.Tarifa3) < A.PVP, A.PVP, IFNULL(rate_3,C.Tarifa3)) Tarifa2, + ROUND(IF(C.caja = FALSE, @a,@a * C.Grouping),2) AS Bunch, + ROUND(@a / A.Tallos,2) AS PPT, + A.Article, A.Medida, A.Color, A.Categoria, Abreviatura as Origen, C.Productor, + A.Tallos, C.grouping, E.Notas_Eva,P.Proveedor,C.Packing + FROM buy_label_source bls + LEFT JOIN Compres C ON C.Id_Compra = bls.buy_id + LEFT JOIN Entradas E ON E.Id_Entrada = C.Id_Entrada + LEFT JOIN Articles A ON A.Id_Article = C.Id_Article + LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor + LEFT JOIN Origen o ON A.id_origen = o.id + LEFT JOIN ( + SELECT item_id, rate_3 FROM price_fixed + WHERE IFNULL(date_,CURDATE()) BETWEEN date_start AND date_end AND rate_3 + AND warehouse_id IN (0,i_wh) + GROUP BY item_id + ) pf ON pf.item_id = A.Id_Article; + -- JGF 02/02/15 canvie CURDATE() per IFNULL(date_,CURDATE()) + + DROP TEMPORARY TABLE `entry_label`; + DROP TEMPORARY TABLE `buy_label_source`; + +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 `buy_scan` */; +/*!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 `buy_scan`(v_barcode VARCHAR(255), v_labels INT) +BEGIN +/** + * Marca una compra de subasta como escaneada. + * + * @param v_barcode Código de compra de una etiqueta de subasta + * @param v_labels Cantidad escaneada + **/ + DECLARE v_edi INT; + DECLARE v_buy INT; + DECLARE v_item INT; + DECLARE v_do_photo BOOL; + + -- Aun no se sabe como obtener el número de serie de transacción de + -- las compras realizadas a través de un reloj, por lo que se establece + -- siempre a '01' + + IF SUBSTR(v_barcode, 3, 2) != '99' THEN + SET v_barcode = CONCAT(LEFT(v_barcode, 12), '010'); + END IF; + + SELECT e.id, c.Id_Compra, c.Id_Article, a.do_photo + INTO v_edi, v_buy, v_item, v_do_photo + FROM buy_edi e + JOIN Compres c ON c.buy_edi_id = e.id + JOIN Articles a ON a.Id_Article = c.Id_Article + WHERE e.barcode = v_barcode + AND e.entry_year = YEAR(CURDATE()) + ORDER BY c.Id_Compra + LIMIT 1; + + UPDATE buy_edi SET scanned = TRUE WHERE id = v_edi; + + UPDATE Compres + SET Vida = Vida + IF(v_labels != -1, v_labels, Etiquetas) + WHERE Id_Compra = v_buy; + + IF v_do_photo THEN + UPDATE Articles SET do_photo = FALSE WHERE Id_Article = v_item; + END IF; + + SELECT v_buy buy, v_do_photo do_photo; +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 `buy_split` */; +/*!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 `buy_split`(v_buy INT, v_fv_entry INT, v_pca_entry INT) +BEGIN + DECLARE v_item INT; + DECLARE v_packing INT; + DECLARE v_remaining INT; + DECLARE v_labels INT; + DECLARE v_remainder INT; + DECLARE v_is_buy INT; + DECLARE v_id INT; + DECLARE v_amount INT; + DECLARE v_done BOOL DEFAULT FALSE; + + DECLARE cur CURSOR FOR + SELECT TRUE, c.Id_Compra, c.Cantidad - IFNULL((c.Vida * c.Packing), 0) + FROM Compres c + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE c.Id_Article = v_item + AND t.shipment = CURDATE() AND t.warehouse_id_out IN (7, 40) + AND t.warehouse_id NOT IN (44, 1) + AND NOT e.redada AND NOT e.Inventario + AND IFNULL(c.Vida, 0) < c.Etiquetas + LOCK IN SHARE MODE + UNION ALL + SELECT FALSE, m.Id_Movimiento, m.Cantidad - IFNULL(l.stem, 0) + FROM Movimientos m + JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket + LEFT JOIN movement_label l ON l.Id_Movimiento = m.Id_Movimiento + WHERE m.Id_Article = v_item + AND t.Fecha = CURDATE() AND t.warehouse_id IN (7, 40) + AND NOT t.Etiquetasemitidas + AND IFNULL(l.stem, 0) < m.Cantidad + LOCK IN SHARE MODE; + + DECLARE CONTINUE HANDLER FOR NOT FOUND + SET v_done = TRUE; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + START TRANSACTION; + + -- Obtiene los datos de la compra + + SELECT Id_Article, Packing, Cantidad + INTO v_item, v_packing, v_remaining + FROM Compres WHERE Id_Compra = v_buy; + + -- Crea splits de los tickets + + DROP TEMPORARY TABLE IF EXISTS tmp.split; + CREATE TEMPORARY TABLE tmp.split + ( + is_buy BOOL, + id INT, + labels INT, + remainder INT + ) + ENGINE = MEMORY; + + OPEN cur; + + l: LOOP + SET v_done = FALSE; + FETCH cur INTO v_is_buy, v_id, v_amount; + + IF v_done OR v_remaining = 0 THEN + LEAVE l; + END IF; + + SET v_amount = LEAST(v_amount, v_remaining); + SET v_remaining = v_remaining - v_amount; + SET v_labels = v_amount DIV v_packing; + + INSERT INTO tmp.split + VALUES (v_is_buy, v_id, v_labels, v_amount % v_packing); + + IF v_is_buy + THEN + UPDATE Compres + SET Vida = Vida + v_labels + WHERE Id_Compra = v_id; + ELSE + INSERT INTO movement_label + SET + Id_Movimiento = v_id, + stem = v_amount, + label = v_labels + ON DUPLICATE KEY UPDATE + stem = stem + VALUES(stem), + label = label + VALUES(label); + END IF; + END LOOP; + + CLOSE cur; + + -- Crea los movimientos de almacén a silla + + CALL buy_transfer (v_buy, v_fv_entry, v_pca_entry); + + UPDATE Compres SET dispatched = Vida * Packing + WHERE Id_Compra = v_buy; + + -- Devuelve los splits creados + + DROP TEMPORARY TABLE IF EXISTS tmp.aux; + CREATE TEMPORARY TABLE tmp.aux + ENGINE = MEMORY + SELECT s.labels, s.remainder, w.`name` destination, + a.Id_Article, a.Article, a.Medida + FROM tmp.split s + JOIN Compres c ON c.Id_Compra = s.id + JOIN Articles a ON a.Id_Article = c.Id_Article + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + JOIN warehouse w ON t.warehouse_id = w.id + WHERE s.is_buy; + + INSERT INTO tmp.aux + SELECT s.labels, s.remainder, o.Consignatario, + a.Id_Article, a.Article, a.Medida + FROM tmp.split s + JOIN Movimientos m ON m.Id_Movimiento = s.id + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket + JOIN Consignatarios o ON o.Id_Consigna = t.Id_Consigna + WHERE NOT s.is_buy; + + SELECT * FROM tmp.aux; + + -- Limpia y confirma cambios + + DROP TEMPORARY TABLE + tmp.split, + tmp.aux; + + 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 `buy_tarifas` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas`(v_buy INT) +BEGIN + DECLARE v_entry INT; + DECLARE v_wh INT; + + SELECT Id_Entrada, warehouse_id + INTO v_entry, v_wh + FROM Compres + JOIN Entradas USING(Id_Entrada) + JOIN travel ON travel.id = travel_id + WHERE v_buy = Id_Compra; + + CALL buy_tarifas_table (v_entry); + + UPDATE Compres C + LEFT JOIN Cubos CB USING(Id_Cubo) + JOIN Articles A USING(Id_Article) + JOIN Tipos TP USING(tipo_id) + JOIN Entradas E USING(Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia + LEFT JOIN recibida_entrada re ON E.Id_Entrada = re.Id_Entrada + LEFT JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id + LEFT JOIN v_awb_volumen va ON va.awb_id = ar.awb_id + JOIN tblTARIFAS TC + SET C.Portefijo = @PF:= + IF (va.importe, + ROUND((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + ROUND(IFNULL(((AG.m3 * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) + ), + C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), + C.Embalajefijo = @EF:= ROUND((CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.packing,3), + C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 + C.Tarifa2 = @t2:= ROUND(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), + C.Tarifa2 = IF(@t2 <= @t3, @t3 , @t2) + WHERE C.Id_Compra = v_buy; + + IF v_wh = 42 -- Canarias + THEN + UPDATE Compres + SET Tarifa2 = Tarifa3 + WHERE Id_Compra = v_buy; + END IF; + + CALL vn2008.buy_tarifas_priceBuilder_Buy(v_buy); +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 `buy_tarifas_awb` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas_awb`(IN strAWB varchar(18)) +BEGIN + +DECLARE datINV DATE; +DECLARE wh_id INT; +DECLARE idENTRADA INT; + +DECLARE done BOOL DEFAULT FALSE; +DECLARE entryFk INT; + +DECLARE rs CURSOR FOR + SELECT e.Id_Entrada + FROM Entradas e + JOIN recibida_entrada re on e.Id_Entrada = re.Id_Entrada + JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id + JOIN v_awb_volumen va ON va.awb_id = ar.awb_id + WHERE va.codigo = strAWB ; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + +SELECT warehouse_id, E.Id_Entrada INTO wh_id, idENTRADA +FROM Entradas E +JOIN travel ON travel.id = travel_id +JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada +JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id +JOIN awb ON awb.id = ar.awb_id +WHERE awb.codigo = strAWB +LIMIT 1; + + + CALL buy_tarifas_table(idENTRADA); + + UPDATE Compres C + LEFT JOIN Cubos CB USING(Id_Cubo) + JOIN Articles A USING(Id_Article) + JOIN Entradas E USING(Id_Entrada) + JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada + JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id + JOIN v_awb_volumen va ON va.awb_id = ar.awb_id + JOIN Tipos TP USING(tipo_id) + JOIN travel TR ON TR.id = E.travel_id + JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia + JOIN tblTARIFAS TC + + SET C.Portefijo = @PF:= round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + + C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), + + C.Embalajefijo = @EF:= ROUND((CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.Packing,3), + + C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 + + C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), + + C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) + + + WHERE va.codigo = strAWB ; + + +OPEN rs; + + FETCH rs INTO entryFk; + + WHILE NOT done DO + + CALL vn2008.buy_tarifas_priceBuilder_Entry(entryFk); + + FETCH rs INTO entryFk; + + END WHILE; + + +CLOSE rs; + + + +CASE wh_id + + WHEN 41 THEN -- Canarias + + UPDATE Compres + SET Tarifa2 = Tarifa3 + WHERE Id_Entrada = idENTRADA; + + + ELSE + + BEGIN + END; + +END CASE; + +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 `buy_tarifas_awb_bucle` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas_awb_bucle`() +BEGIN + +DECLARE strAWB VARCHAR(25); +DECLARE done INT DEFAULT FALSE; +DECLARE rs CURSOR FOR +SELECT codigo +FROM awb +WHERE MYSQL_TIME > '2015-06-30' AND importe > 0 ; +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + +OPEN rs; + +FETCH rs INTO strAWB; +-- drop temporary table if exists killme; +-- create temporary table killme select strAWB, now() as fecha, 0; + +WHILE NOT done DO + + insert into killme select strAWB, MYSQL_TIME, importe from awb where codigo = strAWB; + call buy_tarifas_awb(strAWB); + FETCH rs INTO strAWB; + select * from killme order by fecha desc; +END WHILE; + + + +drop temporary table killme; + + +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 `buy_tarifas_entry` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas_entry`(IN idENTRADA INT(11)) +BEGIN + + DECLARE datINV DATE; + DECLARE wh_id INT; + DECLARE m3i INTEGER; + + + SELECT warehouse_id INTO wh_id + FROM Entradas + JOIN travel ON travel.id = travel_id + WHERE Id_Entrada = idENTRADA; + + CALL buy_tarifas_table(idENTRADA); + + SELECT AG.m3 * sum( etiquetas * IFNULL(((AG.m3 * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) ,0) ) / + sum(etiquetas * IFNULL(((AG.m3 * ( A.density / 167 ) * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) ,0)) INTO m3i + FROM Compres C + JOIN Articles A USING(Id_Article) + JOIN Entradas E USING(Id_Entrada) + JOIN Tipos TP USING(tipo_id) + JOIN travel TR ON TR.id = E.travel_id + JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia + WHERE E.Id_Entrada = idENTRADA; + + + + UPDATE Compres C + LEFT JOIN Cubos CB USING(Id_Cubo) + JOIN Articles A USING(Id_Article) + JOIN Entradas E USING(Id_Entrada) + LEFT JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada + LEFT JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id + LEFT JOIN v_awb_volumen va ON va.awb_id = ar.awb_id + JOIN Tipos TP USING(tipo_id) + JOIN travel TR ON TR.id = E.travel_id + JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia + JOIN tblTARIFAS TC + + SET C.Portefijo = @PF:= + IF (va.importe, + + round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + + ROUND(IFNULL(((AG.m3 * @cm3:= cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) + ), + + C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), + + C.Embalajefijo = @EF:= IF(CB.Retornable != 0, 0, ROUND(IFNULL( CB.Valor / C.Packing ,0),3)), + + C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 + + C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100)),2), + + C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) + + WHERE C.Id_Entrada = idENTRADA ; + + + CASE wh_id + + WHEN 41 THEN -- Canarias + + UPDATE Compres + SET Tarifa2 = Tarifa3 + WHERE Id_Entrada = idENTRADA; + ELSE + + BEGIN + END; + + END CASE; + + -- priceBuilder + call buy_tarifas_priceBuilder_Entry(idENTRADA); + +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 `buy_tarifas_lot` */; +/*!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 `buy_tarifas_lot`(IN idCOMPRA INT(11)) +BEGIN + +DECLARE intWHIN INTEGER(3); +DECLARE intDAYS INTEGER(3); +DECLARE dbM3 DOUBLE; +DECLARE done INT DEFAULT 0; +DECLARE datFEC DATE; +DECLARE wh INTEGER(3); +DECLARE idART INTEGER(11); +DECLARE dbCOST DOUBLE; +DECLARE m3value DOUBLE; +DECLARE intLIFE INTEGER; +DECLARE intPACK INTEGER; +DECLARE intPromo DOUBLE; +DECLARE whlc CURSOR FOR SELECT whin, days, m3 FROM warehouse_lc WHERE whout = @wh:= wh UNION ALL SELECT @wh, 0, 0 ; +DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; + +SELECT + Id_Article, + warehouse_id, + landing, + nz(Costefijo) + nz(Embalajefijo) + nz(Portefijo) + nz(Comisionfija), + life, + C.Packing, + (cm3_2(C.Id_Cubo, C.Id_Article) / 1000000) / C.Packing, + promo +INTO idART , wh , datFEC , dbCOST , intLIFE, intPACK, m3value, intPromo FROM + Compres C + JOIN + Articles A USING (Id_Article) + JOIN + Tipos TP USING (tipo_id) + JOIN + Entradas E USING (Id_Entrada) + JOIN + travel tr ON tr.id = E.travel_id +WHERE + Id_Compra = idCOMPRA; + + + +OPEN whlc; + +FETCH whlc INTO intWHIN, intDAYS, dbM3; + +WHILE NOT done DO + +SELECT idART , wh , datFEC , dbCOST , intLIFE, intPACK, m3value, intWHIN, intDAYS, dbM3, done, dbCOST + (m3value * dbM3); + + INSERT INTO price_fixed(item_id, + rate_3, + rate_2, + date_start, + date_end, + warehouse_id) + + SELECT idART, + round( (dbCOST + (m3value * dbM3)) / ((100 - t3 - intPromo )/100) , 2), + @tf2 := round((dbCOST + (m3value * dbM3)) / ((100 - t2 - intPromo)/100) ,2), + TIMESTAMPADD(DAY, intDAYS, datFEC), + TIMESTAMPADD(DAY, intLIFE, datFEC), + intWHIN + FROM tarifas + WHERE warehouse_id = intWHIN AND fecha <= TIMESTAMPADD(DAY, intDAYS, datFEC) + ORDER BY fecha DESC + LIMIT 1; + +FETCH whlc INTO intWHIN, intDAYS, dbM3; + + END WHILE; + +CALL buy_tarifas_priceBuilder_Buy(idCOMPRA); + +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 `buy_tarifas_priceBuilder` */; +/*!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 `buy_tarifas_priceBuilder`(entryFk INT) +BEGIN + +UPDATE vn.buy b + JOIN + ( + SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags + FROM vn.item i + JOIN vn.buy b ON b.itemFk = i.id + JOIN vn.entry e ON e.id = b.entryFk + JOIN vn.travel tr ON tr.id = e.travelFk + JOIN vn.itemTag it ON it.itemFk = i.id + JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk + JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk + LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value + JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id + WHERE b.entryFk = entryFk + AND tr.landed BETWEEN pb.started AND pb.finished + GROUP BY i.id + HAVING matchedTags = numTags + ) sub ON sub.id = b.itemFk + SET b.price2 = sub.price, b.price3 = sub.price * 0.95 + WHERE b.entryFk = entryFk; + +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 `buy_tarifas_priceBuilder_Buy` */; +/*!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 `buy_tarifas_priceBuilder_Buy`(buyFk INT) +BEGIN + +UPDATE vn.buy b + JOIN + ( + SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags + FROM vn.item i + JOIN vn.buy b ON b.itemFk = i.id + JOIN vn.entry e ON e.id = b.entryFk + JOIN vn.travel tr ON tr.id = e.travelFk + JOIN vn.itemTag it ON it.itemFk = i.id + JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk + JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk + LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value + JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id + WHERE b.id = buyFk + AND tr.landed BETWEEN pb.started AND pb.finished + GROUP BY i.id + HAVING matchedTags = numTags + ) sub ON sub.id = b.itemFk + SET b.price2 = sub.price, b.price3 = sub.price * 0.95 + WHERE b.id = buyFk; + +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 `buy_tarifas_priceBuilder_Entry` */; +/*!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 `buy_tarifas_priceBuilder_Entry`(entryFk INT) +BEGIN + +UPDATE vn.buy b + JOIN + ( + SELECT i.id, i.name, i.size, pb.price, difTags.numTags , count(DISTINCT pbt.tagFk) matchedTags + FROM vn.item i + JOIN vn.buy b ON b.itemFk = i.id + JOIN vn.entry e ON e.id = b.entryFk + JOIN vn.travel tr ON tr.id = e.travelFk + JOIN vn.itemTag it ON it.itemFk = i.id + JOIN vn.priceBuilder pb ON pb.itemTypeFk = i.typeFk + JOIN vn.priceBuilderWarehouse pbw ON pbw.priceBuilderFk = pb.id AND pbw.warehouseFk = tr.warehouseInFk + LEFT JOIN vn.priceBuilderTag pbt ON pbt.priceBuilderFk = pb.id AND pbt.tagFk = it.tagFk AND pbt.value = it.value + JOIN vn.priceBuilderDistinctTags difTags ON difTags.priceBuilderFk = pb.id + WHERE b.entryFk = entryFk + AND tr.landed BETWEEN pb.started AND pb.finished + GROUP BY i.id + HAVING matchedTags = numTags + ) sub ON sub.id = b.itemFk + SET b.price2 = sub.price, b.price3 = sub.price * 0.95 + WHERE b.entryFk = entryFk; + +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 `buy_tarifas_recalcular_almacen` */; +/*!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 `buy_tarifas_recalcular_almacen`(IN wh_id INT, IN datFEC DATE) +BEGIN + +DECLARE done INT DEFAULT 0; +DECLARE idE INT; + +DECLARE cur1 CURSOR FOR +SELECT Id_Entrada +FROM Entradas +JOIN travel ON travel.id = travel_id +WHERE landing >= datFEC AND wh_id IN (0,warehouse_id); + +DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; + +OPEN cur1; + +REPEAT + + FETCH cur1 INTO idE; + + IF NOT done THEN + + Call buy_tarifas_entry(idE); + + + + END IF; + + +UNTIL done END REPEAT; + + CLOSE cur1; + +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 `buy_tarifas_T3` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas_T3`(IN idCOMPRA INT(11)) +BEGIN + + DECLARE idENTRADA BIGINT; + DECLARE wh_id INT; + + SELECT Id_Entrada, warehouse_id INTO idENTRADA, wh_id + FROM Compres + JOIN Entradas using(Id_Entrada) + JOIN travel ON travel.id = travel_id + WHERE idCOMPRA = Id_Compra; + + CALL buy_tarifas_table(idENTRADA); + + UPDATE Compres C + JOIN tblTARIFAS TC + + SET + C.Tarifa3 = @t3:= C.Tarifa3, + + C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), + + C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 + 0.01, @t2) + + WHERE C.Id_Compra = idCOMPRA; + + IF wh_id = 41 THEN -- Canarias + + UPDATE Compres + SET Tarifa2 = Tarifa3 + WHERE Id_Compra = idCOMPRA; + + END IF; + + CALL buy_tarifas_priceBuilder_Buy(idCOMPRA); + +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 `buy_tarifas_T3_pf` */; +/*!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`@`localhost` PROCEDURE `buy_tarifas_T3_pf`(IN idPRICE INT, IN t3 DOUBLE) +BEGIN + +DECLARE idENTRADA BIGINT; +DECLARE idCOMPRA BIGINT; +DECLARE datFEC DATE; +DECLARE wh INT; +DECLARE idART BIGINT; + +SELECT date_start, warehouse_id, item_id INTO datFEC, wh, idART +FROM price_fixed WHERE price_fixed_id = idPRICE; + +SELECT C.Id_Entrada, Id_Compra INTO idENTRADA, idCOMPRA +FROM Compres C +JOIN Entradas E using(Id_Entrada) +JOIN travel TR on TR.id = E.travel_id +WHERE Id_Article = idART +AND wh IN (0, warehouse_id) +AND Novincular = FALSE +AND NOT Redada +AND landing <= datFEC +ORDER BY landing DESC +LIMIT 1; + +CALL buy_tarifas_table(idENTRADA); + +SELECT + + @t2:= round(t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2) as rate_2b, + + @t2:= IF(@t2 <= t3, t3 + 0.01, @t2) as rate_2 + +FROM price_fixed PF + JOIN Compres C ON C.Id_Compra = idCOMPRA AND price_fixed_id = idPRICE + JOIN tblTARIFAS TC; + +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 `buy_tarifas_table` */; +/*!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 `buy_tarifas_table`(v_entry INT) +BEGIN + DECLARE v_date DATE; + DECLARE v_wh INT; + + -- Obtiene fecha de llegada y almacén entrante + + SELECT landing, warehouse_id INTO v_date , v_wh + FROM travel TR + JOIN Entradas E ON TR.id = E.travel_id + WHERE Id_Entrada = v_entry; + + -- Prepara una tabla con las tarifas aplicables en funcion de la fecha y el almacén + + DROP TEMPORARY TABLE IF EXISTS tblTARIFAS; + CREATE TEMPORARY TABLE tblTARIFAS + ENGINE = MEMORY + SELECT * FROM + ( + SELECT * FROM + ( + SELECT t0, t1, t2, t3 + FROM tarifas + WHERE fecha <= v_date + AND warehouse_id = v_wh + ORDER BY fecha DESC + + ) sub + UNION ALL + SELECT t0, t1, t2, t3 + FROM tblContadores + ) sub2 + LIMIT 1; + + -- pak 22/09/2015 + + UPDATE bi.rotacion r + JOIN Compres c ON c.Id_Article = r.Id_Article + SET cm3 = vn2008.cm3_unidad(c.Id_Compra) + WHERE Id_Entrada = v_entry + AND r.warehouse_id = v_wh; +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 `buy_transfer` */; +/*!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 `buy_transfer`(v_buy INT, v_fv_entry INT, v_pca_entry INT) +proc: BEGIN +/** + * Traslada la cantidad restante de una compra de Holanda + * al almacén de Silla. + **/ + DECLARE v_wh INT; + DECLARE v_entry INT; + DECLARE v_fv INT; + DECLARE v_amount INT; + DECLARE v_item INT; + DECLARE v_holland_wh INT DEFAULT 7; + + -- Comprueba que es mercancía que llega al almacén de Holanda + + SELECT t.warehouse_id, tp.FV INTO v_wh, v_fv + FROM Compres c + JOIN Entradas e ON c.Id_Entrada = e.Id_Entrada + JOIN travel t ON t.id = e.travel_id + JOIN Articles a ON a.Id_Article = c.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + WHERE c.Id_Compra = v_buy; + + IF v_wh != v_holland_wh THEN + LEAVE proc; + END IF; + + -- Calcula a que almacén de Silla debe transladar la mercancía + + SET v_entry = IF(v_fv, v_fv_entry, v_pca_entry); + SET v_entry = IFNULL(v_entry, IFNULL(v_pca_entry, v_fv_entry)); + + IF v_entry IS NULL THEN + LEAVE proc; + END IF; + + -- Calcula la cantidad a trasladar + + SELECT Id_Article INTO v_item + FROM Compres WHERE Id_Compra = v_buy; + + SELECT IFNULL(SUM(amount), 0) INTO v_amount + FROM ( + SELECT SUM(c.Cantidad) amount + FROM Compres c + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE c.Id_Article = v_item + AND t.landing = CURDATE() + AND t.warehouse_id = v_holland_wh + UNION ALL + SELECT -SUM(c.Cantidad) + FROM Compres c + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE c.Id_Article = v_item + AND t.shipment = CURDATE() + AND t.warehouse_id_out = v_holland_wh + UNION ALL + SELECT -SUM(Cantidad) + FROM Movimientos m + JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket + WHERE m.Id_Article = v_item + AND t.Fecha = CURDATE() + AND t.warehouse_id = v_holland_wh + ) t; + + IF v_amount <= 0 THEN + LEAVE proc; + END IF; + + -- Crea la nueva línea de compra con el translado + + INSERT INTO Compres ( + Id_Article, Etiquetas, Cantidad, Id_Entrada, + Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, + Embalajefijo, Comisionfija, novincular, buy_edi_id) + SELECT + c.Id_Article, + v_amount DIV c.Packing, + v_amount, + v_entry, + c.Id_Cubo, + c.Packing, + c.grouping, + c.caja, + @cost := IFNULL(c.Costefijo, 0) + IFNULL(c.Comisionfija, 0) + IFNULL(c.Portefijo, 0), + @porte := ROUND((@cm3:= cm3_2(c.Id_Cubo, c.Id_Article)) * a.m3 / 1000000 / c.Packing, 3), + c.EmbalajeFijo, + @comision := ROUND(c.Costefijo * e.comision / 100, 3), + c.novincular, + c.buy_edi_id + FROM Compres c + JOIN Cubos cu ON cu.Id_Cubo = c.Id_Cubo + JOIN Entradas e ON e.Id_Entrada = v_entry + JOIN travel t ON t.id = e.travel_id + JOIN Agencias a ON t.agency_id = a.Id_Agencia + WHERE c.Id_Compra = v_buy; + + CALL buy_tarifas (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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `cacheReset` */; +/*!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 `cacheReset`(vCacheName VARCHAR(10), vParams VARCHAR(15)) +BEGIN + + UPDATE cache.cache_calc + SET expires = NOW() + WHERE cacheName = vCacheName collate utf8_unicode_ci + AND params = vParams collate utf8_unicode_ci; + +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 `Cajas_Saldo_Detalle` */; +/*!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 `Cajas_Saldo_Detalle`() +BEGIN + + Select Proveedores.Id_Proveedor, Proveedor, Fecha, round(Importe) as Importe + from Proveedores + join + ( + select Fecha, sub.Id_Proveedor, sum(Importe) as Importe + from + + ( + + select round(sum(Importe),2) as Importe, TIMESTAMPADD(DAY,-1,CURDATE()) as Fecha, Id_Proveedor + from pago + join Proveedores using(Id_Proveedor) + where Fecha >= '2011-01-01' + and Id_Proveedor NOT IN (select id from empresa) + group by Id_Proveedor + + union all + + select IFNULL(-1 * round(sum(rv.Cantidad / if(Id_Moneda = 2,rate,1)),2),0) AS Vto, TIMESTAMPADD(DAY,-1,CURDATE()), proveedor_id + from recibida_vencimiento rv + join recibida r on r.id = rv.recibida_id + join reference_rate rr on rr.`date` = rv.fecha + join Proveedores P on P.Id_Proveedor = r.proveedor_id + join Paises PS on PS.Id = P.pais_id + where rv.fecha between '2011-01-01' and CURDATE()-1 + and Id_Proveedor NOT IN (select id from empresa) + group by proveedor_id + + union all + + select -1 * round(rv.Cantidad / if(Id_Moneda = 2,currate(),1),2) AS Vto, rv.fecha, proveedor_id + from recibida_vencimiento rv + join recibida r on r.id = rv.recibida_id + join Proveedores P on P.Id_Proveedor = r.proveedor_id + join Paises PS on PS.Id = P.pais_id + where rv.fecha >= CURDATE() + and Id_Proveedor NOT IN (select id from empresa) + + union all + + select @remesas:= @pago:= @saldo:= 0.0000, curdate(), @prov:= 0) sub + group by Fecha,Id_Proveedor + ) sub2 using(Id_Proveedor) + having Importe < -100 + ; +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 `CalculoRemesas` */; +/*!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 `CalculoRemesas`(IN vFechaRemesa DATE) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS; + CREATE TEMPORARY TABLE TMP_REMESAS SELECT + CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1, + cli.Id_Cliente, + cli.Cliente, + cli.`IF` as NIF, + c.PaymentDate as Vencimiento, + 0 ImporteFac, + cast(c.Recibo as decimal(10,2)) as ImporteRec, + 0 as ImporteActual, + c.company_id empresa_id, + cli.RazonSocial, + cast(c.Recibo as decimal(10,2)) as ImporteTotal, + cast(c.Recibo as decimal(10,2)) as Saldo, + p.Proveedor as Empresa, + e.abbreviation as EMP, + cli.cuenta, + iban AS Iban, + CONVERT(SUBSTRING(iban,5,4),UNSIGNED INT) AS nrbe , + sepavnl as SEPA, + corevnl as RecibidoCORE + + FROM Clientes cli + JOIN + (SELECT risk.company_id, + c.Id_Cliente, + sum(risk.amount) as Recibo, + IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa) + ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa))) + ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa))) + ) as PaymentDate + FROM Clientes c + JOIN pay_met pm on pm.id = pay_met_id + JOIN + ( + SELECT company_id, customer_id, amount + FROM Clientes c + JOIN bi.customer_risk cr ON cr.customer_id = c.Id_Cliente + WHERE pay_met_id = 4 + + UNION ALL + + SELECT empresa_id, Id_Cliente, - Importe + FROM Facturas f + JOIN Clientes c using(Id_Cliente) + JOIN pay_met pm on pm.id = pay_met_id + WHERE f.Vencimiento > vFechaRemesa + AND pay_met_id = 4 AND deudaviva + AND Importe > 0 + + ) risk ON c.Id_Cliente = risk.customer_id + GROUP BY risk.company_id, Id_Cliente + HAVING Recibo > 10 + ) c on c.Id_Cliente = cli.Id_Cliente + JOIN Proveedores p on p.Id_Proveedor = c.company_id + JOIN empresa e on e.id = c.company_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 `CalculoRemesaskk` */; +/*!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 `CalculoRemesaskk`(IN vFechaRemesa DATE) +BEGIN + + +DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS; +CREATE TEMPORARY TABLE TMP_REMESAS SELECT + CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1, + cli.Id_Cliente, + cli.Cliente, + cli.`IF` as NIF , + cli.CC, + c.PaymentDate as Vencimiento, + 0 ImporteFac, + cast(c.Recibo as decimal(10,2)) as ImporteRec, + 0 as ImporteActual, + c.empresa_id, + cli.RazonSocial, + cast(c.Recibo as decimal(10,2)) as ImporteTotal, + cast(c.Recibo as decimal(10,2)) as Saldo, + p.Proveedor as Empresa, + e.abbreviation as EMP, + cli.cuenta, + CONCAT(cc_to_iban(CC),CC) AS Iban, + CONVERT(left(CC,4),UNSIGNED INT) AS nrbe , + IF(c.empresa_id=442,sepavnl,sepafth) as SEPA, + IF(c.empresa_id=442,corevnl,corefth) as RecibidoCORE + + FROM Clientes cli + JOIN + (SELECT empresa_id, + c.Id_Cliente, + sum(Importe) as Recibo, + IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa) + ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa))) + ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa))) + ) as PaymentDate + FROM Clientes c + JOIN pay_met pm on pm.id = pay_met_id + JOIN + ( + SELECT empresa_id, Id_Cliente, Importe + FROM Facturas f + JOIN Clientes c using(Id_Cliente) + JOIN pay_met pm on pm.id = pay_met_id + WHERE IF(Importe > 0,paymentday(Fecha,c.Vencimiento + graceDays), Fecha) <= vFechaRemesa + AND pay_met_id = 4 AND deudaviva + + UNION ALL + + SELECT empresa_id, Id_Cliente, - Entregado + FROM Recibos r + JOIN Clientes c using(Id_Cliente) + JOIN pay_met pm on pm.id = pay_met_id + WHERE pay_met_id = 4 AND deudaviva + + ) sub using(Id_Cliente) + GROUP BY empresa_id, Id_Cliente + HAVING Recibo > 10 + ) c on c.Id_Cliente = cli.Id_Cliente + JOIN Proveedores p on p.Id_Proveedor = c.empresa_id + JOIN empresa e on e.id = c.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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `calling` */; +/*!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 `calling`() +BEGIN + DROP TEMPORARY TABLE IF EXISTS Agenda, Agenda2; + + + CREATE TEMPORARY TABLE IF NOT EXISTS Agenda (Telefono varchar(15) PRIMARY KEY, Cliente VARCHAR(45)); + +CREATE TEMPORARY TABLE IF NOT EXISTS Agenda2 LIKE Agenda; + +REPLACE Agenda(Telefono, Cliente) + SELECT Telefono, Nombre from v_Agenda2; + + +REPLACE Agenda(Telefono, Cliente) + SELECT DISTINCT src, clid FROM cdr WHERE src < 6000 AND clid NOT LIKE '%device%' + AND calldate > TIMESTAMPADD(DAY, -7,CURDATE()) ; + + + +INSERT INTO Agenda2(Telefono, Cliente) + SELECT Telefono, Cliente FROM Agenda; + +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 `camiones` */; +/*!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 `camiones`(vWarehouse INT, vDate DATE) BEGIN - -DECLARE intper INT; - -SELECT day INTO intper FROM time WHERE date = datfec; - -RETURN intper; - -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 `vndayname` */; -/*!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 `vndayname`(datfec DATE) RETURNS varchar(10) CHARSET utf8 COLLATE utf8_unicode_ci - DETERMINISTIC -BEGIN - -DECLARE vDayName VARCHAR(10); - -CASE weekday(datfec) - - WHEN 6 then - SET vDayName = 'Domingo'; - - WHEN 0 then - SET vDayName = 'Lunes'; - - WHEN 1 then - SET vDayName = 'Martes'; - - WHEN 2 then - SET vDayName = 'Miercoles'; - - WHEN 3 then - SET vDayName = 'Jueves'; - - WHEN 4 then - SET vDayName = 'Viernes'; - - WHEN 5 then - SET vDayName = 'Sabado'; - -END CASE; - -RETURN vDayName; - -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 `vnmonth` */; -/*!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 `vnmonth`(datfec DATE) RETURNS int(11) - DETERMINISTIC -BEGIN - -DECLARE intper INT; - -SELECT month INTO intper FROM time WHERE date = datfec; - -RETURN intper; - -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 `vnperiod` */; -/*!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 `vnperiod`(datfec DATE) RETURNS int(6) - DETERMINISTIC -BEGIN - -DECLARE intper INT; - -SELECT period INTO intper FROM time WHERE date = datfec; - -RETURN intper; - -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 `vntrimestre` */; -/*!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 `vntrimestre`(datfec DATE) RETURNS int(11) - DETERMINISTIC -BEGIN - - CASE - WHEN MONTH(datfec)<=3 THEN RETURN 1; - WHEN MONTH(datfec)<=6 THEN RETURN 2; - WHEN MONTH(datfec)<=9 THEN RETURN 3; - ELSE return 4; - END CASE; - -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 `vnweek` */; -/*!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 `vnweek`(datfec DATE) RETURNS int(11) - DETERMINISTIC -BEGIN - -DECLARE intper INT; - -SELECT week INTO intper FROM time WHERE date = datfec; - -RETURN intper; - -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 `vnyear` */; -/*!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 `vnyear`(datfec DATE) RETURNS int(11) - DETERMINISTIC -BEGIN - -DECLARE intper INT; - -SELECT year INTO intper FROM time WHERE date = datfec; - -RETURN intper; - -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 `__AltaEmpleado` */; -/*!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 `__AltaEmpleado`(strCodTrabajador varchar(3),strNombre varchar(50),strApellidos varchar(50),strDni varchar(9), - strDomicilio longtext,strCodPostal varchar(5),strPoblacion varchar(25),provinceId smallint(5), intempresa_id smallint(5),strMovil varchar(11)) RETURNS varchar(50) CHARSET utf8 -BEGIN - -DECLARE RETORNO varchar(50) DEFAULT 'Empleado creado CORRECTAMENTE'; -DECLARE tmpUserId INT(11) DEFAULT 0; -DECLARE intId_Cliente int(11) DEFAULT 0; -DECLARE Cod_Trabajador VARCHAR(8) DEFAULT strCodTrabajador; -DECLARE strPassword VARCHAR(50); -DECLARE strSambaNombre VARCHAR(30); - -samba:BEGIN - -proc:BEGIN - -- IF (boolCrearSamba) THEN - -- SELECT Id_Cliente_Interno INTO intId_Cliente FROM Trabajadores WHERE Nombre=strNombre and Apellidos=strApellidos; - -- SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - -- LEAVE proc; - -- END IF; --- Tabla Clientes -SELECT COUNT(*) INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; -IF (intId_Cliente=0) THEN - -- SELECT IFNULL(province_id,1) INTO intprovince_id FROM province WHERE `name`=strProvincia; - SELECT MAX(Id_Cliente)+1 INTO intId_Cliente FROM Clientes WHERE Id_Cliente<999999; - - INSERT INTO Clientes (Id_Cliente,Cliente,Domicilio,`IF`,Telefono,province_id,Poblacion,CodPostal,RazonSocial,Contacto,Oficial,Descuento) - SELECT intId_Cliente,Concat('TR ',strNombre,' ',StrApellidos),strDomicilio,strDni,strMovil,provinceId,strPoblacion,strCodPostal, - CONCAT(strApellidos,' ',strNombre),strNombre,1,3; -ELSE - SELECT id_cliente INTO intId_Cliente FROM Clientes WHERE `IF`=strDni; -END IF; - -SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - --- Tabla Trabajadores -IF (SELECT COUNT(*) FROM Trabajadores WHERE Nombre=strNombre AND Apellidos=strApellidos)=0 THEN - - IF strCodTrabajador IS NULL THEN - SET Cod_Trabajador = CONCAT(LEFT(strNombre, 1), LEFT(strApellidos, 1), MID(strApellidos, (LOCATE(' ', strApellidos) + 1), 1)); - END IF; - - IF (SELECT COUNT(*) FROM Trabajadores WHERE CodigoTrabajador=Cod_Trabajador) > 0 THEN - SET Cod_Trabajador = CONCAT(Cod_Trabajador, (FLOOR(RAND() * 100))); - END IF; - - SELECT CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),'.',intId_Cliente) INTO strPassword; - - INSERT INTO Trabajadores (CodigoTrabajador,Nombre,Apellidos,`Password`,dni,empresa_id,id_Cliente_Interno) - SELECT Cod_Trabajador,strNombre,strApellidos,LCASE(strPassword),strDni,intempresa_id,intId_Cliente; -ELSE - SET RETORNO="CodigoTrabajador Existente"; -END IF; - -- LEAVE SAMBA; -END; -- PROC - --- Tabla Account, lo crea como usuario y en samba --- Obtengo el nombre sin espacios -SET strSambaNombre = REPLACE(strNombre,' ',''); -IF (SELECT COUNT(*) FROM account.user WHERE `name`=convert(strNombre USING utf8) COLLATE utf8_general_ci)>0 THEN -- Si existe cojo la inicial del nombre+1º apellido - SELECT CONCAT(LEFT(strNombre,1),CONCAT(IF(INSTR(StrApellidos,' ')=0,StrApellidos,LEFT(strApellidos,INSTR(StrApellidos,' ')-1)),intId_Cliente)) - INTO strSambaNombre; -END IF; - - IF (SELECT COUNT(*) FROM account.user where id=intId_Cliente)=0 THEN - INSERT INTO account.user (id,role,`name`,`password`,active) VALUES (intId_Cliente,1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); - INSERT INTO account.account (id,lastchange,`expire`,user_id) values (intId_Cliente,CURRENT_DATE(),CURRENT_DATE(),intId_Cliente); - UPDATE Trabajadores SET user_id=intId_Cliente WHERE Id_Cliente_Interno=intId_Cliente; - ELSE - INSERT INTO account.user (role,`name`,`password`,active) VALUES (1,lcase(strSambaNombre),MD5(LCASE(strPassword)),1); - SET tmpUserId = LAST_INSERT_ID(); - INSERT INTO account.account (id,lastchange,`expire`,user_id) values (tmpUserId,CURRENT_DATE(),CURRENT_DATE(),tmpUserId); - UPDATE Trabajadores SET user_id=tmpUserId WHERE Id_Cliente_Interno=intId_Cliente; - END IF; - - REPLACE INTO account.mailAliasAccount(mailAlias, account) VALUES (48,intId_Cliente); - -END; -- samba - -RETURN RETORNO; -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 `account_conciliacion_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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `account_conciliacion_add`() -BEGIN - -update account_conciliacion ac -join -( - select idaccount_conciliacion, @c:= if(@id = id_calculated, @c + 1, 1) contador - , @id:= id_calculated as id_calculated, concat(id_calculated,'(',@c,')') as new_id from account_conciliacion - join - ( - select id_calculated, count(*) rep, @c:= 0, @id:= concat('-',id_calculated) from account_conciliacion - group by id_calculated - having rep > 1 - ) sub using(id_calculated) -) sub2 using(idaccount_conciliacion) -set ac.id_calculated = sub2.new_id; - - -insert into Cajas(Cajafecha, Partida, Serie, Concepto, Entrada, Salida, Id_Banco, Id_Trabajador, empresa_id, warehouse_id, Proveedores_account_id, id_calculated) -select Fechaoperacion, TRUE, 'MB', ac.Concepto, IF(DebeHaber = 2, importe,null), IF(DebeHaber = 1, importe, null), pa.Id_Banco, 20 - , pa.Id_Proveedor, 1, ac.Id_Proveedores_account,ac.id_calculated -from account_conciliacion ac -join Proveedores_account pa on pa.Id_Proveedores_account = ac.Id_Proveedores_account -left join Cajas c on c.id_calculated = ac.id_calculated -where c.Id_Caja is 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 `accumulatorsReadingDateUpdate` */; -/*!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 `accumulatorsReadingDateUpdate`() -BEGIN - -/* Actualiza los valores de la tabla en función de la cotización del EUR/USD -* -*/ - -UPDATE accumulatorsReadingDate a - JOIN - ( - SELECT - d.id, - CASE - WHEN rr.rate between p.lowerBarrier and p.rate THEN p.strike - WHEN rr.rate between p.rate and p.upperBarrier AND p.financialProductTypefk = 'AC' THEN p.strike - WHEN rr.rate >= p.upperBarrier THEN p.strike * 2 - ELSE 0 - END AS Acumulado - FROM vn2008.reference_rate rr - JOIN accumulatorsReadingDate d ON d.readingDate = rr.date - JOIN pago_sdc p ON p.pago_sdc_id = d.pagoSdcfk - WHERE IFNULL(amount,0) = 0 - AND rr.rate >= p.lowerBarrier) sub ON sub.id = a.id - SET a.amount = sub.Acumulado - WHERE a.amount IS 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 `add_awb_component` */; -/*!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 `add_awb_component`(IN v_awb SMALLINT) -BEGIN - - DECLARE vShipment DATE; - SELECT t.shipment INTO vShipment - FROM awb_recibida aw - JOIN recibida_entrada re ON re.awb_recibida = aw.recibida_id - JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE awb_id = v_awb limit 1; - - INSERT IGNORE INTO awb_component (awb_id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,value,Id_Moneda) - SELECT id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,LEAST(GREATEST(value1,IFNULL(min_value,value1)),IFNULL(max_value,value1)),Id_Moneda - FROM ( - SELECT a.id,IFNULL(act.carguera_id,CASE awb_role_id WHEN 1 THEN a.carguera_id WHEN 2 THEN a.transitario_id WHEN 3 THEN f.airline_id END) Id_Proveedor, - act.awb_component_type_id,act.awb_role_id,act.awb_unit_id, value * - CASE awb_unit_id - WHEN '1000Tj-20' THEN ((CAST(stems AS SIGNED) - 20000)/1000) + (min_value / value) - WHEN '1000Tj-10' THEN ((CAST(stems AS SIGNED) - 10000)/1000) + (min_value / value) - WHEN '100GW' THEN peso/100 - WHEN 'AWB' THEN 1 -- No action - WHEN 'FB' THEN hb/2 - WHEN 'GW' THEN peso - WHEN 'TW' THEN GREATEST(peso,volume_weight) - END value1 - , value, - act.Id_Moneda, act.min_value, act.max_value - FROM awb a JOIN flight f ON f.flight_id = a.flight_id - LEFT JOIN awb_component_template act ON ((IFNULL(act.carguera_id, a.carguera_id) = a.carguera_id AND awb_role_id = 1) - OR (IFNULL(act.carguera_id, a.transitario_id) = a.transitario_id AND awb_role_id = 2)) - AND IFNULL(act.airport_out, f.airport_out) = f.airport_out AND IFNULL(act.airport_in, f.airport_in) = f.airport_in - AND IFNULL(act.airline_id, f.airline_id) = f.airline_id - WHERE a.id = v_awb AND Fecha <= vShipment ORDER BY Fecha DESC) t ; - -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 `add_awb_componentKK` */; -/*!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 `add_awb_componentKK`(IN v_awb SMALLINT) -BEGIN - - INSERT IGNORE INTO awb_component (awb_id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,value,Id_Moneda) - SELECT id,Id_Proveedor,awb_component_type_id,awb_role_id,awb_unit_id,LEAST(GREATEST(value1,IFNULL(min_value,value1)),IFNULL(max_value,value1)),Id_Moneda - FROM ( - SELECT a.id,IFNULL(act.carguera_id,CASE awb_role_id WHEN 1 THEN a.carguera_id WHEN 2 THEN a.transitario_id WHEN 3 THEN f.airline_id END) Id_Proveedor, - act.awb_component_type_id,act.awb_role_id,act.awb_unit_id, value * - CASE awb_unit_id - WHEN '1000Tj-20' THEN ((CAST(stems AS SIGNED) - 20000)/1000) + (min_value / value) - WHEN '1000Tj-10' THEN ((CAST(stems AS SIGNED) - 10000)/1000) + (min_value / value) - WHEN '100GW' THEN peso/100 - WHEN 'AWB' THEN 1 -- No action - WHEN 'FB' THEN hb/2 - WHEN 'GW' THEN peso - WHEN 'TW' THEN GREATEST(peso,volume_weight) - END value1 - , value, - act.Id_Moneda, act.min_value, act.max_value - FROM awb a JOIN flight f ON f.flight_id = a.flight_id - LEFT JOIN awb_component_template act ON ((IFNULL(act.carguera_id, a.carguera_id) = a.carguera_id AND awb_role_id = 1) - OR (IFNULL(act.carguera_id, a.transitario_id) = a.transitario_id AND awb_role_id = 2)) - AND IFNULL(act.airport_out, f.airport_out) = f.airport_out AND IFNULL(act.airport_in, f.airport_in) = f.airport_in - AND IFNULL(act.airline_id, f.airline_id) = f.airline_id - WHERE a.id = v_awb AND Fecha <= CURDATE() ORDER BY Fecha DESC) t ; - -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 `adelantarTickets` */; -/*!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 `adelantarTickets`(datCurrent DATE,datAttempted DATE) -BEGIN - DECLARE vWarehouse INTEGER; - DECLARE vFechedTicket INTEGER; - DECLARE done INT DEFAULT 0; - DECLARE vFetchCounter INT DEFAULT 0; - DECLARE cur1 CURSOR FOR - SELECT ticketId - FROM tmpTicketList; - DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; - - OPEN cur1; - - SELECT warehouse_id INTO vWarehouse FROM tmpTicketList ttl JOIN Tickets t ON t.Id_Ticket = ttl.ticketId LIMIT 1; - CALL item_stock(vWarehouse,CURDATE(),NULL); - - DROP TEMPORARY TABLE IF EXISTS tmpAdelantarTickets; - CREATE TEMPORARY TABLE tmpAdelantarTickets( - Id_Ticket INT, - count INT, - media DOUBLE) - ENGINE = MEMORY; - - REPEAT - FETCH cur1 INTO vFechedTicket; - - INSERT INTO tmpAdelantarTickets - SELECT - vFechedTicket, - COUNT(Cantidad), - AVG(Cantidad <= IFNULL(Saldo, 0)) AS `AVG` - FROM Movimientos m - LEFT JOIN - (SELECT - * - FROM - (SELECT - Id_Article, Saldo - FROM - (SELECT - Dia, Id_Article, SUM(Entradas - Salidas) AS Saldo - FROM - ( - SELECT CURDATE() AS Dia, - item_id Id_Article, - stock AS Entradas, - 0 AS Salidas - FROM tmp_item ti - JOIN Movimientos m ON m.Id_Article = ti.item_id AND m.Id_Ticket = vFechedTicket - UNION ALL - SELECT DATE(t.Fecha) AS Dia, - mt.Id_Article, - 0 AS Entradas, - - m.Cantidad AS Salidas - FROM Tickets t - JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket AND t.warehouse_id = vWarehouse - JOIN Movimientos mt ON mt.Id_Article = m.Id_Article - WHERE mt.Id_Ticket = vFechedTicket AND - t.Fecha BETWEEN curdate() AND datCurrent - UNION ALL - SELECT tr.landing, c.Id_Article, c.Cantidad, 0 - FROM - Compres c - JOIN Movimientos mt ON mt.Id_Article = c.Id_Article - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = travel_id and tr.warehouse_id = vWarehouse - WHERE mt.Id_Ticket = vFechedTicket AND - tr.landing BETWEEN curdate() AND datCurrent - UNION ALL - SELECT tr.shipment, c.Id_Article, - c.Cantidad, 0 - FROM - Compres c - JOIN Movimientos mt ON mt.Id_Article = c.Id_Article + SELECT Temperatura + ,ROUND(SUM(Etiquetas * volume)) AS cm3 + ,ROUND(SUM(IF(scanned, Etiquetas, 0) * volume)) AS cm3s + ,ROUND(SUM(Vida * volume)) AS cm3e + FROM ( + SELECT t.Temperatura, c.Etiquetas, b.scanned, c.Vida, + IF(cu.Volumen > 0, cu.Volumen, cu.x * cu.y * IF(cu.z > 0, cu.z, a.Medida + 10)) volume + FROM Compres c + LEFT JOIN buy_edi b ON b.id = c.buy_edi_id + JOIN Articles a ON a.Id_Article = c.Id_Article + JOIN Tipos t ON t.tipo_id = a.tipo_id JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = travel_id and tr.warehouse_id_out = vWarehouse - WHERE mt.Id_Ticket = vFechedTicket AND tr.shipment BETWEEN curdate() AND datCurrent - ) sub GROUP BY Dia , Id_Article) sub2 - ORDER BY Saldo) sub3 - GROUP BY Id_Article) sub4 USING (Id_Article) - WHERE m.Id_Ticket = vFechedTicket; - - UNTIL done END REPEAT; - - select * from tmpAdelantarTickets; - CLOSE cur1; - DROP TEMPORARY TABLE IF EXISTS tmpAdelantarTickets; -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 `agencia_descuadre` */; -/*!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 `agencia_descuadre`(datSince DATE, datTo DATE, intAgency INT, intWarehouseAlias INT) + JOIN travel tr ON tr.id = e.travel_id + JOIN Cubos cu ON cu.Id_Cubo = c.Id_Cubo + WHERE tr.warehouse_id = vWarehouse + AND tr.landing = vDate + ) sub + GROUP BY Temperatura; +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 `Campaigns_Generator` */; +/*!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 `Campaigns_Generator`(IN datFEC DATE, IN intDAYS INT, IN intIMP INT) +BEGIN +DELETE FROM Campaigns; + +INSERT INTO Campaigns(Id_Cliente, Notas) +SELECT T.Id_Cliente, CONCAT('Consumo año anterior: ',FORMAT(SUM(M.Cantidad * M.Preu * (100 - M.Descuento) / 100), 0), ' € ') as Total +FROM Movimientos M +INNER JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket +WHERE Date(T.Fecha) BETWEEN ADDDATE(datFEC,-1 * intDAYS) AND datFEC +GROUP BY T.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 `Campaigns_GeneratorKK` */; +/*!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 `Campaigns_GeneratorKK`(IN datFEC DATE, IN intDAYS INT, IN intIMP INT) +BEGIN +DELETE FROM Campaigns; + +INSERT INTO Campaigns(Id_Cliente, Notas) +SELECT T.Id_Cliente, CONCAT('Consumo año anterior: ',FORMAT(SUM(M.Cantidad * M.Preu * (100 - M.Descuento) / 100), 0), ' € ') as Total +FROM Movimientos M +INNER JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket +WHERE Date(T.Fecha) BETWEEN ADDDATE(datFEC,-1 * intDAYS) AND datFEC +GROUP BY T.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 `Canariaskk` */; +/*!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 `Canariaskk`(IN datFEC DATE, IN idWH INT , IN idEMP INT) +BEGIN + +DECLARE idTICKET DOUBLE; + + +CALL ticket_new_complet(4712, datFEC, idWH , 20, idEMP, NULL, NULL,NULL, idTICKET); + + +INSERT INTO Movimientos (Id_Ticket, Id_Article, Concepte, Cantidad, Preu, PrecioFijado) +SELECT idTICKET, 95, CONCAT(Codintrastat, ' : ', IF(Abreviatura = 'XYZ', 'NAC', Abreviatura), ' : ' , Nombotanic), sum(Cantidad), Preu, TRUE +FROM Articles INNER JOIN Movimientos ON Articles.Id_Article = Movimientos.Id_Article + INNER JOIN Tickets ON Movimientos.Id_Ticket = Tickets.Id_Ticket + INNER JOIN Consignatarios ON Tickets.Id_Consigna = Consignatarios.Id_Consigna + INNER JOIN province ON Consignatarios.province_id = province.province_id + INNER JOIN Origen ON Articles.id_origen = Origen.id +WHERE date(Tickets.Fecha) = datFEC AND province.name IN ('SANTA CRUZ DE TENERIFE','LAS PALMAS DE GRAN CANARIA') +GROUP BY Nombotanic, Preu; + + + + +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 `check_table_existence` */; +/*!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 `check_table_existence`(IN table_name CHAR(64)) +BEGIN + DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02' SET @err = 1; + SET @err = 0; + SET @table_name = table_name; + SET @sqlString = CONCAT('SELECT NULL FROM ',@table_name); + PREPARE stmt1 FROM @sqlString; + IF (@err = 1) THEN + SET @table_exists = 0; + ELSE + SET @table_exists = 1; + DEALLOCATE PREPARE stmt1; + 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 `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`(IN v_full TINYINT(1)) +BEGIN + DECLARE v_date DATETIME; + DECLARE v_date18 DATETIME; + DECLARE v_date8 DATE; + DECLARE v_date6 DATE; + DECLARE v_date3Month DATE; + DECLARE vDate2000 DATE; + DECLARE vRangeDeleteTicket INT; + DECLARE strtable varchar(15) DEFAULT NULL; + DECLARE done BIT DEFAULT 0; + + SET v_date = TIMESTAMPADD(MONTH, -2, CURDATE()); + SET v_date18 = TIMESTAMPADD(MONTH, -18,CURDATE()); + SET v_date3Month = TIMESTAMPADD(MONTH, -3, CURDATE()); + SET v_date8 = TIMESTAMPADD(DAY, -8,CURDATE()); + SET v_date6 = TIMESTAMPADD(DAY, -6,CURDATE()); + SET vRangeDeleteTicket = 60; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('clean START'); + + DELETE FROM cdr WHERE calldate < v_date; + DELETE FROM Monitoring WHERE ODBC_TIME < v_date; + DELETE FROM Conteo WHERE Fecha < v_date; + DELETE FROM XDiario WHERE FECHA < v_date3Month OR FECHA IS NULL; + DELETE FROM mail WHERE DATE_ODBC < v_date; + + -- DELETE FROM Cajas WHERE CajaFecha < v_date18; + + DELETE rr FROM Recibos_recorded rr JOIN Recibos r ON rr.Id_Recibos = r.Id WHERE r.Fechacobro < v_date; + + SELECT MAX(idTickets_dits) + INTO @id + FROM Tickets_dits + WHERE ODBC_DATE < v_date; + DELETE FROM Tickets_dits WHERE idTickets_dits <= @id; + + -- DELETE FROM Tickets_dits WHERE ODBC_DATE < v_date; + DELETE FROM expeditions WHERE odbc_date < v_date18; + DELETE FROM expeditions_deleted WHERE odbc_date < v_date18; + DELETE FROM Entradas_dits WHERE ODBC_DATE < v_date18; + DELETE FROM log_articles WHERE ODBC_DATE < v_date; + DELETE FROM sms WHERE DATE_ODBC < v_date18; + DELETE FROM Movimientos_mark WHERE odbc_date < v_date; + DELETE FROM Splits WHERE Fecha < v_date18; + DELETE ts FROM Tickets_stack ts JOIN Tickets t ON ts.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; + DELETE tobs FROM ticket_observation tobs JOIN Tickets t ON tobs.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; + DELETE tobs FROM movement_label tobs JOIN Movimientos m ON tobs.Id_Movimiento = m.Id_Movimiento + JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; + DELETE FROM chat WHERE odbc_date < v_date; + DELETE FROM Extractos WHERE Fecha < v_date; + DELETE FROM Remesas WHERE `Fecha Remesa` < v_date18; + DELETE FROM sharingcart where datEND < v_date; + DELETE FROM sharingclient where datEND < v_date; + DELETE FROM Stockcontrol WHERE Datestart < v_date18; + DELETE FROM bi.comparativa_clientes WHERE Fecha < v_date18; + DELETE FROM reference_rate WHERE date < v_date18; + + SELECT MAX(inter_id) + INTO @id + FROM vncontrol.inter + WHERE odbc_date < v_date18; + DELETE FROM vncontrol.inter WHERE inter_id <= @id; + + -- DELETE FROM vncontrol.inter WHERE odbc_date < v_date18; + DELETE FROM Entradas_dits WHERE ODBC_DATE < v_date; + DELETE FROM cyc_declaration WHERE Fecha < v_date18; + DELETE FROM vn.message WHERE sendDate < v_date; + DELETE FROM travel_reserve WHERE odbc_date < v_date; + -- DELETE FROM syslog.systemevents WHERE odbc_date < v_date8; + DELETE FROM daily_task_log WHERE odbc_date < v_date; + -- DELETE FROM bi.Greuge_Evolution WHERE Fecha < v_date AND weekday(Fecha) != 1; + DELETE mc FROM Movimientos_checked mc JOIN Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento WHERE m.odbc_date < v_date; + DELETE FROM cache.departure_limit WHERE Fecha < TIMESTAMPADD(MONTH,-1,CURDATE()); + DELETE cm + FROM Compres_mark cm + JOIN Compres c ON c.Id_Compra = cm.Id_Compra + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE t.landing <= v_date; + DELETE co + FROM Compres_ok co JOIN Compres c ON c.Id_Compra = co.Id_Compra + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + WHERE t.landing <= v_date; + + DELETE FROM vn2008.scan WHERE odbc_date < v_date6 AND id <> 1; + + SET vDate2000 = TIMESTAMPADD(YEAR, 2000 - YEAR(CURDATE()), CURDATE()); + + IF v_full + THEN + DELETE FROM Tickets + WHERE Fecha NOT IN ('2000-01-01','2000-01-02') + AND YEAR(Fecha) = 2000 + AND ABS(DATEDIFF(Fecha,vDate2000)) > vRangeDeleteTicket; + + DELETE e.* FROM Entradas e + LEFT JOIN recibida_entrada re ON e.Id_Entrada = re.Id_Entrada + WHERE travel_id IS NULL + AND re.Id_Entrada IS NULL; + END IF; + + -- Tickets Nulos PAK 11/10/2016 + + UPDATE vn2008.Tickets + SET empresa_id = 965 + WHERE Id_Cliente = 31 + AND empresa_id != 965; + + -- Equipos duplicados + + DELETE w.* + FROM vn2008.workerTeam w + JOIN (SELECT id, team, user, COUNT(*) - 1 as duplicated + FROM vn.workerTeam + GROUP BY team,user + HAVING duplicated + ) d ON d.team = w.team AND d.user = w.user AND d.id != w.id; + + INSERT INTO vn2008.daily_task_log(consulta) 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(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 `Clientes_Calidad` */; +/*!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 `Clientes_Calidad`() +BEGIN + + DECLARE intMONTH INTEGER; + DECLARE intYEAR INTEGER; + + SET intYEAR = YEAR(Curdate()); + SET intMONTH = MONTH(curdate())-1; + + IF intMONTH = 0 THEN + + SET intYEAR = intYEAR -1; + SET intMONTH = 12; + + END IF; + + UPDATE Clientes + SET + Calidad = 0; + + TRUNCATE bi.calidad_detalle; + + INSERT INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, calidad_parametros_id, 0 + FROM bi.calidad_parametros + JOIN Clientes; + + -- Valoramos del 0 al 5 su consumo + + REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, 1, IF(Consumo > 5, 5, Consumo) + FROM ( + SELECT Id_Cliente, round(sum(importe)/1000) as Consumo + from bs.ventas v + join vn2008.time t on t.date = v.fecha + where year =intYEAR and month = intMONTH + group by Id_Cliente) sub; + + + -- Incrementamos dos puntos a los de giro bancario, y restamos uno a los de pago contado/contrareembolso + + REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, 3, CASE pay_met_id WHEN 4 -- giro + THEN 2 + + WHEN 1 -- contado + THEN -1 + + WHEN 5 -- tarjeta + + THEN 1 + + WHEN 7 -- tarjeta + + THEN 1 + + WHEN 6 -- contrareembolso + THEN -1 + + ELSE 0 END + FROM Clientes; + + /* Incrementamos a los que tengan reclamaciones 0%, 2 puntos + 1%, 1 punto + 2% 0 puntos + 3% -3 puntos + 4% - 6 puntos + 5% - 9 puntos + */ + + REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, 2, CASE nz(Ratio) + WHEN 0 THEN 2 + WHEN 0.01 THEN 1 + WHEN 0.02 THEN 0 + WHEN 0.03 THEN -3 + WHEN 0.04 THEN -6 + ELSE -9 + END + FROM bi.claims_ratio ; + + -- Ahora les ponemos un punto a los que compran por la web mas del 50% de sus pedidos + + REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, 4, Webs + FROM + ( SELECT Id_Cliente, sum(sub.Id_Trabajador = 4) / count(sub.Id_Trabajador) as Webs + FROM Tickets + JOIN + (SELECT Id_Ticket, Id_Trabajador + FROM Tickets_dits + WHERE idaccion_dits = 84 + AND ODBC_DATE >= TIMESTAMPADD(DAY,-30,CURDATE())) sub USING(Id_Ticket) + WHERE Fecha > '2001-01-01' AND Id_Agencia <> 23 -- ni tickets borrados, ni abonos cuentan + GROUP BY Id_Cliente + HAVING Webs > 0.5) sub2; + + + -- Marcamos con un 11 a los clientes recien nacidos, para protegerlos + + REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) + SELECT Id_Cliente, 5, 11 + FROM + (SELECT Id_Cliente, MIN(Fecha) as Inicio + FROM Tickets + WHERE Fecha > '2001-01-01' + GROUP BY Id_Cliente + HAVING Inicio >= TIMESTAMPADD(DAY,-30,CURDATE())) sub ; + + -- Ahora actualizamos la tabla Clientes + + UPDATE Clientes + JOIN + (SELECT + Id_Cliente, SUM(valor) AS valoracion + FROM + bi.calidad_detalle + GROUP BY Id_Cliente) sub USING (Id_Cliente) + SET + calidad = IF(valoracion > 11, 11, valoracion); + + IF DAY(CURDATE()) = 1 THEN + -- Y de paso, desactivamos a los que hace tiempo que no compran.alter + -- JGF Sólo desctivamos a los clientes que no han comprado en los dos ultimos meses + UPDATE account.user u + SET + active = 0 + WHERE + u.role = 2 + AND id NOT IN (SELECT DISTINCT + c.Id_Cliente + FROM + Clientes c LEFT JOIN Tickets t ON t.Id_Cliente = c.Id_Cliente + WHERE + Created > TIMESTAMPADD(MONTH, - 2, CURDATE()) OR + Fecha > TIMESTAMPADD(MONTH, - 2, 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 `Clientes_Calidad_detalle` */; +/*!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 `Clientes_Calidad_detalle`(IN IdC INT) +BEGIN + + +SELECT descripcion Concepto, valor Puntos +FROM bi.calidad_parametros +JOIN bi.calidad_detalle using(calidad_parametros_id) +WHERE Id_Cliente = idC; + + + +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 `clientes_saldos` */; +/*!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 `clientes_saldos`() +BEGIN + + + +DROP TEMPORARY TABLE IF EXISTS clientes_pendientes; + +CREATE TEMPORARY TABLE clientes_pendientes +( Id_Cliente INT NOT NULL +, empresa_id INT NOT NULL +, saldo double NOT NULL +, PRIMARY KEY(Id_Cliente, empresa_id)); + +INSERT INTO clientes_pendientes +SELECT Id_Cliente, empresa_id, sum(importe) as saldo + FROM + ( + SELECT + Id_Cliente, + empresa_id, + - Entregado as importe + + FROM + Recibos + JOIN + Clientes USING(Id_Cliente) + JOIN + pay_met p on p.id = pay_met_id + WHERE + deudaviva + + + UNION ALL + + + SELECT + Id_Cliente, + empresa_id, + Importe + + FROM + Facturas + JOIN + Clientes USING(Id_Cliente) + JOIN + pay_met p on p.id = pay_met_id + WHERE + deudaviva + + + ) sub + GROUP BY empresa_id, Id_Cliente + having saldo > 0; + + + + DROP TEMPORARY TABLE IF EXISTS cobros_pendientes; + + CREATE TEMPORARY TABLE cobros_pendientes + (Id_Cliente INT + ,fecha DATE + ,empresa_id INT NOT NULL + ,saldo DOUBLE + ,PRIMARY KEY(Id_Cliente, empresa_id)); + + + + INSERT INTO cobros_pendientes(Id_Cliente + , fecha + , empresa_id + , saldo) + + + + SELECT cp.Id_Cliente, + CASE (vencimiento > 30) + + WHEN TRUE THEN + + timestampadd(DAY,vencimiento,maxFecha) + + ELSE + + timestampadd( + DAY + ,vencimiento - day(maxFecha) + ,timestampadd(MONTH,1,maxFecha) + ) + + END as fecha, + cp.empresa_id, + cp.saldo + FROM clientes_pendientes cp + JOIN Clientes USING(Id_Cliente) + JOIN ( SELECT + max(Fecha) as maxFecha, + Id_Cliente, + empresa_id + FROM + Facturas + GROUP BY + Id_Cliente, + empresa_id + ) mf on mf.Id_Cliente = cp.Id_Cliente + AND mf.empresa_id = cp.empresa_id; + + + SELECT * FROM cobros_pendientes; + + DROP TEMPORARY TABLE cobros_pendientes; + DROP TEMPORARY TABLE clientes_pendientes; + + +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 `clientManaGrouped` */; +/*!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 `clientManaGrouped`(vClient INT) +BEGIN + + SELECT 'Tickets' as Grupo, CAST(sum(s.quantity * Valor) AS DECIMAL(10,2)) as Mana + FROM vn.ticket t + JOIN vn.address a ON a.id = t.addressFk + JOIN vn.sale s on s.ticketFk = t.id + JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = s.id + WHERE Id_Componente IN (37, 39) + AND t.shipped >= '2016-01-01' + AND t.clientFk = vClient + + UNION ALL + + SELECT 'Recibos' as Grupo, - sum(Entregado) as Mana + FROM vn2008.Recibos r + JOIN vn2008.Clientes c using(Id_Cliente) + WHERE r.Id_Banco = 66 + AND r.Fechacobro >= '2016-01-01' + AND c.Id_Cliente = vClient + + UNION ALL + + SELECT 'Greuges' as Grupo, sum(g.Importe) as Mana + FROM vn2008.Greuges g + JOIN vn2008.Clientes c using(Id_Cliente) + WHERE g.Greuges_type_id = 3 -- Maná + AND g.Fecha > '2016-01-01' + AND c.Id_Cliente = 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 PROCEDURE IF EXISTS `clonWeeklyTickets` */; +/*!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 `clonWeeklyTickets`(IN vWeek INT) +BEGIN + DECLARE done BIT DEFAULT 0; + DECLARE vLanding DATE; + DECLARE vShipment DATE; + DECLARE vWarehouse INT; + DECLARE vTicket INT; + DECLARE vWeekDay INT; + DECLARE vClient INT; + DECLARE vEmpresa INT; + DECLARE vConsignatario INT; + DECLARE vAgencia INT; + DECLARE vNewTicket INT; + DECLARE vYear INT; + + DECLARE rsTicket CURSOR FOR + SELECT tt.Id_Ticket, weekDay, Id_Cliente, warehouse_id, empresa_id, Id_Consigna, Id_Agencia + FROM Tickets_turno tt + JOIN Tickets t ON tt.Id_Ticket = t.Id_Ticket; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + SET done = 0; + SET vYear = YEAR(CURDATE()) + IF(vWeek < WEEK(CURDATE()),1, 0); + + OPEN rsTicket; + + FETCH rsTicket INTO vTicket, vWeekDay, vClient, vWarehouse, vEmpresa, vConsignatario, vAgencia; + + WHILE NOT done DO + + SELECT date INTO vShipment + FROM time + WHERE year = vYear AND week = vWeek + AND WEEKDAY(date) = vWeekDay; + + -- busca si el ticket ya ha sido clonado + IF (select count(*) FROM Tickets t JOIN ticket_observation tob ON t.Id_Ticket = tob.Id_Ticket + WHERE Id_Consigna = vConsignatario AND Fecha = vShipment AND tob.text LIKE CONCAT('%',vTicket,'%')) = 0 + THEN + + IF (SELECT COUNT(*) FROM Agencias WHERE Id_Agencia = vAgencia AND Agencia LIKE '%turno%') THEN + SET vAgencia = NULL; + END IF; + + CALL vn.ticketCreate(vClient, vShipment, vWarehouse, vEmpresa, vConsignatario, vAgencia, NULL, vLanding, vNewTicket); + + INSERT INTO Movimientos (Id_Ticket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado) + SELECT vNewTicket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado + FROM Movimientos WHERE Id_Ticket = vTicket; + + INSERT INTO Ordenes (orden,datorden,datticket,codvendedor,codcomprador,cantidad,preciomax,preu,id_article,id_cliente,comentario, + ok, total,datcompra,ko,id_movimiento) + SELECT o.orden,o.datorden,vShipment,o.codvendedor,o.codcomprador,o.cantidad,o.preciomax,o.preu,o.id_article,o.id_cliente,o.comentario, + o.ok, o.total,o.datcompra,o.ko,m2.Id_Movimiento + FROM Movimientos m JOIN Ordenes o ON o.Id_Movimiento = m.Id_Movimiento + JOIN Movimientos m2 ON m.Concepte = m2.Concepte AND m.Cantidad = m2.Cantidad AND m.Id_Article = m2.Id_Article + WHERE m.Id_Ticket = vTicket AND m2.Id_Ticket = vNewTicket; + + INSERT INTO ticket_observation(Id_Ticket,observation_type_id,text) VALUES(vNewTicket,4,CONCAT('turno desde ticket: ',vTicket)) + ON DUPLICATE KEY UPDATE text = CONCAT(ticket_observation.text,VALUES(text),' '); + + CALL bionic_calc_clon(vNewTicket); + END IF; + FETCH rsTicket INTO vTicket, vWeekDay, vClient, vWarehouse, vEmpresa, vConsignatario, vAgencia; + + END WHILE; + + CLOSE rsTicket; + + DROP TEMPORARY TABLE IF EXISTS travel_tree_shipment; +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 `cobro` */; +/*!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 `cobro`(IN datFEC DATE + , IN idCLI INT + , IN dblIMPORTE DOUBLE + , IN idCAJA INT + , IN idPAYMET INT + , IN strCONCEPTO VARCHAR(40) + , IN idEMP INT + , IN idWH INT + , IN idTRABAJADOR INT) +BEGIN + + DECLARE bolCASH BOOLEAN; + DECLARE cuenta_banco BIGINT; + DECLARE cuenta_cliente BIGINT; + DECLARE max_asien INT; + + -- XDIARIO + -- No se asientan los cobros directamente, salvo en el caso de las cajas de CASH + SELECT (cash = 1) INTO bolCASH FROM Bancos WHERE Bancos.Id_Banco = idCAJA; + + IF bolCASH THEN + + SELECT Cuenta INTO cuenta_banco FROM Bancos WHERE Id_Banco = idCAJA; + SELECT Cuenta INTO cuenta_cliente FROM Clientes WHERE Id_Cliente = idCLI; + SELECT MAX(asien)+1 INTO max_asien FROM XDiario; + + INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) + SELECT max_asien,datFEC,SUBCTA,CONTRA,strCONCEPTO,EURODEBE,EUROHABER,idEMP FROM + ( + SELECT cuenta_banco SUBCTA, cuenta_cliente CONTRA, 0 EURODEBE, dblIMPORTE EUROHABER + UNION ALL + SELECT cuenta_cliente SUBCTA, cuenta_banco CONTRA, dblIMPORTE EURODEBE, 0 EUROHABER + ) gf; + + + END IF; + + + -- CAJERA + + INSERT INTO Cajas(Id_Trabajador + , Id_Banco + , Entrada + , Concepto + , Cajafecha + , Serie + , Partida + , Numero + ,empresa_id + ,warehouse_id) + + VALUES ( idTRABAJADOR + , idCAJA + , dblIMPORTE + , strCONCEPTO + , datFEC + , 'A' + , TRUE + , idCLI + , idEMP + , idWH ); + + + + -- RECIBO + INSERT INTO Recibos(Entregado + ,Fechacobro + ,Id_Trabajador + ,Id_Banco + ,Id_Cliente + ,Id_Factura + ,empresa_id) + + VALUES ( dblIMPORTE + , datFEC + , idTRABAJADOR + , idCAJA + , idCLI + , strCONCEPTO + , idEMP); + + + + +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 `colas_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 `colas_launcher`() +BEGIN + + INSERT INTO vn2008.Colas(Id_Informe,Id_Trabajador) VALUES (11,57); + INSERT INTO vn2008.Colas(Id_Informe) VALUES (16); + +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 `comercial_caducado` */; +/*!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 `comercial_caducado`() +BEGIN + +-- Este procedimiento le pasa los clientes al jefe de ventas cuando llevan dos meses inactivos + +IF day(CURDATE()) = 5 then -- solo se ejecuta los dias 5 de cada mes + + Update Clientes + join + ( + Select c.Id_Cliente + from Clientes c + join jerarquia j on j.worker_id = c.Id_Trabajador -- este filtro es para que solo toque los de los comerciales + + join + ( + select Id_Cliente, sum(Importe) as Saldo + from + ( + select Id_Cliente, Importe from Facturas + union all + select Id_Cliente, - Entregado from Recibos + ) sub + group by Id_Cliente + ) sindeuda on sindeuda.Id_Cliente = c.Id_Cliente + + left join + ( + select distinct Id_Cliente + from Facturas + where Fecha BETWEEN CURDATE() - INTERVAL 12 MONTH AND CURDATE() + ) f on f.Id_Cliente = c.Id_Cliente + + left join + ( + select distinct Id_Cliente + from Tickets + where Fecha between CURDATE() - INTERVAL 2 DAY AND CURDATE() + INTERVAL 200 DAY + + ) tic_vivos on tic_vivos.Id_Cliente = c.Id_Cliente + + where c.Created < CURDATE() - INTERVAL 2 MONTH -- este filtro respeta a los recien nacidos.... + and j.boss_id = 87 -- sólo afecta a los comerciales de Alfredo + and f.Id_Cliente is null -- comprueba que no tenga facturas en los dos ultimos meses + and sindeuda.Saldo < 10 -- sólo cambia a los clientes con deuda escasa o nula + and tic_vivos.Id_Cliente is null -- si tiene tickets vivos, lo respeta + + + ) sub using(Id_Cliente) + + set Id_Trabajador = 87 ;-- Alfredo Giner; + +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_clientes` */; +/*!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_clientes`(IN v_date DATE,IN i_vendedor INT, IN i_comprador INT, IN i_tipo INT, IN i_wh INT, IN days INT) +BEGIN + +DECLARE date_cyear_ini DATETIME; +DECLARE date_cyear_end DATETIME; +DECLARE date_lyear_ini DATETIME; +DECLARE date_lyear_end DATETIME; +DECLARE week_count TINYINT DEFAULT 7; + + +SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); +SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); +SET date_lyear_ini = TIMESTAMPADD(DAY,-364,date_cyear_ini); +SET date_lyear_end = TIMESTAMPADD(DAY,-364,date_cyear_end); + + CALL article (); + + INSERT INTO article_inventory (article_id) + SELECT Id_Article + FROM Articles a + JOIN Tipos t ON t.tipo_id = a.tipo_id + LEFT JOIN reinos r ON r.id = t.reino_id + WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) + AND r.display <> 0; + + IF v_date < CURDATE() + THEN + ALTER TABLE `article_inventory` + ADD `buy_id` INT NOT NULL DEFAULT 0, + ADD `buy_date` DATE DEFAULT '2000-01-01', + ADD `life` INT DEFAULT 0, + ADD `sd` INT DEFAULT 0, + ADD `avalaible` INT DEFAULT 0, + ADD `visible` INT DEFAULT 0; + + ELSE + CALL inventario_multiple_2 (v_date, i_wh, days); + CALL article_multiple_buy (v_date, i_wh); + CALL article_multiple_buy_date (v_date, i_wh); + END IF; + + + +DROP TEMPORARY TABLE IF EXISTS clientcom; +CREATE TEMPORARY TABLE clientcom +SELECT vnperiod(Fecha) as period + ,Id_Article + , Cantidad + , Preu + , CS.Id_Cliente + FROM vn2008.Movimientos M + 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.Articles a USING (Id_Article) + LEFT JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id + WHERE (T.Fecha BETWEEN date_cyear_ini AND date_cyear_end or T.Fecha BETWEEN date_lyear_ini AND date_lyear_end) + AND T.Id_Cliente NOT IN(400,200) + AND i_vendedor IN (0, C.Id_Trabajador ) + AND i_comprador IN (0, tp.Id_Trabajador) + AND i_tipo IN (0,tp.tipo_id) + AND r.display <> 0 AND T.warehouse_id NOT IN (0,13) + ORDER BY period; + +DROP TEMPORARY TABLE IF EXISTS clientcom_periods; +CREATE TEMPORARY TABLE clientcom_periods +SELECT period, @order:= @order + 1 as period_order +FROM ( +SELECT DISTINCT period, @order:=0 +FROM clientcom +ORDER BY period) sub; + +SELECT cc.Id_Article + , cc.Id_Cliente + ,CAST(SUM(IF(period_order = 1, cc.Cantidad, 0)) AS SIGNED) AS lweek1 + ,CAST(SUM(IF(period_order = 2, cc.Cantidad, 0)) AS SIGNED) AS lweek2 + ,CAST(SUM(IF(period_order = 3, cc.Cantidad, 0)) AS SIGNED) AS lweek3 + ,CAST(SUM(IF(period_order = 4, cc.Cantidad, 0)) AS SIGNED) AS lweek4 + ,CAST(SUM(IF(period_order = 5, cc.Cantidad, 0)) AS SIGNED) AS lweek5 + ,CAST(SUM(IF(period_order = 6, cc.Cantidad, 0)) AS SIGNED) AS lweek6 + ,CAST(SUM(IF(period_order = 7, cc.Cantidad, 0)) AS SIGNED) AS lweek7 + ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad, 0)) AS SIGNED) AS cweek1 + ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad, 0)) AS SIGNED) AS cweek2 + ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad, 0)) AS SIGNED) AS cweek3 + ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad, 0)) AS SIGNED) AS cweek4 + ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad, 0)) AS SIGNED) AS cweek5 + ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad, 0)) AS SIGNED) AS cweek6 + ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad, 0)) AS SIGNED) AS cweek7 + + ,CAST(SUM(IF(period_order = 1, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice1 + ,CAST(SUM(IF(period_order = 2, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice2 + ,CAST(SUM(IF(period_order = 3, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice3 + ,CAST(SUM(IF(period_order = 4, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice4 + ,CAST(SUM(IF(period_order = 5, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice5 + ,CAST(SUM(IF(period_order = 6, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice6 + ,CAST(SUM(IF(period_order = 7, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice7 + ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice1 + ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice2 + ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice3 + ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice4 + ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice5 + ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice6 + ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice7 + + ,A.Article + ,A.Medida + ,A.Color + ,A.tipo_id + ,C.Cliente + ,T1.CodigoTrabajador as Comercial + ,O.Abreviatura as Origen + ,TT.ball as Tinta + ,r.reino as Reino + ,TP.Id_Tipo + ,JF.CodigoTrabajador as Equipo + ,T2.CodigoTrabajador as Comprador + ,TT.orden as Orden_Color + +,i.buy_id +, i.life +, CAST(IFNULL(i.sd,0) AS SIGNED) as sd +,CAST(i.avalaible AS SIGNED) avalaible +, CAST(i.visible AS SIGNED) visible +, i.buy_date +,P.Proveedor + +FROM clientcom cc +JOIN clientcom_periods ccp using(period) +-- La parte del inventario +LEFT JOIN article_inventory i ON i.article_id = cc.Id_Article +LEFT JOIN Compres CM ON i.buy_id = CM.Id_Compra +LEFT JOIN Entradas E USING(Id_Entrada) +LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor +-- Ahora la parte de los vendedores +JOIN Clientes C ON C.Id_Cliente = cc.Id_Cliente +JOIN Trabajadores T1 ON C.Id_Trabajador = T1.Id_Trabajador +LEFT JOIN jerarquia J ON J.worker_id = T1.Id_Trabajador +JOIN Trabajadores JF ON JF.Id_Trabajador = J.boss_id +-- JOIN Trabajadores JF ON T1.Id_Trabajador = JF.boss JGF propuesta para sustituir por las dos lineas superiores + +-- Ahora la parte de los compradores +JOIN Articles A ON A.Id_Article = cc.Id_Article +JOIN Origen O ON O.id = A.id_origen +JOIN Tintas TT ON TT.Id_Tinta = A.Color +JOIN Tipos TP ON TP.tipo_id = A.tipo_id +JOIN reinos r ON r.id = TP.reino_id +JOIN Trabajadores T2 ON T2.Id_Trabajador = TP.Id_Trabajador + +GROUP BY Id_Article,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 `comparativa_clienteskk` */; +/*!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_clienteskk`(IN v_date DATE,IN i_vendedor INT, IN i_comprador INT, IN i_tipo INT, IN i_wh INT, IN days INT) +BEGIN + +DECLARE date_cyear_ini DATETIME; +DECLARE date_cyear_end DATETIME; +DECLARE date_lyear_ini DATETIME; +DECLARE date_lyear_end DATETIME; +DECLARE week_count TINYINT DEFAULT 7; + + +SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); +SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); +SET date_lyear_ini = TIMESTAMPADD(DAY,-364,date_cyear_ini); +SET date_lyear_end = TIMESTAMPADD(DAY,-364,date_cyear_end); + + CALL article (); + + INSERT INTO article_inventory (article_id) + SELECT Id_Article FROM Articles a + JOIN Tipos t using(tipo_id) + WHERE i_tipo = 0 OR a.tipo_id = i_tipo + AND reino_id <> 6; + + IF v_date < CURDATE() + THEN + ALTER TABLE `article_inventory` + ADD `buy_id` INT NOT NULL DEFAULT 0, + ADD `buy_date` DATE DEFAULT '2000-01-01', + ADD `life` INT DEFAULT 0, + ADD `sd` INT DEFAULT 0, + ADD `avalaible` INT DEFAULT 0, + ADD `visible` INT DEFAULT 0; + + ELSE + CALL inventario_multiple_2 (v_date, i_wh, days); + CALL article_multiple_buy (v_date, i_wh); + CALL article_multiple_buy_date (v_date, i_wh); + END IF; + + + +DROP TEMPORARY TABLE IF EXISTS clientcom; +CREATE TEMPORARY TABLE clientcom +SELECT vnperiod(Fecha) as period + ,Id_Article + , Cantidad + , Preu + , CS.Id_Cliente + FROM vn2008.Movimientos M + 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.Articles A USING (Id_Article) + LEFT JOIN vn2008.Tipos USING(tipo_id) + WHERE (T.Fecha BETWEEN date_cyear_ini AND date_cyear_end or T.Fecha BETWEEN date_lyear_ini AND date_lyear_end) + AND T.Id_Cliente NOT IN(400,200) + AND i_vendedor IN (0, C.Id_Trabajador ) + AND i_comprador IN (0, Tipos.Id_Trabajador) + AND i_tipo IN (0,Tipos.tipo_id) + AND reino_id <> 6 AND T.warehouse_id NOT IN (0,13) + ORDER BY period; + +DROP TEMPORARY TABLE IF EXISTS clientcom_periods; +CREATE TEMPORARY TABLE clientcom_periods +SELECT period, @order:= @order + 1 as period_order +FROM ( +SELECT DISTINCT period, @order:=0 +FROM clientcom +ORDER BY period) sub; + +SELECT cc.Id_Article + , cc.Id_Cliente + ,CAST(SUM(IF(period_order = 1, cc.Cantidad, 0)) AS SIGNED) AS lweek1 + ,CAST(SUM(IF(period_order = 2, cc.Cantidad, 0)) AS SIGNED) AS lweek2 + ,CAST(SUM(IF(period_order = 3, cc.Cantidad, 0)) AS SIGNED) AS lweek3 + ,CAST(SUM(IF(period_order = 4, cc.Cantidad, 0)) AS SIGNED) AS lweek4 + ,CAST(SUM(IF(period_order = 5, cc.Cantidad, 0)) AS SIGNED) AS lweek5 + ,CAST(SUM(IF(period_order = 6, cc.Cantidad, 0)) AS SIGNED) AS lweek6 + ,CAST(SUM(IF(period_order = 7, cc.Cantidad, 0)) AS SIGNED) AS lweek7 + ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad, 0)) AS SIGNED) AS cweek1 + ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad, 0)) AS SIGNED) AS cweek2 + ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad, 0)) AS SIGNED) AS cweek3 + ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad, 0)) AS SIGNED) AS cweek4 + ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad, 0)) AS SIGNED) AS cweek5 + ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad, 0)) AS SIGNED) AS cweek6 + ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad, 0)) AS SIGNED) AS cweek7 + + ,CAST(SUM(IF(period_order = 1, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice1 + ,CAST(SUM(IF(period_order = 2, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice2 + ,CAST(SUM(IF(period_order = 3, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice3 + ,CAST(SUM(IF(period_order = 4, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice4 + ,CAST(SUM(IF(period_order = 5, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice5 + ,CAST(SUM(IF(period_order = 6, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice6 + ,CAST(SUM(IF(period_order = 7, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice7 + ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice1 + ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice2 + ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice3 + ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice4 + ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice5 + ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice6 + ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice7 + + ,A.Article + ,A.Medida + ,A.Color + ,A.tipo_id + ,C.Cliente + ,T1.CodigoTrabajador as Comercial + ,O.Abreviatura as Origen + ,TT.ball as Tinta + ,r.reino as Reino + ,TP.Id_Tipo + ,JF.CodigoTrabajador as Equipo + ,T2.CodigoTrabajador as Comprador + ,TT.orden as Orden_Color + +,i.buy_id +, i.life +, CAST(IFNULL(i.sd,0) AS SIGNED) as sd +,CAST(i.avalaible AS SIGNED) avalaible +, CAST(i.visible AS SIGNED) visible +, i.buy_date +,P.Proveedor + +FROM clientcom cc +JOIN clientcom_periods ccp using(period) +-- La parte del inventario +LEFT JOIN article_inventory i ON i.article_id = cc.Id_Article +LEFT JOIN Compres CM ON i.buy_id = CM.Id_Compra +LEFT JOIN Entradas E USING(Id_Entrada) +LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor +-- Ahora la parte de los vendedores +JOIN Clientes C ON C.Id_Cliente = cc.Id_Cliente +JOIN Trabajadores T1 ON C.Id_Trabajador = T1.Id_Trabajador +LEFT JOIN jerarquia J ON J.worker_id = T1.Id_Trabajador +JOIN Trabajadores JF ON JF.Id_Trabajador = J.boss_id +-- JOIN Trabajadores JF ON T1.Id_Trabajador = JF.boss JGF propuesta para sustituir por las dos lineas superiores + +-- Ahora la parte de los compradores +JOIN Articles A ON A.Id_Article = cc.Id_Article +JOIN Origen O ON O.id = A.id_origen +JOIN Tintas TT ON TT.Id_Tinta = A.Color +JOIN Tipos TP ON TP.tipo_id = A.tipo_id +JOIN reinos r ON r.id = TP.reino_id +JOIN Trabajadores T2 ON T2.Id_Trabajador = TP.Id_Trabajador + +GROUP BY Id_Article,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 `comparativa_clientes_tickets` */; +/*!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 `comparativa_clientes_tickets`(IN i_week INT + , IN i_year INT + , IN i_vendedor INT + , IN i_comprador INT + , IN i_article INT + , IN i_cliente INT + , IN i_tipo INT + , IN i_reino INT + , IN i_equipo INT + , IN v_color varchar(3)) +BEGIN + +DECLARE datSTART DATETIME; +DECLARE datEND DATETIME; + +SELECT min(date), TIMESTAMP(max(date),'23:59:59') INTO datSTART, datEND FROM time WHERE i_week = week AND i_year = year; + + + +SELECT T.Id_Ticket, Fecha, Alias, Id_Article, Concepte, Cantidad, Preu, M.Descuento, Cantidad * Preu * (100-M.Descuento)/100 as Importe, w.name as almacen +FROM Movimientos M +JOIN Tickets T using(Id_Ticket) +JOIN warehouse w on w.id = T.warehouse_id +JOIN Consignatarios CS using(Id_Consigna) +JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente +JOIN Trabajadores TR ON TR.Id_Trabajador = C.Id_Trabajador +JOIN jerarquia J ON J.worker_id = TR.Id_Trabajador +JOIN Articles A using(Id_Article) +JOIN Tipos TP using(tipo_id) +WHERE T.Fecha BETWEEN datSTART AND datEND +AND i_vendedor IN (0, C.Id_Trabajador) +AND i_comprador IN (0, TP.Id_Trabajador) +AND i_cliente IN (0, CS.Id_Cliente) +AND i_tipo IN (0, A.tipo_id) +AND i_article IN (0,A.Id_Article) +AND i_reino IN (0,TP.reino_id) +AND i_equipo IN(0,J.boss_id) +AND v_color IN ("",A.color); + + +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 `comparative` */; +/*!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 `comparative`( + v_date DATETIME + ,days TINYINT + ,i_wh TINYINT + ,i_tipo INT + ,i_filtro INT +) +BEGIN + DECLARE wstart INT; + DECLARE wend INT; + DECLARE cyear INT; + DECLARE date_cyear_ini DATETIME; + DECLARE date_cyear_end DATETIME; + DECLARE week_count TINYINT DEFAULT 7; + DECLARE date_lyear_ini DATETIME; + DECLARE date_lyear_end DATETIME; + DECLARE corrector INT; + DECLARE w1, w2, w3, w4, w5, w6, w7 INT; + DECLARE y1, y2, y3, y4, y5, y6, y7 INT; + DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 + DECLARE i INT DEFAULT 0; + DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo + DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; + + IF i_filtro THEN + SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; + END IF; + + SET corrector = 1; + + IF days < 0 OR days > 30 THEN + SET days = 15; + END IF; + + IF i_wh = NULL THEN + SET i_wh = 0; + END IF; + -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado + SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); + SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); + -- Eliminamos el calculo del inventario para fechas en el pasado + + DROP TEMPORARY TABLE IF EXISTS `article_inventory`; + CREATE TEMPORARY TABLE `article_inventory` + ( + `article_id` INT(11) NOT NULL PRIMARY KEY, + `future` DATETIME + ) + ENGINE = MEMORY; + + INSERT INTO article_inventory (article_id) + SELECT Id_Article FROM Articles a + JOIN Tipos t ON a.tipo_id = t.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = t.reino_id + WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) + AND r.display <> 0; + + IF v_date < CURDATE() + THEN + ALTER TABLE `article_inventory` + ADD `buy_id` INT NOT NULL DEFAULT 0, + ADD `buy_date` DATE DEFAULT '2000-01-01', + ADD `life` INT DEFAULT 0, + ADD `sd` INT DEFAULT 0, + ADD `avalaible` INT DEFAULT 0, + ADD `visible` INT DEFAULT 0; + + ELSE + + CALL inventario_multiple_2 (v_date, i_wh, days); + + CALL article_multiple_buy (v_date, i_wh); + + CALL article_multiple_buy_date (v_date, i_wh); + + + END IF; + + + DROP TEMPORARY TABLE IF EXISTS wtable; + + CREATE TEMPORARY TABLE wtable ( + cy INT(6), + ly INT(6) + ); + + REPEAT + SET i = i + 1; + SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 + INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 + + UNTIL i = 7 END REPEAT; + + + SELECT cy, ly INTO w1, y1 FROM wtable limit 1; + SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; + SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; + SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; + + SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; + SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; + SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; + DROP TEMPORARY TABLE wtable; + + SET cyear = YEAR(date_cyear_ini); + + -- Genera una tabla con los datos del año pasado. + + DROP TEMPORARY TABLE IF EXISTS last_year; + CREATE TEMPORARY TABLE last_year + (KEY (Id_Article)) + ENGINE = MEMORY + SELECT Id_Article + + ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 + ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 + ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 + ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 + ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 + ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 + ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 + + ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 + ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 + ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 + ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 + ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 + ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 + ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 + + FROM Comparativa + JOIN warehouse W on W.id = warehouse_id + WHERE (Periodo BETWEEN y1 and y7) + AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) + GROUP BY Id_Article; + + -- Genera una tabla con los datos de este año. + + DROP TEMPORARY TABLE IF EXISTS cur_year; + CREATE TEMPORARY TABLE cur_year + (KEY (Id_Article)) + ENGINE = MEMORY + SELECT Id_Article + + ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 + ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 + ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 + ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 + ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 + ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 + ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 + + ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 + ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 + ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 + ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 + ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 + ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 + ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 + + FROM ( + SELECT A.Id_Article + ,CTS.period week + ,SUM(Cantidad) AS Total + ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price + FROM Movimientos M + LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket + INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) + INNER JOIN Articles A USING (Id_Article) + INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id + LEFT JOIN reinos r ON r.id = tp.reino_id + JOIN warehouse W ON W.id = T.warehouse_id + WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end + AND T.Id_Cliente NOT IN(400,200) + AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) + AND r.display <> 0 + + GROUP BY A.Id_Article, week + ) t + GROUP BY Id_Article; + -- Genera la tabla con la comparativa. + + DROP TEMPORARY TABLE IF EXISTS remcom; + + SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); + SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); + -- select * from article_inventory; + + DROP TEMPORARY TABLE IF EXISTS tmp.comparative; + + CALL util.exec (sql_printf + ( + 'CREATE TEMPORARY TABLE tmp.comparative ENGINE = MEMORY + SELECT + an.nicho, p.name Productor, C.Packing, C.Costefijo + ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria + ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador + + ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 + ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 + + ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 + ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 + + ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd + ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date + ,E.Id_Proveedor AS provider_id + ,A.offer, A.bargain, A.comments, A.relevancy, A.description itemDescription + ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret + ,(IFNULL(it.itemFk,0) != 0) isTagged + FROM vn2008.article_inventory i + JOIN vn2008.Articles A ON A.Id_Article = i.article_id + LEFT JOIN vn.itemTagged it ON it.itemFk = i.article_id + LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s + LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id + LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id + LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador + + LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra + LEFT JOIN vn2008.Entradas E USING(Id_Entrada) + LEFT JOIN vn2008.Origen o ON o.id = A.id_origen + LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article + LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 + OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 + OR lweek6 OR lweek7) + WHERE r.display <> 0 AND %s ' + + ,i_wh,strFILTRO + )); + + -- Destruye las tablas temporales creadas. + + DROP TEMPORARY TABLE last_year; + DROP TEMPORARY TABLE cur_year; + DROP TEMPORARY TABLE article_inventory; +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 `comparativeTestkk` */; +/*!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 `comparativeTestkk`( + v_date DATETIME + ,days TINYINT + ,i_wh TINYINT + ,i_tipo INT + ,i_filtro INT +) +BEGIN + DECLARE wstart INT; + DECLARE wend INT; + DECLARE cyear INT; + DECLARE date_cyear_ini DATETIME; + DECLARE date_cyear_end DATETIME; + DECLARE week_count TINYINT DEFAULT 7; + DECLARE date_lyear_ini DATETIME; + DECLARE date_lyear_end DATETIME; + DECLARE corrector INT; + DECLARE w1, w2, w3, w4, w5, w6, w7 INT; + DECLARE y1, y2, y3, y4, y5, y6, y7 INT; + DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 + DECLARE i INT DEFAULT 0; + DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo + DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; + + IF i_filtro THEN + SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; + END IF; + + SET corrector = 1; + + IF days < 0 OR days > 30 THEN + SET days = 15; + END IF; + + IF i_wh = NULL THEN + SET i_wh = 0; + END IF; + -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado + SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); + SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); + -- Eliminamos el calculo del inventario para fechas en el pasado + + CALL article (); + + INSERT INTO article_inventory (article_id) + SELECT Id_Article FROM Articles a + JOIN Tipos t ON a.tipo_id = t.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = t.reino_id + WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) + AND r.display <> 0; + + IF v_date < CURDATE() + THEN + ALTER TABLE `article_inventory` + ADD `buy_id` INT NOT NULL DEFAULT 0, + ADD `buy_date` DATE DEFAULT '2000-01-01', + ADD `life` INT DEFAULT 0, + ADD `sd` INT DEFAULT 0, + ADD `avalaible` INT DEFAULT 0, + ADD `visible` INT DEFAULT 0; + + ELSE + + CALL inventario_multiple_2 (v_date, i_wh, days); + + CALL article_multiple_buy (v_date, i_wh); + + CALL article_multiple_buy_date (v_date, i_wh); + + + END IF; + + + DROP TEMPORARY TABLE IF EXISTS wtable; + + CREATE TEMPORARY TABLE wtable ( + cy INT(6), + ly INT(6) + ); + + REPEAT + SET i = i + 1; + SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 + INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 + + UNTIL i = 7 END REPEAT; + + + SELECT cy, ly INTO w1, y1 FROM wtable limit 1; + SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; + SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; + SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; + + SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; + SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; + SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; + DROP TEMPORARY TABLE wtable; + + SET cyear = YEAR(date_cyear_ini); + + -- Genera una tabla con los datos del año pasado. + + DROP TEMPORARY TABLE IF EXISTS last_year; + CREATE TEMPORARY TABLE last_year + (KEY (Id_Article)) + ENGINE = MEMORY + SELECT Id_Article + + ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 + ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 + ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 + ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 + ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 + ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 + ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 + + ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 + ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 + ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 + ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 + ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 + ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 + ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 + + FROM Comparativa + JOIN warehouse W on W.id = warehouse_id + WHERE (Periodo BETWEEN y1 and y7) + AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) + GROUP BY Id_Article; + + -- Genera una tabla con los datos de este año. + + DROP TEMPORARY TABLE IF EXISTS cur_year; + CREATE TEMPORARY TABLE cur_year + (KEY (Id_Article)) + ENGINE = MEMORY + SELECT Id_Article + + ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 + ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 + ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 + ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 + ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 + ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 + ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 + + ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 + ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 + ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 + ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 + ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 + ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 + ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 + + FROM ( + SELECT A.Id_Article + ,CTS.period week + ,SUM(Cantidad) AS Total + ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price + FROM Movimientos M + LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket + INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) + INNER JOIN Articles A USING (Id_Article) + INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id + LEFT JOIN reinos r ON r.id = tp.reino_id + JOIN warehouse W ON W.id = T.warehouse_id + WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end + AND T.Id_Cliente NOT IN(400,200) + AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) + AND r.display <> 0 + + GROUP BY A.Id_Article, week + ) t + GROUP BY Id_Article; + -- Genera la tabla con la comparativa. + + DROP TEMPORARY TABLE IF EXISTS remcom; + + SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); + SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); + -- select * from article_inventory; + CALL util.exec (sql_printf + ( + 'SELECT + an.nicho, p.name Productor, C.Packing, C.Costefijo + ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria + ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador + + ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 + ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 + + ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 + ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 + + ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd + ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date + ,E.Id_Proveedor AS provider_id, t.Orden, t.Tinta + ,A.offer, A.bargain, A.comments, A.relevancy, A.description itemDescription + ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret + ,(IFNULL(it.itemFk,0) != 0) isTagged + FROM vn2008.article_inventory i + JOIN vn2008.Articles A ON A.Id_Article = i.article_id + LEFT JOIN vn.itemTagged it ON it.itemFk = i.article_id + LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s + LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id + LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id + LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id + LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador + LEFT JOIN vn2008.Tintas t ON t.Id_Tinta = A.color + LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra + LEFT JOIN vn2008.Entradas E USING(Id_Entrada) + LEFT JOIN vn2008.Origen o ON o.id = A.id_origen + LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article + LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 + OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 + OR lweek6 OR lweek7) + WHERE r.display <> 0 AND %s ' + + ,i_wh,strFILTRO + )); + + -- Destruye las tablas temporales creadas. + + DROP TEMPORARY TABLE last_year; + DROP TEMPORARY TABLE cur_year; + DROP TEMPORARY TABLE article_inventory; +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 `compresFromTicket` */; +/*!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 `compresFromTicket`(IN vTicketId BIGINT, IN vEntryId BIGINT) +BEGIN + + DECLARE vShipmentWarehouse INT; + DECLARE vShipmentDate INT; + + SELECT warehouse_id_out, shipment + INTO vShipmentWarehouse, vShipmentDate + FROM travel tr + JOIN Entradas e ON e.travel_id = tr.id + WHERE Id_Entrada = vEntryId; + + CALL item_last_buy_(vShipmentWarehouse,vShipmentDate); + + INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Etiquetas) + SELECT m.Id_Article, + m.Cantidad, + vEntryId, + c.Id_Cubo, + c.Packing, + IF(c.grouping,c.grouping,1), + c.caja, + buyingAbsoluteCost(c.Id_Compra) Costefijo, + ifnull(floor(m.Cantidad / c.Packing),1) Etiquetas + FROM + Movimientos m + JOIN Articles a ON m.Id_Article = a.Id_Article + LEFT JOIN t_item_last_buy b ON m.Id_Article = b.item_id AND b.warehouse_id = vShipmentWarehouse + LEFT JOIN Compres c ON c.Id_Compra = b.buy_id + WHERE m.Id_Ticket = vTicketId; + + CALL buy_tarifas_entry(vEntryId); + + +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 `CompresTriggerBeforeDelete` */; +/*!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 `CompresTriggerBeforeDelete`(oldId INT, oldEntrada INT) +BEGIN + + DECLARE hasToRecalculate BOOLEAN; + DECLARE newWarehouse INT; + + SELECT Id_Compra INTO hasToRecalculate FROM vn.lastBuy lb + WHERE lb.id = oldId LIMIT 1; + + IF hasToRecalculate THEN + SELECT warehouse_id INTO newWarehouse FROM travel t + JOIN Entradas e ON t.id = e.travel_id + WHERE e.Id_Entrada = oldEntrada; + + CALL vn.lastBuyRefresh(newWarehouse); + 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 `compresTriggerBeforeInsert` */; +/*!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 `compresTriggerBeforeInsert`(newNoVincular INT, newEntrada INT, newCompra INT, newItem INT) +BEGIN + DECLARE newWarehouse INTEGER; + + IF newNoVincular = FALSE THEN + + UPDATE travel t + JOIN vn.lastBuy lb ON newItem = lb.item AND t.warehouse_id = lb.warehouse + JOIN Entradas e ON e.travel_id = t.id + SET lb.id = newCompra + WHERE e.Id_Entrada = newEntrada AND t.landing > lb.landing AND t.landing <= 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 `compresTriggerBeforeUpdate` */; +/*!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 `compresTriggerBeforeUpdate`(vOldEntrada INT, vNewEntrada INT, oldItem INT, + newItem INT, newNoVincular BOOLEAN, newCompra INT) +BEGIN + DECLARE newWarehouse INTEGER; + DECLARE hasToRecalculate BOOLEAN; + + IF newNoVincular = FALSE THEN + IF oldItem <> newItem OR vOldEntrada <> vNewEntrada THEN + SELECT Id_Compra INTO hasToRecalculate FROM travel t + JOIN Entradas e ON e.travel_id = t.id + JOIN vn.lastBuy lb ON lb.id = newCompra + WHERE e.Id_Entrada = vOldEntrada LIMIT 1; + + IF hasToRecalculate THEN + SELECT warehouse_id INTO newWarehouse FROM travel t + JOIN Entradas e ON t.id = e.travel_id + WHERE e.Id_Entrada = vOldEntrada; + CALL vn.lastBuyRefresh(newWarehouse); + END IF; + END IF; + IF vOldEntrada <> vNewEntrada THEN + + UPDATE Entradas oldEntrada + JOIN travel oldTravel ON oldEntrada.travel_id = oldtravel.id + JOIN Entradas newEntrada ON newEntrada.Id_Entrada = vNewEntrada + JOIN travel newTravel ON newTravel.id = newEntrada.travel_id + JOIN vn.lastBuy lb ON newItem = lb.item AND newTravel.warehouse_id = lb.warehouse + SET lb.id = newCompra + WHERE oldEntrada.Id_Entrada = vOldEntrada AND oldTravel.warehouse_id <> newTravel.warehouse_id + AND newTravel.landing > lb.landing AND newTravel.landing <= CURDATE(); + 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 `confection_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 `confection_control_source`(vScopeDays TINYINT) +BEGIN + + DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); + DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); + DECLARE maxAlertLevel INT DEFAULT 2; + + DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; + + CREATE TEMPORARY TABLE tmp.production_buffer + ENGINE = MEMORY + SELECT + date(t.Fecha) as Fecha, + hour(t.Fecha) as Hora, + hour(t.Fecha) as Departure, + t.Id_Ticket, + m.Id_Movimiento, + m.Cantidad, + m.Concepte, + ABS(m.Reservado) Reservado, + i.Categoria, + t.Alias as Cliente, + wh.name as Almacen, + t.warehouse_id, + cs.province_id, + a.agency_id, + ct.description as Taller, + stock.visible, + stock.available + FROM vn2008.Tickets t + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + JOIN vn2008.warehouse wh ON wh.id = t.warehouse_id + JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket + JOIN vn2008.Articles i ON i.Id_Article = m.Id_Article + JOIN vn2008.Tipos tp ON tp.tipo_id = i.tipo_id + JOIN vn.confectionType ct ON ct.id = tp.confeccion + JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna + LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket + LEFT JOIN + ( + SELECT item_id, sum(visible) visible, sum(available) available + FROM + ( + SELECT a.item_id, 0 as visible, a.available + FROM cache.cache_calc cc + LEFT JOIN cache.available a ON a.calc_id = cc.id + WHERE cc.cache_id IN (2,8) + AND cc.params IN (concat("1/", CURDATE()),concat("44/", CURDATE())) + + UNION ALL + + SELECT v.item_id, v.visible, 0 as available + FROM cache.cache_calc cc + LEFT JOIN cache.visible v ON v.calc_id = cc.id + where cc.cache_id IN (2,8) and cc.params IN ("1","44") + ) sub + GROUP BY item_id + ) stock ON stock.item_id = m.Id_Article + WHERE tp.confeccion + AND tls.alertLevel < maxAlertLevel + AND wh.hasConfectionTeam + AND t.Fecha BETWEEN CURDATE() AND vEndingDate + AND m.Cantidad > 0; + + -- Hora limite de preparación + + CALL production_buffer_set_priority; + + -- Entradas + + INSERT INTO tmp.production_buffer( + Fecha, + Id_Ticket, + Cantidad, + Concepte, + Categoria, + Cliente, + Almacen, + Taller + ) + SELECT + tr.shipment AS Fecha, + e.Id_Entrada AS Id_Ticket, + c.Cantidad, + a.Article, + a.Categoria, + whi.name as Cliente, + who.name as Almacen, + ct.description as Taller + FROM vn2008.Compres c + JOIN vn2008.Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN vn2008.travel tr ON tr.id = e.travel_id + JOIN vn2008.warehouse whi ON whi.id = tr.warehouse_id + JOIN vn2008.warehouse who ON who.id = tr.warehouse_id_out + JOIN vn2008.Articles a ON a.Id_Article = c.Id_Article + JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id + JOIN vn.confectionType ct ON ct.id = tp.confeccion + WHERE who.hasConfectionTeam + AND tp.confeccion + AND tr.shipment BETWEEN CURDATE() AND vEndingDate; + + + SELECT * FROM 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `createBouquet` */; +/*!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 `createBouquet`( + vName VARCHAR(50), + vType int, + vSize int, + vColour VARCHAR(5), + OUT vItem INT(11) + +) +BEGIN + DECLARE vDate DATE; + DECLARE vCodintrastat INT(11); + + -- COMPROBAMOS SI EXISTE UN ARTÍCULO IGUAL. + SELECT + Id_Article + INTO vItem FROM + Articles + WHERE + (Id_Article BETWEEN 161000 AND 169000) + AND Article LIKE CONCAT('%', vName) + AND tipo_id = vType + AND Medida = vSize + AND Color = vColour + LIMIT 1; + + -- SI NO EXISTE CREAMOS UNO NUEVO + IF vItem IS NULL THEN + + + -- OBTENER EL ID ENTRE 161000 Y 169000 DEL SIGUIENTE ARTÍCULO + SELECT (IF(MAX(Id_Article) IS NULL, 161000, (MAX(Id_Article) + 1))) INTO vItem FROM Articles WHERE Id_Article BETWEEN 161000 AND 169000; + + -- INSERTAR EL ARTÍCULO + INSERT INTO Articles(Id_Article, Article, tipo_id, Medida, color, id_origen) + VALUES ( + vItem, + vName, + vType, + vSize, + vColour, + 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 `createWorker` */; +/*!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 `createWorker`( + vName VARCHAR(50), + vCognames VARCHAR(50), + vDNI VARCHAR(9), + vAddress TEXT, + vPostalCode VARCHAR(5), + vTown VARCHAR(25), + vProvince SMALLINT(5), + vCompany SMALLINT(5), + vPhone VARCHAR(11), + vMail VARCHAR(80) CHARSET utf8, + vDniExpiration DATETIME, + vEmployeeBoss INT +) +BEGIN + DECLARE vClient INT; + DECLARE vUser INT; + DECLARE vWorker INT; + DECLARE vWorkerCode VARCHAR(8); + DECLARE vPassword VARCHAR(50); + DECLARE vUsername VARCHAR(50) CHARSET utf8; + DECLARE vOficial INT DEFAULT 1; + DECLARE vDiscount INT DEFAULT 3; + DECLARE vPayMethodFk INT DEFAULT 4; + DECLARE vDueDay INT DEFAULT 5; + DECLARE vDefaultCredit DECIMAL(10, 2) DEFAULT 300.00; + DECLARE vIsTaxDataChecked TINYINT(1) DEFAULT 1; + DECLARE vHasCoreVnl TINYINT(1) DEFAULT 1; + DECLARE vMandateType INT DEFAULT 2; + + +############################################################################## +#### GENERAR CLIENTE +############################################################################## + + -- Comprobar si existe un cliente con el mismo DNI. + SELECT Id_cliente INTO vClient FROM vn2008.Clientes WHERE `if` = vDNI; + + -- Si no existe el cliente creamos uno nuevo. + IF vClient IS NULL THEN + + SELECT (MAX(Id_Cliente) + 1) INTO vClient FROM Clientes WHERE Id_Cliente < 999999; + + INSERT INTO Clientes ( + Id_Cliente, + Cliente, + Domicilio, + `IF`, + Telefono, + province_id, + Poblacion, + CodPostal, + RazonSocial, + Contacto, + Oficial, + Descuento, + Codpos, + pay_met_id, + Vencimiento, + credito, + contabilizado, + coreVnl) + SELECT + vClient, + Concat('TR ', vName, ' ', vCognames), + vAddress, + vDNI, + vPhone, + vProvince, + vTown, + vPostalCode, + CONCAT(vCognames, ' ', vName), + vName, + vOficial, + vDiscount, + vPostalCode, + vPayMethodFk, + vDueDay, + vDefaultCredit, + vIsTaxDataChecked, + vHasCoreVnl; + + INSERT INTO mandato (Id_Cliente, empresa_id, idmandato_tipo) + VALUES (vClient, vCompany, vMandateType); + END IF; + + +############################################################################## +#### GENERAR USUARIO +############################################################################## + + SET vUsername = LCASE(CONCAT(REPLACE(vName, ' ', ''), LEFT(vCognames, 1), MID(vCognames, (LOCATE(' ', vCognames) + 1), 1))); + + -- Generar nombre de usuario hasta que haya uno disponible. + WHILE (SELECT COUNT(*) FROM account.user WHERE `name`= vUsername) DO + SET vUsername = CONCAT(vUsername, (FLOOR(RAND() * 100))); + END WHILE; + + SET vPassword = CONCAT(IF(INSTR(vCognames,' ') = 0, vCognames, LEFT(vCognames, INSTR(vCognames,' ') - 1)), '.' , vClient); + + -- Comprobamos si existe un usuario con el mismo ID de cliente. + IF NOT (SELECT COUNT(*) FROM account.user where id = vClient) THEN + + -- Alta del usuario. + INSERT INTO account.user (id, role, `name`, `password`, active) VALUES (vClient, 1, LCASE(vUsername), MD5(LCASE(vPassword)), 1); + SET vUser = vClient; + INSERT INTO account.account SET id = vClient; + ELSE + + -- Alta del usuario. + INSERT INTO account.user (role, `name`, `password`, active) VALUES (1, LCASE(vUsername), MD5(LCASE(vPassword)), 1); + SET vUser = LAST_INSERT_ID(); + INSERT INTO account.account SET id = vUser; + END IF; + +############################################################################## +#### GENERAR TRABAJADOR +############################################################################## + + SET vWorkerCode = CONCAT(LEFT(vName, 1), LEFT(vCognames, 1), MID(vCognames, (LOCATE(' ', vCognames) + 1), 1)); + + -- Generar código de trabajador hasta que haya uno disponible. + IF (SELECT COUNT(*) FROM Trabajadores WHERE CodigoTrabajador = vWorkerCode) THEN + SET vWorkerCode = "001"; + END IF; + + -- Comprobamos si ya existe un trabajador con el mismo DNI. + IF NOT (SELECT COUNT(*) FROM Trabajadores WHERE dni = vDNI) THEN + + -- Alta en la tabla trabajadores. + INSERT INTO Trabajadores (CodigoTrabajador, Nombre, Apellidos, `Password`, dni, empresa_id, user_id, boss, DniExpiration) + VALUES (vWorkerCode, vName, vCognames, LCASE(vPassword), vDNI, vCompany, vUser, vEmployeeBoss, VDniExpiration); + + SET vWorker = LAST_INSERT_ID(); + ELSE + UPDATE Trabajadores SET user_id = vUser WHERE dni = vDNI; + END IF; + +############################################################################## +#### REENVIO EMAIL +############################################################################## + + IF vMail IS NOT NULL AND NOT (SELECT COUNT(*) FROM account.mailForward WHERE forwardTo = vMail) THEN + INSERT INTO account.mailForward (account, forwardTo) VALUES (vUser, vMail); + UPDATE Trabajadores SET email = CONCAT(vUsername, '@verdnatura.es') WHERE user_id = vUser; + END IF; + + -- Devolver información generada + SELECT vUser, vWorker, vPassword, vUsername; +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 `credit_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 = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `credit_update`() +BEGIN + +DECLARE dblDiferencia DOUBLE DEFAULT 10.0; +DECLARE dblImporteRec,auxdblImporteRec DOUBLE DEFAULT 0.0; +DECLARE dblImporteFac,auxdblImporteFac DOUBLE DEFAULT 0.0; +DECLARE intIdRecibo,auxintIdRecibo INT (11) DEFAULT 0; +DECLARE intId_Cliente,auxintId_Cliente,intId_ClienteRec,auxintId_ClienteRec INT DEFAULT 0; +DECLARE bitFin,bitFinRecord,bitFinRecord1 BIT DEFAULT 0; +DECLARE datFechaVencimiento DATE DEFAULT CURDATE(); +DECLARE intEmpresa_id INT DEFAULT 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 `customerDebtEvolution` */; +/*!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 `customerDebtEvolution`(IN vCustomer INT) +BEGIN + +SELECT * FROM +( + SELECT day, date, @s:= round(IFNULL(Euros,0) + @s,2) as Saldo, Euros, Credito, 0 as Cero + FROM + ( + SELECT day, date, IFNULL(Euros,0) as Euros, Credito + FROM time + JOIN (SELECT @s:= 0, - Credito as Credito FROM Clientes WHERE Id_Cliente = vCustomer) c + LEFT JOIN + (SELECT Euros, date(Fecha) as Fecha FROM + ( + SELECT Fechacobro as Fecha, Entregado as Euros + FROM Recibos + WHERE Id_Cliente = vCustomer + AND Fechacobro >= '2017-01-01' + UNION ALL + SELECT paymentday(f.Fecha,c.Vencimiento), - Importe + FROM Facturas f + JOIN Clientes c ON f.Id_Cliente = c.Id_Cliente + WHERE f.Id_Cliente = vCustomer + AND Fecha >= '2017-01-01' + UNION ALL + SELECT '2016-12-31', Debt + FROM bi.customerDebtInventory + WHERE Id_Cliente = vCustomer + UNION ALL + SELECT Fecha, - SUM(Cantidad * Preu * (100 - Descuento ) * 1.10 / 100) + FROM Tickets t + JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket + WHERE Id_Cliente = vCustomer + AND Factura IS NULL + AND Fecha >= '2017-01-01' + GROUP BY Fecha + ) sub2 + ORDER BY Fecha + )sub ON time.date = sub.Fecha + WHERE time.date BETWEEN '2016-12-31' AND CURDATE() + ORDER BY date + ) sub3 +)sub4 +; + + +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 `cycDueDateClassification` */; +/*!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 `cycDueDateClassification`(vCompany INT,vDate DATE) +BEGIN + + SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id + FROM + ( + SELECT CASE + WHEN C.Vencimiento <= 30 THEN '0-30 dias' + WHEN C.Vencimiento BETWEEN 31 AND 60 THEN '31-60 dias' + WHEN C.Vencimiento BETWEEN 61 AND 90 THEN '61-90 dias' + ELSE '> 90 dias' + END AS Clasificacion, + F.Importe, + C.Fecha, + F.empresa_id + + FROM cyc_declaration C + JOIN Facturas F USING(factura_id) + WHERE C.Riesgo > 0 AND C.Fecha = vDate AND F.empresa_id = vCompany + + ) cyc + GROUP BY Fecha, Clasificacion, 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `cycGeneralClassification` */; +/*!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 `cycGeneralClassification`(vCompany INT,vDate DATE) +BEGIN + SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id + FROM + ( + SELECT CASE IFNULL(C.Riesgo,-1) + WHEN 0 THEN 'No aseguradas' + WHEN -1 THEN 'Clasificacion nada' + ELSE 'Asegurados' + END AS Clasificacion, + F.Importe, + C.Fecha, + F.empresa_id + + FROM cyc_declaration C + JOIN Facturas F ON F.factura_id = C.factura_id + WHERE C.Fecha = vDate AND F.empresa_id = vCompany + + ) cyc + GROUP BY Fecha, Clasificacion, 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `cycNoInsurancedClassification` */; +/*!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 `cycNoInsurancedClassification`(vCompany INT,vDate DATE) +BEGIN + +SELECT 'ORG. PUBLICOS' AS Tipo, C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + JOIN Clientes CL USING(Id_Cliente) + WHERE C.Riesgo IS NULL + AND LEFT(CL.`IF`,1) = 'G' + AND C.Fecha = vDate AND F.empresa_id = vCompany + +GROUP BY Fecha, F.empresa_id + +UNION ALL + +SELECT 'VINCULADAS' , C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + WHERE C.Riesgo IS NULL + AND F.Id_Cliente IN(2066, 2067) + AND C.Fecha = vDate AND F.empresa_id = vCompany + +GROUP BY Fecha, F.empresa_id + +UNION ALL + +SELECT 'CONTADO', C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + JOIN Clientes CL USING(Id_Cliente) + WHERE C.Riesgo IS NULL + AND pay_met_id = 1 + AND LEFT(CL.`IF`,1) <> 'G' + AND F.Id_Cliente NOT IN(2066, 2067) + AND C.Fecha = vDate AND F.empresa_id = vCompany + +GROUP BY Fecha, F.empresa_id + +UNION ALL + +SELECT 'OTROS', C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + JOIN Clientes CL USING(Id_Cliente) + WHERE C.Riesgo IS NULL + AND pay_met_id <> 1 + AND LEFT(CL.`IF`,1) <> 'G' + AND F.Id_Cliente NOT IN(2066, 2067) + AND C.Fecha = vDate AND F.empresa_id = vCompany + +GROUP BY Fecha, F.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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `cyc_mensual` */; +/*!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 `cyc_mensual`(IN datFEC DATE) +BEGIN + +REPLACE cyc_declaration(factura_id, Riesgo, Fecha, Vencimiento) +SELECT F.factura_id, R.Riesgo, @fecha, IFNULL(C.Vencimiento,0) +FROM Facturas F +INNER JOIN Clientes C ON F.Id_Cliente = C.Id_Cliente +INNER JOIN empresa E ON E.id = F.empresa_id +LEFT JOIN + ( SELECT * + FROM ( + SELECT Id_Cliente, Riesgo + FROM cyc + WHERE Fecha <= @fecha:= TIMESTAMPADD(DAY, -1 * DAY(datFEC), datFEC) + ORDER BY Fecha DESC + ) sub + GROUP BY Id_Cliente + ) R ON F.Id_Cliente = R.Id_Cliente +WHERE E.cyc +AND periodo(Fecha) = periodo(@fecha) +; + +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 `cyc_report2kk` */; +/*!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 `cyc_report2kk`() +BEGIN + +SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id +FROM +( + SELECT CASE + WHEN C.Vencimiento <= 30 THEN '0-30 dias' + WHEN C.Vencimiento BETWEEN 31 AND 60 THEN '31-60 dias' + WHEN C.Vencimiento BETWEEN 61 AND 90 THEN '61-90 dias' + ELSE '> 90 dias' + END AS Clasificacion, + F.Importe, + C.Fecha, + F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + WHERE C.Riesgo > 0 + +) cyc +GROUP BY Fecha, Clasificacion, 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `cyc_reportkk` */; +/*!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 `cyc_reportkk`() +BEGIN + +SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id +FROM +( + SELECT CASE IFNULL(C.Riesgo,-1) + WHEN 0 THEN 'No aseguradas' + WHEN -1 THEN 'Sin clasificar' + ELSE 'Asegurados' + END AS Clasificacion, + F.Importe, + C.Fecha, + F.empresa_id + + FROM cyc_declaration C + INNER JOIN Facturas F USING(factura_id) + +) cyc +GROUP BY Fecha, Clasificacion, 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `defaulterRanking` */; +/*!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 `defaulterRanking`() +BEGIN + +SELECT + c.Id_Cliente, + hasChanged, + Cliente, + amount as Deuda, + CodigoTrabajador, + CyC, + Apuntador, + Fecha_obs, + last_obs, + defaulterSince +from + bi.defaulters d + join + ( + SELECT customer_id Id_Cliente,SUM(amount) AS Saldo + FROM bi.customerRiskOverdue + GROUP BY customer_id + ) saldos ON saldos.Id_Cliente = d.client + join + Clientes c on c.Id_Cliente = d.client + join + Trabajadores t USING (Id_Trabajador) +left join +( +SELECT Id_Cliente, last_obs, CodigoTrabajador as Apuntador, Fecha as Fecha_obs +FROM +( +SELECT Id_Cliente, `text` as last_obs, CodigoTrabajador, client_observation.odbc_date as Fecha +FROM client_observation +JOIN Trabajadores using(Id_Trabajador) +order by client_observation.odbc_date desc +) sub GROUP BY Id_Cliente +) obs on obs.Id_Cliente = d.client +WHERE +date = CURDATE() +and amount > 0 +and not (Saldo > amount AND amount < 0) +and CodigoTrabajador not in ('CYC','BUD','EJE') +ORDER BY amount DESC; + + +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 `desglose_volume` */; +/*!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 `desglose_volume`(IN agency_id INT) +BEGIN + DECLARE v_start DATETIME DEFAULT TIMESTAMP(CURDATE()); + DECLARE v_end DATETIME DEFAULT TIMESTAMP(CURDATE(), '23:59:59'); + + SET v_start = IF(WEEKDAY(CURDATE()), CURDATE(),TIMESTAMPADD(DAY,-1,CURDATE())); + SET v_start = IF(CURDATE() = '2014-05-02', '2014-05-01',v_start); + + DROP TEMPORARY TABLE IF EXISTS zeleVOL; + CREATE TEMPORARY TABLE zeleVOL + ( + Id_Ticket INT PRIMARY KEY + ,Provincia VARCHAR(30) + ,Bultos INT DEFAULT 0 + ,Faltan INT DEFAULT 0 + ); + + -- Insertamos los tickets que ya tienen la linea de portes + + INSERT INTO zeleVOL(Provincia, Id_Ticket, Bultos) + SELECT p.name, t.Id_Ticket, sum(m.Cantidad) + FROM Tickets t + JOIN Consignatarios c USING(Id_Consigna) + JOIN province p ON c.province_id = p.province_id + JOIN Movimientos m USING(Id_Ticket) + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE m.Id_Article = 71 + AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) + AND t.Fecha BETWEEN v_start AND v_end + AND a.agency_id = agency_id + GROUP BY p.name, Id_Ticket; + + -- Insertamos los tickets que ya tienen expediciones, que fallaran si se repite la clave primaria. + + INSERT INTO zeleVOL(Provincia, Id_Ticket, Bultos) SELECT p.name, e.ticket_id, COUNT(e.ticket_id) + FROM expeditions e + JOIN Tickets t ON ticket_id = Id_Ticket + JOIN Consignatarios c USING(Id_Consigna) + JOIN province p ON c.province_id = p.province_id + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE e.odbc_date BETWEEN v_start AND v_end + AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) + AND a.agency_id = agency_id + GROUP BY p.name, ticket_id + ON DUPLICATE KEY UPDATE Bultos = Bultos; + + -- Por encajar + + INSERT INTO zeleVOL(Provincia, Id_Ticket, Faltan) + SELECT province, Id_Ticket, COUNT(Id_Ticket) as Faltan + FROM + ( + SELECT p.name AS province, Id_Ticket, COUNT(Id_Movimiento) l, SUM(Cantidad) c + FROM Movimientos m + JOIN Tickets t USING(Id_Ticket) + JOIN Consignatarios c USING(Id_Consigna) + JOIN province p ON c.province_id = p.province_id + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN expeditions e ON t.Id_Ticket = e.ticket_id + JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id + WHERE Fecha BETWEEN v_start AND v_end + AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) + AND a.agency_id = agency_id + AND (Bultos = 0 AND expeditions_id IS NULL AND EtiquetasEmitidas = 0) + GROUP BY p.name, Id_Ticket + ) sub GROUP BY province + ON DUPLICATE KEY UPDATE Faltan = Faltan; + -- Mostramos el resultado + + SELECT Provincia, COUNT(Id_Ticket) expediciones, SUM(Bultos) Bultos, SUM(Faltan) Prevision + FROM zeleVOL + GROUP BY Provincia; + + DROP TEMPORARY TABLE IF EXISTS zeleVOL; +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 `dif_porte` */; +/*!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 `dif_porte`(IN datFEC DATE) +BEGIN + +/* Calcula los greuges de porte que no coinciden con lo esperado +/ +/ +/ +*/ + + +drop temporary table if exists tmp.bionic_porte; +create temporary table tmp.bionic_porte +select Id_Ticket, sum(Valor * Cantidad) as bionic +from vn2008.Movimientos m +join vn2008.Movimientos_componentes mc using(Id_Movimiento) +where Id_Componente = 15 +group by Id_Ticket; + +ALTER TABLE tmp.bionic_porte +ADD KEY bp_Id_Ticket_ix (Id_Ticket); + + +drop temporary table if exists tmp.shipping_porte; +create temporary table tmp.shipping_porte +select Id_Ticket, shipping_charge from vn2008.v_expeditions_shipping_charge where Fecha >= datFEC; + +ALTER TABLE tmp.shipping_porte +ADD KEY sp_Id_Ticket_ix (Id_Ticket); + + +drop temporary table if exists tmp.greuge_porte; +create temporary table tmp.greuge_porte +select Id as Id_Greuge, cast(right(Comentario,7) as decimal(10,0)) Id_Ticket, Importe +FROM vn2008.Greuges +where Comentario like 'dif_porte%'; +ALTER TABLE tmp.greuge_porte +ADD KEY Id_Ticket_ix (Id_Ticket); +select * from tmp.greuge_porte; + + + +SELECT Id_Ticket,shipping_charge as Teorico, bionic as Practico, Importe as Greuge, shipping_charge - bionic - Importe as dif +FROM tmp.shipping_porte +join tmp.greuge_porte using(Id_Ticket) +join tmp.bionic_porte using(Id_Ticket) + +; + + + + +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 `Ditacio` */; +/*!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 `Ditacio`(IN intId INT,IN straccion varchar(100),IN strtabla CHAR(1),IN intIdTrabajador INT, +IN straccion_old VARCHAR(100),IN straccion_new VARCHAR(100)) +proc_label:BEGIN + + DECLARE intlengthaccion TINYINT; + DECLARE strtabla_dits VARCHAR(35); + + SELECT CASE + WHEN strtabla='A' THEN 'Articles_dits' + WHEN strtabla='I' THEN 'Inventario_dits' + WHEN strtabla='E' THEN 'Entradas_dits' + WHEN strtabla='T' THEN 'Tickets_dits' + WHEN strtabla='C' THEN 'Clientes_dits' + WHEN strtabla='V' THEN 'travel_dits' + WHEN strtabla='R' THEN 'Rutas_dits' + WHEN strtabla='G' THEN 'Agencias_dits' + WHEN strtabla='S' THEN 'salarioDits' + ELSE NULL + END + INTO strtabla_dits; + + IF (strtabla_dits IS NULL) + THEN LEAVE proc_label; + END IF; + + SET @intIdTrabajador = intIdTrabajador; + SET @intId = intId; + SET @strvalue_old = straccion_old; + SET @strvalue_new = straccion_new; + SET @intidaccion = NULL; + + SELECT idaccion_dits + INTO @intidaccion + FROM accion_dits + WHERE accion=left(straccion,CHAR_LENGTH(accion)) + ORDER BY CHAR_LENGTH(accion) DESC + LIMIT 1; + + IF @intidaccion IS null THEN -- idaccion genèric per a evitar errors en cas de no existir + SET @intidaccion = 103; + END IF; + + SET @SQL=CONCAT('INSERT INTO ',strtabla_dits,' (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + VALUES (?,?,?,?,?)'); + + PREPARE stmt1 FROM @SQL; + EXECUTE stmt1 USING @intidaccion,@intIdTrabajador,@intId,@strvalue_old,@strvalue_new; + DEALLOCATE PREPARE stmt1; + + +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 `emailYesterdayPurchasesByConsigna` */; +/*!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 `emailYesterdayPurchasesByConsigna`(IN v_Date DATE, IN v_Client_Id INT) +BEGIN + + +DECLARE MyIdTicket BIGINT; +DECLARE MyAlias VARCHAR(50); +DECLARE MyDomicilio VARCHAR(255); +DECLARE MyPoblacion VARCHAR(25); +DECLARE MyImporte DOUBLE; +DECLARE MyMailTo VARCHAR(250); +DECLARE MyMailReplyTo VARCHAR(250); +DECLARE done INT DEFAULT FALSE; +DECLARE emptyList INT DEFAULT 0; +DECLARE txt TEXT; + +DECLARE rs CURSOR FOR +SELECT t.Id_Ticket, Alias, cast(amount as decimal(10,2)) Importe, Domicilio, POBLACION +FROM Tickets t +JOIN Consignatarios cs on t.Id_Consigna = cs.Id_Consigna +JOIN v_ticket_amount v on v.Id_Ticket = t.Id_Ticket +WHERE t.Fecha BETWEEN v_Date AND dayend(v_Date) +AND t.Id_Cliente = v_Client_Id; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +SET v_Date = IFNULL(v_Date, util.yesterday()); + +OPEN rs; + +FETCH rs INTO MyIdTicket, MyAlias, MyImporte, MyDomicilio, MyPoblacion; + +SET emptyList = done; + +SET txt = CONCAT('

', + '

Relación de envíos.

', + '

Dia: ', v_Date, '

'); + +WHILE NOT done DO + + SET txt = CONCAT(txt, '

', + ' + + + + + + +
+ Ticket ', MyIdTicket,' ', MyImporte, ' €
' + , ' ', MyAlias, '
' + , ' ', MyDomicilio, '(', MyPoblacion, ')'); + +FETCH rs INTO MyIdTicket, MyAlias, MyImporte, MyDomicilio, MyPoblacion; + +END WHILE; + + +SET txt = CONCAT(txt, + '', + '', + '
', + '

Puede acceder al detalle de los albaranes haciendo click sobre el número de Ticket', + '

Muchas gracias por su confianza

', + '

'); + +-- Envío del email +IF emptyList = 0 THEN + + SELECT CONCAT(`e-mail`,',pako@verdnatura.es') INTO MyMailTo + FROM Clientes + WHERE Id_Cliente = v_Client_Id AND `e-mail`>''; + + IF v_Client_Id = 7818 THEN -- LOEWE + + SET MyMailTo = 'isabel@elisabethblumen.com,emunozca@loewe.es,pako@verdnatura.es'; + + END IF; + + INSERT INTO mail(`to`, reply_to, subject, text) + VALUES (IFNULL(MyMailTo,'pako.natek@gmail.com'),'pako@verdnatura.es','Resumen de pedidos preparados',txt); + +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 `emailYesterdayPurchasesLauncher` */; +/*!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 `emailYesterdayPurchasesLauncher`() +BEGIN + +DECLARE done INT DEFAULT 0; +DECLARE vMyClientId INT; + +DECLARE rs CURSOR FOR +SELECT Id_Cliente +FROM Clientes +WHERE EYPBC != 0; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN rs; + +FETCH rs INTO vMyClientId; + +WHILE NOT done DO + + CALL emailYesterdayPurchasesByConsigna(util.yesterday(), vMyClientId); + + FETCH rs INTO vMyClientId; + +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 `embalajes_stocks` */; +/*!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 `embalajes_stocks`(IN idPEOPLE INT, IN bolCLIENT BOOLEAN) +BEGIN + +if bolCLIENT then + + select m.Id_Article, Article, - cast(sum(m.Cantidad) as decimal) as Saldo + from Movimientos m + join Articles a on m.Id_Article = a.Id_Article + join Tipos tp on tp.tipo_id = a.tipo_id + join Tickets t using(Id_Ticket) + join Consignatarios cs using(Id_Consigna) + where cs.Id_Cliente = idPEOPLE + and Tipo = 'Contenedores' + and t.Fecha > '2010-01-01' + group by m.Id_Article; + +else + +select Id_Article, Article, sum(Cantidad) as Saldo +from +(select Id_Article, Cantidad +from Compres c +join Articles a using(Id_Article) +join Tipos tp using(tipo_id) +join Entradas e using(Id_Entrada) +join travel tr on tr.id = travel_id +where Id_Proveedor = idPEOPLE +and landing >= '2010-01-01' +and reino_id = 6 + +union all + +select Id_Article, - Cantidad +from Movimientos m +join Articles a using(Id_Article) +join Tipos tp using(tipo_id) +join Tickets t using(Id_Ticket) +join Consignatarios cs using(Id_Consigna) +join proveedores_clientes pc on pc.Id_Cliente = cs.Id_Cliente +where Id_Proveedor = idPEOPLE +and reino_id = 6 +and t.Fecha > '2010-01-01') mov + +join Articles a using(Id_Article) +group by Id_Article; + +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 `embalajes_stocks_detalle` */; +/*!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 `embalajes_stocks_detalle`(IN idPEOPLE INT, IN idARTICLE INT, IN bolCLIENT BOOLEAN) +BEGIN + + +if bolCLIENT then + + select m.Id_Article + , Article + , IF(Cantidad < 0, - Cantidad, NULL) as Entrada + , IF(Cantidad < 0, NULL, Cantidad) as Salida + , 'T' as Tabla + , t.Id_Ticket as Registro + , t.Fecha + , w.name as Almacen + , cast(Preu as Decimal(5,2)) Precio + , c.Cliente as Proveedor + , abbreviation as Empresa + from Movimientos m + join Articles a using(Id_Article) + join Tickets t using(Id_Ticket) + join empresa e on e.id = t.empresa_id + join warehouse w on w.id = t.warehouse_id + join Consignatarios cs using(Id_Consigna) + join Clientes c on c.Id_Cliente = cs.Id_Cliente + where cs.Id_Cliente = idPEOPLE + and m.Id_Article = idARTICLE + and t.Fecha > '2010-01-01'; + +else + +select Id_Article, Tabla, Registro, Fecha, Article +, w.name as Almacen, Entrada, Salida, Proveedor, cast(Precio as Decimal(5,2)) Precio + +from + +(select Id_Article + , IF(Cantidad > 0, Cantidad, NULL) as Entrada + , IF(Cantidad > 0, NULL,- Cantidad) as Salida + , 'E' as Tabla + , Id_Entrada as Registro + , landing as Fecha + , tr.warehouse_id + , Costefijo as Precio +from Compres c +join Entradas e using(Id_Entrada) +join travel tr on tr.id = travel_id +where Id_Proveedor = idPEOPLE +and Id_Article = idARTICLE +and landing >= '2010-01-01' + +union all + +select Id_Article + , IF(Cantidad < 0, - Cantidad, NULL) as Entrada + , IF(Cantidad < 0, NULL, Cantidad) as Salida + , 'T' + , Id_Ticket + , Fecha + , t.warehouse_id + , Preu +from Movimientos m +join Tickets t using(Id_Ticket) +join Consignatarios cs using(Id_Consigna) +join proveedores_clientes pc on pc.Id_Cliente = cs.Id_Cliente +where Id_Proveedor = idPEOPLE +and Id_Article = idARTICLE +and t.Fecha > '2010-01-01') mov + +join Articles a using(Id_Article) +join Proveedores p on Id_Proveedor = idPEOPLE +join warehouse w on w.id = mov.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 `entradaCambioUpdate` */; +/*!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 `entradaCambioUpdate`(IN vIdEntrada INT) +BEGIN + + DECLARE vMoneda INT; + + SELECT Id_Moneda INTO vMoneda FROM Entradas WHERE Id_Entrada = vIdEntrada; + + UPDATE Entradas + SET comision = getComision(vIdEntrada, vMoneda) + WHERE Id_Entrada = vIdEntrada; + +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 `EntradasTriggerBeforeDelete` */; +/*!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 `EntradasTriggerBeforeDelete`(oldTravel INT, oldId INT) +BEGIN + + DECLARE hasToRecalculate BOOLEAN; + DECLARE newWarehouse INT; + + SELECT Id_Compra INTO hasToRecalculate FROM Compres c + JOIN vn.lastBuy lb ON lb.id = c.Id_Compra + WHERE c.Id_Entrada = newId LIMIT 1; + IF hasToRecalculate THEN + SELECT warehouse_id INTO newWarehouse FROM travel WHERE id = oldTravel; + CALL vn.lastBuyRefresh(newWarehouse); + 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 `EntradasTriggerBeforeUpdate` */; +/*!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 `EntradasTriggerBeforeUpdate`(oldTravel INT, newTravel INT, oldRedada BOOLEAN, + newRedada BOOLEAN, newId INT) +BEGIN + DECLARE newWarehouse INTEGER; + DECLARE hasToRecalculate BOOLEAN; + + IF oldRedada <> newRedada OR newTravel IS NULL THEN + + SELECT Id_Compra INTO hasToRecalculate FROM Compres c + JOIN vn.lastBuy lb ON lb.id = c.Id_Compra + WHERE c.Id_Entrada = newId LIMIT 1; + IF hasToRecalculate THEN + SELECT warehouse_id INTO newWarehouse FROM travel WHERE id = newtravel; + CALL vn.lastBuyRefresh(newWarehouse); + END IF; + END IF; + + IF newTravel <> oldTravel AND newTravel IS NOT NULL THEN + UPDATE travel t + JOIN Compres c ON c.Id_Entrada = newId + JOIN vn.lastBuy lb ON c.Id_Article = lb.item AND t.warehouse_id = lb.warehouse + SET lb.id = c.Id_Compra + WHERE t.id = newTravel AND t.landing BETWEEN date_inv() AND util.yesterday() + AND t.landing > lb.landing; + 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 `Entradas_Restar` */; +/*!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 `Entradas_Restar`(IN Id_Minuendo INT, IN Id_Sustraendo INT) +BEGIN + +UPDATE Compres c +JOIN +( + SELECT Id_Article, Cantidad + FROM Compres + WHERE Id_Entrada = Id_Sustraendo +) sub using(Id_Article) +SET c.Cantidad = c.Cantidad - sub.Cantidad +WHERE Id_Entrada = Id_Minuendo; + + +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 `entryComisionUpdate` */; +/*!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 `entryComisionUpdate`(IN vIdEntrada INT) +BEGIN + + UPDATE Entradas + SET comision = getComision(vIdEntrada) + WHERE Id_Entrada = vIdEntrada; + +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 `entryFromOrder` */; +/*!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 `entryFromOrder`(IN vShipmentWarehouse INTEGER, IN vLandingWarehouse INTEGER, IN vItem INTEGER, + IN vAmount INTEGER,IN vVolume INTEGER,vCost DECIMAL(10,2), IN vRetailedPrice DECIMAL(10,2), vInOutDate DATE) +BEGIN + + DECLARE vTravel INT; + DECLARE vEntry INT; + DECLARE vBucket VARCHAR(10); + + -- seleccionamos travel + SELECT id, Id_Entrada INTO vTravel, vEntry + FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id + WHERE t.landing = vInOutDate AND t.shipment = vInOutDate AND t.warehouse_id_out = vShipmentWarehouse + AND t.warehouse_id = vLandingWarehouse AND agency_id = 15 + LIMIT 1; + + -- creamos el travel si es necesario + IF NOT IFNULL(vTravel,0) THEN + INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) + VALUES (vInOutDate, vInOutDate, vLandingWarehouse, vShipmentWarehouse, 15); + SELECT LAST_INSERT_ID() INTO vTravel; + END IF; + -- creamos la Entrada si es necesario + IF NOT IFNULL(vEntry,0) THEN + INSERT INTO Entradas (Id_Proveedor, travel_id) + VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' + SELECT LAST_INSERT_ID() INTO vEntry; + END IF; + + -- creamos el cubo si es necesario + SELECT Id_Cubo INTO vBucket FROM Cubos WHERE Volumen = vVolume LIMIT 1; + + IF NOT IFNULL(vBucket,'') > '' THEN + INSERT INTO Cubos (Id_Cubo, Volumen) + VALUES (CONCAT('dm',vVolume/1000), vVolume); + SELECT LAST_INSERT_ID() INTO vBucket; + END IF; + + INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, + Comisionfija, Tarifa2, Tarifa3) + VALUES(vItem, + vAmount, + vEntry, + vBucket, + 1, + 1, + 0, + vCost, + 0, + 0, + 0, + vRetailedPrice, + vRetailedPrice); +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 `entryFromTicket` */; +/*!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 `entryFromTicket`(IN vTicket INTEGER, IN vLandingWarehouse INTEGER) +BEGIN + + DECLARE vShipmentWarehouse INT; + DECLARE vLandingDate DATE; + DECLARE vShipmentDate DATE; + DECLARE vTravel INT; + DECLARE vEntry INT; + + SELECT warehouse_id, Fecha, Fecha INTO vShipmentWarehouse, vShipmentDate, vLandingDate FROM Tickets WHERE Id_Ticket = vTicket; + + -- seleccionamos travel + SELECT id, Id_Entrada INTO vTravel, vEntry + FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id + WHERE t.landing = vLandingDate AND t.shipment = vShipmentDate AND t.warehouse_id_out = vShipmentWarehouse AND t.warehouse_id = vLandingWarehouse + AND agency_id = 15 + LIMIT 1; + + -- creamos el travel si es necesario + IF vTravel IS NULL THEN + select vLandingDate; + INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) + VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vShipmentWarehouse, 15); + SELECT LAST_INSERT_ID() INTO vTravel; + END IF; + + -- creamos la Entrada si es necesario + IF vEntry IS NULL THEN + INSERT INTO Entradas (Id_Proveedor, travel_id) + VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' + SELECT LAST_INSERT_ID() INTO vEntry; + END IF; + + CALL item_last_buy_(vShipmentWarehouse,vShipmentDate); + + INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, + Comisionfija, Tarifa2, Tarifa3) + SELECT m.Id_Article, + m.Cantidad, + vEntry, + c.Id_Cubo, + c.Packing, + IF(c.grouping,c.grouping,1), + c.caja, + Costefijo, + c.Portefijo, + c.Embalajefijo, + c.Comisionfija, + m.Preu Tarifa2, + m.Preu Tarifa3 + FROM + Movimientos m + JOIN Articles a ON m.Id_Article = a.Id_Article + LEFT JOIN t_item_last_buy b ON m.Id_Article = b.item_id AND b.warehouse_id = vShipmentWarehouse + LEFT JOIN Compres c ON c.Id_Compra = b.buy_id + WHERE m.Id_Ticket = 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 `entryUpdateComision` */; +/*!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 `entryUpdateComision`(IN vIdEntrada INT) +BEGIN + + UPDATE Entradas + SET comision = getComision(vIdEntrada, Id_Moneda) + WHERE Id_Entrada = vIdEntrada; + +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 `entryWithItem` */; +/*!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 `entryWithItem`(IN vShipmentWarehouse INTEGER, IN vLandingWarehouse INTEGER, + IN vItem INTEGER, IN vAmount INTEGER,IN vVolume INTEGER, IN vGrossMargin DECIMAL(10,2), vInOutDate DATE) +BEGIN + + DECLARE vLandingWarehouse INT; + DECLARE vLandingDate DATE; + DECLARE vShipmentDate DATE; + DECLARE vTravel INT; + DECLARE vEntry INT; + DECLARE vBucket VARCHAR(10); + + -- seleccionamos travel + SELECT id, Id_Entrada INTO vTravel, vEntry + FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id + WHERE t.landing = vInOutDate AND t.shipment = vInOutDate AND t.warehouse_id_out = vShipmentWarehouse + AND t.warehouse_id = vLandingWarehouse AND agency_id = 15 + LIMIT 1; + + -- creamos el travel si es necesario + IF NOT vTravel THEN + INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) + VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vLandingWarehouse, 15); + SELECT LAST_INSERT_ID() INTO vTravel; + END IF; + + -- creamos la Entrada si es necesario + IF NOT vEntry THEN + INSERT INTO Entradas (Id_Proveedor, travel_id) + VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' + SELECT LAST_INSERT_ID() INTO vEntry; + END IF; + + -- creamos el cubo si es necesario + SELECT Id_Cubo INTO vBucket FROM Cubos WHERE Volumen = vVolume LIMIT 1; + IF vBucket IS NULL THEN + INSERT INTO Cubos (Id_Cubo, Volumen) + VALUES (CONCAT('dm',vVolume/1000), vVolume); + SELECT LAST_INSERT_ID() INTO vBucket; + END IF; + + INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, + Comisionfija, Tarifa2, Tarifa3) + SELECT vItem, + vAmount, + vEntry, + vBucket, + 1 Packing, + 1 grouping, + 0 caja, + SUM(m.Preu), + 0 Portefijo, + 0 Embalajefijo, + 0 Comisionfija, + SUM(m.Preu) + vGrossMargin Tarifa2, + SUM(m.Preu) + vGrossMargin Tarifa3 + FROM + Movimientos m + WHERE m.Id_Ticket = 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 `envios_masivos` */; +/*!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 `envios_masivos`(IN idTICKET INT, IN IdCONSIGNA_DESDE INT, IN IdCONSIGNA_HASTA INT) +BEGIN + +-- Se trata de clonar el ticket semilla para todos los consignatarios del rango, con los movimientos que contenga + +-- Insertamos los tickets + +INSERT INTO Tickets(Id_Consigna, Id_Cliente, warehouse_id, Fecha, Alias, Tipo, Id_Trabajador, empresa_id, Id_Agencia) +SELECT c.Id_Consigna, t.Id_Cliente, t.warehouse_id, t.Fecha, c.Consignatario, t.Tipo, t.Id_Trabajador, t.empresa_id, t.Id_Agencia +FROM Tickets t +JOIN Consignatarios c +WHERE Id_Ticket = idTICKET +AND c.Id_Consigna BETWEEN IdCONSIGNA_DESDE AND IdCONSIGNA_HASTA; + + +-- Insertamos los movimientos + +INSERT INTO Movimientos(Id_Article, Concepte, Cantidad, Preu, PrecioFijado, Id_Ticket) +SELECT Id_Article, Concepte, Cantidad, Preu, TRUE , t.Id_Ticket +FROM Tickets t +JOIN Movimientos m +WHERE m.Id_Ticket = idTICKET +AND t.Id_Consigna BETWEEN IdCONSIGNA_DESDE AND IdCONSIGNA_HASTA; + + +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 `etiqueta_sambori` */; +/*!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 `etiqueta_sambori`(IN lngEXPEDITION BIGINT, IN intMODE INT, IN intH INT, IN intFILAS INT) +BEGIN + +DECLARE intCOLUMNAS INT; +DECLARE intBULTOS INT; +DECLARE intDESCARGAS INT; +DECLARE intRUTA INT; +DECLARE intPOSICIONES INT; + + + +SELECT Id_Ruta INTO intRUTA +FROM Tickets t +JOIN expeditions e on e.ticket_id = t.Id_Ticket +WHERE e.expeditions_id = lngEXPEDITION; + + +SELECT sum(Bultos) , count(*) , CEIL(SUM(CEIL(Bultos / intH)) / intFILAS), SUM(CEIL(Bultos / intH)) + INTO intBULTOS,intDESCARGAS, intCOLUMNAS, intPOSICIONES +from +( +SELECT Id_Consigna, sum(Bultos) Bultos +FROM Tickets +WHERE Id_Ruta = intRUTA +group by Id_Consigna +) sub; + + + + +IF intMODE <> 2 THEN + + SELECT + CONCAT( IF(posicion_min MOD intFILAS = 0, intFILAS, posicion_min MOD intFILAS) + , MID(' BCDEFG',CEIL(posicion_min /intFILAS),1) + , IF(posicion_min = posicion_max,'',' - ') + , IF(posicion_min = posicion_max,'',IF(posicion_max MOD intFILAS = 0, intFILAS, posicion_max MOD intFILAS)) + , IF(posicion_min = posicion_max,'',MID(' BCDEFG',CEIL(posicion_max /intFILAS),1)) + + ) sambori, + t.Prioridad, + t.Id_Consigna, + CONCAT(e.counter, ' / ', t.Bultos) count_bultos, + e.expeditions_id, + zone, + Matricula Vehiculo, + trab.CodigoTrabajador Chofer, + Rutas.Id_Ruta, + RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR, + t.Bultos TotalBultos, + RIGHT(e.expeditions_id,3) expeditions_IDSTR + FROM + expeditions e + JOIN + Tickets t ON e.ticket_id = t.Id_Ticket + JOIN + ( + select Prioridad, cast(@s - 1 as decimal(3,0)) as posicion_max, @s:= cast(@s - ubicaciones as decimal(3,0)) as posicion_min + from + ( + select t.Prioridad, sum(t.Bultos) as bultos, CEIL(sum(t.bultos) / intH) as ubicaciones, @s := intPOSICIONES + 1 + from Tickets t + where Id_Ruta = intRUTA + group by Prioridad) sub + + ) posiciones on posiciones.Prioridad = t.Prioridad + + JOIN + Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna + JOIN + province p USING (province_id) + JOIN + Rutas ON t.Id_Ruta = Rutas.Id_Ruta + left JOIN + Vehiculos veh USING (Id_vehiculo) + left JOIN + Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador + WHERE + expeditions_id = lngEXPEDITION; +ELSE + + + SELECT + CEIL((SUM(IF(t.Prioridad > t1.Prioridad, + t1.Bultos, + 0)) + e.Counter) / CEIL(SUM(t1.Bultos) / 13)) sambori, + t.Prioridad, + t.Id_Consigna, + CONCAT(e.counter, ' / ', t.Bultos) count_bultos, + e.expeditions_id, + zone, + Matricula Vehiculo, + trab.CodigoTrabajador Chofer, + Rutas.Id_Ruta, + RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR, + t.Bultos TotalBultos, + RIGHT(e.expeditions_id,3) expeditions_IDSTR + FROM + expeditions e + JOIN + Tickets t ON e.ticket_id = t.Id_Ticket + JOIN + Tickets t1 ON t.Id_Ruta = t1.Id_Ruta + JOIN + Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna + JOIN + province p USING (province_id) + JOIN + Rutas ON t1.Id_Ruta = Rutas.Id_Ruta + LEFT JOIN + Vehiculos veh USING (Id_vehiculo) + LEFT JOIN + Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador + WHERE + expeditions_id = lngEXPEDITION; +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 `etiqueta_sambori_2` */; +/*!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 `etiqueta_sambori_2`(IN lngEXPEDITION BIGINT, IN intMODE INT, IN intH INT, IN intFILAS INT) +BEGIN + +DECLARE intCOLUMNAS INT; +DECLARE intBULTOS INT; +DECLARE intDESCARGAS INT; +DECLARE intRUTA INT; +DECLARE intPOSICIONES INT; + + + +SELECT Id_Ruta INTO intRUTA +FROM Tickets t +JOIN expeditions e on e.ticket_id = t.Id_Ticket +WHERE e.expeditions_id = lngEXPEDITION; + + +SELECT sum(Bultos) , count(*) , CEIL(SUM(CEIL(Bultos / intH)) / intFILAS), SUM(CEIL(Bultos / intH)) + INTO intBULTOS,intDESCARGAS, intCOLUMNAS, intPOSICIONES +from +( +SELECT Id_Consigna, sum(Bultos) Bultos +FROM Tickets +WHERE Id_Ruta = intRUTA +group by Id_Consigna +) sub; + + + + +IF intMODE <> 2 THEN + + SELECT + CONCAT( IF(posicion_min MOD intFILAS = 0, intFILAS, posicion_min MOD intFILAS) + , MID(' BCDEFG',CEIL(posicion_min /intFILAS),1) + , IF(posicion_min = posicion_max,'',' - ') + , IF(posicion_min = posicion_max,'',IF(posicion_max MOD intFILAS = 0, intFILAS, posicion_max MOD intFILAS)) + , IF(posicion_min = posicion_max,'',MID(' BCDEFG',CEIL(posicion_max /intFILAS),1)) + + ) sambori, + t.Prioridad, + t.Id_Consigna, + CONCAT(e.counter, ' / ', t.Bultos) count_bultos, + e.expeditions_id, + zone, + Matricula Vehiculo, + trab.CodigoTrabajador Chofer, + Rutas.Id_Ruta, + RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR + FROM + expeditions e + JOIN + Tickets t ON e.ticket_id = t.Id_Ticket + JOIN + ( + select Prioridad, cast(@s - 1 as decimal(3,0)) as posicion_max, @s:= cast(@s - ubicaciones as decimal(3,0)) as posicion_min + from + ( + select t.Prioridad, sum(t.Bultos) as bultos, CEIL(sum(t.bultos) / intH) as ubicaciones, @s := intPOSICIONES + 1 + from Tickets t + where Id_Ruta = intRUTA + group by Prioridad) sub + + ) posiciones on posiciones.Prioridad = t.Prioridad + + JOIN + Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna + JOIN + province p USING (province_id) + JOIN + Rutas ON t.Id_Ruta = Rutas.Id_Ruta + left JOIN + Vehiculos veh USING (Id_vehiculo) + left JOIN + Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador + WHERE + expeditions_id = lngEXPEDITION; +ELSE + + + SELECT + CEIL((SUM(IF(t.Prioridad > t1.Prioridad, + t1.Bultos, + 0)) + e.Counter) / CEIL(SUM(t1.Bultos) / 13)) sambori, + t.Prioridad, + t.Id_Consigna, + CONCAT(e.counter, ' / ', t.Bultos) count_bultos, + e.expeditions_id, + zone, + Matricula Vehiculo, + trab.CodigoTrabajador Chofer, + Rutas.Id_Ruta, + RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR + FROM + expeditions e + JOIN + Tickets t ON e.ticket_id = t.Id_Ticket + JOIN + Tickets t1 ON t.Id_Ruta = t1.Id_Ruta + JOIN + Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna + JOIN + province p USING (province_id) + JOIN + Rutas ON t1.Id_Ruta = Rutas.Id_Ruta + LEFT JOIN + Vehiculos veh USING (Id_vehiculo) + LEFT JOIN + Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador + WHERE + expeditions_id = lngEXPEDITION; +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 `eti_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 `eti_list`(IN wh_in INT) +BEGIN + +SELECT warehouse.name AS Alm_Origen + , travel.shipment + , travel.shipment_hour AS ETD + , warehouse_1.name AS Alm_Destino + , travel.landing + ,travel.landing_hour AS ETA + , awb.codigo AS awb + , Entradas.Id_Entrada + , Sum(Compres.Etiquetas) AS bultos + , Agencias.Agencia + , producer.name AS producer + , Proveedores.Proveedor + , Sum(Compres.Vida) AS Impresas + , producer.producer_id + , IFNULL((Entradas.Confirmada AND length(Entradas.Notas) > 0),0) as Ready_to_print + FROM Compres + INNER JOIN Entradas ON Entradas.Id_Entrada = Compres.Id_Entrada + INNER JOIN travel ON Entradas.travel_id = travel.id + INNER JOIN warehouse AS warehouse_1 ON warehouse_1.id = travel.warehouse_id + INNER JOIN warehouse ON warehouse.id = travel.warehouse_id_out + INNER JOIN Agencias ON Agencias.Id_Agencia = travel.agency_id + LEFT JOIN recibida_entrada ON Entradas.Id_Entrada = recibida_entrada.Id_Entrada + LEFT JOIN awb_recibida ON recibida_entrada.awb_recibida = awb_recibida.recibida_id + LEFT JOIN awb ON awb_recibida.awb_id = awb.id + INNER JOIN Articles ON Compres.Id_Article = Articles.Id_Article + LEFT JOIN producer ON Articles.producer_id = producer.producer_id + INNER JOIN Proveedores ON Entradas.Id_Proveedor = Proveedores.Id_Proveedor + + + WHERE wh_in IN (travel.warehouse_id_out, travel.warehouse_id) + AND travel.landing Between TIMESTAMPADD(DAY,-7,CURDATE()) and TIMESTAMPADD(DAY,14,CURDATE()) + GROUP BY warehouse.name, travel.shipment, travel.shipment_hour + , warehouse_1.name, travel.landing, travel.landing_hour + , awb.codigo, Entradas.Id_Entrada, Agencias.Agencia + , producer.name, Proveedores.Proveedor + ORDER BY travel.landing DESC; + +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 `eti_to_print` */; +/*!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 `eti_to_print`(IN idENTRADA INT, IN idPRODUCER INT) +BEGIN + +select Vida as Impresas + ,Etiquetas as bultos + ,Packing + ,Id_Article + ,CONCAT(Article,' ',Medida,' ', Categoria) as Articat + ,p.name as marca + ,Proveedor + ,Id_Entrada + ,Id_Compra +from Compres c +join Entradas e using(Id_Entrada) +join Proveedores using(Id_Proveedor) +join travel tr on tr.id = e.travel_id +join Articles a using(Id_Article) +left join producer p using(producer_id) +where Id_Entrada = idENTRADA + and idPRODUCER in (0,a.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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `f10_no_vincular` */; +/*!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 `f10_no_vincular`(lngEntrada INTEGER) + DETERMINISTIC +BEGIN + DECLARE datFecha DATE DEFAULT CURDATE(); + +-- Modifica el NoVincular si hay dos entradas con el mismo Packing y el mismo Id_Articulo + DROP TEMPORARY TABLE IF EXISTS f10_no_vincular_; + CREATE TEMPORARY TABLE IF NOT EXISTS f10_no_vincular_ + SELECT c.Id_Entrada,c.Id_Compra,c.Id_Article, c.Novincular, c.Packing, be.pri + FROM Compres c + JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha + LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = c.Id_Entrada + WHERE + ((ek.Id_Entrada IS NOT NULL AND ek.sub IS NULL) + OR (c.Id_Entrada = 9200 AND be.ok <> FALSE) + OR c.Id_Entrada = lngEntrada) AND Id_Article <> 90; + + -- Modifica el NoVincular si hay dos entradas con el mismo Packing y el mismo Id_Articulo + DROP TEMPORARY TABLE IF EXISTS f10_mismo_Packing; + CREATE TEMPORARY TABLE IF NOT EXISTS f10_mismo_Packing + SELECT * FROM ( + SELECT * FROM f10_no_vincular_ + ORDER BY pri DESC) t + GROUP BY Id_Article,Packing + HAVING count(Id_Compra) > 1 AND BIT_OR(Id_Entrada = 9200); + + UPDATE Compres c + JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha + JOIN f10_mismo_Packing f ON f.Id_Article = c.Id_Article AND c.Packing = f.Packing + LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = f.Id_Entrada + SET c.Novincular = IF(c.Id_Compra = f.Id_Compra,0,1) + WHERE + ((ek.Id_Entrada IS NOT NULL AND ek.sub IS NULL) + OR (c.Id_Entrada = 9200 AND be.ok <> FALSE) + OR c.Id_Entrada = lngEntrada); + +-- Modifica el Id_Articulo si hay dos entradas con packing y el mismo Id_Articulo + DROP TEMPORARY TABLE IF EXISTS f10_mismo_Articulo; + CREATE TEMPORARY TABLE IF NOT EXISTS f10_mismo_Articulo + SELECT Id_Article FROM ( + SELECT * FROM ( + SELECT * FROM f10_no_vincular_ + ORDER BY Id_Entrada = 9200 DESC) t + GROUP BY Id_Article,Packing ) t + GROUP BY Id_Article HAVING COUNT(*) > 1 AND BIT_OR(Id_Entrada = 9200); + SELECT 4; + UPDATE Compres c + JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha + JOIN f10_mismo_Articulo f ON f.Id_Article = c.Id_Article + LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = c.Id_Entrada + SET c.Id_Article = 90 + WHERE c.Id_Entrada = 9200 AND be.ok <> FALSE; + + DROP TEMPORARY TABLE IF EXISTS f10_no_vincular_; + DROP TEMPORARY TABLE IF EXISTS f10_mismo_Packing; + DROP TEMPORARY TABLE IF EXISTS f10_mismo_Articulo; +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 `F5` */; +/*!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 `F5`(IN idT BIGINT) +BEGIN +SELECT C.calidad, + LEFT(Article, 4) as Subtipo, + barcode, + 'ASEGURADO' AS asegurado, +/*CASE A.tipo_id +WHEN 75 THEN IF(M.Id_Article IN (120,2388,20100,16,10,130,104851,1,56,238,104850,104849,2),'RAMAJE',R.Reino) +WHEN 68 THEN IF(M.Id_Article IN (11539,10,14),'RAMAJE',R.Reino) +WHEN 69 THEN IF(M.Id_Article IN (41),'RAMAJE',R.Reino) +WHEN 72 THEN IF(M.Id_Article IN (238),'RAMAJE',R.Reino) +WHEN 2 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 122 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 12 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 13 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 14 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 15 THEN 'CYMBIDIUMS & ANTHURIUMS' +WHEN 71 THEN IF(LEFT(Article,2) = 'HC','Flor',R.Reino) +WHEN 19 THEN IF(LEFT(Article,3) IN ('HEL','GIN'),'CYMBIDIUMS & ANTHURIUMS',R.Reino) +WHEN 70 THEN IF(Article like '%red beauty%' or Article like '%clarinervium%','CYMBIDIUMS & ANTHURIUMS',R.Reino) +WHEN 86 THEN 'Flor' +ELSE R.Reino +END as*/ Reino, + /* +CASE A.tipo_id +WHEN 75 THEN IF(M.Id_Article IN (120,2388,20100,16,10,130,104851,1,56,238,104850,104849,2),-1,R.orden) +WHEN 68 THEN IF(M.Id_Article IN (11539,10,14),-1,R.orden) +WHEN 69 THEN IF(M.Id_Article IN (41),-1,R.orden) +WHEN 72 THEN IF(M.Id_Article IN (238),-1,R.orden) +WHEN 2 THEN 0 +WHEN 122 THEN 0 +WHEN 12 THEN 0 +WHEN 13 THEN 0 +WHEN 14 THEN 0 +WHEN 15 THEN 0 +WHEN 71 THEN IF(LEFT(Article,2) = 'HC',1,R.orden) +WHEN 19 THEN IF(LEFT(Article,3) IN ('HEL','GIN'),0,R.orden) +WHEN 70 THEN IF(Article like '%red beauty%' or Article like '%clarinervium%',0,R.orden) +WHEN 86 THEN 1 +ELSE R.orden +END as*/ R.orden, + CS.Consignatario, + T.Id_Cliente, + T.Id_Trabajador, + T.Id_Ticket, + T.Fecha, + M.Id_Article, + M.Cantidad, + M.quantity, + M.Cantidad / IF(nz(Gro.Grouping) = 0,1,nz(Gro.Grouping)) as Paquetes, + M.Concepte, + A.Medida, + A.Color, + A.Categoria, + O.Abreviatura as Origen, + T.Localizacion, + CT.CodigoTrabajador as Vendedor, + T.Bultos, + T.Observaciones, + Ag.Agencia Tipo, + TR.CodigoTrabajador, + /*0 Seguro,*/ + M.OK, + M.Reservado, + A.Tallos, + Gro.Grouping, + IF(`transaction`,right(concat('000000' ,M.Id_Article),6),M.Id_Movimiento) Id_Movimiento, + an.Nicho, + 'PEDIDO ASEGURADO' AS MSG, + T.Id_Ruta, + RT.Id_Vehiculo, + observation_type_id, + group_concat(IF(observation_type_id = 1,text,'') SEPARATOR '') 'sacador', + group_concat(IF(observation_type_id = 2,text,'') SEPARATOR '') 'encajador', + A.Foto, + M.Id_Movimiento movement_id, + lpad(ifnull(cooler_path_detail_id, an.Nicho),5,'0') as path, + M.Descuento,M.Preu, mm.valor as Preparado, mm.original_quantity + , p.`name` producer, T.warehouse_id, CS.POBLACION -- JGF 2016-02-16 +FROM + + Tickets T + LEFT JOIN Movimientos M USING(Id_Ticket) + LEFT JOIN Articles A on A.Id_Article = M.Id_Article + LEFT JOIN Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = T.warehouse_id + LEFT JOIN producer p on p.producer_id = A.producer_id -- JGF 2016-02-16 + LEFT JOIN cooler_path_detail c on left(an.Nicho,3) = pasillo + LEFT JOIN Origen O ON A.id_origen = O.id + LEFT JOIN Clientes C USING(Id_Cliente) + LEFT JOIN Trabajadores CT ON C.Id_Trabajador = CT.Id_Trabajador + LEFT JOIN Trabajadores TR ON TR.Id_Trabajador = T.Id_Trabajador + INNER JOIN Consignatarios CS ON T.Id_Consigna = CS.Id_Consigna + INNER JOIN Agencias Ag ON Ag.Id_Agencia = T.Id_Agencia + LEFT JOIN ( + SELECT Id_Article, code as barcode + FROM barcodes + GROUP BY Id_Article + ) BC ON BC.Id_Article = A.Id_Article + LEFT JOIN Tipos TP USING(tipo_id) + LEFT JOIN reinos R ON TP.reino_id = R.id + LEFT JOIN Rutas RT USING(Id_Ruta) + LEFT JOIN ticket_observation tobs ON T.Id_Ticket = tobs.Id_ticket + AND (tobs.observation_type_id = 1 or tobs.observation_type_id = 2) + + LEFT JOIN ( + SELECT Id_Article, Grouping + FROM ( + SELECT landing, Id_Article, CASE caja + WHEN 0 THEN 1 + WHEN 2 THEN Packing + ELSE Grouping + END as Grouping + FROM Compres C + JOIN Entradas E USING(Id_Entrada) + JOIN travel TR ON TR.id = travel_id + WHERE warehouse_id = (SELECT warehouse_id FROM Tickets WHERE Id_Ticket = idT) + AND landing between (SELECT FechaInventario FROM tblContadores LIMIT 1) AND (SELECT date(Fecha) FROM Tickets WHERE Id_Ticket = idT) + ORDER BY landing DESC + ) GR1 + GROUP BY Id_Article + + ) Gro ON Gro.Id_Article = M.Id_Article + LEFT JOIN Movimientos_mark mm ON mm.Id_Movimiento = M.Id_Movimiento + + WHERE T.Id_Ticket = idT group by M.Id_Movimiento; +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 `F5_entrada` */; +/*!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 `F5_entrada`(IN idE BIGINT) +BEGIN + + +SELECT + NULL AS Sacador, + NULL AS Encajador, + v.Cantidad / v.Packing AS Paquetes, + v.Packing AS Grouping, + barcode, + 'ASEGURADO' AS asegurado, + reino, + r.orden, + Alias AS Consignatario, + v.Id_Proveedor AS Id_Cliente, + v.Pedida, + v.Confirmada, + NULL AS vendedor, + 10 AS Calidad, + LPAD(IFNULL(cooler_path_detail_id, an.Nicho), + 5, + '0') AS path, + TB.Id_Trabajador, + v.Id_Entrada AS Id_Ticket, + landing AS Fecha, + v.Id_Article, + v.Cantidad, + v.article AS Concepte, + v.Medida, + v.Color, + v.Categoria, + Abreviatura AS Origen, + NULL AS Localizacion, + 0 AS Bultos, + w.`name` AS Tipo, + CodigoTrabajador, + 0 AS OK, + 0 AS Reservado, + v.Tallos, + v.Id_Compra AS Id_Movimiento, + an.Nicho, + 'PEDIDO ASEGURADO' AS MSG, + 0 AS Seguro, + 0 AS Id_Ruta, + 0 AS Id_Vehiculo, + a.Foto, + pr.name as producer +FROM + v_compres v + LEFT JOIN + Articles_nicho an ON v.Id_Article = an.Id_Article AND an.warehouse_id = v.warehouse_id_out + JOIN + warehouse w ON w.id = v.warehouse_id + LEFT JOIN + Tipos USING (tipo_id) + LEFT JOIN + reinos r ON r.id = Tipos.reino_id + LEFT JOIN + Trabajadores TB ON TB.Id_Trabajador = v.Id_Trabajador + LEFT JOIN + Proveedores p ON p.Id_Proveedor = v.Id_Proveedor + LEFT JOIN + (SELECT + Id_Article, code AS barcode + FROM + barcodes + GROUP BY Id_Article) BC ON BC.Id_Article = v.Id_Article + LEFT JOIN + Articles a ON a.Id_Article = v.Id_Article + LEFT JOIN + producer pr on pr.producer_id = a.producer_id + LEFT JOIN + cooler_path_detail c ON LEFT(v.Nicho, 3) = pasillo + LEFT JOIN + Origen o ON o.id = v.Id_origen +WHERE + v.Id_Entrada = idE + AND v.tipo_id IS NOT NULL + AND v.reino_id <> 8 + ; + +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 `F5_entradakk` */; +/*!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 `F5_entradakk`(IN idE BIGINT) +BEGIN + + +SELECT + NULL AS Sacador, + NULL AS Encajador, + v.Cantidad / v.Packing AS Paquetes, + v.Packing AS Grouping, + barcode, + 'ASEGURADO' AS asegurado, + reino, + r.orden, + Alias AS Consignatario, + v.Id_Proveedor AS Id_Cliente, + v.Pedida, + v.Confirmada, + NULL AS vendedor, + 10 AS Calidad, + LPAD(IFNULL(cooler_path_detail_id, an.Nicho), + 5, + '0') AS path, + TB.Id_Trabajador, + v.Id_Entrada AS Id_Ticket, + landing AS Fecha, + v.Id_Article, + v.Cantidad, + v.article AS Concepte, + v.Medida, + v.Color, + v.Categoria, + Abreviatura AS Origen, + NULL AS Localizacion, + 0 AS Bultos, + w.`name` AS Tipo, + CodigoTrabajador, + 0 AS OK, + 0 AS Reservado, + v.Tallos, + v.Id_Compra AS Id_Movimiento, + an.Nicho, + 'PEDIDO ASEGURADO' AS MSG, + 0 AS Seguro, + 0 AS Id_Ruta, + 0 AS Id_Vehiculo, + a.Foto, + pr.name as producer +FROM + v_compres v + LEFT JOIN + Articles_nicho an ON v.Id_Article = an.Id_Article AND an.warehouse_id = v.warehouse_id_out + JOIN + warehouse w ON w.id = v.warehouse_id + LEFT JOIN + Tipos USING (tipo_id) + LEFT JOIN + reinos r ON r.id = Tipos.reino_id + LEFT JOIN + Trabajadores TB ON TB.Id_Trabajador = v.Id_Trabajador + LEFT JOIN + Proveedores p ON p.Id_Proveedor = v.Id_Proveedor + LEFT JOIN + (SELECT + Id_Article, code AS barcode + FROM + barcodes + GROUP BY Id_Article) BC ON BC.Id_Article = v.Id_Article + LEFT JOIN + Articles a ON a.Id_Article = v.Id_Article + LEFT JOIN + producer pr on pr.producer_id = a.producer_id + LEFT JOIN + cooler_path_detail c ON LEFT(v.Nicho, 3) = pasillo + LEFT JOIN + Origen o ON o.id = v.Id_origen +WHERE + v.Id_Entrada = idE + AND v.tipo_id IS NOT NULL + AND v.tipo_id <> 77 + ; + +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 `Facturas_Saltos` */; +/*!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 `Facturas_Saltos`(IN datSTART DATE , IN datEND DATE) +BEGIN + + +DECLARE strSER1 VARCHAR(2); +DECLARE strSER2 VARCHAR(2); +DECLARE intEMP1 INT; +DECLARE intEMP2 INT; +DECLARE v_done BOOLEAN DEFAULT FALSE; +DECLARE strFAC1 VARCHAR(11); +DECLARE strFAC2 VARCHAR(11); + + +DECLARE rs CURSOR FOR + SELECT Id_Factura, empresa_id, Serie + FROM Facturas + WHERE Fecha BETWEEN datSTART AND datEND + ORDER BY empresa_id, Serie, Id_Factura; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; + +OPEN rs; + +DROP TEMPORARY TABLE IF EXISTS Facturas_Saltarinas; + +CREATE TEMPORARY TABLE Facturas_Saltarinas +(Factura_Inicial VARCHAR(11), + Factura_Final VARCHAR(11), + Empresa VARCHAR(3), + Serie VARCHAR(1)); + +FETCH rs INTO strFAC1, intEMP1, strSER1; + +IF NOT v_done THEN + + FETCH rs INTO strFAC2, intEMP2, strSER2; + +END IF; + +WHILE NOT v_done DO + + IF strSER1 = strSER2 AND intEMP1 = intEMP2 AND right(strFAC2,5) - right(strFAC1,5) > 1 then + + INSERT INTO Facturas_Saltarinas(Factura_Inicial, Factura_Final, Empresa, Serie) + SELECT strFAC1, strFAC2, abbreviation, strSER1 + FROM empresa + WHERE id = intEMP1; + + END IF; + + SET strFAC1 = strFAC2; + SET intEMP1 = intEMP2; + SET STRSER1 = strSER2; + + FETCH rs INTO strFAC2, intEMP2, strSER2; + +END WHILE; + +SELECT * FROM Facturas_Saltarinas; + +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 `Factura_vuelve` */; +/*!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 `Factura_vuelve`(IN strFactura VARCHAR(10), IN intCLI INT ) +BEGIN + +DECLARE dblIMPORTE DOUBLE; +DECLARE datFEC DATE; +DECLARE intEMP INT; +DECLARE intCLI_OLD INT; + +/*Este procedure no funcionara correctament perque el strFactura ha de fer referencia al factura_id*/ +SELECT Importe, Fecha, empresa_id, Id_Cliente +INTO dblIMPORTE, datFEC, intEMP, intCLI_OLD +FROM Facturas WHERE Id_Factura = strFactura; + +-- Cambia la empresa de la factura + +UPDATE Facturas SET empresa_id = 965, Id_Cliente = intCLI WHERE Id_Factura = strFactura; + +-- Cambia la empresa de los tickets + +UPDATE Tickets SET empresa_id = 965, Id_Cliente = intCLI WHERE Factura = strFactura; + + +-- Descuenta la cantidad del cliente antiguo + +INSERT INTO Recibos(Id_Factura + ,Entregado + ,Fechacobro + ,Id_Trabajador + ,Id_Banco + ,Id_Cliente + ,empresa_id) + +VALUES (strFactura + ,-1 * dblIMPORTE + ,datFEC + ,2 + ,430 + ,intCLI_OLD + ,intEMP); + +-- Carga el cobro en la cuenta del nuevo cliente + +INSERT INTO Recibos(Id_Factura + ,Entregado + ,Fechacobro + ,Id_Trabajador + ,Id_Banco + ,Id_Cliente + ,empresa_id) + +VALUES (strFactura + ,dblIMPORTE + ,datFEC + ,2 + ,430 + ,intCLI + ,965); + + + + +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 `fv_to_pcakk` */; +/*!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 `fv_to_pcakk`() +BEGIN + +DECLARE idT INT; + +DECLARE idC INT; +DECLARE newFEC DATE; +DECLARE idEMP INT; +DECLARE idCON INT; +DECLARE intTIPO INT; +DECLARE newTICKET INT; +DECLARE newLANDING DATE; + +SELECT DISTINCT Id_Ticket INTO idT +FROM Movimientos m +JOIN Tickets t using(Id_Ticket) +JOIN Articles a using(Id_Article) +WHERE tipo_id = 19 AND Article like 'HEL %' +AND Fecha between '2015-10-22' and '2015-10-31' +AND warehouse_id =1 LIMIT 1; + +WHILE idT IS NOT NULL DO + + SELECT Id_Cliente,Fecha,empresa_id,Id_Consigna,Id_Agencia , landing + INTO idC , newFEC, idEMP , idCON , intTIPO , newLANDING + FROM Tickets + WHERE Id_Ticket = idT; + + CALL `ticket_new_complet`(idC ,newFEC, 44, 20, idEMP , idCON , intTIPO , NULL , newTICKET); + + UPDATE Movimientos + JOIN Articles a using(Id_Article) + SET Id_Ticket = newTICKET + WHERE tipo_id = 19 AND Article like 'HEL %' + AND Id_Ticket = idT; + + INSERT INTO order_Tickets (Id_Ticket, order_id) + SELECT newTICKET, order_id + FROM order_Tickets + WHERE Id_Ticket = idT; + + UPDATE Tickets + SET landing = newLANDING + WHERE Id_Ticket = newTICKET; + +SET idT = NULL; + +SELECT DISTINCT Id_Ticket INTO idT +FROM Movimientos m +JOIN Tickets t using(Id_Ticket) +JOIN Articles a using(Id_Article) +WHERE tipo_id = 19 AND Article like 'HEL %' +AND Fecha between '2015-10-22' and '2015-10-31' +AND warehouse_id =1 LIMIT 1; + +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 `gescartera_Estados` */; +/*!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 `gescartera_Estados`(IN intAno INT,IN intMes INT,IN intDiasPerdidos INT) +BEGIN +DECLARE intCLI,intCLI2 INT DEFAULT 0; +DECLARE datFEC,datFEC2,auxdatFEC DATE DEFAULT '2001-01-01'; +DECLARE lngTIC, lngTIC2 BIGINT DEFAULT 0; +DECLARE intDiferencia INT DEFAULT 0; # Variable donde se colocará la diferencia de días entre dos fechas. +DECLARE done,EsPerdido bit DEFAULT 0; +DECLARE intEstado TINYINT(2) DEFAULT 0; +DECLARE intNuevo INT DEFAULT 1; +DECLARE intPerdido INT DEFAULT 2; +DECLARE intRecuperado INT DEFAULT 3; + + +# Añado una fecha de fin para que no tenga en cuenta los tickets del futuro. (and Fecha<=current_date()) +/* +DECLARE cursor1 CURSOR FOR SELECT Id_Ticket,ti.Id_Cliente,date_format(Fecha,'%Y-%m-%d') AS FormatoFecha +FROM vn2008.Tickets ti +WHERE DATE_FORMAT(Fecha,'%Y-%m-%d')>CAST(CONCAT(YEAR(CURDATE())-2,'-','01-01')AS DATE) +AND DATE_FORMAT(Fecha,'%Y-%m-%d')<=LAST_DAY(CAST(CONCAT(intAno, '-' , intMes,'-',01) AS DATE)) +ORDER BY ti.Id_Cliente,Fecha; +*/ +DECLARE cursor1 CURSOR FOR SELECT Id_Ticket,fac.Id_Cliente,date_format(Fecha,'%Y-%m-%d') AS FormatoFecha +FROM Facturas fac +JOIN (SELECT Id_Ticket,Id_Cliente,Factura from Tickets ti where Factura is not null order by Fecha DESC,Id_Ticket DESC) sub1 +on fac.Id_Factura=sub1.Factura +WHERE DATE_FORMAT(Fecha,'%Y-%m-%d')>CAST(CONCAT(YEAR(CURDATE())-2,'-','01-01')AS DATE) +AND DATE_FORMAT(Fecha,'%Y-%m-%d')<=LAST_DAY(CAST(CONCAT(intAno, '-' , intMes,'-',01) AS DATE)) +group by Id_Cliente,Fecha +order by sub1.Id_Cliente,FormatoFecha; + +DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; +DECLARE CONTINUE HANDLER FOR 1146 +BEGIN + +DROP TEMPORARY TABLE IF EXISTS GC; + +CREATE TEMPORARY TABLE GC (Id_Ticket BIGINT,Fecha DATE,Id_Cliente int,Estado SMALLINT) ENGINE=MEMORY; + +OPEN cursor1; + FETCH cursor1 INTO lngtIC,intCLI,datFEC; + # el primero registro es un cliente nuevo. + INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES(lngtIC,datFEC, intCLI,intNuevo); + SET auxdatFEC=datFEC; + + WHILE NOT DONE DO + FETCH cursor1 INTO lngtIC2,intCLI2,datFEC2; + CASE + WHEN DONE THEN SET intDiferencia=DATEDIFF(CURRENT_DATE,datFEC2); + WHEN intCLI=intCLI2 THEN + SET intDiferencia=DATEDIFF(datFEC2,datFEC); + IF ((intEstado=2)) THEN -- es recuperado despues de haberse perdido + INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intRecuperado); # RECUPERADO + SET intEstado=1; + SET auxdatFEC=datFEC2; + ELSE + IF (intDiferencia >= intDiasPerdidos) THEN + -- IF (DATE_FORMAT(datFEC2,'%Y-%m')<>DATE_FORMAT(DATE_ADD(datFEC,INTERVAL intDiasPerdidos DAY),'%Y-%m')) AND (intEstado<2) THEN + INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (0,DATE_ADD(auxdatFEC,INTERVAL intDiasPerdidos DAY), intCLI,intPerdido); + INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intRecuperado); # RECUPERADO + SET intEstado=1,auxdatFEC=datFEC2; + -- ELSE + -- INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intPerdido); # PERDIDO + -- SET intEstado=2; # Lo marcamos como perdido + -- END IF; + + END IF; + END IF; + WHEN intCLI<>intCLI2 THEN + SET intEstado=0; + SET intDiferencia=DATEDIFF(CURRENT_DATE,datFEC); + INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES(lngtIC2,datFEC2, intCLI2,intNuevo); # NUEVO + SET auxdatFEC=datFEC2; + END CASE; + SET datFEC=datFEC2; + SET intCLI=intCLI2; + SET lngTIC = lngTIC2,auxdatFEC=datFEC2; + + END WHILE; + + CLOSE cursor1; + + + # inserto los registros de clientes sin ticket (Estado 4) + INSERT GC + SELECT 0,'2000-01-01',Id_Cliente,4 + FROM vn2008.Clientes + WHERE Id_Cliente NOT IN + (select distinct Id_Cliente + FROM vn2008.Tickets order by id_cliente); + + SELECT Id_Ticket, Fecha, Id_Cliente, CASE ESTADO + WHEN 1 THEN 'NUEVO' + WHEN 2 THEN 'PERDIDO' + WHEN 3 THEN 'RECUPERADO' + ELSE 'SIN TICKET' END AS Estado,CodigoTrabajador + FROM GC + INNER JOIN vn2008.Clientes cli USING (Id_Cliente) + INNER JOIN vn2008.Trabajadores trab USING (Id_Trabajador); + +END; + + IF EXISTS (SELECT * FROM GC LIMIT 1) THEN + + SELECT Id_Ticket, Fecha, Id_Cliente, CASE ESTADO + WHEN 1 THEN 'NUEVO' + WHEN 2 THEN 'PERDIDO' + WHEN 3 THEN 'RECUPERADO' + ELSE 'SIN TICKET' END AS Estado,CodigoTrabajador + FROM GC + INNER JOIN vn2008.Clientes cli USING (Id_Cliente) + INNER JOIN vn2008.Trabajadores trab USING (Id_Trabajador); + + 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 `get_barcodes_ticket` */; +/*!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 `get_barcodes_ticket`(IN idT BIGINT) +BEGIN + + drop temporary TABLE IF EXISTS articles_ticket; + CREATE TEMPORARY TABLE IF NOT EXISTS articles_ticket + (PRIMARY KEY (Id_Article)) + ENGINE = MEMORY + select distinct Id_Article from Movimientos where Id_Ticket = idT; + + drop temporary TABLE IF EXISTS articles_ticket2; + CREATE TEMPORARY TABLE IF NOT EXISTS articles_ticket2 + (PRIMARY KEY (Id_Article)) + ENGINE = MEMORY + select * from articles_ticket; + + drop temporary TABLE IF EXISTS articles_buys; + CREATE TEMPORARY TABLE IF NOT EXISTS articles_buys AS + select Id_Compra, a.Id_Article from v_compres c JOIN articles_ticket a ON a.Id_Article = c.Id_Article + where landing >= DATE_SUB(CURDATE(), INTERVAL 14 DAY); + + SELECT distinct + code, a.Id_Article + FROM + barcodes b + inner join + articles_ticket a ON a.Id_Article = b.Id_Article + union + SELECT + Id_Compra as code, a.Id_Article + FROM + articles_buys c + inner join + articles_ticket2 a ON a.Id_Article = c.Id_Article; + + drop temporary TABLE IF EXISTS articles_ticket; + drop temporary TABLE IF EXISTS articles_ticket2; + drop temporary TABLE IF EXISTS articles_buys; +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 `historico` */; +/*!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 `historico`(IN idART INT, IN wh INT, IN v_virtual INT) +BEGIN +DECLARE datFEC DATETIME; + +SELECT Fechainventario INTO datFEC FROM tblContadores; +SET @a = 0; +SELECT DATE(Fecha) AS Fecha, + Entrada, + Salida, + OK, + Alias, + Referencia, + id, + @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, + F5, + v_virtual, + Calidad,CodigoTrabajador +FROM + + ( SELECT TR.landing as Fecha, + C.Cantidad as Entrada, + NULL as Salida, + (TR.received != FALSE) as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + WHERE TR.landing >= datFEC + AND wh IN (TR.warehouse_id , 0) + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT TR.shipment as Fecha, + NULL as Entrada, + C.Cantidad as Salida, + TR.delivered as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN warehouse ON warehouse.id = TR.warehouse_id_out + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + WHERE TR.shipment >= datFEC + AND wh IN (TR.warehouse_id_out,0) + AND Id_Proveedor <> 4 + AND C.Id_Article = idART + AND E.Inventario = 0 + AND fuente = 0 + + UNION ALL + + SELECT T.Fecha as Fecha, + NULL as Entrada, + M.Cantidad as Salida, + (IFNULL(ts.alertLevel,0) > 1 OR ok ) as OK, + T.Alias as Alias, + T.Localizacion as Referencia, + T.Id_Ticket as id, + FALSE EtiquetasEmitidas, + C.Calidad, tr.CodigoTrabajador + + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + LEFT JOIN vn.ticketState ts ON ts.ticket = T.Id_Ticket + JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente + LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador + WHERE T.Fecha >= datFEC + AND M.Id_Article = idART + AND wh IN (T.warehouse_id , 0) + + ) AS Historico +ORDER BY Fecha, OK DESC, Entrada DESC; + + +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 `historicokk` */; +/*!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 `historicokk`(IN idART INT, IN wh INT, IN v_virtual INT) +BEGIN +DECLARE datFEC DATETIME; + +SELECT Fechainventario INTO datFEC FROM tblContadores; +SET @a = 0; +SELECT DATE(Fecha) AS Fecha, + Entrada, + Salida, + OK, + Alias, + Referencia, + id, + @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, + F5, + v_virtual, + Calidad,CodigoTrabajador +FROM + + ( SELECT TR.landing as Fecha, + C.Cantidad as Entrada, + NULL as Salida, + (TR.received != FALSE) as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + WHERE TR.landing >= datFEC + AND wh IN (TR.warehouse_id , 0) + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT TR.shipment as Fecha, + NULL as Entrada, + C.Cantidad as Salida, + TR.delivered as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN warehouse ON warehouse.id = TR.warehouse_id_out + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + WHERE TR.shipment >= datFEC + AND wh IN (TR.warehouse_id_out,0) + AND Id_Proveedor <> 4 + AND C.Id_Article = idART + AND E.Inventario = 0 + AND fuente = 0 + + UNION ALL + + SELECT T.Fecha as Fecha, + NULL as Entrada, + M.Cantidad as Salida, + (IFNULL(ts.alertLevel,0) > 0) as OK, + T.Alias as Alias, + T.Localizacion as Referencia, + T.Id_Ticket as id, + T.PedidoImpreso EtiquetasEmitidas, + C.Calidad, tr.CodigoTrabajador + + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + LEFT JOIN vn.ticketState ts ON ts.ticket = T.Id_Ticket + JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente + LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador + WHERE T.Fecha >= datFEC + AND M.Id_Article = idART + AND wh IN (T.warehouse_id , 0) + + ) AS Historico +ORDER BY Fecha, OK DESC, Entrada DESC; + + +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 `historicoprecio` */; +/*!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 `historicoprecio`( id_art INT, id_wh INT,id_datestart DATE,id_dateend DATE) +BEGIN + + + SET @@max_sp_recursion_depth = 100 ; + DROP TEMPORARY TABLE IF EXISTS historicoprecio; + + CREATE TEMPORARY TABLE historicoprecio + ( + date_start DATE, + rate_0 DOUBLE, + rate_1 DOUBLE, + rate_2 DOUBLE, + rate_3 DOUBLE, + PRIMARY KEY (date_start) + ) + ENGINE = MEMORY; + + + CALL historicoprecio2 (id_art,id_wh,id_datestart,id_dateend); + + + SET @a:= @b:= @c:= @d:= @e:= @f := @g:= @h:=0.0; + SELECT * FROM + (SELECT d.`date` landing,if(rate_0 IS NULL,@a,@a:=rate_0) Costefijo,if(rate_1 IS NULL,@b,@b:=rate_1) rate_1, + if(rate_2 IS NULL,@c,@c:=rate_2) rate_2,if(rate_3 IS NULL,@d,@d:=rate_3) rate_3,'PF' tipo FROM `time` d + LEFT JOIN historicoprecio hp ON d.`date` = hp.date_start WHERE d.`date` BETWEEN id_datestart AND id_dateend + UNION ALL + SELECT DISTINCT d.`date` ,if(Costefijo IS NULL,@e,@e:=Costefijo) Costefijo,if(Tarifa1 IS NULL,@f,@f:=Tarifa1), + if(Tarifa2 IS NULL,@g,@g:=Tarifa2),if(Tarifa3 IS NULL,@h,@h:=Tarifa3),'C' + FROM `time` d + LEFT JOIN travel t ON t.landing = d.`date` + LEFT JOIN Entradas e ON e.travel_id = t.id + LEFT JOIN Compres c ON c.Id_Entrada = e.Id_Entrada AND id_wh IN (0,warehouse_id) AND c.Id_Article = id_art AND NoVincular = FALSE + WHERE d.`date` BETWEEN id_datestart AND id_dateend + ) + t ORDER BY landing DESC; +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 `historicoprecio2` */; +/*!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 `historicoprecio2`( id_art INT, id_wh INT,id_datestart DATE,id_dateend DATE) +BEGIN + DECLARE done BIT DEFAULT 0; + DECLARE datini,datfin,datiniaux,datfinaux DATE; + DECLARE dblrate0,dblrate0aux,dblrate1,dblrate1aux,dblrate2,dblrate2aux,dblrate3,dblrate3aux DOUBLE DEFAULT 0; + DECLARE boolBeforeStart TINYINT DEFAULT 1; + -- selecciona el primer bloque apartir de la mínima fecha que esta dentro del rango y la fecha de finalizar es posterior + SET datiniaux = NULL; + SET datfinaux = NULL; + -- guarda en dblrate0aux el valor del valor del periode, a lo millor falla si no trau cap linea + SELECT IFNULL(rate_0,0), IFNULL(rate_1,0), IFNULL(rate_2,0), IFNULL(rate_3,0) + INTO dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux FROM price_fixed + WHERE date_start = id_datestart AND warehouse_id IN (0,id_wh) AND item_id = id_art; + + REPEAT + + SET datini = NULL; + SET datfin = NULL; + SET dblrate0 = NULL; + SET dblrate1 = NULL; + SET dblrate2 = NULL; + SET dblrate3 = NULL; + SELECT date_start,date_end,rate_0,rate_1,rate_2,rate_3 INTO datini,datfin,dblrate0,dblrate1,dblrate2,dblrate3 FROM price_fixed + WHERE item_id = id_art AND warehouse_id IN (0,id_wh) AND date_end < id_dateend + AND date_end >= IFNULL(datfinaux,id_datestart) AND date_start = (SELECT MIN(date_start) FROM price_fixed + WHERE date_start >= IFNULL(datiniaux,TIMESTAMPADD(DAY,1,id_datestart)) AND item_id = id_art AND warehouse_id IN (0,id_wh) ) + ORDER BY date_start LIMIT 1; + + IF datini IS NOT NULL THEN + -- Inserta un registre(dia -1) + IF boolBeforeStart THEN + INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) + VALUES(TIMESTAMPADD(DAY,-1,datini),dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux); + SET boolBeforeStart = TRUE; + END IF; + -- reiniciem els valors de les variables + SET datiniaux = NULL; + SET datfinaux = NULL; + -- seleccionem el dia fins al qual dura el periode eliminant els dies que queden solapats + SELECT MIN(date_start) INTO datfinaux FROM price_fixed WHERE date_start > datini AND date_start < datfin AND date_end >= datfin + AND warehouse_id IN (0,id_wh) AND item_id = id_art; + + -- cridada recursiva per al periode(retallat si cal) inclós + CALL historicoprecio2 (id_art,id_wh,datini,IFNULL(datfinaux,datfin)); + -- anyadeix el valor que ha d'agafar el dia seguent d'acabar el periode actual. + IF datfinaux IS NULL THEN + INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) + VALUES(TIMESTAMPADD(DAY,1,datfin),dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux), + (datfin,dblrate0,dblrate1,dblrate2,dblrate3); + ELSE + INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) + VALUES(TIMESTAMPADD(DAY,-1,datfinaux),dblrate0,dblrate1,dblrate2,dblrate3); + SET boolBeforeStart = FALSE; + END IF; + SET datiniaux=TIMESTAMPADD(DAY,1,datini); + SET datfinaux=datfin; + + END IF; + UNTIL datini IS NULL END REPEAT; + -- inserta linea caso base + INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) VALUES(id_datestart,dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux) + ON DUPLICATE KEY UPDATE rate_0 = dblrate0,rate_1 = dblrate1,rate_2 = dblrate2,rate_3 = dblrate3; +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 `historico_absoluto` */; +/*!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 `historico_absoluto`(IN idART INT, IN wh INT, IN datfecha DATETIME) +BEGIN + +DECLARE inv_calculado INT; +DECLARE inv INT; +DECLARE today DATETIME; +DECLARE fecha_inv DATETIME; +SET today = curdate(); + + DROP TEMPORARY TABLE IF EXISTS historico_pasado; + CREATE TEMPORARY TABLE historico_pasado + SELECT * + FROM ( + SELECT TR.landing as Fecha, + C.Cantidad as Entrada, + NULL as Salida, + (TR.received != FALSE) as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, 0 as Calidad + FROM Compres C -- mirar perque no entra en received + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Proveedores P USING (Id_Proveedor) + WHERE TR.landing >= '2001-01-01' + AND Id_proveedor <> 4 + AND wh IN (TR.warehouse_id , 0) + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT TR.shipment as Fecha, + NULL as Entrada, + C.Cantidad as Salida, + TR.delivered as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, 0 as Calidad + FROM Compres C + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Proveedores P USING (Id_Proveedor) + + WHERE TR.shipment >= '2001-01-01' + AND wh = TR.warehouse_id_out + AND Id_Proveedor <> 4 + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT T.Fecha as Fecha, + NULL as Entrada, + M.Cantidad as Salida, + (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, + T.Alias as Alias, + T.Factura as Referencia, + T.Id_Ticket,T.PedidoImpreso, + C.Calidad + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente + WHERE T.Fecha >= '2001-01-01' + AND M.Id_Article = idART + AND wh IN (T.warehouse_id , 0) + ) as t1 ORDER BY Fecha, Entrada DESC, OK DESC; + + SELECT sum(Entrada) - sum(Salida) INTO inv_calculado + FROM historico_pasado + WHERE Fecha < datfecha; + + -- WHERE historico_pasado.Fecha < fecha_inv ; + + +SELECT p1.*, NULL as v_virtual FROM( + SELECT datfecha as Fecha,inv_calculado as Entrada, NULL as Salida,1 as OK, + 'Inventario calculado' as Alias, '' as Referencia, 0 as id, 1 as F5, 0 as Calidad + UNION ALL + SELECT * FROM historico_pasado WHERE Fecha >= datfecha + )as p1; + + +DROP TEMPORARY TABLE historico_pasado; + +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 `historico_joined` */; +/*!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 `historico_joined`(IN idART INT, IN wh_joined INT, IN v_virtual INT) +BEGIN +DECLARE datFEC DATETIME; + +SELECT Fechainventario INTO datFEC FROM tblContadores; +SET @a = 0; +SELECT DATE(Fecha) AS Fecha, + Entrada, + Salida, + OK, + Alias, + Referencia, + id, + @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, + F5, + v_virtual, + Calidad,CodigoTrabajador +FROM + + ( SELECT TR.landing as Fecha, + C.Cantidad as Entrada, + NULL as Salida, + (TR.received != FALSE) as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + LEFT JOIN warehouse_joined wj ON wj.warehouse_id = TR.warehouse_id + WHERE TR.landing >= datFEC + AND wh_joined IN (wj.warehouse_alias_id , 0) + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT TR.shipment as Fecha, + NULL as Entrada, + C.Cantidad as Salida, + TR.delivered as OK, + P.Proveedor as Alias, + E.Referencia as Referencia, + E.Id_Entrada as id, + TR.delivered as F5, + 0 as Calidad, tra.CodigoTrabajador + + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Proveedores P USING (Id_Proveedor) + LEFT JOIN Articles a ON a.Id_Article = C.Id_Article + LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id + LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador + LEFT JOIN warehouse_joined wj ON wj.warehouse_id = TR.warehouse_id_out + WHERE TR.shipment >= datFEC + AND wh_joined IN (wj.warehouse_alias_id,0) + AND Id_Proveedor <> 4 + AND C.Id_Article = idART + AND E.Inventario = 0 + + UNION ALL + + SELECT T.Fecha as Fecha, + NULL as Entrada, + M.Cantidad as Salida, + (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, + T.Alias as Alias, + T.Localizacion as Referencia, + T.Id_Ticket as id, + T.PedidoImpreso EtiquetasEmitidas, + C.Calidad, tr.CodigoTrabajador + + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente + LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador + LEFT JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id + WHERE T.Fecha >= datFEC + AND M.Id_Article = idART + AND wh_joined IN (wj.warehouse_alias_id , 0) + + ) AS Historico +ORDER BY Fecha, Entrada DESC, OK DESC; + + +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 `historico_multiple` */; +/*!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 `historico_multiple`(IN idART INT) +BEGIN + +DECLARE datFEC DATETIME; + +SELECT Fechainventario INTO datFEC FROM tblContadores; + +SET @a = 0; + +DROP TEMPORARY TABLE IF EXISTS hm1; + +CREATE TEMPORARY TABLE hm1 +SELECT DATE(Fecha) as Fecha, + Entrada, + Salida, + OK, + Referencia, + Historia.id, + + wh, + + `name` as wh_name + +FROM + + ( SELECT TR.landing as Fecha, + C.Cantidad as Entrada, + NULL as Salida, + + IF(warehouse_id = 44, 1, warehouse_id) as wh, + (TR.received != FALSE) as OK, + E.Referencia as Referencia, + E.Id_Entrada as id + + + + FROM Compres C + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + WHERE TR.landing >= datFEC + AND C.Id_Article = idART + AND E.Redada = 0 + + AND C.Cantidad <> 0 + + UNION ALL + + SELECT TR.shipment as Fecha, + NULL as Entrada, + C.Cantidad as Salida, + + + IF(warehouse_id_out = 44, 1, warehouse_id_out) as wh, + TR.delivered as OK, + + E.Referencia as Referencia, + E.Id_Entrada as id + + FROM Compres C + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + WHERE TR.shipment >= datFEC + AND C.Id_Article = idART + + AND E.Redada = 0 + + AND C.Cantidad <> 0 + + UNION ALL + + SELECT T.Fecha as Fecha, + NULL as Entrada, + M.Cantidad as Salida, + IF(warehouse_id = 44, 1, warehouse_id) as wh, + + (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, + T.Factura as Referencia, + T.Id_Ticket as id + + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + WHERE T.Fecha >= datFEC + AND M.Id_Article = idART + + ) AS Historia + + INNER JOIN warehouse ON warehouse.id = Historia.wh +ORDER BY Fecha, Entrada DESC, OK DESC; + + +DROP TEMPORARY TABLE IF EXISTS hm2; +DROP TEMPORARY TABLE IF EXISTS hm3; +DROP TEMPORARY TABLE IF EXISTS hm4; +DROP TEMPORARY TABLE IF EXISTS hm5; +DROP TEMPORARY TABLE IF EXISTS hm6; +DROP TEMPORARY TABLE IF EXISTS hm7; +DROP TEMPORARY TABLE IF EXISTS hm8; +CREATE TEMPORARY TABLE hm2 SELECT * FROM hm1 WHERE wh = 19; +CREATE TEMPORARY TABLE hm3 SELECT * FROM hm1 WHERE wh = 7; +CREATE TEMPORARY TABLE hm4 SELECT * FROM hm1 WHERE wh = 1 or wh = 44; +CREATE TEMPORARY TABLE hm5 SELECT * FROM hm1 WHERE wh = 5; +CREATE TEMPORARY TABLE hm6 SELECT * FROM hm1 WHERE wh = 17; +CREATE TEMPORARY TABLE hm7 SELECT * FROM hm1 WHERE wh = 37; +CREATE TEMPORARY TABLE hm8 SELECT * FROM hm1 WHERE wh = 55; + +SELECT * FROM + +( + +SELECT Fecha, Entrada as BOGEntrada, Salida as BOGSalida, OK as BOGOK, Referencia as BOGReferencia, id as BOGid, + + NULL AS VNHEntrada, NULL AS VNHSalida, NULL AS VNHOK, NULL AS VNHReferencia, NULL AS VNHid, + + NULL AS SILEntrada, NULL AS SILSalida, NULL AS SILOK, NULL AS SILReferencia, NULL AS SILid, + + NULL AS MADEntrada, NULL AS MADSalida, NULL AS MADOK, NULL AS MADReferencia, NULL AS MADid, + + NULL AS MCFEntrada, NULL AS MCFSalida, NULL AS MCFOK, NULL AS MCFReferencia, NULL AS MCFid, + + NULL AS VILEntrada, NULL AS VILSalida, NULL AS VILOK, NULL AS VILReferencia, NULL AS VILid, + + NULL AS BAREntrada, NULL AS BARSalida, NULL AS BAROK, NULL AS BARReferencia, NULL AS BARid + +FROM hm2 + + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + ,Entrada, Salida, OK, Referencia, id + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL +FROM hm3 + + + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , Entrada, Salida, OK, Referencia, id + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL +FROM hm4 + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , Entrada, Salida, OK, Referencia, id + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL +FROM hm5 + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , Entrada, Salida, OK, Referencia, id + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL +FROM hm6 + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , Entrada, Salida, OK, Referencia, id + , NULL, NULL, NULL, NULL, NULL + + +FROM hm7 + +UNION ALL + +SELECT Fecha + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , NULL, NULL, NULL, NULL, NULL + , Entrada, Salida, OK, Referencia, id + +FROM hm8 + +) sub + +ORDER BY Fecha, BOGEntrada IS NULL, VNHEntrada IS NULL, SILEntrada IS NULL, MADEntrada IS NULL, MCFEntrada IS NULL, VILEntrada IS NULL, BAREntrada IS 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 `ImporteSantos` */; +/*!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 `ImporteSantos`(IN dat_from date,IN dat_to date) +BEGIN + +select codigotrabajador,Id_Cliente,Cliente,cast(sum(ImporteAnt) as decimal(10,0)) ImporteAnt,cast(sum(ImporteActual) as decimal(10,0)) ImporteActual +from ( + select codigotrabajador,cli.Id_Cliente Id_Cliente,Cliente,sum(amount) ImporteAnt,0 ImporteActual + from bi.ticket ti + inner join Clientes cli on ti.Id_Cliente=cli.Id_Cliente + inner join vn2008.Trabajadores on cli.Id_Trabajador=Trabajadores.Id_Trabajador + where (date between date_add(dat_from,interval -1 year) and date_add(dat_to,interval -1 year)) + -- and cli.invoice + group by CodigoTrabajador,ti.Id_Cliente + + union all +select CodigoTrabajador,cli.Id_Cliente,Cliente,0 ImporteAnt, + IFNULL(round(sum(cantidad * Costfixat),2),2) ImporteActual + from Tickets ti + inner join Movimientos m using (Id_Ticket) + INNER JOIN vn2008.Articles a USING(Id_Article) + INNER JOIN Tipos tp ON tp.tipo_id = a.tipo_id + LEFT JOIN reinos r ON r.id = tp.reino_id + INNER JOIN vn2008.Consignatarios c USING(Id_Consigna) + inner join Clientes cli on c.Id_Cliente=cli.Id_cliente + inner join vn2008.Trabajadores on cli.Id_Trabajador=Trabajadores.Id_Trabajador + inner join vn2008.Permisos perm on cli.Id_Trabajador=perm.Id_Trabajador + inner join vn2008.Grupos grup on perm.Id_Grupo=grup.Id + where ti.Fecha between dat_from and DAYEND(dat_to) + -- and cli.invoice + AND r.display <> 0 + and (grup.Id in (6) or cli.Id_Trabajador in (20)) + group by CodigoTrabajador,c.Id_Cliente,year(Fecha) +)sub1 +group by CodigoTrabajador,Id_Cliente +having (ImporteAnt<>0 or ImporteActual<>0) +order by CodigoTrabajador,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 `InsertarEspionaje` */; +/*!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 `InsertarEspionaje`(intIdTrabajador INT(11),intIdEquipo int) +BEGIN + +DECLARE intNReg TINYINT DEFAULT 0; + +SELECT Count(*) AS NReg +INTO intNReg +FROM Espionajes +WHERE Fecha=Current_date +AND Id_Trabajador=intIdTrabajador; + +IF (intNReg=0) THEN + INSERT INTO Espionajes (Id_Trabajador,Fecha,HoraEntrada,Id_Equipo) + VALUES (intIdTrabajador,CURRENT_DATE,CURRENT_TIME,intIdEquipo); +ELSE + UPDATE Espionajes + SET HoraSalida=CURRENT_TIME + WHERE Id_Trabajador=intIdTrabajador + AND Fecha=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 `insert_producer_plantpassport` */; +/*!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 `insert_producer_plantpassport`(IN idCompra INT) +BEGIN + DECLARE last_insert INTEGER; + + INSERT IGNORE INTO producer (`name`) + SELECT es.company_name + FROM vn2008.Compres c + JOIN vn2008.buy_edi be ON be.id = c.buy_edi_id + JOIN edi.supplier es ON es.supplier_id = be.pro + WHERE c.Id_Compra = idCompra; + + -- SELECT LAST_INSERT_ID() INTO last_insert; + + /* + IF last_insert > 0 THEN + UPDATE Articles a JOIN Compres c + ON a.Id_Article = c.Id_Article SET a.producer_id = last_insert WHERE c.Id_Compra = idCompra; + 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 `inventario_margen` */; +/*!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 `inventario_margen`(IN d_START DATETIME, IN d_END DATETIME, IN i_tipo INT, IN i_filtro INT, IN i_wh INT) +BEGIN + + DECLARE d_INV DATETIME; + DECLARE bolREVERSE BOOLEAN DEFAULT 0; + DECLARE d_FEC2 DATETIME; + DECLARE d_FEC DATETIME; + DECLARE i_SECTOR INT DEFAULT 0; + DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; + DECLARE dblPORTE_m3 DOUBLE DEFAULT 45; + DECLARE intCASE INTEGER; + DECLARE ID_CLIENTE_COMPLEMENTOS INT DEFAULT 1927; + DECLARE ID_REINO_OTROS INT DEFAULT 6; + DECLARE ID_PROVEEDOR_INVENTARIO INT DEFAULT 4; + DECLARE ID_TRABAJADOR_MARIBEL INT DEFAULT 133; + + IF i_filtro THEN + SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; + END IF; + + + +-- PREVIO: Crear una tabla para filtrar los articulos que interesan + + DROP TEMPORARY TABLE IF EXISTS article_selection; + + SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); + + CALL util.exec (sql_printf( + 'CREATE TEMPORARY TABLE vn2008.article_selection + ENGINE = MEMORY + SELECT A.Id_Article + FROM vn2008.Articles A + LEFT JOIN vn2008.Tipos t USING(tipo_id) + LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = t.Id_Trabajador + LEFT JOIN vn2008.Tintas tn ON A.color = tn.Id_Tinta + LEFT JOIN vn2008.Origen o ON o.id = A.id_origen + WHERE %s AND %s AND reino_id != %v' + ,IF(i_tipo, CONCAT('tipo_id = ', i_tipo), 'TRUE') + ,strFILTRO + ,ID_REINO_OTROS + )); + + +ALTER TABLE article_selection ADD PRIMARY KEY(Id_Article); + + +-- PRIMER PASO: Cálculo del inventario inicial, valorado + +-- Averiguamos la fecha del inventario inmediatemente anterior a la fecha de inicio + + SELECT landing INTO d_INV + FROM travel TR + INNER JOIN Entradas E ON E.travel_id = TR.id + WHERE landing <= d_START + AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO + AND i_wh IN (0,TR.warehouse_id) + ORDER BY landing DESC + LIMIT 1; + + IF d_INV is null THEN + + SELECT landing INTO d_INV + FROM travel TR + INNER JOIN Entradas E ON E.travel_id = TR.id + WHERE landing > d_START + AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO + AND i_wh IN (0,TR.warehouse_id) + ORDER BY landing ASC + LIMIT 1; + + END IF; + + +-- Ubicamos la fecha de inventario segun su posición relativa a la de inicio y a la de fin + +IF d_INV <= d_START THEN + + SET intCASE = 1; + +ELSE + + IF d_INV > d_END THEN + + SET intCASE = 3; + + ELSE + + SET intCASE = 2; + + END IF; + +END IF; + +DROP TEMPORARY TABLE IF EXISTS inv; + +-- Preparamos la tabla temporal que va a almacenar el valor y cantidad de productos + +CREATE TEMPORARY TABLE inv + (w_id SMALLINT, + Id_Article BIGINT, + Unidades INT, + Valor DOUBLE, + Sector INT DEFAULT 0 ) ENGINE = MEMORY; + + +ALTER TABLE inv ADD PRIMARY KEY USING HASH (w_id, Id_Article, Sector); + +/************************** SECTOR INICIAL: 0 *****************************/ + +CASE intCASE + + WHEN 1 THEN + + SET d_FEC = TIMESTAMP(d_INV,'00:00:00'); + SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_START) ,'23:59:59'); + SET bolREVERSE = FALSE; + + ELSE + + SET d_FEC = TIMESTAMP(d_START,'00:00:00'); + SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_INV) ,'23:59:59'); + SET bolREVERSE = TRUE; + + +END CASE; + + +-- Inicializamos el inventario + + + INSERT INTO inv(w_id, Id_Article, Unidades,Valor) + SELECT TR.warehouse_id, C.Id_Article, sum(C.Cantidad), ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id + JOIN article_selection USING(Id_Article) + WHERE landing = d_INV + AND w.comisionantes + AND i_wh IN (0,TR.warehouse_id) + AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO + AND reino_id != ID_REINO_OTROS + AND TR.warehouse_id != TR.warehouse_id_out + GROUP BY TR.warehouse_id, C.Id_Article; + +-- Se insertan las compras que llegan entre la fecha del inventario y la fecha inicial + + INSERT INTO inv(w_id, Id_Article, Unidades, Valor) + SELECT TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1), ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id + JOIN article_selection USING(Id_Article) + WHERE landing BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id) + AND w.comisionantes + AND NOT redada + AND reino_id != ID_REINO_OTROS + AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO + AND TR.warehouse_id != TR.warehouse_id_out + ORDER BY landing DESC + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,-1,1)) + , Valor = IF(Costefijo > 0,ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0),Valor); + +-- Se sacan las que salen + + INSERT INTO inv(w_id, Id_Article, Unidades) + SELECT TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id_out + JOIN article_selection USING(Id_Article) + WHERE shipment BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id_out) + AND w.comisionantes + AND NOT redada + AND reino_id != ID_REINO_OTROS + AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO + AND TR.warehouse_id != TR.warehouse_id_out + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,1,-1)); + +-- Ahora las ventas + + INSERT INTO inv(w_id, Id_Article, Unidades) + SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN warehouse w ON w.id = T.warehouse_id + INNER JOIN article_selection USING(Id_Article) + WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,T.warehouse_id) + AND w.comisionantes + AND reino_id != ID_REINO_OTROS + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (M.Cantidad * IF(bolREVERSE,1,-1)); + + +UPDATE inv SET Valor = inv.Unidades * Valor; + + +/************************** SECTOR ENTRADAS: 1 *****************************/ + +SET i_SECTOR = 1; + + + SET d_FEC = TIMESTAMP(d_START,'00:00:00'); + SET d_FEC2 = TIMESTAMP(d_END ,'23:59:59'); + + + +-- Ahora vamos a incrementar en unidades y valor el producto recibido en el rango de fechas del procedimiento + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, sum(C.Cantidad ) + , sum(C.Cantidad * (nz(Costefijo)+nz(Embalajefijo)+nz(Portefijo)+nz(Comisionfija)) ) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id + JOIN article_selection USING(Id_Article) + WHERE landing BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id) + AND w.comisionantes + AND NOT redada + AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO + AND reino_id != ID_REINO_OTROS + AND TR.warehouse_id != TR.warehouse_id_out + GROUP BY TR.warehouse_id, C.Id_Article; + + + + +/************************** SECTOR SALIDAS: 2 *****************************/ + +SET i_SECTOR = 2; + +-- Ahora vamos a restar en unidades y valor el producto que sale de los almacenes en el rango de fechas del procedimiento + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + SELECT i_SECTOR, TR.warehouse_id_out, C.Id_Article, sum( -1 * C.Cantidad ) + , sum( -1 * C.Cantidad * (nz(Costefijo) + nz(Embalajefijo) )) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id_out + JOIN article_selection USING(Id_Article) + WHERE shipment BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id_out) + AND w.comisionantes + AND NOT redada + AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO + AND reino_id != ID_REINO_OTROS + AND TR.warehouse_id != TR.warehouse_id_out + GROUP BY TR.warehouse_id_out, C.Id_Article ; + + + +/******************** SECTOR VENTAS: 3 **************************************/ + +SET i_SECTOR = 3; + + +DROP TEMPORARY TABLE IF EXISTS Cub; + CREATE TEMPORARY TABLE Cub + SELECT * FROM (SELECT * FROM bi.last_Id_Cubo order by Id_Compra desc) sub group by Id_Article, warehouse_id; + + ALTER TABLE Cub ADD PRIMARY KEY USING HASH (Id_Article, warehouse_id); + + + + +IF d_START >= '2015-10-01' THEN + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + + + SELECT i_SECTOR + , w.id + , M.Id_Article + , sum(-1 * M.Cantidad ) as Unidades + , sum(-1 * IF(T.Id_Cliente IN (200,400),0,1) * IFNULL(bsv.importe,0)) as Valor + FROM Movimientos M + LEFT JOIN bs.ventas bsv on bsv.Id_Movimiento = M.Id_Movimiento + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Articles A ON A.Id_Article = M.Id_Article + INNER JOIN Tipos TP on TP.tipo_id = A.tipo_id + INNER JOIN warehouse w ON w.id = T.warehouse_id + JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article + WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,T.warehouse_id) + AND w.comisionantes + AND reino_id != ID_REINO_OTROS + /* + AND ( + T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS + OR + TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL + ) + */ + GROUP BY T.warehouse_id, Id_Article; + + + + +ELSE + + + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + + + SELECT i_SECTOR, w.id, M.Id_Article, sum(-1 * M.Cantidad ) + , + + sum( -1 + * M.Cantidad + * IF(CS.Id_Cliente IN (200,400),0,1) + * IF( + T.Fecha >= '2015-10-01' + , M.CostFixat + , ( + ( M.Preu + * (100 - M.Descuento) + / 100 + ) + - IF(C.Descuento = 1 and T.Bultos > 0 and Fecha > '2013-07-01', + IFNULL( dblPORTE_m3 * (cm3_2(CB.Id_Cubo, CB.Id_Article) / 1000000) / CB.Packing ,0 ) + ,0) + ) + ) + + ) as Preu + + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + LEFT JOIN Cub CB ON CB.Id_Article = M.Id_Article AND T.warehouse_id = CB.warehouse_id + INNER JOIN Consignatarios CS USING(Id_Consigna) + INNER JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente + INNER JOIN Articles A ON A.Id_Article = M.Id_Article + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN warehouse w ON w.id = T.warehouse_id + JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article + WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,T.warehouse_id) + AND w.comisionantes + AND reino_id != ID_REINO_OTROS + /* + AND ( + T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS + OR + TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL + ) + */ + GROUP BY T.warehouse_id, Id_Article; + + +END IF; + + -- Ventas del año anterior + + DROP TEMPORARY TABLE IF EXISTS Ventas_Lastyear; + + CREATE TEMPORARY TABLE Ventas_Lastyear + SELECT CodigoTrabajador, TP.Id_Tipo, + + sum(M.Cantidad + * IF(CS.Id_Cliente IN (200,400),0,1) + * IF( + T.Fecha >= '2015-10-01' + , M.CostFixat + , ( + ( M.Preu + * (100 - M.Descuento) + / 100 + ) + - IF(C.Descuento = 1 and T.Bultos > 0 and Fecha > '2013-07-01', + IFNULL( dblPORTE_m3 * (cm3_2(CB.Id_Cubo, CB.Id_Article) / 1000000) / CB.Packing ,0 ) + ,0) + ) + ) + + ) as Importe + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + LEFT JOIN Cub CB ON CB.Id_Article = M.Id_Article AND T.warehouse_id = CB.warehouse_id + INNER JOIN Consignatarios CS USING(Id_Consigna) + INNER JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente + INNER JOIN Articles A ON A.Id_Article = M.Id_Article + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Trabajadores TR ON TP.Id_Trabajador = TR.Id_Trabajador + INNER JOIN warehouse w ON w.id = T.warehouse_id + JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article + WHERE T.Fecha BETWEEN TIMESTAMPADD(YEAR,-1,d_FEC) AND TIMESTAMPADD(YEAR,-1,d_FEC2) + AND i_wh IN (0,T.warehouse_id) + AND w.comisionantes + AND reino_id != ID_REINO_OTROS + /* + AND ( + T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS + OR + TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL + ) + */ + GROUP BY CodigoTrabajador, Id_Tipo; + + + + + + +/******************** SECTOR FINAL: 4 **************************************/ + +SET i_SECTOR = 4; + + +CASE intCASE + + + WHEN 3 THEN + + SET d_FEC = TIMESTAMP(TIMESTAMPADD(DAY,1,d_END),'00:00:00'); + SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_INV),'23:59:59'); + SET bolREVERSE = TRUE; + + ELSE + + SET d_FEC = TIMESTAMP(d_INV,'00:00:00'); + SET d_FEC2 = TIMESTAMP(d_END ,'23:59:59'); + SET bolREVERSE = FALSE; + + +END CASE; + +-- Ahora repetimos el proceso de inventario, para contabilizar el stock remanente. + +-- Inicializamos el inventario + + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, sum(C.Cantidad), nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id + JOIN article_selection USING(Id_Article) + WHERE landing = d_INV + AND i_wh IN (0,TR.warehouse_id) + AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO + AND reino_id != ID_REINO_OTROS + AND w.comisionantes + AND TR.warehouse_id != TR.warehouse_id_out + GROUP BY TR.warehouse_id, C.Id_Article; + + + + + + +-- Se insertan las compras que llegan entre la fecha del inventario y la fecha inicial + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) + SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1), nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id + JOIN article_selection USING(Id_Article) + WHERE landing BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id) + AND NOT redada + AND w.comisionantes + AND E.Id_Proveedor != 4 + AND reino_id != ID_REINO_OTROS + AND TR.warehouse_id != TR.warehouse_id_out + ORDER BY landing DESC + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,-1,1)) + , Valor = IF( nz(Costefijo) > 0,nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija),Valor); + +-- Se sacan las que salen + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades) + SELECT i_SECTOR, TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN warehouse w ON w.id = warehouse_id_out + JOIN article_selection USING(Id_Article) + WHERE shipment BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,TR.warehouse_id_out) + AND NOT redada + AND w.comisionantes + AND E.Id_Proveedor != 4 + AND reino_id != ID_REINO_OTROS + + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,1,-1)); + + +-- Ahora las ventas + + INSERT INTO inv(Sector, w_id, Id_Article, Unidades) + SELECT i_SECTOR, w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos TP USING(tipo_id) + INNER JOIN warehouse w ON w.id = T.warehouse_id + JOIN article_selection USING(Id_Article) + WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 + AND i_wh IN (0,T.warehouse_id) + AND w.comisionantes + AND reino_id != ID_REINO_OTROS + ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (M.Cantidad * IF(bolREVERSE,1,-1)); + +-- Valoramos el inventario final + + +UPDATE inv SET Valor = inv.Unidades * Valor WHERE Sector =4; + + +-- Resultado + +DROP TEMPORARY TABLE IF EXISTS Margen_Desglose; + +CREATE TEMPORARY TABLE Margen_Desglose + +SELECT CASE Sector + WHEN 0 THEN 'Inventario Inicial' + WHEN 1 THEN 'Entradas' + WHEN 2 THEN 'Salidas' + WHEN 3 THEN 'Ventas' + WHEN 4 THEN 'Inventario Final' END AS Seccion + , w.name as Almacen, r.reino as Reino, Id_Article, Article, Medida, Unidades,Id_Tipo, round(Valor,0) as Valor , round(Valor/Unidades,3) as Precio, Sector +FROM inv +JOIN Articles USING(Id_Article) +JOIN Tipos TP USING(tipo_id) +JOIN warehouse w ON w.id = w_id +JOIN reinos r ON r.id = TP.reino_id +WHERE Unidades != 0 +ORDER BY Almacen, Sector +; + + + + + +DROP TEMPORARY TABLE IF EXISTS Margen_Bruto; + +CREATE TEMPORARY TABLE Margen_Bruto + +SELECT Unidades_Vendidas, Coste, Venta,1 - round(coste / venta,2) as Margen +FROM ( +SELECT w.name as Almacen, r.reino as Reino, Id_Article, Article, Medida, sum(IF(Sector = 3, -1,0) * Unidades) as Unidades_Vendidas + , @coste:= round(sum( IF(Sector != 3, Valor * IF(Sector = 4,-1,1), 0) ) ,0) as Coste + , @venta:= round(sum( IF(Sector = 3, - Valor, 0 ) ),0) as Venta +FROM inv +JOIN Articles USING(Id_Article) +JOIN Tipos TP USING(tipo_id) +JOIN warehouse w ON w.id = w_id +JOIN reinos r ON r.id = TP.reino_id +WHERE Unidades != 0 + +) sub; + + + +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 `inventario_multiple` */; +/*!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 `inventario_multiple`(IN wh TINYINT(2), IN date_ticket DATETIME) +BEGIN +-- DEPRECATED USAR cache.available_refresh + DECLARE date_order DATETIME; + DECLARE date_end DATETIME DEFAULT CURDATE(); + DECLARE date_aux DATE; + DECLARE date_start DATETIME; + DECLARE date_yesterday DATETIME; + DECLARE date_tomorrow DATETIME; + DECLARE strWH VARCHAR(2); + + SET strWH = IF(wh,wh,'%'); + SET date_end = TIMESTAMPADD(DAY, 7, date_ticket); + + CALL article (); + + ALTER TABLE `article_inventory` + ADD `available` FLOAT(7,2) NOT NULL, + ADD `inventory` FLOAT(7,2) NOT NULL, + ADD `visible` FLOAT(7,2) NOT NULL; + + -- JGF 2015-02-19 Falla, el valor @camp es cero y falla Campanya + /* + SELECT + IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life, + TIMESTAMPADD(DAY, -campaign_life, campaign), + FechaInventario), + IF(@camp BETWEEN 0 AND campaign_life, + TIMESTAMP(campaign, '23:59:59'), + TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) + INTO date_start, date_end + FROM tblContadores;*/ + + SELECT + FechaInventario,TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59') + INTO date_start, date_end + FROM tblContadores; + + + SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); + SET date_tomorrow = TIMESTAMPADD(DAY, 1, date_order); + +-- Inventario hasta dia antes del ticket + CALL item_stock(wh,date_ticket,NULL); + + INSERT INTO article_inventory (article_id,inventory,visible,available) + SELECT item_id, stock, visible, available + FROM tmp_item; + + DROP TEMPORARY TABLE IF EXISTS tmp_item; + +-- Inventario ventas durante el dia del ticket + INSERT INTO article_inventory(article_id,visible) + + SELECT Id_Article, SUM(amount) AS Subtotal + + FROM ( + + SELECT Id_Article, -Cantidad AS amount + + FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) + + WHERE Fecha >= date_order + + AND Fecha < date_tomorrow + + AND (M.OK != FALSE + + OR T.Etiquetasemitidas != FALSE + + OR T.Factura IS NOT NULL) + + AND T.warehouse_id = wh + + UNION ALL + + SELECT Id_Article, Cantidad + + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + + LEFT JOIN travel TR ON E.travel_id = TR.id + + WHERE TR.landing >= date_order + + AND TR.landing < date_tomorrow + + AND TR.received != FALSE + + AND TR.warehouse_id = wh + + AND E.Inventario = FALSE + + AND E.Redada = FALSE + + UNION ALL + + SELECT Id_Article, -Cantidad + + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + + LEFT JOIN travel TR ON E.travel_id = TR.id + + WHERE TR.shipment >= date_order + + AND TR.shipment < date_tomorrow + + AND TR.delivered != FALSE + + AND TR.warehouse_id_out = wh + + AND E.Inventario = FALSE + + AND E.Redada = FALSE + + ) AS T1 + + GROUP BY Id_Article + + ON DUPLICATE KEY UPDATE + + visible = inventory + VALUES(visible); + + + -- Disponible en el futuro + CALL item_travel (wh, date_order); + + SET date_aux = DATE(date_order); + + INSERT INTO article_inventory(article_id,available) + + SELECT Tic3.Id_Article, minacum(dat, amount, date_aux) AS sd + + FROM ( + + SELECT Tic2.Id_Article, DATE(Fecha) AS dat, SUM(amount) AS amount + + FROM ( + + SELECT Id_Article, Fecha, -Cantidad AS amount + + FROM Movimientos M + + INNER JOIN Tickets T USING (Id_Ticket) + + WHERE Fecha BETWEEN date_order AND date_end + + AND T.warehouse_id = wh + + UNION ALL + + SELECT Id_Article, TR.landing, Cantidad + + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + + LEFT JOIN travel TR ON E.travel_id = TR.id + + WHERE TR.landing BETWEEN date_order AND date_end + + AND TR.warehouse_id = wh + + AND E.Inventario = FALSE + + AND E.Redada = FALSE + + UNION ALL + + SELECT Id_Article, TR.shipment, -Cantidad + + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + + LEFT JOIN travel TR ON E.travel_id = TR.id + + WHERE TR.shipment BETWEEN date_order AND date_end + + AND TR.warehouse_id_out = wh + + AND E.Inventario = FALSE + + AND E.Redada = FALSE + + ) AS Tic2 + + GROUP BY Tic2.Id_Article, dat + + ) Tic3 + + LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article + + LEFT JOIN Origen O ON O.id = A.id_origen + + LEFT JOIN item_travel t ON t.wh = O.warehouse_id + + WHERE dat < IFNULL(t.landing, date_end) + + GROUP BY Tic3.Id_Article + + ON DUPLICATE KEY UPDATE + + available = IFNULL(inventory,0) + VALUES(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 `inventario_multiple_2` */; +/*!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 `inventario_multiple_2`( + date_ticket DATETIME + ,wh TINYINT + ,days_max TINYINT +) +proc: BEGIN + DECLARE date_end DATETIME DEFAULT CURDATE(); + DECLARE date_start DATETIME; + DECLARE date_top DATETIME; + DECLARE date_tomorrow DATETIME; + + SET date_ticket = DATE(date_ticket); -- PAK + + ALTER TABLE `article_inventory` + ADD `avalaible` INT NOT NULL, + ADD `sd` INT NOT NULL, + ADD `rest` INT NOT NULL, + ADD `expected` INT NOT NULL, + ADD `inventory` INT NOT NULL, + ADD `visible` INT NOT NULL, + ADD `life` TINYINT NOT NULL DEFAULT '0'; + + IF date_ticket < CURDATE() + THEN + LEAVE proc; + END IF; + + SELECT FechaInventario INTO date_start FROM tblContadores; + + SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IF(days_max >= 0, days_max,15), date_ticket),'23:59:59'); + SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); + SET date_top = TIMESTAMPADD(DAY, 1,date_end); + + -- Calculo del inventario dia D a las 24:00 zulu + + UPDATE article_inventory AI INNER JOIN + + ( + + SELECT Id_Article, SUM(amount) as Subtotal FROM + + ( + + SELECT Id_Article, -Cantidad AS amount + + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse W ON W.id = T.warehouse_id + WHERE DATE(Fecha) BETWEEN date_start AND date_ticket + AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) + + UNION ALL + + SELECT Id_Article, Cantidad + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id -- PAK + WHERE TR.landing BETWEEN date_start AND date_ticket + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) + AND E.Inventario = 0 + AND E.Redada = 0 + + UNION ALL + + SELECT Id_Article, -Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id_out + WHERE TR.shipment BETWEEN date_start AND date_ticket + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) + AND E.Inventario = 0 + AND E.Redada = 0 + + ) AS T1 + + GROUP BY Id_Article + + ) AS T2 + + ON AI.article_id = T2.Id_Article + + SET AI.inventory = T2.Subtotal, + + AI.visible = T2.Subtotal, + + AI.avalaible = T2.Subtotal, + + AI.sd = T2.Subtotal; + + -- Calculo del visible + + UPDATE article_inventory AI INNER JOIN + ( + SELECT Id_Article, SUM(amount) as Subtotal FROM + ( + SELECT Id_Article, Cantidad AS amount + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse W ON W.id = T.warehouse_id -- PAK + WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK + AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) + AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) + + UNION ALL + + SELECT Id_Article, -Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id -- PAK + WHERE TR.landing = date_ticket + AND TR.received = 0 + AND E.Inventario = 0 + AND E.Redada = 0 + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) + + UNION ALL + + SELECT Id_Article, Cantidad + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + INNER JOIN warehouse W ON W.id = TR.warehouse_id_out + WHERE TR.shipment = date_ticket + AND TR.delivered = 0 + AND E.Inventario = 0 + AND E.Redada = 0 + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) + + ) AS T1 + + GROUP BY Id_Article + + ) AS T2 + + ON AI.article_id = T2.Id_Article + + SET AI.visible = AI.visible + T2.Subtotal; + + -- Calculo del disponible + + CALL item_travel (wh, date_ticket); + + UPDATE article_inventory AI INNER JOIN + ( + SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM + ( + + SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM + ( + SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse W ON W.id = T.warehouse_id + WHERE Fecha BETWEEN date_tomorrow AND date_end + AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) + + UNION ALL + + SELECT Id_Article, landing as Fecha, Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id -- PAK + WHERE TR.landing BETWEEN date_tomorrow AND date_end + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) + AND E.Inventario = 0 + AND E.Redada = 0 + + UNION ALL + + SELECT Id_Article, shipment as Fecha, -Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id_out + WHERE TR.shipment BETWEEN date_tomorrow AND date_end + AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) + AND E.Inventario = 0 + AND E.Redada = 0 + + ) AS Tic2 + + GROUP BY Tic2.Id_Article, Fecha + ) Tic3 + + LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article + LEFT JOIN Origen O ON O.id = A.id_origen + LEFT JOIN item_travel t ON t.wh = O.warehouse_id + + WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, + t.landing, + date_top) + + GROUP BY Tic3.Id_Article + + + ) AS Tic5 + + ON Tic5.Id_Article = AI.article_id + SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), + AI.sd = AI.inventory + Tic5.sd; +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 `inventario_multiple_inventarios` */; +/*!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 `inventario_multiple_inventarios`(wh SMALLINT, date_ticket DATETIME) +BEGIN + DECLARE date_order DATETIME; + DECLARE date_end DATETIME DEFAULT CURDATE(); + DECLARE date_start DATETIME; + + CALL article (); + + ALTER TABLE article_inventory + ADD visible FLOAT(7,2) NOT NULL; + + -- Campaña + + SELECT + IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life , + TIMESTAMPADD(DAY, -campaign_life, campaign) , + FechaInventario), + IF(@camp BETWEEN 0 AND campaign_life, + TIMESTAMP(campaign, '23:59:59'), + TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) + INTO date_start, date_end + FROM tblContadores; + + SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); + + INSERT INTO article_inventory (article_id, visible) + SELECT Id_Article, SUM(amount) + FROM ( + SELECT Id_Article, -Cantidad AS amount + FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) + WHERE Fecha >= date_start + AND Fecha < date_order + AND T.warehouse_id = wh + UNION ALL + SELECT Id_Article, Cantidad + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + WHERE TR.landing >= date_start + AND TR.landing < date_order + AND TR.warehouse_id = wh + AND E.Inventario = FALSE + UNION ALL + SELECT Id_Article, -Cantidad + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + WHERE TR.shipment >= date_start + AND TR.shipment < date_order + AND TR.warehouse_id_out = wh + AND E.Inventario = FALSE + ) AS T1 + GROUP BY Id_Article; +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 `inventario_multiple_joined` */; +/*!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 `inventario_multiple_joined`( + date_ticket DATETIME + ,wh_joined TINYINT + ,days_max TINYINT +) +proc: BEGIN + DECLARE date_end DATETIME DEFAULT CURDATE(); + DECLARE date_start DATETIME; + DECLARE date_top DATETIME; + DECLARE date_tomorrow DATETIME; + DECLARE i_avalaible INTEGER; + DECLARE wh INTEGER; + + SET date_ticket = DATE(date_ticket); -- PAK + + ALTER TABLE `article_inventory` + ADD `avalaible` INT NOT NULL, + ADD `sd` INT NOT NULL, + ADD `rest` INT NOT NULL, + ADD `expected` INT NOT NULL, + ADD `inventory` INT NOT NULL, + ADD `visible` INT NOT NULL, + ADD `life` TINYINT NOT NULL DEFAULT '0'; + + IF date_ticket < CURDATE() + THEN + LEAVE proc; + END IF; + + SELECT FechaInventario INTO date_start FROM tblContadores; + + SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IF(days_max >= 0, days_max,15), date_ticket),'23:59:59'); + SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); + SET date_top = TIMESTAMPADD(DAY, 1,date_end); + + -- Calculo del inventario dia D a las 24:00 zulu + + UPDATE article_inventory AI INNER JOIN + + ( + + SELECT Id_Article, SUM(amount) as Subtotal FROM + + ( + + SELECT Id_Article, -Cantidad AS amount + + FROM Movimientos M + + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE DATE(Fecha) BETWEEN date_start AND date_ticket + AND wh_joined IN (wj.warehouse_alias_id, 0) + UNION ALL + + SELECT Id_Article, Cantidad + + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + + LEFT JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.landing BETWEEN date_start AND date_ticket + AND wh_joined IN (wj.warehouse_alias_id, 0) + + AND E.Inventario = 0 + AND E.Redada = 0 + + UNION ALL + + SELECT Id_Article, -Cantidad + FROM Compres C + + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.shipment BETWEEN date_start AND date_ticket + AND wh_joined IN (wj.warehouse_alias_id,0) + AND E.Inventario = 0 + AND E.Redada = 0 + ) AS T1 + + GROUP BY Id_Article + + ) AS T2 + + ON AI.article_id = T2.Id_Article + + SET AI.inventory = T2.Subtotal, + + AI.visible = T2.Subtotal, + + AI.avalaible = T2.Subtotal, + + AI.sd = T2.Subtotal; + + SELECT avalaible INTO i_avalaible FROM article_inventory WHERE article_id = 21012; + + -- Calculo del visible + + UPDATE article_inventory AI INNER JOIN + ( + SELECT Id_Article, SUM(amount) as Subtotal FROM + ( + SELECT Id_Article, Cantidad AS amount + FROM Movimientos M + + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK + AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) + AND wh_joined IN (wj.warehouse_alias_id, 0) + UNION ALL + SELECT Id_Article, -Cantidad + FROM Compres C + + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + + JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.landing = date_ticket + + AND TR.received = 0 + AND E.Inventario = 0 + AND E.Redada = 0 + AND wh_joined IN (wj.warehouse_alias_id, 0) + + UNION ALL + + SELECT Id_Article, Cantidad + FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.shipment = date_ticket + AND TR.delivered = 0 + AND E.Inventario = 0 + AND E.Redada = 0 + AND wh_joined IN (wj.warehouse_alias_id,0) + ) AS T1 + + GROUP BY Id_Article + + ) AS T2 + + ON AI.article_id = T2.Id_Article + + SET AI.visible = AI.visible + T2.Subtotal; + + -- Calculo del disponible + SELECT IF(COUNT(warehouse_id),0,warehouse_id) INTO wh FROM warehouse_joined WHERE warehouse_alias_id = wh_joined; + + CALL item_travel (wh, date_ticket); + + UPDATE article_inventory AI INNER JOIN + ( + SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM + ( + + SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM + ( + SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount + FROM Movimientos M + + JOIN Tickets T USING (Id_Ticket) + + JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE Fecha BETWEEN date_tomorrow AND date_end + AND wh_joined IN (wj.warehouse_alias_id, 0) + + UNION ALL + SELECT Id_Article, landing as Fecha, Cantidad + FROM Compres C + + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + + JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.landing BETWEEN date_tomorrow AND date_end + AND wh_joined IN (wj.warehouse_alias_id, 0) + + AND E.Inventario = 0 + AND E.Redada = 0 + UNION ALL + SELECT Id_Article, shipment as Fecha, -Cantidad + FROM Compres C + + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 + WHERE TR.shipment BETWEEN date_tomorrow AND date_end + AND wh_joined IN (wj.warehouse_alias_id,0) + AND E.Inventario = 0 + AND E.Redada = 0 + ) AS Tic2 + + GROUP BY Tic2.Id_Article, Fecha + ) Tic3 + + LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article + LEFT JOIN Origen O ON O.id = A.id_origen + LEFT JOIN item_travel t ON t.wh = O.warehouse_id + + WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, + t.landing, + date_top) + + GROUP BY Tic3.Id_Article + + + ) AS Tic5 + + ON Tic5.Id_Article = AI.article_id + SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), + AI.sd = AI.inventory + Tic5.sd; +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 `inventario_multiple_reservas` */; +/*!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 `inventario_multiple_reservas`(date_ticket DATETIME, wh INT, days_max INT) +BEGIN + DECLARE date_end DATETIME DEFAULT CURDATE(); + DECLARE date_start DATETIME; + DECLARE i_avalaible INTEGER; + + SET date_ticket = DATE(date_ticket); + + CALL article (); + + INSERT INTO article_inventory (article_id) + SELECT a.Id_Article + FROM Articles a + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + LEFT JOIN reinos r ON r.id = tp.reino_id + WHERE r.display <> 0; + + ALTER TABLE `article_inventory` + ADD `avalaible` INT(11) NOT NULL, + ADD `sd` INT(11) NOT NULL, + ADD `rest` INT(11) NOT NULL, + ADD `expected` INT(11) NOT NULL, + ADD `inventory` INT(11) NOT NULL, + ADD `visible` INT(11) NOT NULL, + ADD `life` TINYINT(1) NOT NULL DEFAULT '0'; + + SELECT FechaInventario INTO date_start FROM tblContadores; + + SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, -1, date_ticket),'23:59:59'); + + -- Utilizo el valor clave 4848 para days_max para aprovechar el procedimiento para el frmCamiones de eti + + IF days_max = 4848 THEN + set date_ticket = date_end; + END IF; + + -- Calculo del inventario dia D a las 24:00 + + UPDATE article_inventory AI INNER JOIN + ( + SELECT Id_Article, SUM(amount) as Subtotal FROM ( + SELECT Id_Article, -Cantidad AS amount + FROM Movimientos M + JOIN Tickets T USING (Id_Ticket) + JOIN warehouse W ON W.id = T.warehouse_id + WHERE Fecha BETWEEN date_start AND date_end + AND wh IN (T.warehouse_id, 0) + AND NOT W.fuente + UNION ALL + SELECT Id_Article, Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + LEFT JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id + WHERE TR.landing BETWEEN date_start AND date_ticket + AND wh IN (TR.warehouse_id, 0) + AND NOT W.fuente + AND E.Inventario = 0 + AND E.Redada = 0 + UNION ALL + SELECT Id_Article, -Cantidad + FROM Compres C + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON E.travel_id = TR.id + JOIN warehouse W ON W.id = TR.warehouse_id_out + WHERE TR.shipment BETWEEN date_start AND date_end + AND wh IN (TR.warehouse_id_out,0) + AND NOT W.fuente + AND E.Inventario = 0 + AND E.Redada = 0 + ) AS T1 + GROUP BY Id_Article + ) AS T2 + ON AI.article_id = T2.Id_Article + SET AI.inventory = T2.Subtotal, + AI.visible = T2.Subtotal, + AI.avalaible = T2.Subtotal, + AI.sd = T2.Subtotal; +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 `inventario_valorado` */; +/*!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 `inventario_valorado`(IN d_FEC DATE, IN bol_DESGLOSE BOOLEAN) +BEGIN + + DECLARE d_INV DATE; + DECLARE bolREVERSE BOOLEAN DEFAULT 0; + DECLARE d_INV2 DATE; + + SELECT landing INTO d_INV + FROM travel TR + INNER JOIN Entradas E ON E.travel_id = TR.id + WHERE landing <= d_FEC + AND E.Id_Proveedor = 4 + ORDER BY landing DESC + LIMIT 1; + + SET bolREVERSE = IF (d_INV is null, 1, 0); + + + IF bolREVERSE THEN + + SELECT landing INTO d_INV2 + FROM travel TR + INNER JOIN Entradas E ON E.travel_id = TR.id + WHERE landing >= d_FEC + AND E.Id_Proveedor = 4 + ORDER BY landing ASC + LIMIT 1; + + SET d_INV = TIMESTAMPADD(DAY,1,d_FEC); + SET d_FEC = d_INV2; + + + + END IF; + + DROP TEMPORARY TABLE IF EXISTS inv; + + CREATE TEMPORARY TABLE inv + (w_id SMALLINT, + Id_Article BIGINT, + cantidad INT, + coste DOUBLE DEFAULT 0, + total DOUBLE DEFAULT 0) ENGINE = MEMORY; + + + ALTER TABLE inv ADD PRIMARY KEY USING HASH (w_id, Id_Article); + + + + IF bolREVERSE = 1 THEN + + INSERT INTO inv(w_id, Id_Article, cantidad) + SELECT TR.warehouse_id, C.Id_Article, SUM(C.Cantidad) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id + WHERE landing = d_FEC + AND E.Id_Proveedor = 4 + AND NOT w.fuente + AND t.inventory + AND reino_id NOT IN (7) + GROUP BY TR.warehouse_id, C.Id_Article; + + END IF; + + INSERT INTO inv(w_id, Id_Article, cantidad) + SELECT TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = TR.warehouse_id + WHERE landing BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) + AND NOT redada + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,-1,1)); + + INSERT INTO inv(w_id, Id_Article, cantidad) + SELECT TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id_out + WHERE shipment BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) + AND NOT redada + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,1,-1)); + + INSERT INTO inv(w_id, Id_Article, cantidad) + SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Clientes C USING(Id_Cliente) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id + WHERE T.Fecha BETWEEN d_INV AND TIMESTAMPADD(DAY, -1 ,d_FEC) + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,1,-1); + + + INSERT INTO inv(w_id, Id_Article, cantidad) + SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,0,-1) + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Clientes C USING(Id_Cliente) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id + WHERE date(T.Fecha) = d_FEC + AND (d_FEC <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,0,-1); + + CALL item_last_buy_(NULL,d_FEC); + + UPDATE inv + JOIN t_item_last_buy lb ON w_id = lb.warehouse_id AND inv.Id_Article = lb.item_id + JOIN Compres C ON C.Id_Compra = lb.buy_id + SET total = inv.cantidad * (ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0)), + coste = ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) + WHERE inv.cantidad <> 0; + + DELETE FROM inv WHERE Cantidad IS NULL or Cantidad = 0; + + IF bol_DESGLOSE THEN + + SELECT inv.w_id, a.Id_Article, a.Article, a.Medida, inv.Cantidad, tp.Id_Tipo, + tp.reino_id, inv.coste, cast(inv.total as decimal(10,2)) total, an.nicho + FROM inv + JOIN warehouse w on w.id = w_id + JOIN Articles a ON a.Id_Article = inv.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN Articles_nicho an ON an.Id_Article = a.Id_Article AND an.warehouse_id = w.id + where w.valuatedInventory + and inv.total > 0 + order by inv.total desc; + + ELSE + + SELECT w.name as Almacen, r.reino as Reino, cast(total as decimal) as Euros + FROM inv + JOIN warehouse w ON w.id = w_id + JOIN Articles A USING(Id_Article) + JOIN Tipos t USING(tipo_id) + JOIN reinos r ON r.id = t.reino_id + where w.valuatedInventory; + + 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 `inventory_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 = 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 `inventory_refresh`() BEGIN - - - DECLARE isFile boolean; - DECLARE datTo2359 DATETIME; - - SET datTo2359 = util.dayEnd(datTo); - - SELECT SUM(price) INTO isFile FROM agencia_descuadre; - - IF NOT IFNULL(isFile,0) THEN - - SELECT t.Id_Ticket,0 AS Total_Agencia,t.Id_Consigna,t.empresa_id,t.warehouse_id, - v.suma_componente AS VN, v.suma_componente - shipping_charge AS Difer, - e.shipping_charge AS teorico,t.Id_Agencia, t.Bultos,t.Id_Cliente, ap.zona - - FROM Tickets t LEFT JOIN - (SELECT Id_Ticket, SUM(suma_componente) suma_componente,Fecha - FROM v_descuadre_porte2 - WHERE Fecha BETWEEN datSince AND datTo2359 - GROUP BY Id_Ticket) v ON t.Id_Ticket = v.Id_Ticket - LEFT JOIN (SELECT Id_Ticket, SUM(shipping_charge) shipping_charge, Fecha - FROM v_expeditions_shipping_charge2 - WHERE Fecha BETWEEN datSince AND datTo2359 - GROUP BY Id_Ticket - ) e ON t.Id_Ticket = e.Id_Ticket - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN Consignatarios c ON t.Id_Consigna = c.Id_Consigna - JOIN Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = t.warehouse_id AND ap.province_id = c.province_id - JOIN warehouse_group wg ON wg.warehouse_id =t.warehouse_id - WHERE DATE(t.Fecha) BETWEEN datSince AND datTo2359 AND a.agency_id = intAgency and wg.warehouse_alias_id = intWarehouseAlias; - - ELSE - - SELECT t.Id_Ticket, Round(sum_price , 2) AS Total_Agencia,t.Id_Consigna,t.empresa_id,t.warehouse_id, - v.suma_componente AS VN, IF(isFile,Round(sum_price, 2) - v.suma_componente,v.diferencia) AS Difer, - v.teorico_agencia AS teorico,zd.Id_Agencia, t.Bultos,t.Id_Cliente - FROM - (SELECT - *, SUM(price) sum_price - FROM - (select - t.Id_Ticket, zd.price,t.Id_Consigna, zd.date,t.empresa_id,t.warehouse_id,c.Descuento,t.Id_Agencia - from - agencia_descuadre zd - LEFT JOIN Tickets t ON t.Id_Ticket = zd.Id_Ticket - LEFT JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente - ORDER BY t.Id_Cliente DESC) t - GROUP BY Id_Ticket,`date`) zd - LEFT JOIN - Tickets t ON zd.date = DATE(t.Fecha) - AND zd.Id_Consigna = t.Id_Consigna - AND zd.warehouse_id = t.warehouse_id - AND zd.Id_Agencia = t.Id_Agencia - LEFT JOIN - v_descuadre_porte v ON v.Id_Ticket = t.Id_Ticket - WHERE t.Id_Cliente <> 4712 AND t.Id_Cliente <> 450 - GROUP BY zd.date,Id_Consigna,warehouse_id,zd.Id_Agencia -- HAVING Difer > 0.5 OR Difer < -0.5 jgf 2015-08-18 - ORDER BY v.diferencia; - 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 `agencia_volume` */; -/*!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 `agencia_volume`() -BEGIN - DECLARE v_start DATETIME DEFAULT TIMESTAMP(CURDATE()); - DECLARE v_end DATETIME DEFAULT TIMESTAMP(CURDATE(), '23:59:59'); - - - SET v_start = IF(WEEKDAY(CURDATE()), CURDATE(),TIMESTAMPADD(DAY,-1,CURDATE())); - SET v_start = IF(CURDATE() = '2014-05-02', '2014-05-01',v_start); - DROP TEMPORARY TABLE IF EXISTS agenVOL; - CREATE TEMPORARY TABLE agenVOL - ( - Id_Ticket INT PRIMARY KEY - ,Id_Agencia INT - ,Agencia VARCHAR(30) - ,Bultos INT DEFAULT 0 - ,Faltan INT DEFAULT 0 - /*,Prioridad VARCHAR(15) DEFAULT ''*/ - ) - ENGINE=MEMORY; - - -- Insertamos los tickets que ya tienen la linea de portes - - INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Bultos) - SELECT a.Id_Agencia, name , Id_Ticket, sum(Cantidad) Bultos - FROM Tickets t - JOIN Agencias a USING(Id_Agencia) - JOIN Movimientos m USING(Id_Ticket) - JOIN agency ag USING(agency_id) - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE Concepte LIKE '%porte%' - AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) - AND Fecha BETWEEN v_start AND v_end - AND Vista = 1 - GROUP BY Id_Ticket; - - -- Insertamos los tickets que ya tienen expediciones, que fallaran si se repite la clave primaria. - - INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Bultos) - SELECT a.Id_Agencia, name, ticket_id, COUNT(ticket_id) - FROM expeditions e - JOIN Tickets t ON t.Id_Ticket = e.ticket_id - JOIN Agencias a ON a.Id_Agencia = e.agency_id - JOIN agency ag ON ag.agency_id = a.agency_id - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE t.Fecha BETWEEN v_start AND v_end - AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) - AND Vista = 1 - GROUP BY ticket_id - ON DUPLICATE KEY UPDATE Bultos = Bultos; - - -- Adivinamos el futuro - INSERT INTO agenVOL(Id_Agencia, Agencia, Id_Ticket, Faltan) - SELECT a.Id_Agencia, name, Id_Ticket, 1 as Faltan - FROM Tickets t - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN expeditions e ON e.ticket_id = t.Id_Ticket - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE Fecha BETWEEN v_start AND v_end - AND Bultos = 0 AND expeditions_id IS NULL AND EtiquetasEmitidas = 0 - AND wj.warehouse_alias_id = 1 -- JGF 18/12/14 El 1 equivale a Silla (SillaFV-SillaPCA) - AND Vista = 1 - GROUP BY Id_Ticket - ON DUPLICATE KEY UPDATE Faltan = Faltan + 1; - - - -- Matizamos la urgencia para ZELERIS - /* - UPDATE agenVOL a - JOIN Tickets t USING(Id_Ticket) - JOIN Clientes c USING(Id_Cliente) - JOIN Agencias agen ON agen.Id_Agencia = t.Id_Agencia - JOIN agency ag ON ag.agency_id = agen.agency_id - JOIN Agencias_province ap ON ag.agency_id = ap.province_id - JOIN province p ON p.province_id = ap.province_id - SET a.Prioridad = IF(p.name IN ('VALENCIA','MURCIA','MADRID','BARCELONA','GIRONA','ALICANTE','CASTELLON'), 'LENTA','RAPIDA') - WHERE ag.name LIKE 'zeleris';*/ - - SELECT agen.agency_id, name Agencia, COUNT(Id_Ticket) expediciones, SUM(Bultos) Bultos, SUM(Faltan) Faltan/*, Prioridad*/ - FROM agenVOL a - JOIN Agencias agen USING(Id_Agencia) - JOIN agency ag USING(agency_id) - GROUP BY ag.agency_id/*, Prioridad*/; - - DROP TEMPORARY TABLE IF EXISTS agenVOL; -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 `alfa_invoices` */; -/*!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 `alfa_invoices`(IN datFEC DATE) -BEGIN - -DECLARE datSTART DATETIME; -DECLARE vTotal DECIMAL(10,2) DEFAULT 0.00; - -SET @myId = -10000000; -SET @myRef = 'factura'; -SET @myTotal = vTotal; - -SET datSTART = TIMESTAMPADD(DAY, -1 * DAYOFMONTH(datFEC) + 1, datfec); - -IF datFEC < '2017-07-01' THEN - - SELECT Id_Factura `Invoice no`, - date(Fecha) as `Invoice date`, - Id_Cliente `Debtor no`, - `IF` `Vat nr`, - Razonsocial `Name`, - BI7 `Amount excl Vat 6%`, - BI16 `Amount excl Vat 19%`, - IVA7 `Vat 6%`, - IVA16 `Vat 19%`, - Importe `Total inc Vat` - from Facturas - INNER JOIN Clientes USING(Id_Cliente) - where empresa_id = 567 - and Fecha BETWEEN datSTART AND datFEC - order by `Invoice date`, factura_id; - -ELSE - -SELECT * FROM - ( - SELECT io.ref `Invoice no`, - io.issued `Invoice date`, - IF(@myId = io.id, '', clientFk) `Debtor no`, - IF(@myId = io.id, '', c.fi) `Vat nr`, - IF(@myId = io.id, '', c.socialName) `Name`, - taxableBase `Taxable Amount excl VAT`, - CONCAT(CAST(pgc.rate AS DECIMAL(2,0)) ,' %') `VAT Rate`, - CAST(vat AS DECIMAL(10,2)) `VAT Quote`, - CAST(@myTotal + taxableBase + vat AS DECIMAL(10,2)) `Total plus Vat`, - IF(@myId := io.id, NULL, NULL) as ControlField - FROM vn.invoiceOut io - JOIN vn.client c ON c.id = io.clientFk - JOIN vn.invoiceOutTax iot ON iot.invoiceOutFk = io.id - JOIN vn.pgc ON pgc.code = iot.pgcFk - WHERE io.companyFk = 567 - AND io.issued BETWEEN datSTART AND datFEC - ORDER BY io.id, iot.id - ) t1 - ORDER BY `Invoice date` DESC, `Invoice no`; - -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 `article` */; -/*!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 `article`() -BEGIN - DROP TEMPORARY TABLE IF EXISTS `article_inventory`; - CREATE TEMPORARY TABLE `article_inventory` - ( - `article_id` INT(11) NOT NULL PRIMARY KEY, - `future` DATETIME - ) - ENGINE = MEMORY; -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 `articleTagUpdatePriority_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 `articleTagUpdatePriority_kk`(IN vItem INT) -BEGIN -/* -* DEPRECATED -*/ - -CALL vn.itemTagUpdatePriority(vItem); - -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 `article_available_single` */; -/*!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 `article_available_single`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT) -BEGIN - - CALL bionic_available_single (v_wh, v_date,id_single,0); - - - SELECT available AS minimo FROM tmp_item - WHERE item_id = id_single; --- ixen totes les linies en lloc d'una sola - DROP TEMPORARY TABLE IF EXISTS 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `article_inventory_warehouses` */; -/*!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 `article_inventory_warehouses`(vDate DATE) -proc: BEGIN /** * Recalcula los inventarios de todos los almacenes. - * - * @param vDate Fecha de los nuevos inventarios */ - DECLARE vWh INT; - DECLARE vDone BOOL; - DECLARE vEntryId INT; - DECLARE vTravelId INT; - DECLARE vDateTime DATETIME DEFAULT TIMESTAMP(vDate, '00:00:00'); - DECLARE vDeleteDate DATE DEFAULT TIMESTAMPADD(DAY, -2, vDate); + INSERT INTO daily_task_log + SET consulta = 'inventory_refresh-begin'; + + CALL article_inventory_warehouses (TIMESTAMPADD(DAY, -10, CURDATE())); - DECLARE cWarehouses CURSOR FOR - SELECT id FROM warehouse WHERE inventario; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET vDone = TRUE; - - OPEN cWarehouses; - - l: LOOP - - SET vDone = FALSE; - FETCH cWarehouses INTO vWh; - - IF vDone THEN - LEAVE l; - END IF; - - INSERT INTO travel SET - warehouse_id_out = 13, - warehouse_id = vWh, - shipment = vDateTime, - landing = vDateTime, - agency_id = 53, - ref = 'inventario', - delivered = TRUE, - received = TRUE; - - SELECT LAST_INSERT_ID() INTO vTravelId; - - INSERT INTO Entradas SET - Id_Proveedor = 4, - Fecha = vDateTime, - Confirmada = TRUE, - Pedida = TRUE, - travel_id = vTravelId; - - SELECT LAST_INSERT_ID() INTO vEntryId; - - -- Inserta el visible - - CALL inventario_multiple_inventarios (vWh, vDateTime); - - -- Inserta Last_buy_id - - ALTER TABLE article_inventory - ADD buy_id INT; - - UPDATE article_inventory ai - JOIN - ( - SELECT * FROM ( - SELECT Id_Article, Id_Compra,warehouse_id - FROM Compres c - JOIN Entradas e USING (Id_Entrada) - JOIN travel tr ON tr.id = e.travel_id - WHERE Novincular = FALSE - AND costefijo > 0 AND tarifa2 > 0 - AND NOT Redada - AND landing BETWEEN date_inv() AND vDate - ORDER BY (vWh = warehouse_id) DESC, landing DESC - ) t1 - GROUP BY Id_Article - ) t - ON ai.article_id = t.Id_Article - SET ai.buy_id = t.Id_Compra; - - INSERT INTO Compres ( - Id_Entrada - ,Id_Article - ,Cantidad - ,Costefijo - ,Packing - ,Id_Cubo - ,Tarifa2 - ,Tarifa3 - ,Productor - ) - SELECT - vEntryId - ,AI.article_id - ,IF(AI.visible < 0,0,AI.visible) - ,ifnull(C.Costefijo,0) + ifnull(C.Portefijo,0) + ifnull(C.Comisionfija,0) + ifnull(C.Embalajefijo,0) - ,C.Packing - ,C.Id_Cubo - ,C.Tarifa2 - ,C.Tarifa3 - ,C.Productor - FROM article_inventory AI - LEFT JOIN Compres C ON C.Id_Compra = AI.buy_id; - - DROP TEMPORARY TABLE article_inventory; - END LOOP; - - CLOSE cWarehouses; - - UPDATE tblContadores SET FechaInventario = vDate; - - DELETE e, t - FROM travel t - JOIN Entradas e ON e.travel_id = t.id - WHERE Id_Proveedor = 4 - AND shipment <= vDeleteDate - AND (DAY(shipment) <> 1 OR shipment < TIMESTAMPADD(MONTH, -12, 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 `article_minacum` */; -/*!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 `article_minacum`(IN v_wh TINYINT, IN v_date_ini DATETIME, IN v_range INT) + INSERT INTO daily_task_log + SET consulta = 'inventory_refresh-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 `invoice_newkk` */; +/*!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 `invoice_newkk`( + customer_id INT, + serie VARCHAR(10), + date_ini DATE, + date_end DATE, + date_invoice DATETIME, + ticket_id INT, + empresa_act INT, + Id_Trabajador INT +) +BEGIN + DECLARE invoice_id VARCHAR(30) DEFAULT NULL; + DECLARE date_vec DATE DEFAULT date_invoice; + DECLARE day_vec INT; + DECLARE bi_r DOUBLE DEFAULT 0; + DECLARE bi_g DOUBLE DEFAULT 0; + DECLARE bi_n DOUBLE DEFAULT 0; + DECLARE iva_r DOUBLE DEFAULT 0; + DECLARE iva_g DOUBLE DEFAULT 0; + DECLARE re_r DOUBLE DEFAULT 0; + DECLARE re_g DOUBLE DEFAULT 0; + DECLARE dblImporte DOUBLE DEFAULT 0; + DECLARE intpais_id TINYINT DEFAULT 1; + DECLARE intFac INTEGER; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + SELECT TIMESTAMP (date_ini, '00:00:00') into date_ini; + + SET date_invoice = IFNULL(date_invoice,CURDATE()); + + IF date_invoice >= '2015-12-01' AND empresa_act = 791 AND serie <> 'A' THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT ='ERROR_FTH_NO_EXISTE'; + END IF; + + DROP TEMPORARY TABLE IF EXISTS `iva_base`; + CREATE TEMPORARY TABLE `iva_base` + ( + `id` VARCHAR(3) NOT NULL, + `base` DOUBLE NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) + ) + ENGINE = MEMORY; + + DROP TEMPORARY TABLE IF EXISTS `ticket_invoice`; + CREATE TEMPORARY TABLE `ticket_invoice` + ( + `ticket_id` INT NOT NULL, + PRIMARY KEY (`ticket_id`) + ) + ENGINE = MEMORY; + + START TRANSACTION; + + SELECT pais_id INTO intpais_id FROM Proveedores WHERE Id_Proveedor = empresa_act; + + IF ticket_id = 0 THEN + + INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets WHERE (Fecha BETWEEN date_ini + AND DAYEND(date_end)) AND Id_Cliente = customer_id AND Factura IS NULL AND empresa_id = empresa_act ; + + ELSE + + INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets WHERE Id_Ticket = ticket_id + AND Factura IS NULL ; + + END IF; +-- Elimina tickets sense moviments + UPDATE Tickets INNER JOIN (SELECT COUNT(Movimientos.Id_Movimiento) AS num, ticket_invoice.ticket_id AS ticket_id + FROM ticket_invoice LEFT JOIN Movimientos ON ticket_invoice.ticket_id = Movimientos.Id_Ticket + GROUP BY ticket_invoice.ticket_id HAVING num = 0) counter + ON Tickets.Id_Ticket = counter.ticket_id SET Tickets.Fecha = '1999-01-01 00:00:00'; + + -- Eliminem els tickets que no han de ser facturats + DELETE ticket_invoice.* FROM ticket_invoice INNER JOIN Tickets ON ticket_invoice.ticket_id = Tickets.Id_Ticket + INNER JOIN Clientes ON Tickets.Id_Cliente = Clientes.Id_cliente WHERE YEAR(Tickets.Fecha) < 2001 AND invoice; + + IF (SELECT COUNT(*) FROM ticket_invoice) > 0 THEN + + INSERT INTO iva_base (id) SELECT tipoiva FROM tblIVA; + + UPDATE iva_base + INNER JOIN + (SELECT tipo, SUM(base) base + FROM + (SELECT t.tipo, red(m.Cantidad * m.Preu * (100 - Descuento) / 100) AS base + FROM + Movimientos m + INNER JOIN ticket_invoice ti ON m.Id_Ticket = ti.ticket_id + INNER JOIN (SELECT t.tipo, Id_Article + FROM + (SELECT + date, iva_codigo_id, ic.tipo, iva_group_id + FROM + iva_group_codigo gi + INNER JOIN iva_codigo ic ON gi.iva_codigo_id = ic.id + INNER JOIN iva_tipo itp ON itp.id = ic.iva_tipo_id + WHERE + date <= date_invoice + AND Id_Pais = intpais_id + ORDER BY date DESC) t + INNER JOIN Articles USING (iva_group_id) + GROUP BY Id_Article) t USING (Id_Article)) sub + GROUP BY tipo) iva_movement ON iva_base.id = iva_movement.tipo + SET + iva_base.base = iva_movement.base; + + IF (serie = 'H' OR serie = 'V' OR serie = 'E' OR serie = 'X') then + SELECT SUM(base) into dblImporte from iva_base; + ELSE + + SET bi_r = (SELECT base FROM iva_base WHERE id = 'R'); + + SET bi_g = (SELECT base FROM iva_base WHERE id = 'G'); + SET bi_n = (SELECT base FROM iva_base WHERE id = '0'); + SET iva_r = red(bi_r * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + SET iva_g = red(bi_g * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + IF (SELECT IF(RE = 0, FALSE, TRUE) FROM Clientes WHERE Clientes.Id_cliente = customer_id) THEN + + SET re_r = red(bi_r * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + SET re_g = red(bi_g * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + END IF; + SET dblImporte = bi_r + bi_g + bi_n + iva_r + iva_g + re_r + re_g ; + END IF; + + END IF; + + IF dblImporte <> 0 THEN + + SELECT Vencimiento INTO day_vec FROM Clientes WHERE Id_cliente = customer_id; + SET date_vec = TIMESTAMPADD(DAY, day_vec, date_vec); + + -- el trigger añade el siguiente Id_Factura correspondiente a la serie + INSERT INTO Facturas + ( + Id_Factura, + Serie, + Fecha, + Id_Cliente, + BI7, + BI16, + IVA7, + IVA16, + RE1, + RE4, + Importe, + Vencimiento, + empresa_id + ) + VALUES + ( + 1, + serie, + date_invoice, + customer_id, + bi_r, + bi_g, + iva_r, + iva_g, + re_r, + re_g, + dblImporte, + date_vec, + empresa_act + ); + + SET intFac = LAST_INSERT_ID(); + + SELECT Id_Factura INTO invoice_id FROM Facturas + WHERE factura_id = intFac; + + UPDATE Tickets INNER JOIN ticket_invoice ON Tickets.Id_Ticket = ticket_invoice.ticket_id + SET Factura = invoice_id, Etiquetasemitidas = TRUE; + + DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; + CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY + SELECT s.id,ti.ticket_id,Id_Trabajador + FROM ticket_invoice ti + JOIN vn.ticketState ts ON ti.ticket_id = ts.ticket + JOIN state s + WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.ticket_id); + + INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) + SELECT * FROM tmp.updateInter; + + INSERT INTO Tickets_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + SELECT 111/*Factura serie*/,Id_Trabajador,ti.ticket_id,NULL,serie FROM ticket_invoice ti; + END IF; + + DROP TEMPORARY TABLE `iva_base`; + DROP TEMPORARY TABLE `ticket_invoice`; + 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 `itemTagArrangedUpdate` */; +/*!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 `itemTagArrangedUpdate`(IN vItem BIGINT) +BEGIN +/** + * DEPRECATED + **/ + CALL vn.itemTagArrangedUpdate(vItem); + +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 `itemTagArrangedUpdate_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 `itemTagArrangedUpdate_launcher`() +BEGIN + + call vn2008.itemTagArrangedUpdate(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 `itemTagUpdatePriority` */; +/*!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 `itemTagUpdatePriority`(IN vItem INT) +BEGIN +/* +* DEPRECATED +*/ + +CALL vn.itemTagUpdatePriority(vItem); + +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_buffer_tarifa_traveltreekk` */; +/*!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_buffer_tarifa_traveltreekk`(v_date DATE, v_consigna INT, v_agencia INT, i_order INT, v_wh SMALLINT) +BEGIN + -- v_date fecha de recepcion de mercancia + + DECLARE done TINYINT DEFAULT 0; + DECLARE v_shipment DATE; + DECLARE v_agency_id INT; + + DECLARE cur1 CURSOR FOR + SELECT warehouse_id, Fecha_envio + FROM travel_tree; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + -- establecemos los almacenes y las fechas que van a entrar al dispo_multi + + SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; + + -- Si pasamos un almacen significa que estamos recalculando el dispo y el precio para un ticket existente + + IF v_wh = 0 + THEN + CALL travel_tree(v_date,v_consigna, v_agency_id); + ELSE + DROP TEMPORARY TABLE IF EXISTS travel_tree; + + CREATE TEMPORARY TABLE travel_tree ( + warehouse_id SMALLINT NOT NULL, + Fecha_envio DATE NOT NULL, + Fecha_recepcion DATE NOT NULL, + PRIMARY KEY ( warehouse_id) + ) ENGINE = MEMORY; + + INSERT INTO travel_tree + SELECT v_wh, v_date, v_date; + END IF; + + -- Ejecutamos item_buffer_tarifa para cada registro del cursos, y almacenaremos los valores acumulados, para el buffer y para los componentes + + OPEN cur1; + FETCH cur1 INTO v_wh, v_shipment; + + DROP TEMPORARY TABLE IF EXISTS buffer_multi; + CREATE TEMPORARY TABLE buffer_multi ( + warehouse_id tinyint(4) NOT NULL , + Id_Article int(11) NOT NULL , + visible double DEFAULT NULL, + available double DEFAULT NULL, + future date DEFAULT NULL, + buy_inc int(11) DEFAULT NULL, + buy_last date DEFAULT NULL, + buy_id int(11) DEFAULT NULL, + `fixed` tinyint(4) DEFAULT '0', + rate_0 double DEFAULT NULL, + rate_1 double DEFAULT NULL, + rate_2 double DEFAULT NULL, + rate_3 double DEFAULT NULL, + Packing int(8) DEFAULT 1, + Grouping int(8) DEFAULT 1, + Productor VARCHAR(45) DEFAULT NULL, + caja tinyint(4) DEFAULT '0', + Origen VARCHAR(3) NOT NULL DEFAULT '---', + mark tinyint(4) DEFAULT '0', + `comment` VARCHAR(100), + foto VARCHAR(50), + Id_Tipo smallint(5), + Article VARCHAR(50), + PRIMARY KEY (Id_Article, warehouse_id) + ) ENGINE = MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ; + + WHILE NOT done + DO + CALL item_buffer_tarifa(v_wh, v_shipment, v_consigna, FALSE, v_agencia); + + -- eliminaremos PCA de Silla FV y viceversa + + INSERT INTO buffer_multi(warehouse_id, Id_Article, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, caja, Origen, mark, `comment`, foto, Id_Tipo, Article) + SELECT v_wh, id, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, bb.caja, Origen, mark, `comment`, A.Foto, A.tipo_id, A.Article + FROM bionic_buffer bb + JOIN Articles A ON A.Id_Article = bb.id + JOIN Tipos TP ON TP.tipo_id = A.tipo_id + WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) + AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); + + INSERT INTO order_components(order_id, warehouse_id, Id_Article, Valor, Id_Componente) + SELECT i_order, v_wh, bb.Id_Article, Valor, Id_Componente + FROM components bb + JOIN Articles A ON A.Id_Article = bb.Id_Article + JOIN Tipos TP ON TP.tipo_id = A.tipo_id + WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) + AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); + + DROP TEMPORARY TABLE bionic_buffer; + DROP TEMPORARY TABLE components; + + FETCH cur1 INTO v_wh, v_shipment; + END WHILE; + + CLOSE cur1; + + DROP TEMPORARY TABLE IF EXISTS buffer_multi_lotes; + + CREATE TEMPORARY TABLE buffer_multi_lotes + ENGINE = MEMORY + SELECT buy_last as landing, warehouse_id, Id_Article, FLOOR(available/IF(caja = 1,Grouping,1)) AS Items, + IF(caja = 1,Grouping,1) AS Grouping, rate_1 AS Precio, 1 AS tarifa_class + FROM buffer_multi + WHERE caja < 2 + AND (Packing > Grouping or caja = 0); + + INSERT INTO buffer_multi_lotes + SELECT buy_last, warehouse_id, Id_Article, FLOOR(available/Packing) AS items, Packing AS Grouping, rate_2 AS Precio,2 AS tarifa_class + FROM buffer_multi + WHERE Packing > 0 + AND available > Packing; + + INSERT INTO buffer_multi_lotes + SELECT buy_last, warehouse_id, Id_Article, 1 AS items, available AS Grouping, rate_3 AS Precio,3 AS tarifa_class + FROM buffer_multi; + + DROP TEMPORARY TABLE travel_tree; +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_buffer_tarifa_traveltree_dupkk` */; +/*!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_buffer_tarifa_traveltree_dupkk`( + v_date DATE, -- fecha de recepcion de mercancia + v_consigna INT, + v_agencia INT, + i_order INT, + v_wh TINYINT) +BEGIN + DECLARE v_shipment DATE; + DECLARE v_agency_id INT; + DECLARE done BOOL DEFAULT FALSE; + DECLARE cur CURSOR FOR + SELECT warehouse_id, Fecha_envio FROM travel_tree; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + CALL cache.order_clean (i_order); + + -- Establecemos los almacenes y las fechas que van a entrar al dispo_multi + + SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; + + -- Si pasamos un almacen significa que estamos recalculando el dispo y el precio para un ticket existente + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + + IF v_wh = 0 + THEN + CALL vn2008.travel_tree(v_date,v_consigna, v_agency_id); + ELSE + CREATE TEMPORARY TABLE travel_tree + (PRIMARY KEY (warehouse_id)) + ENGINE=MEMORY + SELECT v_wh warehouse_id, v_date Fecha_envio; + END IF; + + -- Ejecutamos item_buffer_tarifa para cada registro del cursos, y almacenaremos los valores acumulados, para el buffer y para los componentes + + OPEN cur; + FETCH cur INTO v_wh, v_shipment; + + WHILE NOT done + DO + CALL item_buffer_tarifa_dup (v_wh, v_shipment, v_consigna, FALSE, v_agencia); + + -- Eliminaremos PCA de Silla FV y viceversa + + INSERT INTO cache.order_stock ( + order_id, warehouse_id, Id_Article, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, caja, Origen, mark, `comment`, foto, Id_Tipo, Article + ) + SELECT i_order, v_wh, id, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, bb.caja, Origen, mark, `comment`, A.Foto, A.tipo_id, A.Article + FROM bionic_buffer bb + JOIN Articles A on A.Id_Article = bb.id + JOIN Tipos TP on TP.tipo_id = A.tipo_id + WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) + AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); + + INSERT INTO cache.order_component ( + order_id, warehouse_id, item_id, cost, component_id + ) + SELECT i_order, v_wh, bb.Id_Article, Valor, Id_Componente + FROM components bb + JOIN Articles A on A.Id_Article = bb.Id_Article + JOIN Tipos TP on TP.tipo_id = A.tipo_id + WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) + AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); + + FETCH cur INTO v_wh, v_shipment; + END WHILE; + + CLOSE cur; + + INSERT INTO cache.order_stock_lot ( + order_id, + landing, + warehouse_id, + item_id, + items, + grouping, + price, + rate_class + ) + SELECT order_id, buy_last, warehouse_id, Id_Article, FLOOR(available / IF(caja = 1, Grouping, 1)), IF(caja = 1, Grouping, 1), rate_1, 1 + FROM cache.order_stock + WHERE caja < 2 + AND (Packing > Grouping or caja = 0) + UNION ALL + SELECT order_id, buy_last, warehouse_id, Id_Article, FLOOR(available/Packing), Packing, rate_2, 2 + FROM cache.order_stock + WHERE Packing > 0 + AND available > Packing + UNION ALL + SELECT order_id, buy_last, warehouse_id, Id_Article, 1, available, rate_3, 3 + FROM cache.order_stock; + +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_buy` */; +/*!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_buy`(IN v_wh TINYINT, IN v_date DATETIME) +BEGIN + DECLARE date_inv DATE; + ALTER TABLE item + ADD buy_id INT UNSIGNED; + + IF v_date < (SELECT date_inv()) THEN + SELECT MIN(landing) INTO date_inv FROM travel t INNER JOIN Entradas e ON e.travel_id = t.id + WHERE warehouse_id_out = 13 AND landing <= v_date; + ELSE + SET date_inv = date_inv(); + END IF; + UPDATE item i INNER JOIN ( + SELECT * FROM ( + SELECT c.Id_Article item_id, c.Id_Compra id + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv AND v_date + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 + ORDER BY v_wh = t.warehouse_id DESC, t.landing DESC + ) t + GROUP BY item_id + ) t + ON i.id = t.item_id + SET i.buy_id = t.id; + + CREATE INDEX buy USING HASH ON item (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 `item_buy_price` */; +/*!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_buy_price`(IN v_customer INT,IN date_ DATE,IN v_wh TINYINT) +BEGIN + ALTER TABLE item + ADD price DOUBLE, + ADD discount INT; + + + -- Lo primero, el precio normal, la ultima entrada para ese almacen + + UPDATE item i + JOIN Compres b ON i.buy_id = b.Id_Compra + JOIN Clientes c ON c.Id_cliente = v_customer + SET i.price = CASE c.Descuento + + WHEN 0 THEN b.PVP + WHEN 1 THEN b.Tarifa1 + WHEN 2 THEN b.Tarifa2 + WHEN 3 THEN b.Tarifa3 + ELSE IF(c.Descuento BETWEEN 4 AND 100, b.Tarifa2, round(b.Tarifa3 * (200 - c.Descuento) / 100 ,2) ) + END, + i.discount = IF(c.Descuento BETWEEN 4 AND 100, c.Descuento, 0); + + -- Precios fijados + + UPDATE item i + INNER JOIN Clientes c ON c.Id_cliente = v_customer + JOIN v_price_fixed_group fp ON i.id = fp.item_id + SET i.price = CASE c.Descuento + WHEN 0 THEN fp.rate_0 + WHEN 1 THEN fp.rate_1 + WHEN 2 THEN fp.rate_2 + WHEN 3 THEN fp.rate_3 + ELSE fp.rate_3 + END, + i.discount = 0 + WHERE fp.warehouse_id IN (0,v_wh) + AND date_ BETWEEN fp.date_start AND fp.date_end; + + -- Precios especiales + + UPDATE item i + JOIN Clientes c ON c.Id_cliente = v_customer + JOIN PreciosEspeciales p ON i.id = p.Id_Article AND p.Id_Cliente = v_customer + SET i.price = p.PrecioEspecial, + i.discount = 0; + + -- Precio mínimo + + UPDATE item i + JOIN Articles a ON a.Id_Article = i.id + JOIN Clientes c ON c.Id_cliente = v_customer + SET i.price = IF(a.`Min` AND i.price < a.PVP, a.PVP,i.price); + +-- pak 14/9/14 provisional + +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_cache_cleaner` */; +/*!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_cache_cleaner`() +BEGIN + DECLARE v_lifetime INT DEFAULT 80; + DECLARE v_expired DATETIME DEFAULT TIMESTAMPADD(SECOND, -v_lifetime, NOW()); + + IF (SELECT MAX(id) FROM`cache`) < 32000 + THEN + UPDATE `cache` SET age = age + 1 WHERE stamp < v_expired ORDER BY age DESC; + + DELETE FROM `cache` WHERE stamp < TIMESTAMPADD(SECOND, -40, v_expired); + + IF ROW_COUNT() > 0 + THEN + DELETE a + FROM cache_a a + LEFT JOIN `cache` c ON c.id = a.cache_id + WHERE c.id IS NULL; + END IF; + ELSE + TRUNCATE TABLE `cache`; + 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 `item_catalog` */; +/*!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_catalog`( + v_wh INT + ,v_date DATE + ,v_customer INT +) +BEGIN + DECLARE v_cache SMALLINT; + + CALL item_cache (v_cache, 'a', v_wh, v_date); + + DROP TEMPORARY TABLE IF EXISTS item_catalog; + + CREATE TEMPORARY TABLE item_catalog + (KEY (item_id)) + ENGINE = MEMORY + SELECT + b.item_id + ,b.available + ,b.fixed + ,IFNULL(p.PrecioEspecial,( + CASE c.Descuento + WHEN 0 THEN b.rate_0 + WHEN 1 THEN b.rate_1 + WHEN 2 THEN b.rate_2 + WHEN 3 THEN b.rate_3 + ELSE NULL + END + )) AS price + ,be.S1 s1 + ,be.S2 s2 + ,0 discount + ,CASE co.caja WHEN 0 THEN 1 WHEN 2 THEN co.packing ELSE co.grouping END AS grouping + FROM cache_a b + JOIN Clientes c + ON c.Id_cliente = v_customer + JOIN Articles a + ON a.Id_Article = b.item_id + JOIN Tipos t + ON t.tipo_id = a.tipo_id + JOIN reinos r + ON r.id = t.reino_id + JOIN Compres co + ON co.Id_Compra = b.buy_id + LEFT JOIN buy_edi be + ON be.id = co.buy_edi_id + LEFT JOIN PreciosEspeciales p + ON p.Id_Cliente = v_customer AND b.item_id = p.Id_Article + WHERE b.available > 0 AND b.cache_id = v_cache; + -- ON be.compra_id = co.compra_id + -- Cliente Te gustan las flores + + IF NOT v_customer = 3064 + THEN + DELETE c + FROM item_catalog c + JOIN Articles ON item_id = Id_Article + WHERE tipo_id = 105; + 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 `item_express` */; +/*!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_express`(IN intWH INT, IN datFEC DATE) +BEGIN + +DECLARE datINV DATE; + + + +SELECT FechaInventario INTO datINV FROM tblContadores LIMIT 1; + + +SELECT sub1.Id_Article, Visible, Tarifa2 +FROM +(SELECT Id_Article, SUM(Cantidad) as Visible +FROM Compres C +JOIN Entradas E USING(Id_Entrada) +JOIN travel T ON T.id = E.travel_id +WHERE shipment >= datINV +AND landing <= datFEC +AND Redada = 0 +AND warehouse_id = intWH +GROUP BY Id_Article) sub1 +JOIN +( +SELECT * FROM +( +SELECT Id_Article, Tarifa2 +FROM Compres C +JOIN Entradas E USING(Id_Entrada) +JOIN travel T ON T.id = E.travel_id +WHERE shipment >= datINV +AND landing <= datFEC +AND Redada = 0 +AND Novincular = 0 +AND warehouse_id = intWH +ORDER BY landing DESC) sub +GROUP BY Id_Article) sub2 USING(Id_Article); + + +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_last_buy_` */; +/*!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_last_buy_`(v_wh SMALLINT, v_date DATE) +BEGIN + -- Ultima compra hasta hoy + + CALL cache.last_buy_refresh (FALSE); + + + DROP TEMPORARY TABLE IF EXISTS t_item_last_buy; + CREATE TEMPORARY TABLE t_item_last_buy + (PRIMARY KEY (item_id,warehouse_id)) + ENGINE = MEMORY + SELECT item_id, buy_id, warehouse_id + FROM cache.last_buy + WHERE v_wh = warehouse_id OR v_wh IS NULL; + + + -- Ultima compra hasta @v_date + + + -- CALL item_last_buy_from_interval (v_wh, CURDATE(), TIMESTAMPADD(DAY, 1, v_date)); JGF 2016-06-08 fallo: cogia un dia mas de lo solicitado + CALL item_last_buy_from_interval (v_wh, CURDATE(), v_date); + + REPLACE INTO t_item_last_buy + SELECT item_id, buy_id, warehouse_id + FROM tmp.item_last_buy_from_interval + WHERE v_wh = warehouse_id OR v_wh IS NULL; + + + DROP TEMPORARY TABLE tmp.item_last_buy_from_interval; +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_last_buy_from_interval` */; +/*!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_last_buy_from_interval`(v_wh SMALLINT, v_date_ini DATE, v_date_end DATE) +BEGIN +/** + * Obtiene la ultima compra a partir de un intervalo + * de fechas dado. + * + * @param v_wh Id de almacen %NULL para todos los almacenes + * @param v_date_ini Fecha inicial + * @param v_date_end Fecha final + * @table tmp.item_last_buy_from_interval + **/ + IF v_date_end IS NULL + THEN + SET v_date_end = v_date_ini; + END IF; + + + IF v_date_end < v_date_ini THEN + SET v_date_ini = TIMESTAMPADD(MONTH,-1,v_date_end); + END IF; + + DROP TEMPORARY TABLE IF EXISTS tmp.item_last_buy_from_interval; + CREATE TEMPORARY TABLE tmp.item_last_buy_from_interval + ENGINE = MEMORY + SELECT c.Id_Article item_id, t.warehouse_id, multimax(t.landing, c.Id_Compra) buy_id, MAX(t.landing) landing + FROM Compres c + JOIN Entradas e USING (Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN v_date_ini AND v_date_end + AND (v_wh IS NULL OR t.warehouse_id = v_wh) + AND c.Tarifa2 > 0 + AND NOT c.Novincular + GROUP BY item_id, 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 `item_new` */; +/*!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_new`() BEGIN - -- Cálculo del mínimo acumulado - - DECLARE v_date DATE DEFAULT v_date_ini; - DECLARE v_date_end DATETIME; - - SET v_date_ini = TIMESTAMP(DATE(v_date_ini), '00:00:00'); - SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, v_range, v_date_ini),'23:59:59'); - - -- CALL item_travel (v_wh, v_date_ini); - - DROP TEMPORARY TABLE IF EXISTS article_minacum; - CREATE TEMPORARY TABLE article_minacum - ENGINE = MEMORY - SELECT t.article_id, t.warehouse_id, minacum(dat, amount, v_date) AS amount FROM ( - SELECT article_id, DATE(Fecha) AS dat, SUM(amount) AS amount, warehouse_id FROM ( - SELECT Id_Article article_id, Fecha, -Cantidad AS amount, warehouse_id - FROM Movimientos m INNER JOIN Tickets t USING (Id_Ticket) - WHERE Fecha BETWEEN v_date_ini AND v_date_end - AND Cantidad != 0 - AND (@aid IS NULL OR Id_Article = @aid) - AND (v_wh IS NULL OR t.warehouse_id = v_wh) - UNION ALL - SELECT Id_Article, t.landing, Cantidad, warehouse_id - FROM Compres c INNER JOIN Entradas e USING (Id_Entrada) - LEFT JOIN travel t ON e.travel_id = t.id - WHERE t.landing BETWEEN v_date_ini AND v_date_end - AND (v_wh IS NULL OR t.warehouse_id = v_wh) - AND e.Inventario = FALSE - AND Cantidad != 0 - AND (@aid IS NULL OR Id_Article = @aid) - UNION ALL - SELECT Id_Article, t.shipment, -Cantidad, warehouse_id_out - FROM Compres c INNER JOIN Entradas e USING (Id_Entrada) - LEFT JOIN travel t ON e.travel_id = t.id - WHERE t.shipment BETWEEN v_date_ini AND v_date_end - AND (v_wh IS NULL OR t.warehouse_id_out = v_wh) - AND e.Inventario = FALSE - AND Cantidad != 0 - AND (@aid IS NULL OR Id_Article = @aid) - ) t1 - GROUP BY t1.article_id, dat, warehouse_id - ) t - - GROUP BY t.article_id, warehouse_id HAVING amount != 0; - SET @aid = 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 `article_multiple_buy` */; -/*!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 `article_multiple_buy`(v_date DATETIME, wh INT) -BEGIN - DECLARE v_date_aux DATETIME; - - SELECT TIMESTAMPADD(DAY, -90, CURDATE()) INTO v_date_aux; - - ALTER TABLE article_inventory - ADD buy_id INT; - - DROP TEMPORARY TABLE IF EXISTS tmp; - - CREATE TEMPORARY TABLE tmp - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT * FROM - ( - SELECT Id_Article, Id_Compra - FROM bi.Last_buy_id - ORDER BY (wh = warehouse_id) DESC - ) t - GROUP BY Id_Article; - - UPDATE article_inventory ai - JOIN tmp t ON ai.article_id = t.Id_Article - SET ai.buy_id = t.Id_Compra; - - -- Los valores de hoy - - TRUNCATE TABLE tmp; - - INSERT INTO tmp - SELECT Id_Article, Id_Compra - FROM Compres c - JOIN Entradas e USING (Id_Entrada) - JOIN travel tr ON tr.id = e.travel_id - WHERE Novincular = FALSE - AND tarifa2 > 0 - AND landing BETWEEN CURDATE() AND v_date - ORDER BY (wh = warehouse_id) DESC; - - UPDATE article_inventory ai - INNER JOIN tmp t - ON ai.article_id = t.Id_Article - SET ai.buy_id = t.Id_Compra; - - CREATE INDEX idx USING HASH ON article_inventory (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 `article_multiple_buy_date` */; -/*!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`@`localhost` PROCEDURE `article_multiple_buy_date`(IN date_ DATETIME, IN wh TINYINT(3)) -BEGIN - - DECLARE datINV DATE; - SELECT FechaInventario INTO datINV FROM tblContadores; - - ALTER TABLE `article_inventory` - ADD `buy_date` datetime NOT NULL; - - UPDATE article_inventory INNER JOIN - ( - - SELECT * FROM - ( - SELECT travel.landing AS bdate, Compres.Id_Article AS article_id - FROM Compres - JOIN Entradas USING(Id_Entrada) - JOIN travel ON travel.id = Entradas.travel_id - - JOIN warehouse W ON W.id = travel.warehouse_id - WHERE travel.landing BETWEEN datINV AND date_ - AND IF(wh = 0, W.comisionantes, wh = travel.warehouse_id) - /*AND Compres.Novincular = FALSE - AND Entradas.Id_Proveedor <> 4 - AND Entradas.Inventario = FALSE*/ - -- jgf 2017/03/06 en la comparativa no trau el dia de caducitat - AND Entradas.Redada = FALSE - ORDER BY article_id, bdate DESC - - ) AS temp - GROUP BY article_id - ) - AS buy ON article_inventory.article_id = buy.article_id - SET article_inventory.buy_date = buy.bdate; -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 `article_multiple_buy_last` */; -/*!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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `article_multiple_buy_last`(IN wh TINYINT, IN date_end DATETIME) -BEGIN - DECLARE v_date DATETIME; - - DROP TEMPORARY TABLE IF EXISTS article_buy_last; - CREATE TEMPORARY TABLE article_buy_last - SELECT * FROM ( - SELECT c.Id_Article AS article_id, c.Id_Compra AS id - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv() AND date_end - AND c.Novincular = FALSE - AND c.tarifa2 > 0 - ORDER BY t.landing DESC,(wh IN (0,t.warehouse_id)) DESC, (Id_Cubo IS NULL) ,article_id, (e.Id_proveedor = 4) - ) t - GROUP BY article_id; - ALTER TABLE article_buy_last ADD INDEX (article_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 `article_visible_single` */; -/*!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 `article_visible_single`(IN v_wh TINYINT,IN v_article INT) -BEGIN -DECLARE bisible FLOAT; -CALL article_visible_single2(v_wh,v_article,@suma2); - -SET bisible = @suma2; -SELECT bisible AS suma, A.Id_Article, A.Article, A.Medida, A.Tallos, A.Nicho, O.Abreviatura as origen, A.Color, A.Tipo, A.Nicho, - A.Categoria - FROM v_compres A INNER JOIN Origen O ON O.id = A.id_origen WHERE A.Id_Article =v_article AND A.warehouse_id = v_wh ORDER BY landing DESC 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 `article_visible_single2` */; -/*!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 `article_visible_single2`(IN v_wh TINYINT,IN v_article INT,OUT int_amount INT) -BEGIN - - call item_stock(v_wh,CURDATE(),v_article); - call article_visible(v_wh); - - SELECT SUM(stock) INTO int_amount FROM tmp_item WHERE item_id = v_article ; - SELECT IFNULL(SUM(amount),0) + IFNULL(int_amount,0) INTO int_amount - FROM article_visible - WHERE article_id = v_article; - - DROP TEMPORARY TABLE tmp_item; - DROP TEMPORARY TABLE article_visible; - -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 `availableTraslate` */; -/*!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 `availableTraslate`(vWarehouseLanding INT, v_date DATE,vWarehouseShipment INT) -proc: BEGIN - DECLARE v_date_ini DATE; - DECLARE v_date_end DATETIME; - DECLARE v_reserve_date DATETIME; - DECLARE v_date_inv DATE; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - CALL vn2008.item_stock (vWarehouseLanding, v_date, 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(), reserveTime) INTO v_reserve_date - FROM hedera.orderConfig; - - -- 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.Id_Article item_id, MAX(landing) date_end - 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 = vWarehouseLanding - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY Id_Article; - - -- Tabla con el ultimo dia de last_buy para cada producto que hace un replace de la anterior - - CALL item_last_buy_(vWarehouseShipment,curdate()); - - 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; - - INSERT INTO item_range - SELECT t.item_id, tr.landing - FROM t_item_last_buy t - JOIN Compres c ON c.Id_Compra = t.buy_id - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN item_range_copy i ON t.item_id = i.item_id - WHERE t.warehouse_id = vWarehouseShipment - ON DUPLICATE KEY UPDATE item_range.date_end = GREATEST(item_range.date_end,landing); - - 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 c.item_id, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range 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; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy2; - CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range_copy1; - INSERT INTO item_range_copy2 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy3; - CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range_copy1; - INSERT INTO item_range_copy3 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy4; - CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range_copy1; - INSERT INTO item_range_copy4 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy5; - CREATE TEMPORARY TABLE item_range_copy5 LIKE item_range_copy1; - INSERT INTO item_range_copy5 - SELECT * FROM item_range_copy1; - - -- Calcula el ATP - - DROP TEMPORARY TABLE IF EXISTS availableTraslate; - CREATE TEMPORARY TABLE availableTraslate - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT t.item_id, SUM(stock) available 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 = vWarehouseLanding - UNION ALL - SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount - FROM Compres m - JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada - JOIN travel t ON e.travel_id = t.id - JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article - WHERE - e.Inventario = 0 - AND m.Cantidad <> 0 - AND e.redada = 0 - AND t.warehouse_id = vWarehouseLanding - AND t.landing >= v_date_ini - AND (ir.date_end IS NULL OR t.landing <= ir.date_end) - - 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 = vWarehouseLanding - 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 = vWarehouseLanding - 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 available != 0; - - DROP TEMPORARY TABLE - vn2008.tmp_item - ,item_range - ,item_range_copy1 - ,item_range_copy2 - ,item_range_copy3 - ,item_range_copy4 - ,item_range_copy5; -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 `availableTraslateTesting` */; -/*!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 `availableTraslateTesting`(vWarehouseLanding INT, v_date DATE,vWarehouseShipment INT) -proc: BEGIN - DECLARE v_date_ini DATE; - DECLARE v_date_end DATETIME; - DECLARE v_reserve_date DATETIME; - DECLARE v_date_inv DATE; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - CALL vn2008.item_stock (vWarehouseLanding, v_date, 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(), reserveTime) INTO v_reserve_date - FROM hedera.orderConfig; - - -- 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.Id_Article item_id, MAX(landing) date_end - 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 = vWarehouseLanding - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY Id_Article; - - -- Tabla con el ultimo dia de last_buy para cada producto que hace un replace de la anterior - - SELECT vWarehouseShipment; - - CALL item_last_buy_(vWarehouseShipment,v_date); - - SELECT *,'last_buy' FROM t_item_last_buy t ; -- WHERE t.item_id = 41576; - SELECT * FROM item_range t WHERE t.item_id = 41576; - - 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; - - SELECT 'update' , t.item_id, tr.landing - FROM t_item_last_buy t - JOIN Compres c ON c.Id_Compra = t.buy_id - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN item_range_copy i ON t.item_id = i.item_id - WHERE t.warehouse_id = vWarehouseShipment AND t.item_id = 41576; - - INSERT INTO item_range - SELECT t.item_id, tr.landing - FROM t_item_last_buy t - JOIN Compres c ON c.Id_Compra = t.buy_id - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN item_range_copy i ON t.item_id = i.item_id - WHERE t.warehouse_id = vWarehouseShipment - ON DUPLICATE KEY UPDATE item_range.date_end = GREATEST(item_range.date_end,landing); - - 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 c.item_id, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.date_end), '23:59:59') date_end FROM item_range 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; - - select * from item_range_copy1 where item_id = 41576; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy2; - CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range_copy1; - INSERT INTO item_range_copy2 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy3; - CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range_copy1; - INSERT INTO item_range_copy3 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy4; - CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range_copy1; - INSERT INTO item_range_copy4 - SELECT * FROM item_range_copy1; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy5; - CREATE TEMPORARY TABLE item_range_copy5 LIKE item_range_copy1; - INSERT INTO item_range_copy5 - SELECT * FROM item_range_copy1; - - -- Calcula el ATP - SELECT ti.item_id, stock - FROM vn2008.tmp_item ti - JOIN item_range ir ON ir.item_id = ti.item_id ; - - 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 = vWarehouseLanding; - - SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount - FROM Compres m - JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada - JOIN travel t ON e.travel_id = t.id - JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article - WHERE - e.Inventario = 0 - AND m.Cantidad <> 0 - AND e.redada = 0 - AND t.warehouse_id = vWarehouseLanding - AND t.landing >= v_date_ini - AND (ir.date_end IS NULL OR t.landing <= ir.date_end); - - 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 = vWarehouseLanding; - 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 = vWarehouseLanding - AND r.created >= v_reserve_date - AND NOT o.confirmed; - - DROP TEMPORARY TABLE IF EXISTS availableTraslate; - CREATE TEMPORARY TABLE availableTraslate - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT t.item_id, SUM(stock) available 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 = vWarehouseLanding - UNION ALL - SELECT m.Id_Article item_id, t.landing dat, m.Cantidad amount - FROM Compres m - JOIN Entradas e ON m.Id_Entrada = e.Id_Entrada - JOIN travel t ON e.travel_id = t.id - JOIN item_range_copy2 ir ON ir.item_id = m.Id_Article - WHERE - e.Inventario = 0 - AND m.Cantidad <> 0 - AND e.redada = 0 - AND t.warehouse_id = vWarehouseLanding - AND t.landing >= v_date_ini - AND (ir.date_end IS NULL OR t.landing <= ir.date_end) - - 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 = vWarehouseLanding - 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 = vWarehouseLanding - 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 available != 0; - - select * from availableTraslate where item_id = 41576; - - DROP TEMPORARY TABLE - vn2008.tmp_item - ,item_range - ,item_range_copy1 - ,item_range_copy2 - ,item_range_copy3 - ,item_range_copy4 - ,item_range_copy5; -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 `balance_create` */; -/*!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 `balance_create`(IN vStartingMonth INT - , IN vEndingMonth INT - , IN vCompany INT - , IN vConsolidate BOOLEAN - , IN vInterGroupSalesIncluded BOOLEAN) -BEGIN - -DECLARE v_sql TEXT; -DECLARE strTABLE VARCHAR(20) DEFAULT "balance_nest_tree"; -DECLARE intGAP INTEGER DEFAULT 7; -DECLARE intYEARS INTEGER DEFAULT 3; -DECLARE vConsolidatedGroup INTEGER; -DECLARE vStartingDate DATE DEFAULT '2016-01-01'; -DECLARE vStartingYear INT DEFAULT 2016; - - --- Solicitamos la tabla tmp.nest, como base para el balance -CALL nest_tree(strTABLE,intGAP, FALSE); - -DROP TEMPORARY TABLE IF EXISTS tmp.balance; - -CREATE TEMPORARY TABLE tmp.balance -SELECT * FROM tmp.nest; - -DROP TEMPORARY TABLE IF EXISTS tmp.empresas_receptoras; -DROP TEMPORARY TABLE IF EXISTS tmp.empresas_emisoras; - -IF vConsolidate THEN - SELECT empresa_grupo INTO vConsolidatedGroup FROM empresa WHERE id = vCompany; -END IF; - -CREATE TEMPORARY TABLE tmp.empresas_receptoras - SELECT id as empresa_id - FROM vn2008.empresa - WHERE id = vCompany - OR empresa_grupo = vConsolidatedGroup; - - -CREATE TEMPORARY TABLE tmp.empresas_emisoras - SELECT Id_Proveedor as empresa_id - FROM vn2008.Proveedores p; - -IF NOT vInterGroupSalesIncluded THEN - - DELETE ee.* - FROM tmp.empresas_emisoras ee - JOIN vn2008.empresa e on e.id = ee.empresa_id - WHERE e.empresa_grupo = vConsolidatedGroup; - - END IF; - --- Se calculan las facturas que intervienen, para luego poder servir el desglose desde aqui - -DROP TEMPORARY TABLE IF EXISTS tmp.balance_desglose; -CREATE TEMPORARY TABLE tmp.balance_desglose - SELECT er.empresa_id as receptora_id - , ee.empresa_id as emisora_id - , year(IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha))) as `year` - , month(IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha))) as `month` - , gastos_id as Id_Gasto - , sum(bi) as importe - FROM recibida r - JOIN recibida_iva ri on ri.recibida_id = r.id - JOIN tmp.empresas_receptoras er on er.empresa_id = r.empresa_id - JOIN tmp.empresas_emisoras ee ON ee.empresa_id = r.proveedor_id - WHERE IFNULL(r.bookEntried,IFNULL(r.dateBooking, r.Fecha)) between vStartingDate and CURDATE() - GROUP BY Id_Gasto, year, month, emisora_id, receptora_id; -/* -DROP TEMPORARY TABLE IF EXISTS tmp.balance_desglose; -CREATE TEMPORARY TABLE tmp.balance_desglose - SELECT er.empresa_id as receptora_id - , ee.empresa_id as emisora_id - , year(IFNULL(r.dateBooking, r.Fecha)) as `year` - , month(IFNULL(r.dateBooking, r.Fecha)) as `month` - , gastos_id as Id_Gasto - , sum(bi) as importe - FROM recibida r - JOIN recibida_iva ri on ri.recibida_id = r.id - JOIN tmp.empresas_receptoras er on er.empresa_id = r.empresa_id - JOIN tmp.empresas_emisoras ee ON ee.empresa_id = r.proveedor_id - WHERE IFNULL(r.dateBooking, r.Fecha) between vStartingDate and CURDATE() - GROUP BY Id_Gasto, year, month, emisora_id, receptora_id; -*/ -INSERT INTO tmp.balance_desglose(receptora_id - , emisora_id - , year - , month - , Id_Gasto - , importe) - SELECT gr.empresa_id - , gr.empresa_id - , year - , month - , Id_Gasto - , sum(importe) - FROM gastos_resumen gr - JOIN tmp.empresas_receptoras er on gr.empresa_id = er.empresa_id - WHERE year >= vStartingYear - AND month BETWEEN vStartingMonth AND vEndingMonth - GROUP BY Id_Gasto, year, month, gr.empresa_id; - - -DELETE FROM tmp.balance_desglose - WHERE month < vStartingMonth - OR month > vEndingMonth; - - - --- Ahora el balance -SET v_sql = sql_printf ( - ' - ALTER TABLE tmp.balance - ADD COLUMN %t INT(10) NULL , - ADD COLUMN %t INT(10) NULL , - ADD COLUMN %t INT(10) NULL , - ADD COLUMN Id_Gasto VARCHAR(10) NULL, - ADD COLUMN Gasto VARCHAR(45) NULL; - ', - YEAR(CURDATE())-2, - YEAR(CURDATE())-1, - YEAR(CURDATE()) - ); - -CALL util.exec (v_sql); - - --- Añadimos los gastos, para facilitar el formulario - -UPDATE tmp.balance b -JOIN vn2008.balance_nest_tree bnt on bnt.id = b.id -JOIN (SELECT Id_Gasto, Gasto - FROM vn2008.Gastos - GROUP BY Id_Gasto) g ON g.Id_Gasto = bnt.Id_Gasto -SET b.Id_Gasto = g.Id_Gasto - , b.Gasto = g.Gasto; - --- Rellenamos los valores de primer nivel, los que corresponden a los gastos simples - -WHILE intYEARS > 0 DO - - SET intYEARS = intYEARS - 1; - - SET v_sql = sql_printf ( - ' - UPDATE tmp.balance b - JOIN - ( - SELECT Id_Gasto, sum(Importe) as Importe - FROM tmp.balance_desglose - WHERE year = %v - GROUP BY Id_Gasto - ) sub on sub.Id_Gasto = b.Id_Gasto - SET %t = - Importe; - ', - YEAR(CURDATE()) - intYEARS, - YEAR(CURDATE()) - intYEARS - ); - - CALL util.exec (v_sql); - -END WHILE; - --- Añadimos las ventas - - - SET v_sql = sql_printf ( - ' - UPDATE tmp.balance b - JOIN ( - SELECT sum(IF(year = %v, venta, 0)) as y2 - , sum(IF(year = %v, venta, 0)) as y1 - , sum(IF(year = %v, venta, 0)) as y0 - , c.Gasto - - FROM bs.ventas_contables c - join tmp.empresas_receptoras er on er.empresa_id = c.empresa_id - WHERE month BETWEEN %v AND %v - GROUP BY c.Gasto - - ) sub ON sub.Gasto = b.Id_Gasto - SET %t = IFNULL(%t,0) + sub.y2 - , %t = IFNULL(%t,0) + sub.y1 - , %t = IFNULL(%t,0) + sub.y0 - ; - - ', - YEAR(CURDATE()) - 2, - YEAR(CURDATE()) - 1, - YEAR(CURDATE()), - vStartingMonth, - vEndingMonth, - YEAR(CURDATE()) - 2, YEAR(CURDATE()) - 2, - YEAR(CURDATE()) - 1, YEAR(CURDATE()) - 1, - YEAR(CURDATE()), YEAR(CURDATE()) - - ); - - CALL util.exec (v_sql); - --- Ventas intra grupo -IF NOT vInterGroupSalesIncluded THEN - - SELECT lft, rgt - INTO @grupoLft, @grupoRgt - FROM tmp.balance b - WHERE TRIM(b.`name`) = 'Grupo'; - - DELETE - FROM tmp.balance - WHERE lft BETWEEN @grupoLft AND @grupoRgt; - -END IF; - - --- Rellenamos el valor de los padres con la suma de los hijos -DROP TEMPORARY TABLE IF EXISTS tmp.balance_aux; -CREATE TEMPORARY TABLE tmp.balance_aux SELECT * FROM tmp.balance; - -UPDATE tmp.balance b -JOIN -( -select b1.id, b1.name, sum(b2.`2016`) as `2016`, sum(b2.`2017`) as `2017`, sum(b2.`2018`) as `2018` -from tmp.nest b1 -join tmp.balance_aux b2 on b2.lft between b1.lft and b1.rgt -group by b1.id) sub on sub.id = b.id -SET b.`2016` = sub.`2016`, b.`2017` = sub.`2017`, b.`2018` = sub.`2018` -; - - - -SELECT *, concat('',ifnull(Id_Gasto,'')) as newgasto FROM tmp.balance; - - -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 `base_ticket` */; -/*!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 `base_ticket`(IN Id_Ticket INT) -BEGIN - SELECT - red(SUM(Cantidad * Preu * (100 - Descuento) / 100)) AS base - FROm - Movimientos m - INNER JOIN Tickets t USING (Id_Ticket) - WHERE t.Id_Ticket = Id_Ticket; - -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_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 = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_`( - vDate DATE, - vAddress INT, - vAgency INT) -BEGIN -/** - * Calcula el disponible para un conjunto de almacenes y fechas - * devueltos por el procedimiento travel_tree() - * - * @table t_bionic_available Tabla con los ids de cache - **/ - DECLARE vAvailableCalc INT; - DECLARE vShipment DATE; - DECLARE vAgencyId INT; - DECLARE vWh INT; - DECLARE vDone BOOL; - DECLARE cTravelTree CURSOR FOR - SELECT warehouse_id, Fecha_envio FROM travel_tree; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- Establecemos los almacenes y las fechas que van a entrar al disponible - - SELECT agency_id INTO vAgencyId - FROM Agencias WHERE Id_Agencia = vAgency; - - CALL travel_tree (vDate, vAddress, vAgencyId); - - DROP TEMPORARY TABLE IF EXISTS t_bionic_available; - CREATE TEMPORARY TABLE t_bionic_available( - calc_id INT UNSIGNED, - PRIMARY KEY (calc_id) - ) - ENGINE = MEMORY; - - OPEN cTravelTree; - l: LOOP - SET vDone = FALSE; - FETCH cTravelTree INTO vWh, vShipment; - - IF vDone THEN - LEAVE l; - END IF; - - CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipment); - - INSERT IGNORE INTO t_bionic_available - SET calc_id = vAvailableCalc; - END LOOP; - - CLOSE cTravelTree; - DROP TEMPORARY TABLE travel_tree; -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_available_articlelist` */; -/*!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_available_articlelist`(IN strART VARCHAR(50) - , IN minMED DOUBLE - , IN maxMED DOUBLE - , IN minPVP DOUBLE - , IN maxPVP DOUBLE) -BEGIN - -DECLARE intSPACE_POS INT; -DECLARE strSUBTR VARCHAR(50); -DECLARE strFILTER VARCHAR(500); -DECLARE v_sql TEXT; - -DROP TEMPORARY TABLE IF EXISTS articlelist; - -CREATE TEMPORARY table articlelist -(Id_Article INT(11) PRIMARY KEY) -ENGINE = INNODB; - - - --- Arreglos - -SET minMED = IFNULL(minMED,0); -SET minMED = IF(minMED = 0,0.01, minMED); -SET maxMED = IFNULL(maxMED,9990); -SET maxMED = IF(maxMED = 0,9990, maxMED); -SET minPVP = IFNULL(minPVP,0); -SET minPVP = IF(minPVP = 0, 0.01, minPVP); -SET maxPVP = IFNULL(maxPVP,9990); -SET maxPVP = IF(maxPVP = 0, 9990, maxPVP); - --- ARTICLE - -SET strART = TRIM(strART); - -IF ASCII(strART) BETWEEN 48 AND 57 THEN - - INSERT INTO articlelist(Id_Article) VALUES(CAST(strART AS UNSIGNED)); - -ELSE - - SET strFILTER = 'TRUE '; - - WHILE LENGTH(strART) > 0 DO - - SET intSPACE_POS = POSITION(' ' IN strART) ; - - IF intSPACE_POS = 0 THEN - - SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',strART,'%"'); - SET strART = ''; - - ELSE - - SET strFILTER = CONCAT(strFILTER, ' AND CONCAT(a.Id_Article,Article,t.Tipo) LIKE "%',LEFT(strART,intSPACE_POS - 1),'%"'); - SET strART = TRIM(SUBSTRING(strART, intSPACE_POS)); - - END IF; - - - END WHILE; - - if minpvp = 0.01 and maxpvp = 9990 then - - SET v_sql = sql_printf ( - ' - REPLACE vn2008.articlelist - SELECT a.Id_Article - FROM vn2008.Articles a - LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - WHERE %s - AND Medida BETWEEN %v AND %v; - ' - - ,strFILTER - ,minMED - ,maxMED); - else - - SET v_sql = sql_printf ( - ' - REPLACE vn2008.articlelist - SELECT a.Id_Article - FROM vn2008.Articles a - LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - JOIN ( - SELECT DISTINCT Id_Article - FROM vn2008.Movimientos m - JOIN vn2008.Tickets t using(Id_Ticket) - JOIN vn2008.Clientes c using(Id_Cliente) - WHERE Fecha > CURDATE() - INTERVAL 4 DAY - AND Preu BETWEEN %v AND %v - AND c.invoice <> 0 - ) v on v.Id_Article = a.Id_Article - WHERE %s - AND Medida BETWEEN %v AND %v; - ' - ,minPVP - ,maxPVP - ,strFILTER - ,minMED - ,maxMED); - end if; - - CALL util.exec (v_sql); - -END IF; --- SELECT Id_Article, Article, Medida FROM Articles join articlelist using(Id_Article); - -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_available_items_` */; -/*!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_available_items_`(v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -BEGIN -/** - * Crea una tabla con los identificadores de los articulos disponibles. - * - * @table t_bionic_available_items - **/ - CALL bionic_available_ (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE IF EXISTS t_bionic_available_items; - CREATE TEMPORARY TABLE t_bionic_available_items - (INDEX (Id_Article)) - ENGINE = MEMORY - SELECT a.Id_Article, a.Article - FROM `cache`.available c - JOIN Articles a ON c.item_id = a.Id_Article - JOIN t_bionic_available ba ON c.calc_id = ba.calc_id - WHERE c.available GROUP BY a.Article; - - DROP TEMPORARY TABLE 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 `bionic_available_single` */; -/*!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_available_single`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT, IN refresh TINYINT) -BEGIN - DECLARE intcalc_id INT; - call cache.available_refresh(intcalc_id,refresh, v_wh,v_date); - - SELECT available AS minimo FROM cache.available WHERE calc_id = intcalc_id AND item_id = id_single ; - -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_available_types_` */; -/*!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_available_types_`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -BEGIN -/** - * Calcula los tipos disponibles para un conjunto de almacenes - * y fechas devueltos por el procedimiento travel_tree() - * - * @table t_bionic_available_types Tabla con los tipos disponibles - **/ - - CALL bionic_available_(v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE IF EXISTS t_bionic_available_types; - CREATE TEMPORARY TABLE t_bionic_available_types - (INDEX (tipo_id)) - ENGINE = MEMORY - SELECT a.tipo_id, t.Tipo - FROM `cache`.available c - JOIN Articles a ON c.item_id = a.Id_Article - JOIN Tipos t ON t.tipo_id = a.tipo_id - JOIN t_bionic_available ba ON c.calc_id = ba.calc_id - WHERE c.available > 0 -- JGF 2016-03-23 en el bionic no apareixen negatius, els tipos que no continguen disponible, tampoc els volem mostrar - AND t.Orden != 0 - GROUP BY t.tipo_id; - - DROP TEMPORARY TABLE 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 `bionic_available_types_filter` */; -/*!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_available_types_filter`( - v_date DATE, - v_consigna INT, - v_agencia INT, - v_filter TEXT) -BEGIN -/** - * Este procedimiento devuelve una tabla t_bionic_available_types - * que debe de ser borrar por quien la llame, y se conecta con la tabla articlelist - * que tambien hay que eliminar. - * - * @param vDatefecha de recepcion de mercancia - * @table t_bionic_available_types - */ - - DECLARE v_sql TEXT; - DECLARE v_list TEXT; - SET v_list = ''; - - SET v_filter = IFNULL(v_filter,' TRUE'); - - CALL bionic_available_(v_date, v_consigna, v_agencia); - -- Inroducimos los valores en una tabla temporal - DROP TEMPORARY TABLE IF EXISTS t_bionic_available_types; - - CALL check_table_existence('articlelist'); - - IF @table_exists THEN - - SET v_list = 'JOIN vn2008.articlelist AL ON AL.Id_Article = a.Id_Article '; - - END IF; - - SET v_sql = sql_printf ( - ' - CREATE TEMPORARY TABLE t_bionic_available_types - SELECT a.tipo_id, Tipo, reino, count(*) as item_count - FROM `cache`.available c - JOIN vn2008.Articles a ON c.item_id = a.Id_Article - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - JOIN vn2008.reinos r ON r.id = t.reino_id - JOIN vn2008.t_bionic_available ba ON c.calc_id = ba.calc_id - %s - WHERE c.available > 0 - AND %s - GROUP BY a.tipo_id; - ' - , v_list - , v_filter); - - CALL sql_query (v_sql); - - DROP TEMPORARY TABLE 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 `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`( - vDate DATE, -- Fecha de recepcion de mercancia - vAddress INT, - vAgency INT) -proc: BEGIN - DECLARE vAvailableCalc INT; - DECLARE vShipment DATE; - DECLARE vAgencyId INT; - DECLARE vCustomer INT; - DECLARE vWh SMALLINT; - DECLARE vDone BOOL; - DECLARE cTravelTree CURSOR FOR - SELECT warehouse_id, Fecha_envio FROM travel_tree; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS - tmp.bionic_item, - tmp.bionic_component, - tmp.bionic_lot, - tmp.bionic_price; - - -- Establece los almacenes y las fechas que van a entrar al disponible - - SELECT agency_id INTO vAgencyId FROM Agencias WHERE Id_Agencia = vAgency; - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vAddress; - - CALL travel_tree(vDate, vAddress, vAgencyId); - - -- Crea la tabla temporal que almacenará los lotes - - CREATE TEMPORARY TABLE tmp.bionic_lot LIKE - template_bionic_lot; - - OPEN cTravelTree; - - l: LOOP - SET vDone = FALSE; - FETCH cTravelTree INTO vWh, vShipment; - - IF vDone THEN - LEAVE l; - END IF; - - CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipment); - CALL item_last_buy_ (vWh, vShipment); - - INSERT INTO tmp.bionic_lot (warehouse_id, item_id, available, buy_id) - SELECT - vWh, - i.item_id, - IFNULL(i.available, 0), - ilb.buy_id - FROM `cache`.available i - JOIN tmp.bionic_calc br ON br.item_id = i.item_id - LEFT JOIN Articles a ON a.Id_Article = i.item_id - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = i.item_id - WHERE i.calc_id = vAvailableCalc - AND a.Id_Article != 100 - AND i.available > 0; - - DROP TEMPORARY TABLE t_item_last_buy; - END LOOP; - - CLOSE cTravelTree; - - CALL bionic_calc_component(vAddress, vAgency); - - CREATE TEMPORARY TABLE tmp.bionic_item - ENGINE = MEMORY - SELECT b.item_id, SUM(b.available) available, p.name producer, - a.Article item, a.Medida size, a.Tallos stems, a.Categoria category, - a.Color, a.Foto image, o.Abreviatura origin, bl.min_price price - FROM tmp.bionic_lot b - JOIN Articles a ON b.item_id = a.Id_Article - LEFT JOIN producer p ON p.producer_id = a.producer_id AND p.visible - JOIN Origen o ON o.id = a.id_origen - JOIN ( - SELECT MIN(price) min_price, item_id - FROM tmp.bionic_price - GROUP BY item_id - ) bl ON bl.item_id = b.item_id - GROUP BY b.item_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 `bionic_calc_clon` */; -/*!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_clon`(IN v_ticket BIGINT) -BEGIN - -/* -Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - DECLARE v_agency INT; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT t.Id_Cliente , t.warehouse_id, date(t.Fecha), t.Id_Consigna, t.Id_Agencia, t.landing, a.agency_id - INTO v_customer, v_wh, v_shipment, v_consigna, v_agencia, v_landing, v_agency - FROM vn2008.Agencias a - JOIN vn2008.Tickets t ON t.Id_Agencia = a.Id_Agencia - WHERE t.Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY - SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - -- Bionizamos lineas con Preu = 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu = 0; - CALL bionic_movement_update(1); - - -- Bionizamos lineas con Preu > 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu > 0; - CALL bionic_movement_update(6); - - IF v_landing IS NULL THEN - CALL travel_tree_shipment(v_shipment, v_consigna, v_agency,v_wh); - UPDATE Tickets t - JOIN travel_tree_shipment tts ON t.warehouse_id = tts.warehouse_id - SET t.landing = tts.landing - WHERE Id_Ticket = v_ticket; - END IF; - - -- Log - call Ditacio(v_ticket - ,'Bioniza Ticket' - ,'T' - , 20 - , 'proc bionic_calc_clon' - , NULL); - - -- Limpieza - DROP TEMPORARY TABLE t_item_last_buy; -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_clonkk` */; -/*!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_clonkk`(IN v_ticket BIGINT) -BEGIN - -/* -Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia - INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia - FROM vn2008.Agencias a - JOIN vn2008.Tickets t using(Id_Agencia) - WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY - SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - -- Bionizamos lineas con Preu = 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu = 0; - CALL bionic_movement_update(1); - - -- Bionizamos lineas con Preu > 0 - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket WHERE m.Id_Ticket = v_ticket AND Preu > 0; - CALL bionic_movement_update(6); - - - -- Log - call Ditacio(v_ticket - ,'Bioniza Ticket' - ,'T' - , 20 - , 'proc bionic_calc_clon' - , NULL); - - -- Limpieza - DROP TEMPORARY TABLE t_item_last_buy; -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_component` */; -/*!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_component`( - -- v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -proc: BEGIN - - DECLARE v_customer INT; - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - -- DECLARE vValorEmbolsado DOUBLE DEFAULT 0.04; - - SELECT Id_Cliente INTO v_customer FROM Consignatarios WHERE Id_Consigna = v_consigna; - SET @rate2 := 0; - SET @rate3 := 0; - - DROP TEMPORARY TABLE IF EXISTS t_bionic_temp; - CREATE TEMPORARY TABLE t_bionic_temp - (PRIMARY KEY (item_id,warehouse_id)) - ENGINE = MEMORY - SELECT - b.item_id, b.warehouse_id,available, - IF((@rate2 := IFNULL(pf.rate_2,c.Tarifa2)) < a.PVP AND a.`Min`, a.PVP, @rate2) * 1.0 rate_2, - IF((@rate3 := IFNULL(pf.rate_3,c.Tarifa3)) < a.PVP AND a.`Min`, a.PVP, @rate3) * 1.0 rate_3, - ifnull(pf.rate_3,0) AS min_price, - IFNULL(pf.Packing,c.Packing) packing, - IFNULL(pf.grouping,c.grouping) grouping, - ABS(IFNULL(pf.caja,c.caja)) box, - b.buy_id, a.tipo_id - FROM tmp.bionic_lot b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra - JOIN vn2008.Articles a ON b.item_id = a.Id_Article - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - LEFT JOIN vn2008.PreciosEspeciales p ON a.Id_Article = p.Id_Article AND p.Id_Cliente = v_customer - LEFT JOIN ( - SELECT * FROM ( - SELECT p.item_id, p.grouping, p.Packing,p.caja, p.rate_2, p.rate_3, t.warehouse_id - FROM vn2008.price_fixed p - JOIN vn2008.travel_tree t ON t.warehouse_id = p.warehouse_id OR p.warehouse_id = 0 - WHERE t.Fecha_envio BETWEEN p.date_start AND p.date_end ORDER BY p.item_id, p.warehouse_id DESC - ) t - GROUP BY item_id, warehouse_id - ) pf ON pf.item_id = b.item_id AND pf.warehouse_id = b.warehouse_id - -- descartamos articulos con coste menor de 0.01 - WHERE Costefijo + Portefijo + Embalajefijo + Comisionfija > 0.01 AND r.display <> 0; - - -- Creamos la tabla tmp.bionic_component - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; - CREATE TEMPORARY TABLE tmp.bionic_component LIKE - template_bionic_component; - - -- Componentes del precio, valores absolutos - INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) - SELECT b.warehouse_id, b.item_id, 29, rate_3 - Costefijo - Portefijo - Embalajefijo - Comisionfija - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; - - INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) - SELECT b.warehouse_id, b.item_id, 28, Costefijo + Portefijo + Embalajefijo + Comisionfija - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; - - -- Ahora los valores en funcion de la base - - DROP TEMPORARY TABLE IF EXISTS t_components_base; - - CREATE TEMPORARY TABLE t_components_base - SELECT bc.item_id, ROUND(SUM(cost), 4) AS base, bc.warehouse_id - FROM tmp.bionic_component bc - GROUP BY bc.item_id,warehouse_id; - - -- La ratio se calcula teniendo en cuenta el valor de las reclamaciones y el saldo de greuge - - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, 17, ROUND(base * LEAST(recobro,0.25), 3) - FROM t_components_base cb - JOIN bi.claims_ratio ON Id_Cliente = v_customer - WHERE recobro > 0.009; - - -- PAK 2016-08-31 Componente de maná automático, en función del maná acumulado por el comercial. - - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, 39, ROUND(base * prices_modifier_rate, 3) as manaAuto - FROM t_components_base cb - JOIN Clientes c on c.Id_Cliente = v_customer - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated - HAVING manaAuto <> 0 ; - - -/* - -- Vendedor variable - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, Id_Componente, IFNULL(ROUND(base * tax,4), 0) - FROM t_components_base cb - JOIN bi.tarifa_componentes - WHERE tarifa_componentes_series_id = 2 and IFNULL(tax, 0) > 0; - */ - - --- ******* Inicio Bloque para componentes con tarifa_class diferente de NULL - -- Descuento por ultimas unidades - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, b.item_id, Id_Componente, GREATEST(IFNULL(ROUND(base * tax,4), 0), b.min_price - b.rate_3) - FROM t_components_base cb - JOIN bi.tarifa_componentes - JOIN t_bionic_temp b ON b.item_id = cb.item_id AND b.warehouse_id = cb.warehouse_id - LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE Id_Componente = 32 AND tax <> 0 AND b.min_price < b.rate_3 AND PrecioEspecial IS NULL; - - -- Incremento por paquete suelto - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 22, rate_2 - rate_3 - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra - LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE PrecioEspecial IS NULL; - --- ******* Fin Bloque para componentes con tarifa_class diferente de NULL - - -- Reparto - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id - , b.item_id - , 15 - , COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - r.cm3 - * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) - * IFNULL(az.price - * az.inflacion ,50) - / VOLUMEN_CAJA_VERDNATURA, 4 - ) cost - FROM t_bionic_temp b - JOIN vn2008.Articles art ON art.Id_Article = b.item_id - JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia - JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id - LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id - HAVING cost <> 0; - --- Reparto bonificado - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id - , b.item_id - , 41 - , COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - r.cm3 - * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) - * awb.bonus - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) cost - FROM t_bionic_temp b - JOIN vn2008.Articles art ON art.Id_Article = b.item_id - JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia - JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id - JOIN vn2008.agency_weekday_bonus awb ON awb.warehouse_id = az.warehouse_id AND awb.zona = az.zona AND a.agency_id = awb.agency_id - LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id - JOIN vn2008.travel_tree t ON t.warehouse_id = awb.warehouse_id AND weekday(t.Fecha_recepcion) = awb.weekDay - HAVING cost <> 0 - LIMIT 1; - --- PAK 12-05-2015 - -- EMBOLSADO - IF (SELECT COUNT(*) FROM vn.addressForPackaging WHERE addressFk = v_consigna) THEN - - -- IF v_consigna IN (13690, 3402, 5661, 4233) THEN - - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 38, ap.packagingValue cost - FROM t_bionic_temp b - JOIN vn.addressForPackaging ap - WHERE ap.addressFk = v_consigna; - - END IF; - - -- JGF 14-08-2015 - -- Modificacion de precio por dia de preparacion del pedido - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, cb.item_id, 14, cb.base * (IFNULL(pe.percentage,pp.percentage)/100) - FROM t_components_base cb - JOIN vn2008.travel_tree tt ON tt.warehouse_id = cb.warehouse_id - LEFT JOIN vn2008.preparation_percentage pp ON pp.week_day = weekday(tt.Fecha_envio) AND cb.warehouse_id = IFNULL(pp.warehouse_id,cb.warehouse_id) - LEFT JOIN vn2008.preparation_exception pe ON pe.exception_day = tt.Fecha_envio AND cb.warehouse_id = IFNULL(pe.warehouse_id,cb.warehouse_id) - WHERE IFNULL(pe.percentage,pp.percentage); - - -- Creamos la tabla tmp.bionic_component_copy por que mysql no puede reabrir una tabla temporal - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component_copy; - CREATE TEMPORARY TABLE tmp.bionic_component_copy - SELECT * FROM tmp.bionic_component; - - -- JGF 19-01-2016 - -- Precios especiales - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 10, pe.PrecioEspecial - SUM(cost) sum_cost - FROM tmp.bionic_component_copy b - JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente - JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE t.tarifa_class IS NULL - GROUP BY b.item_id, b.warehouse_id - HAVING ABS(sum_cost) > 0.001; - - -- Lotes - DROP TEMPORARY TABLE IF EXISTS t_component_sum; - CREATE TEMPORARY TABLE t_component_sum - (INDEX (item_id, warehouse_id)) - ENGINE = MEMORY - SELECT SUM(cost) sum_cost, b.item_id, b.warehouse_id, t.tarifa_class - FROM tmp.bionic_component b - JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente - GROUP BY b.item_id, b.warehouse_id, t.tarifa_class; - - -- ***** Inicia Modifica t_bionic_rate las diferentes tarifas - -- Tarifa por unidad minima - DROP TEMPORARY TABLE IF EXISTS t_bionic_rate; - CREATE TEMPORARY TABLE t_bionic_rate - ENGINE = MEMORY - SELECT b.warehouse_id, item_id, 1 rate, - IF(box = 1, grouping, 1) grouping, SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE IFNULL(cs.tarifa_class,1) = 1 AND box < 2 AND (packing > grouping or box = 0) - GROUP BY warehouse_id, item_id; - - -- Tarifa por caja - INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) - SELECT b.warehouse_id, item_id, 2 rate, packing grouping, - SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE available IS NULL OR (IFNULL(cs.tarifa_class,2) = 2 AND packing > 0 AND available >= packing) - GROUP BY warehouse_id, item_id; - - -- Tarifa para toda la cantidad disponible - INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) - SELECT b.warehouse_id, item_id, 3 rate, available grouping, - SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE IFNULL(cs.tarifa_class,3) = 3 - GROUP BY warehouse_id, item_id; - - -- ***** Fin Modifica t_bionic_rate las diferentes tarifas - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; - CREATE TEMPORARY TABLE tmp.bionic_price - LIKE template_bionic_price; - - INSERT INTO tmp.bionic_price (warehouse_id, item_id, rate, grouping, price) - SELECT * FROM ( - SELECT * FROM t_bionic_rate ORDER BY price - ) t - GROUP BY item_id, warehouse_id, grouping; - - - DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; - CREATE TEMPORARY TABLE tmp.travel_tree - ENGINE = MEMORY - SELECT * FROM travel_tree; - - -- Limpieza - - DROP TEMPORARY TABLE travel_tree; - DROP TEMPORARY TABLE t_bionic_temp; - DROP TEMPORARY TABLE t_component_sum; - DROP TEMPORARY TABLE t_components_base; - DROP TEMPORARY TABLE t_bionic_rate; - DROP TEMPORARY TABLE tmp.bionic_component_copy; -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_component_beta` */; -/*!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_component_beta`( - -- v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) -proc: BEGIN - - DECLARE v_customer INT; - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - -- DECLARE vValorEmbolsado DOUBLE DEFAULT 0.04; - - SELECT Id_Cliente INTO v_customer FROM Consignatarios WHERE Id_Consigna = v_consigna; - SET @rate2 := 0; - SET @rate3 := 0; - - DROP TEMPORARY TABLE IF EXISTS t_bionic_temp; - CREATE TEMPORARY TABLE t_bionic_temp - (PRIMARY KEY (item_id,warehouse_id)) - ENGINE = MEMORY - SELECT - b.item_id, b.warehouse_id,available, - IF((@rate2 := IFNULL(pf.rate_2,c.Tarifa2)) < a.PVP AND a.`Min`, a.PVP, @rate2) * 1.0 rate_2, - IF((@rate3 := IFNULL(pf.rate_3,c.Tarifa3)) < a.PVP AND a.`Min`, a.PVP, @rate3) * 1.0 rate_3, - ifnull(pf.rate_3,0) AS min_price, - IFNULL(pf.Packing,c.Packing) packing, - IFNULL(pf.grouping,c.grouping) grouping, - ABS(IFNULL(pf.caja,c.caja)) box, - b.buy_id, a.tipo_id - FROM tmp.bionic_lot b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra - JOIN vn2008.Articles a ON b.item_id = a.Id_Article - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - LEFT JOIN vn2008.PreciosEspeciales p ON a.Id_Article = p.Id_Article AND p.Id_Cliente = v_customer - LEFT JOIN ( - SELECT * FROM ( - SELECT p.item_id, p.grouping, p.Packing,p.caja, p.rate_2, p.rate_3, t.warehouse_id - FROM vn2008.price_fixed p - JOIN vn2008.travel_tree t ON t.warehouse_id = p.warehouse_id OR p.warehouse_id = 0 - WHERE t.Fecha_envio BETWEEN p.date_start AND p.date_end ORDER BY p.item_id, p.warehouse_id DESC - ) t - GROUP BY item_id, warehouse_id - ) pf ON pf.item_id = b.item_id AND pf.warehouse_id = b.warehouse_id - -- descartamos articulos con coste menor de 0.01 - WHERE Costefijo + Portefijo + Embalajefijo + Comisionfija > 0.01 AND r.display <> 0; - - -- Creamos la tabla tmp.bionic_component - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; - CREATE TEMPORARY TABLE tmp.bionic_component LIKE - template_bionic_component; - - -- Componentes del precio, valores absolutos - INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) - SELECT b.warehouse_id, b.item_id, 29, rate_3 - Costefijo - Portefijo - Embalajefijo - Comisionfija - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; - - INSERT INTO tmp.bionic_component ( warehouse_id, item_id, component_id, cost) - SELECT b.warehouse_id, b.item_id, 28, Costefijo + Portefijo + Embalajefijo + Comisionfija - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra; - - -- Ahora los valores en funcion de la base - - DROP TEMPORARY TABLE IF EXISTS t_components_base; - - CREATE TEMPORARY TABLE t_components_base - SELECT bc.item_id, ROUND(SUM(cost), 4) AS base, bc.warehouse_id - FROM tmp.bionic_component bc - GROUP BY bc.item_id,warehouse_id; - - -- La ratio se calcula teniendo en cuenta el valor de las reclamaciones y el saldo de greuge - - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, 17, ROUND(base * LEAST(recobro,0.25), 3) - FROM t_components_base cb - JOIN bi.claims_ratio ON Id_Cliente = v_customer - WHERE recobro > 0.009; - - -- PAK 2016-08-31 Componente de maná automático, en función del maná acumulado por el comercial. - - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, 39, ROUND(base * prices_modifier_rate, 3) as manaAuto - FROM t_components_base cb - JOIN Clientes c on c.Id_Cliente = v_customer - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated - HAVING manaAuto <> 0 ; - - -/* - -- Vendedor variable - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, item_id, Id_Componente, IFNULL(ROUND(base * tax,4), 0) - FROM t_components_base cb - JOIN bi.tarifa_componentes - WHERE tarifa_componentes_series_id = 2 and IFNULL(tax, 0) > 0; - */ - - --- ******* Inicio Bloque para componentes con tarifa_class diferente de NULL - -- Descuento por ultimas unidades - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, b.item_id, Id_Componente, GREATEST(IFNULL(ROUND(base * tax,4), 0), b.min_price - b.rate_3) - FROM t_components_base cb - JOIN bi.tarifa_componentes - JOIN t_bionic_temp b ON b.item_id = cb.item_id - LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE Id_Componente = 32 AND tax <> 0 AND b.min_price < b.rate_3 AND PrecioEspecial IS NULL; - - -- Incremento por paquete suelto - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 22, rate_2 - rate_3 - FROM t_bionic_temp b - JOIN vn2008.Compres c ON b.buy_id = c.Id_Compra - LEFT JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE PrecioEspecial IS NULL; - --- ******* Fin Bloque para componentes con tarifa_class diferente de NULL - - -- Reparto - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id - , b.item_id - , 15 - , COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - r.cm3 - * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) - * az.price - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) cost - FROM t_bionic_temp b - JOIN vn2008.Articles art ON art.Id_Article = b.item_id - JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia - JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id - LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id - HAVING cost <> 0; - --- Reparto bonificado - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id - , b.item_id - , 41 - , COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - r.cm3 - * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) - * awb.bonus - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) cost - FROM t_bionic_temp b - JOIN vn2008.Articles art ON art.Id_Article = b.item_id - JOIN vn2008.Agencias a ON a.Id_Agencia = v_agencia - JOIN vn2008.Consignatarios c ON c.Id_Consigna = v_consigna - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = b.warehouse_id AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = v_agencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = b.warehouse_id - JOIN vn2008.agency_weekday_bonus awb ON awb.warehouse_id = az.warehouse_id AND awb.zona = az.zona AND a.agency_id = awb.agency_id - LEFT JOIN bi.rotacion r ON r.warehouse_id = b.warehouse_id AND r.Id_Article = b.item_id - JOIN vn2008.travel_tree t ON t.warehouse_id = awb.warehouse_id AND weekday(t.Fecha_recepcion) = awb.weekDay - HAVING cost <> 0; - --- PAK 12-05-2015 - -- EMBOLSADO - IF (SELECT COUNT(*) FROM vn.addressForPackaging WHERE addressFk = v_consigna) THEN - - -- IF v_consigna IN (13690, 3402, 5661, 4233) THEN - - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 38, ap.packagingValue cost - FROM t_bionic_temp b - JOIN vn.addressForPackaging ap - WHERE ap.addressFk = v_consigna; - - END IF; - - -- JGF 14-08-2015 - -- Modificacion de precio por dia de preparacion del pedido - INSERT INTO tmp.bionic_component - SELECT cb.warehouse_id, cb.item_id, 14, cb.base * (IFNULL(pe.percentage,pp.percentage)/100) - FROM t_components_base cb - JOIN vn2008.travel_tree tt ON tt.warehouse_id = cb.warehouse_id - LEFT JOIN vn2008.preparation_percentage pp ON pp.week_day = weekday(tt.Fecha_envio) AND cb.warehouse_id = IFNULL(pp.warehouse_id,cb.warehouse_id) - LEFT JOIN vn2008.preparation_exception pe ON pe.exception_day = tt.Fecha_envio AND cb.warehouse_id = IFNULL(pe.warehouse_id,cb.warehouse_id) - WHERE IFNULL(pe.percentage,pp.percentage); - - -- Creamos la tabla tmp.bionic_component_copy por que mysql no puede reabrir una tabla temporal - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component_copy; - CREATE TEMPORARY TABLE tmp.bionic_component_copy - SELECT * FROM tmp.bionic_component; - - -- JGF 19-01-2016 - -- Precios especiales - INSERT INTO tmp.bionic_component - SELECT b.warehouse_id, b.item_id, 10, pe.PrecioEspecial - SUM(cost) sum_cost - FROM tmp.bionic_component_copy b - JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente - JOIN PreciosEspeciales pe ON pe.Id_Cliente = v_customer AND pe.Id_Article = b.item_id - WHERE t.tarifa_class IS NULL - GROUP BY b.item_id, b.warehouse_id - HAVING ABS(sum_cost) > 0.001; - - - - - -- Lotes - DROP TEMPORARY TABLE IF EXISTS t_component_sum; - CREATE TEMPORARY TABLE t_component_sum - (INDEX (item_id, warehouse_id)) - ENGINE = MEMORY - SELECT SUM(cost) sum_cost, b.item_id, b.warehouse_id, t.tarifa_class - FROM tmp.bionic_component b - JOIN bi.tarifa_componentes t ON b.component_id = t.Id_Componente - GROUP BY b.item_id, b.warehouse_id, t.tarifa_class; - - -- ***** Inicia Modifica t_bionic_rate las diferentes tarifas - -- Tarifa por unidad minima - DROP TEMPORARY TABLE IF EXISTS t_bionic_rate; - CREATE TEMPORARY TABLE t_bionic_rate - ENGINE = MEMORY - SELECT b.warehouse_id, item_id, 1 rate, - IF(box = 1, grouping, 1) grouping, SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE IFNULL(cs.tarifa_class,1) = 1 AND box < 2 AND (packing > grouping or box = 0) - GROUP BY warehouse_id, item_id; - - -- Tarifa por caja - INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) - SELECT b.warehouse_id, item_id, 2 rate, packing grouping, - SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE available IS NULL OR (IFNULL(cs.tarifa_class,2) = 2 AND packing > 0 AND available >= packing) - GROUP BY warehouse_id, item_id; - - -- Tarifa para toda la cantidad disponible - INSERT INTO t_bionic_rate (warehouse_id, item_id, rate, grouping, price) - SELECT b.warehouse_id, item_id, 3 rate, available grouping, - SUM(sum_cost) price - FROM t_bionic_temp b - JOIN t_component_sum cs USING(item_id, warehouse_id) - WHERE IFNULL(cs.tarifa_class,3) = 3 - GROUP BY warehouse_id, item_id; - - -- ***** Fin Modifica t_bionic_rate las diferentes tarifas - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; - CREATE TEMPORARY TABLE tmp.bionic_price - LIKE template_bionic_price; - - INSERT INTO tmp.bionic_price (warehouse_id, item_id, rate, grouping, price) - SELECT * FROM ( - SELECT * FROM t_bionic_rate ORDER BY price - ) t - GROUP BY item_id, warehouse_id, grouping; - - - DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; - CREATE TEMPORARY TABLE tmp.travel_tree - ENGINE = MEMORY - SELECT * FROM travel_tree; - - -- Limpieza - - DROP TEMPORARY TABLE travel_tree; - DROP TEMPORARY TABLE t_bionic_temp; - DROP TEMPORARY TABLE t_component_sum; - DROP TEMPORARY TABLE t_components_base; - - DROP TEMPORARY TABLE t_bionic_rate; - DROP TEMPORARY TABLE tmp.bionic_component_copy; -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_date` */; -/*!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_calc_date`(v_ticket INT) -proc: BEGIN -/** - * Este procedimiento asigna la fecha de llegada correcta a un ticket. - * - * @param v_ticket Id del ticket - **/ - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - DECLARE v_wh SMALLINT; - DECLARE v_province INT; - DECLARE v_landing DATE; - - SELECT agency_id, DATE(Fecha), t.warehouse_id, province_id - INTO v_agency_id, v_shipment, v_wh, v_province - FROM Tickets t - JOIN Consignatarios c ON c.Id_Consigna = t.Id_Consigna - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - WHERE Id_Ticket = v_ticket; - - SELECT landing INTO v_landing FROM ( - SELECT - @d := TIMESTAMPADD(DAY, subtract_day, v_shipment), - @w := WEEKDAY(@d), - IF(week_day IS NOT NULL, TIMESTAMPADD(DAY, (week_day - @w) + IF(@w > week_day, 7, 0), @d), @d) landing -/* - TIMESTAMPADD(DAY, - IFNULL(IF(WEEKDAY(@vdate) > week_day, 7, 0) + week_day - WEEKDAY(@vdate), - subtract_day) - CAST(subtract_day AS DECIMAL), - @vdate) landing -*/ - FROM agency_hour - WHERE warehouse_id = v_wh - AND (province_id = v_province OR province_id IS NULL) - AND agency_id = v_agency_id - ORDER BY - (province_id IS NOT NULL) * 3 + (week_day IS NOT NULL) DESC, landing - LIMIT 1 - ) t; - - IF v_landing IS NULL THEN - SET v_landing = v_shipment; - END IF; - - UPDATE Tickets SET landing = v_landing WHERE Id_Ticket = v_ticket; -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_movement` */; -/*!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_movement`(IN v_id_mov BIGINT ) -proc: BEGIN - -/* -Este procedimiento bioniza una linea de movimiento -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_ticket BIGINT; - DECLARE v_id_article BIGINT; - DECLARE v_landing DATE; - DECLARE v_ticket_free BOOLEAN DEFAULT TRUE; - - - SELECT FALSE - INTO v_ticket_free - FROM Tickets t - JOIN Movimientos m ON m.Id_Ticket = t.Id_Ticket - LEFT JOIN vn.ticketState ts on ts.ticket = t.Id_Ticket - WHERE Id_Movimiento = v_id_mov - AND (t.Factura != "" - or - ( - ts.alertLevel > 0 - AND - m.Preu != 0 - ) - ) - LIMIT 1; - - SELECT Id_Ticket, Id_Article INTO v_ticket, v_id_article FROM Movimientos WHERE Id_Movimiento = v_id_mov; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia - INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia - FROM vn2008.Agencias a - JOIN vn2008.Tickets t using(Id_Agencia) - WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY - SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - DELETE FROM t_item_last_buy WHERE item_id != v_id_article; - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Movimiento = v_id_mov; - - CALL bionic_calc_component(v_consigna,v_agencia); - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento,v_wh warehouse_id FROM Movimientos m WHERE m.Id_Movimiento = v_id_mov; - - CALL bionic_movement_update(IF(v_ticket_free,1,6)); -- si el ticket esta facturado, respeta los precios - - -- Log - call Ditacio(v_ticket - ,'Bioniza Linea' - ,'T' - , 20 - , 'proc bionic_calc_movement ' - , v_id_mov); - - -- Limpieza - - DROP TEMPORARY TABLE t_item_last_buy; -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_movement_ok` */; -/*!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_movement_ok`(IN v_ticket BIGINT) -BEGIN - -/* -Este procedimiento "rebioniza" una linea, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - - REPLACE order_Tickets(order_id,Id_Ticket) VALUES(48, v_ticket); - - SELECT Id_Cliente , t.warehouse_id, date(t.Fecha), Id_Consigna , Id_Agencia - INTO v_customer ,v_wh, v_shipment , v_consigna , v_agencia - FROM vn2008.Agencias a - JOIN vn2008.Tickets t using(Id_Agencia) - WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY - SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id FROM Movimientos m WHERE m.Id_Ticket = v_ticket; - CALL bionic_movement_update(1); - - -- Log - call Ditacio(v_ticket - ,'Bioniza Lineas OK' - ,'T' - , 20 - , 'proc bionic_calc_movement_ok ' - , NULL); - - -- Limpieza - DROP TEMPORARY TABLE t_item_last_buy; -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_reverse` */; -/*!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_reverse`( - vWarehouse INT, - vMargin DECIMAL(10,3), - vRetailedPrice DECIMAL(10,3), - vM3 DECIMAL(10,3), - vConsigna INT, - vAgencia INT) -proc: BEGIN - - DECLARE COEFICIENTE_DE_INFLACION_GENERAL INT DEFAULT 1.3; - DECLARE DENSIDAD_MINIMA_PESO_VOLUMETRICO INT DEFAULT 167; - DECLARE VOLUMEN_CAJA_VERDNATURA BIGINT DEFAULT 138000; - DECLARE vCost DECIMAL(10,4) DEFAULT 0; - DECLARE vCustomer INT; - DECLARE vRecovery DECIMAL(10,4) DEFAULT 0; - DECLARE vMana DECIMAL(10,4) DEFAULT 0; - DECLARE vPort DECIMAL(10,4) DEFAULT 0; - - SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vConsigna; - - -- Recobro - SELECT ROUND(LEAST(recobro,0.25), 3) INTO vRecovery - FROM bi.claims_ratio - WHERE Id_Cliente = vCustomer AND recobro > 0.009; - - -- Componente de maná automático, en función del maná acumulado por el comercial. - SELECT ROUND(prices_modifier_rate, 3) INTO vMana - FROM Clientes c - JOIN bs.mana_spellers ms ON c.Id_Trabajador = ms.Id_Trabajador - WHERE ms.prices_modifier_activated AND c.Id_Cliente = vCustomer; - - -- Reparto - SELECT COEFICIENTE_DE_INFLACION_GENERAL - * ROUND( - vM3 - * az.price - * az.inflacion - / VOLUMEN_CAJA_VERDNATURA, 4 - ) INTO vPort - FROM vn2008.Agencias a - JOIN vn2008.Consignatarios c ON c.Id_Consigna = vConsigna AND a.Id_Agencia = vAgencia - JOIN vn2008.Agencias_province ap ON ap.agency_id = a.agency_id AND ap.warehouse_id = vWarehouse AND ap.province_id = c.province_id - JOIN vn2008.Agencias_zonas az ON az.Id_Agencia = vAgencia AND az.zona = ap.zona AND az.Id_Article = 71 AND az.warehouse_id = vWarehouse; - - -- Modificacion de precio por dia de preparacion del pedido - -- No aplicada - - SET vCost = ((vRetailedPrice - vPort) / ( 1 + (vRecovery + vMana))) - vMargin; - - SELECT vCost,vRetailedPrice,vPort,vRecovery,vMana,vMargin,vCustomer; -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_ticket` */; -/*!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_ticket`(IN v_ticket BIGINT ) -proc: BEGIN - -/* -Este procedimiento trata de "rebionizar" un ticket, eliminando los componentes existentes e insertandolos de nuevo -*/ - DECLARE v_shipment DATE; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE v_agencia INT; - DECLARE v_consigna INT; - DECLARE v_landing DATE; - DECLARE v_ticket_free BOOLEAN; - DECLARE v_agency INT; - - CALL bionic_free(); - - SELECT (IFNULL(ts.alertLevel,0) >0 or IFNULL(Factura,"") != "") = FALSE - INTO v_ticket_free - FROM Tickets t LEFT JOIN vn.ticketState ts ON t.Id_Ticket = ts.ticket - WHERE t.Id_Ticket = v_ticket; - - /*SELECT (EtiquetasEmitidas or PedidoImpreso or Firmado or nz(Factura)) = FALSE - INTO v_ticket_free - FROM Tickets - WHERE Id_Ticket = v_ticket;*/ - - REPLACE order_Tickets(order_id, Id_Ticket) VALUES(48, v_ticket); - - SELECT Id_Cliente, t.warehouse_id, date(t.Fecha), Id_Consigna, t.Id_Agencia, landing, a.agency_id - INTO v_customer, v_wh, v_shipment, v_consigna, v_agencia, v_landing, v_agency - FROM vn2008.Tickets t LEFT JOIN vn2008.Agencias a ON t.Id_Agencia = a.Id_Agencia WHERE Id_Ticket = v_ticket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree ENGINE = MEMORY - SELECT v_wh warehouse_id, v_shipment Fecha_envio, v_landing Fecha_recepcion; - - CALL item_last_buy_ (v_wh, v_shipment); -- rellena la tabla t_item_last_buy con la ultima compra - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT v_wh warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket GROUP BY m.Id_Article; - - CALL bionic_calc_component(v_consigna,v_agencia); - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, v_wh warehouse_id - FROM Movimientos m - where m.Id_Ticket = v_ticket; - - CALL bionic_movement_update(IF(v_ticket_free,1,6)); -- si el ticket esta facturado, respeta los precios - - IF v_landing IS NULL THEN - - CALL travel_tree_shipment(v_shipment, v_consigna, v_agency,v_wh); - UPDATE Tickets t - JOIN travel_tree_shipment tts ON t.warehouse_id = tts.warehouse_id - SET t.landing = tts.landing - WHERE Id_Ticket = v_ticket; - - END IF; - -- Limpieza - -- DROP TEMPORARY TABLE t_item_last_buy; -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_free` */; -/*!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_free`() -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_item; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; - DROP TEMPORARY TABLE IF EXISTS tmp.travel_tree; -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_date DATE, - v_consigna INT, - v_agencia INT, - v_item INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT v_item item_id; - - CALL bionic_calc (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE tmp.bionic_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 `bionic_from_order` */; -/*!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_order`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - v_order INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT item_id FROM order_row - WHERE order_id = v_order GROUP BY item_id; - - CALL bionic_calc (v_date, v_consigna, v_agencia); - DROP TEMPORARY TABLE tmp.bionic_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 `bionic_from_ticket` */; -/*!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_from_ticket`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - v_ticket INT) -BEGIN - DECLARE int_warehouse SMALLINT; - DECLARE v_agency_id INT; - DECLARE v_shipment DATE; - - SELECT warehouse_id INTO int_warehouse FROM Tickets WHERE Id_Ticket = v_ticket; - SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; - - - CALL bionic_free(); - CALL travel_tree(v_date,v_consigna, v_agency_id); - - - SELECT Fecha_envio INTO v_shipment FROM travel_tree WHERE warehouse_id = int_warehouse; - - CALL item_last_buy_ (int_warehouse, v_shipment); - - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - CREATE TEMPORARY TABLE tmp.bionic_lot - SELECT int_warehouse warehouse_id,NULL available, - m.Id_Article item_id,ilb.buy_id - FROM Movimientos m - LEFT JOIN t_item_last_buy ilb ON ilb.item_id = m.Id_Article - WHERE m.Id_Ticket = v_ticket - AND m.Id_Article != 100 - GROUP BY warehouse_id, item_id; - - DROP TEMPORARY TABLE t_item_last_buy; - - CALL bionic_calc_component ( v_consigna, v_agencia); - - REPLACE INTO tmp.bionic_component (warehouse_id, item_id, component_id, cost) - SELECT t.warehouse_id, m.Id_Article, mc.Id_Componente, mc.Valor - FROM Movimientos_componentes mc - JOIN Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN tarifa_componentes tc ON tc.Id_componente = mc.Id_Componente - WHERE m.Id_Ticket = v_ticket AND tc.is_renewable = FALSE; - - -- para recuperar el shipment en caso de que se necesite - - SET @shipment = v_shipment; - DROP TEMPORARY TABLE tmp.bionic_lot; - - IF IFNULL(v_shipment,CURDATE() - 1) < CURDATE() THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = 'No se puede realizar el cambio'; - 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_type` */; -/*!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_from_type`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - v_type INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT Id_Article AS item_id FROM Articles WHERE tipo_id = v_type; - - CALL bionic_calc (v_date, v_consigna, v_agencia); - - DROP TEMPORARY TABLE tmp.bionic_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 `bionic_make_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 `bionic_make_update`( - i_ticket INT - ,i_agencia INT - ,i_consigna INT - ,i_warehouse INT - ,d_shipment DATE - ,d_landing DATE - ,i_option INT) -BEGIN -/** - * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. - */ - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - -- Cambios en el ticket - - START TRANSACTION; - - UPDATE Tickets t - SET - t.Id_Agencia = i_agencia, - t.Id_Consigna = i_consigna, - t.warehouse_id = i_warehouse, - t.landing = d_landing, - t.Fecha = d_shipment - WHERE - t.Id_Ticket = i_ticket; - - -- La opcion 8 es No realizar modificaciones en los precios - - IF i_option <> 8 - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) - ENGINE = MEMORY - SELECT Id_Movimiento, i_warehouse warehouse_id - FROM Movimientos m WHERE m.Id_Ticket = i_ticket; - - CALL bionic_movement_update (i_option); - DROP TEMPORARY TABLE tmp.movement; - END IF; - - 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 `bionic_make_updateTest` */; -/*!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_make_updateTest`( - i_ticket INT - ,i_agencia INT - ,i_consigna INT - ,i_warehouse INT - ,d_shipment DATE - ,d_landing DATE - ,i_option INT) -BEGIN -/** - * Ejecuta los cambios en el ticket, en los movimientos y en los componentes. - */ - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - -- Cambios en el ticket - - START TRANSACTION; - - UPDATE Tickets t - SET - t.Id_Agencia = i_agencia, - t.Id_Consigna = i_consigna, - t.warehouse_id = i_warehouse, - t.landing = d_landing, - t.Fecha = d_shipment - WHERE - t.Id_Ticket = i_ticket; - - -- La opcion 8 es No realizar modificaciones en los precios - - IF i_option <> 8 - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) - ENGINE = MEMORY - SELECT Id_Movimiento, i_warehouse warehouse_id - FROM Movimientos m WHERE m.Id_Ticket = i_ticket; - - CALL bionic_movement_updateTest(i_option); - DROP TEMPORARY TABLE tmp.movement; - END IF; - - 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 `bionic_movement_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 `bionic_movement_update`(i_option INT) -BEGIN -/** - * A partir de la tabla tmp.movement, crea los Movimientos_componentes - * y modifica el campo Preu de la tabla Movimientos - * - * @param i_option integer tipo de actualizacion - * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id - **/ - DECLARE intComponent INT; - DECLARE bolRENUEVA_COMPONENTES BOOLEAN; - DECLARE bolRESPETA_PRECIOS BOOLEAN; - - CASE i_option - - WHEN 1 THEN -- caso normal - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 2 THEN - - SET intComponent = 17; -- greuge al client - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 3 THEN - - SET intComponent = 37; -- convertir en maná - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 4 THEN - - SET intComponent = 34; -- greuge contra la cartera del producto - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 5 THEN - - SET intComponent = 35; -- greuge contra la cartera del comprador - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 6 THEN - - SET intComponent = 36; -- descuadre para la empresa - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 7 THEN - -- Insertamos el 80% para el coste - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - -- Insertamos el 20% para el margen - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 8 THEN - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; - - -- Insertamos el 100% para el coste Tipo 78 (Genérico) - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - END CASE; - - IF bolRENUEVA_COMPONENTES THEN - - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente - WHERE tc.is_renewable = TRUE; - - -- Insertamos los componentes actuales - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - - END IF; - - IF bolRESPETA_PRECIOS THEN - - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - - ELSE - - -- Cambios en movimientos. - UPDATE Movimientos m - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on tp.tipo_id = a.tipo_id - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.Preu = sum_valor - WHERE Tipo != 'Portes'; -- PAK 2017-02-06 - - -- Insertamos descuento, si lo hay - - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - - END IF; - - -- Fija el Costfixat - - UPDATE Movimientos m - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.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 - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.CostFixat = sum_valor, PrecioFijado = 1; - - - -- PAK 2017-02-06 - -- Familia PORTES, un unico componente de porte - - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes'; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 15, preu -- Reparto - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes' AND preu > 0; - - -- PAK 2017-09-27 - -- Tipos con un unico componente de coste - /* - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 28, preu -- Coste - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; -*/ - -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_movement_updateTest` */; -/*!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_movement_updateTest`(i_option INT) -BEGIN -/** - * A partir de la tabla tmp.movement, crea los Movimientos_componentes - * y modifica el campo Preu de la tabla Movimientos - * - * @param i_option integer tipo de actualizacion - * @param table tmp.movement tabla memory con el campo Id_Movimiento, warehouse_id - **/ - DECLARE intComponent INT; - DECLARE bolRENUEVA_COMPONENTES BOOLEAN; - DECLARE bolRESPETA_PRECIOS BOOLEAN; - - CASE i_option - - WHEN 1 THEN -- caso normal - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 2 THEN - - SET intComponent = 17; -- greuge al client - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 3 THEN - - SET intComponent = 37; -- convertir en maná - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 4 THEN - - SET intComponent = 34; -- greuge contra la cartera del producto - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 5 THEN - - SET intComponent = 35; -- greuge contra la cartera del comprador - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 6 THEN - - SET intComponent = 36; -- descuadre para la empresa - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - WHEN 7 THEN - -- Insertamos el 80% para el coste - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.8 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - -- Insertamos el 20% para el margen - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,29, round(((m.Preu * (100 - m.Descuento) /100 ) - SUM(IFNULL(mc.Valor,0))) * 0.2 ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente NOT IN (28,29) - GROUP BY m.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 8 THEN - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento; - - -- Insertamos el 100% para el coste Tipo 78 (Genérico) - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,28, round(((m.Preu * (100 - m.Descuento) /100 )) ,3) - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento; - - SET bolRENUEVA_COMPONENTES = FALSE; - SET bolRESPETA_PRECIOS = FALSE; - - WHEN 9 THEN -- PAK 2017-02-06 caso especial de artículos cuyo precio se pone a mano, como los portes - - SET bolRENUEVA_COMPONENTES = TRUE; - SET bolRESPETA_PRECIOS = TRUE; - - END CASE; - - IF bolRENUEVA_COMPONENTES THEN - - -- Eliminamos todos los componentes exceptos los propios de la tarifa para no perderla - DELETE mc.* - FROM tmp.movement mo - JOIN Movimientos_componentes mc ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN tarifa_componentes tc ON tc.Id_Componente = mc.Id_Componente - WHERE tc.is_renewable = TRUE; - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - -- Insertamos los componentes actuales - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, bc.component_id, bc.cost - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN tmp.bionic_component bc ON bc.item_id = m.Id_Article AND bc.warehouse_id = mo.warehouse_id - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = bc.component_id - LEFT JOIN tarifa_componentes tc ON tc.Id_Componente = bc.component_id - WHERE IF(mc.Id_Componente IS NULL AND tc.is_renewable = FALSE,FALSE,TRUE); - - END IF; - - IF bolRESPETA_PRECIOS THEN - - REPLACE INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - - SELECT m.Id_Movimiento,intComponent, round((m.Preu * (100 - m.Descuento) /100 ) - SUM(mc.Valor) ,3) dif - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - LEFT JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente <> intComponent - GROUP BY m.Id_Movimiento - HAVING dif <> 0; - ELSE - - -- Cambios en movimientos. - UPDATE Movimientos m - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on tp.tipo_id = a.tipo_id - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.Preu = sum_valor - WHERE Tipo != 'Portes'; -- PAK 2017-02-06 - - SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.Id_Movimiento - GROUP BY mc.Id_Movimiento; - - -- Insertamos descuento, si lo hay - - REPLACE INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - SELECT m.Id_Movimiento, 21, m.Preu * (100 -m.Descuento) / 100 - sum(Valor) v_valor - FROM Movimientos m - JOIN tmp.movement mo ON m.Id_Movimiento = mo.Id_Movimiento - JOIN Movimientos_componentes mc ON mc.Id_Movimiento = m.Id_Movimiento - WHERE mc.Id_Componente != 21 - GROUP BY m.Id_Movimiento having round(v_valor,4) <> 0; - END IF; - - -- Fija el Costfixat - - UPDATE Movimientos m - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM Movimientos_componentes mc - JOIN tmp.movement m ON m.Id_Movimiento = mc.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 - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.CostFixat = sum_valor, PrecioFijado = 1; - - - -- PAK 2017-02-06 - -- Familia PORTES, un unico componente de porte - - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes'; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 15, preu -- Reparto - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE Tipo = 'Portes' AND preu > 0; - - -- PAK 2017-09-27 - -- Tipos con un unico componente de coste - /* - DELETE mc.* - FROM Movimientos_componentes mc - JOIN tmp.movement mo ON mo.Id_Movimiento = mc.Id_Movimiento - JOIN Movimientos m on m.Id_Movimiento = mc.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 28, preu -- Coste - FROM Movimientos m - JOIN tmp.movement mo ON mo.Id_Movimiento = m.Id_Movimiento - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE tp.hasComponents = FALSE; -*/ - -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_movement_update_mode` */; -/*!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_movement_update_mode`(IN idMOV BIGINT, IN i_MODE INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS tmp.movement; - CREATE TEMPORARY TABLE tmp.movement - (PRIMARY KEY (Id_Movimiento)) ENGINE = MEMORY - SELECT Id_Movimiento, warehouse_id - FROM Movimientos m - JOIN Tickets t using(Id_Ticket) - WHERE m.Id_Movimiento = idMOV; - - CALL bionic_movement_update(i_MODE); - -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_movimiento_precio_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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_movimiento_precio_update`(IN i_mov INT) -BEGIN - -DECLARE d_compo_precio DOUBLE; -DECLARE d_mov_precio DOUBLE; - -SELECT SUM(Valor) INTO d_compo_precio -FROM bi.movimientos_componentes -WHERE Id_Movimiento = i_mov; - -SELECT Preu INTO d_mov_precio -FROM Movimientos -WHERE Id_Movimiento = i_mov; - -IF d_mov_precio <> d_compo_precio -AND d_compo_precio IS NOT NULL -AND d_mov_precio IS NOT NULL -THEN - - INSERT INTO bi.movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - VALUES (i_mov, 21, d_mov_precio - d_compo_precio) - ON DUPLICATE KEY UPDATE Valor = Valor + d_mov_precio - d_compo_precio ; - -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_tickets_range_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 `bionic_tickets_range_bionizar`(IN datSTART DATE, IN datEND DATE) -BEGIN -DECLARE done BIT DEFAULT 0; -DECLARE datEND_Midnight DATETIME DEFAULT vn2008.dayend(datEND); -DECLARE v_ticket BIGINT; -DECLARE rs CURSOR FOR -SELECT DISTINCT t.Id_Ticket -FROM -( - -- Movimientos que no coincide la suma de los componentes con el precio -select t.Id_Ticket, IFNULL(sum(Valor),0) - (Preu * (100 - m.Descuento)/100) as Diferencia, NULL as Nothing - from vn2008.Tickets t - join vn2008.Movimientos m on t.Id_Ticket = m.Id_Ticket - join vn2008.Articles a using(Id_Article) - left join vn2008.Movimientos_componentes mc using(Id_Movimiento) - join vn2008.Tipos tp on a.tipo_id = tp.tipo_id - where t.Fecha between datSTART and datEND_Midnight - and not tp.confeccion - and m.Cantidad > 0 - and tp.reino_id != 6 - group by Id_Movimiento - having ABS(Diferencia) > 1 OR (Diferencia IS NULL) - -UNION ALL - -- Movimientos sin componente de coste - SELECT t.Id_Ticket, NULL, NULL - FROM Tickets t - LEFT JOIN + CREATE TEMPORARY TABLE item ( - SELECT DISTINCT t.Id_Ticket, 0 - FROM Tickets t - JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on a.tipo_id = tp.tipo_id - JOIN Movimientos_componentes mc on mc.Id_Movimiento = m.Id_Movimiento - JOIN tarifa_componentes tc on tc.Id_Componente = mc.Id_Componente - WHERE (tarifa_componentes_series_id = 1 OR tp.reino_id = 6) - AND t.Fecha between datSTART and datEND_Midnight - ) sub on sub.Id_Ticket = t.Id_Ticket - WHERE sub.Id_Ticket IS NULL - AND t.Fecha between datSTART and datEND_Midnight - -UNION ALL - -- Movimientos sin porte en tickets con agencia que SI que deberia de llevar - SELECT m.Id_Ticket, count(Id_Movimiento) as Lineas_totales, Lineas_conPorte - FROM Movimientos m - JOIN Articles a on a.Id_Article = m.Id_Article - JOIN Tipos tp on tp.tipo_id = a.tipo_id - JOIN Tickets t on m.Id_Ticket = t.Id_Ticket - JOIN v_expeditions_shipping_charge v on v.Id_ticket = t.Id_Ticket - LEFT JOIN - ( - SELECT m.Id_Ticket, count(Id_Componente) Lineas_conPorte - FROM Movimientos_componentes mc - JOIN Movimientos m using(Id_Movimiento) - JOIN Tickets t using(Id_Ticket) - WHERE Id_Componente = 15 - AND Fecha between datSTART and datEND_Midnight - GROUP BY m.Id_Ticket - ) sub on sub.Id_Ticket = t.Id_Ticket - WHERE t.Fecha between datSTART and datEND_Midnight - AND Preu != 0 - AND tp.reino_id != 6 - AND shipping_charge > 1 - GROUP BY m.Id_Ticket - HAVING Lineas_totales > IFNULL(Lineas_conPorte,0) - - - -) sub -JOIN Tickets t ON t.Id_Ticket = sub.Id_Ticket -JOIN warehouse w ON w.id = t.warehouse_id -WHERE w.inventario; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - - - -OPEN rs; - -FETCH rs INTO v_ticket ; - -WHILE NOT done DO - - CALL bionic_calc_ticket(v_ticket); - - call Ditacio(v_ticket - ,'Bioniza Ticket' - ,'T' - , 20 - , 'proc bionic_tickets_range_bionizar' - , NULL); - - FETCH rs INTO v_ticket ; - -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 `bonus_comparados` */; -/*!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 `bonus_comparados`() -BEGIN - -SELECT CodigoTrabajador as Comercial - , T.Fecha - , bs.Id_Ticket - , T.Alias - , bs.Id_Article - , A.Article - , A.Medida - ,A.Categoria - , O.Abreviatura - , bs.amount - , bs.bonus - , amount * bonus * IF(bonus_buenos.bonus_sales_id IS NULL,0,1) as saldo -FROM bonus_sales bs -JOIN Articles A USING(Id_Article) -JOIN Trabajadores USING(Id_Trabajador) -JOIN Tickets T USING(Id_Ticket) -JOIN Clientes C USING(Id_Cliente) -JOIN Origen O ON O.id = A.id_origen -JOIN Permisos P ON bs.Id_Trabajador = P.Id_Trabajador -LEFT JOIN ( - select b.bonus_sales_id - from bonus_sales b - left join Movimientos M using(Id_Ticket, Id_Article) - join Tickets T on T.Id_Ticket = b.Id_Ticket - where Fecha >= '2012-12-01' - and Cantidad > amount / 2 - ) bonus_buenos USING(bonus_sales_id) - -WHERE T.Fecha > '2012-12-01' AND invoice AND 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 `buy_label` */; -/*!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 `buy_label`(IN entry_id_ INT, IN groupby TINYINT(1)) -BEGIN - - DECLARE done INT DEFAULT 0; - DECLARE label INT; - DECLARE id INT; - DECLARE recordset CURSOR FOR SELECT Compres.Etiquetas, Compres.Id_Compra FROM Compres INNER JOIN - (SELECT e.Id_entrada FROM Entradas e INNER JOIN ( - SELECT Id_Entrada,Inventario,Id_proveedor,travel_id,Id_Agencia FROM Entradas e1 INNER JOIN travel t ON e1.travel_id = t.id WHERE Id_Entrada = entry_id_) y - ON y.Inventario = e.Inventario AND e.travel_id = y.travel_id AND e.Id_proveedor = y.Id_proveedor AND y.Id_Agencia = e.Id_Agencia - WHERE (0 OR e.Id_Entrada = entry_id_)) entry_label - ON Compres.Id_Entrada = entry_label.Id_entrada - INNER JOIN Articles ON Compres.Id_Article = Articles.Id_Article WHERE Articles.Imprimir <> FALSE; - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; - - CREATE TEMPORARY TABLE `buy_label_source` - ( - `buy_id` INT(11) NOT NULL - ) - - ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - OPEN recordset; - - REPEAT - - FETCH recordset INTO label, id; - WHILE label > 0 DO - - SET label = label - 1; - INSERT INTO buy_label_source (buy_id) VALUES (id); - - END WHILE; - - UNTIL done END REPEAT; - -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 `buy_label_bunch` */; -/*!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 `buy_label_bunch`(IN entry_id_ INT, IN groupby TINYINT(1),IN single TINYINT(1), IN idCOM BIGINT) -BEGIN - DECLARE done INT DEFAULT 0; - DECLARE date_ DATE; - DECLARE provider_id INT; - DECLARE agency_id INT; - DECLARE i_wh INT; - DECLARE label INT; - DECLARE id INT; - DECLARE recordset CURSOR FOR - SELECT ROUND(C.Cantidad / IF(C.caja = FALSE, 1,C.Grouping) + 0.49), C.Id_Compra - FROM Compres C - INNER JOIN entry_label ON C.Id_Entrada = entry_label.entry_id - INNER JOIN Articles A ON C.Id_Article = A.Id_Article - WHERE (A.Imprimir <> FALSE AND idCOM = 0 AND C.Novincular = FALSE) - OR idCOM = C.Id_Compra; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - SET idCOM = IFNULL(idCOM, 0); - - DROP TEMPORARY TABLE IF EXISTS `entry_label`; - CREATE TEMPORARY TABLE `entry_label` - (`entry_id` INT(11) NOT NULL) - ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - - IF groupby <> FALSE THEN - - SELECT Id_Proveedor, DATE(landing), travel.agency_id, warehouse_id - INTO provider_id, date_, agency_id, i_wh - FROM Entradas - INNER JOIN travel ON travel.id = Entradas.travel_id - WHERE Id_Entrada = entry_id_; - - INSERT INTO entry_label (entry_id) - SELECT Entradas.Id_Entrada - FROM Entradas - INNER JOIN travel ON travel.id = Entradas.travel_id - WHERE Entradas.Inventario = FALSE - AND Entradas.Id_Proveedor = provider_id - AND warehouse_id = i_wh - AND DATE(landing) = date_ - AND travel.agency_id= agency_id; - - ELSE - - INSERT INTO entry_label (entry_id) VALUES (entry_id_); - SELECT landing - INTO date_ FROM - Entradas e - JOIN travel t ON t.id = e.travel_id - JOIN Compres c ON c.Id_Entrada = e.Id_Entrada - WHERE (entry_id_ = e.Id_Entrada - OR c.Id_Compra = idCOM) - LIMIT 1; - - END IF; - - DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; - - CREATE TEMPORARY TABLE `buy_label_source` - (`buy_id` INT(11) NOT NULL) - ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - - OPEN recordset; - FETCH recordset INTO label, id; - REPEAT - REPEAT - SET label = label - 1; - INSERT INTO buy_label_source (buy_id) VALUES (id); - UNTIL label <= 0 OR single END REPEAT; - - INSERT INTO buy_label_source (buy_id) VALUES (0); - FETCH recordset INTO label, id; - UNTIL done END REPEAT; - - SELECT - C.Id_Article, - @a:=IF(A.min - AND IFNULL(rate_3, C.Tarifa3) < A.PVP, - A.PVP, - IFNULL(rate_3, C.Tarifa3)) Tarifa2, - ROUND(IF(C.caja = FALSE, @a, @a * C.Grouping), - 2) AS Bunch, - ROUND(@a / A.Tallos, 2) AS PPT, - A.Article, - A.Medida, - A.Color, - A.Categoria, - Abreviatura AS Origen, - p.name Productor, - A.Tallos, - C.grouping, - E.Notas_Eva, - P.Proveedor, - C.Packing - FROM - buy_label_source bls - LEFT JOIN - Compres C ON C.Id_Compra = bls.buy_id - LEFT JOIN - Entradas E ON E.Id_Entrada = C.Id_Entrada - LEFT JOIN - Articles A ON A.Id_Article = C.Id_Article - LEFT JOIN - Proveedores P ON P.Id_Proveedor = E.Id_Proveedor - LEFT JOIN - Origen o ON A.id_origen = o.id - LEFT JOIN - producer p ON p.producer_id = A.producer_id - LEFT JOIN - (SELECT - item_id, rate_3 - FROM - price_fixed - WHERE - IFNULL(date_, CURDATE()) BETWEEN date_start AND date_end - AND rate_3 - AND warehouse_id IN (0 , i_wh) - GROUP BY item_id) pf ON pf.item_id = A.Id_Article; - - DROP TEMPORARY TABLE `entry_label`; - DROP TEMPORARY TABLE `buy_label_source`; - -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 `buy_label_bunchkk` */; -/*!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 `buy_label_bunchkk`(IN entry_id_ INT, IN groupby TINYINT(1),IN single TINYINT(1), IN idCOM BIGINT) -BEGIN - DECLARE done INT DEFAULT 0; - DECLARE date_ DATE; - DECLARE provider_id INT; - DECLARE agency_id INT; - DECLARE i_wh INT; - DECLARE label INT; - DECLARE id INT; - DECLARE recordset CURSOR FOR - SELECT ROUND(C.Cantidad / IF(C.caja = FALSE, 1,C.Grouping) + 0.49), C.Id_Compra - FROM Compres C - INNER JOIN entry_label ON C.Id_Entrada = entry_label.entry_id - INNER JOIN Articles A ON C.Id_Article = A.Id_Article - WHERE (A.Imprimir <> FALSE AND idCOM = 0 AND C.Novincular = FALSE) - OR idCOM = C.Id_Compra; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - SET idCOM = IFNULL(idCOM, 0); - - DROP TEMPORARY TABLE IF EXISTS `entry_label`; - CREATE TEMPORARY TABLE `entry_label` - ( - `entry_id` INT(11) NOT NULL - ) - ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - - IF groupby <> FALSE THEN - - SELECT Id_Proveedor, DATE(landing), travel.agency_id, warehouse_id INTO provider_id, date_, agency_id, i_wh - FROM Entradas - INNER JOIN travel ON travel.id = Entradas.travel_id - - WHERE Id_Entrada = entry_id_; - - INSERT INTO entry_label (entry_id) SELECT Entradas.Id_Entrada FROM Entradas - - INNER JOIN travel ON travel.id = Entradas.travel_id - - WHERE Entradas.Inventario = FALSE AND Entradas.Id_Proveedor = provider_id - - AND warehouse_id = i_wh AND DATE(landing) = date_ AND travel.agency_id= agency_id; - - ELSE - - INSERT INTO entry_label (entry_id) VALUES (entry_id_); - SELECT landing INTO date_ FROM Entradas e - JOIN travel t ON t.id = e.travel_id - JOIN Compres c ON c.Id_Entrada = e.Id_Entrada - WHERE (entry_id_ = e.Id_Entrada OR c.Id_Compra = idCOM) LIMIT 1; - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS `buy_label_source`; - - CREATE TEMPORARY TABLE `buy_label_source` - ( - `buy_id` INT(11) NOT NULL - ) - ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - - OPEN recordset; - FETCH recordset INTO label, id; - REPEAT - REPEAT - - SET label = label - 1; - INSERT INTO buy_label_source (buy_id) VALUES (id); - UNTIL label <= 0 OR single END REPEAT; - - INSERT INTO buy_label_source (buy_id) VALUES (0); - FETCH recordset INTO label, id; - UNTIL done END REPEAT; - - SELECT C.Id_Article,@a := IF(A.min AND IFNULL(rate_3,C.Tarifa3) < A.PVP, A.PVP, IFNULL(rate_3,C.Tarifa3)) Tarifa2, - ROUND(IF(C.caja = FALSE, @a,@a * C.Grouping),2) AS Bunch, - ROUND(@a / A.Tallos,2) AS PPT, - A.Article, A.Medida, A.Color, A.Categoria, Abreviatura as Origen, C.Productor, - A.Tallos, C.grouping, E.Notas_Eva,P.Proveedor,C.Packing - FROM buy_label_source bls - LEFT JOIN Compres C ON C.Id_Compra = bls.buy_id - LEFT JOIN Entradas E ON E.Id_Entrada = C.Id_Entrada - LEFT JOIN Articles A ON A.Id_Article = C.Id_Article - LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor - LEFT JOIN Origen o ON A.id_origen = o.id - LEFT JOIN ( - SELECT item_id, rate_3 FROM price_fixed - WHERE IFNULL(date_,CURDATE()) BETWEEN date_start AND date_end AND rate_3 - AND warehouse_id IN (0,i_wh) - GROUP BY item_id - ) pf ON pf.item_id = A.Id_Article; - -- JGF 02/02/15 canvie CURDATE() per IFNULL(date_,CURDATE()) - - DROP TEMPORARY TABLE `entry_label`; - DROP TEMPORARY TABLE `buy_label_source`; - -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 `buy_scan` */; -/*!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 `buy_scan`(v_barcode VARCHAR(255), v_labels INT) -BEGIN -/** - * Marca una compra de subasta como escaneada. - * - * @param v_barcode Código de compra de una etiqueta de subasta - * @param v_labels Cantidad escaneada - **/ - DECLARE v_edi INT; - DECLARE v_buy INT; - DECLARE v_item INT; - DECLARE v_do_photo BOOL; - - -- Aun no se sabe como obtener el número de serie de transacción de - -- las compras realizadas a través de un reloj, por lo que se establece - -- siempre a '01' - - IF SUBSTR(v_barcode, 3, 2) != '99' THEN - SET v_barcode = CONCAT(LEFT(v_barcode, 12), '010'); - END IF; - - SELECT e.id, c.Id_Compra, c.Id_Article, a.do_photo - INTO v_edi, v_buy, v_item, v_do_photo - FROM buy_edi e - JOIN Compres c ON c.buy_edi_id = e.id - JOIN Articles a ON a.Id_Article = c.Id_Article - WHERE e.barcode = v_barcode - AND e.entry_year = YEAR(CURDATE()) - ORDER BY c.Id_Compra - LIMIT 1; - - UPDATE buy_edi SET scanned = TRUE WHERE id = v_edi; - - UPDATE Compres - SET Vida = Vida + IF(v_labels != -1, v_labels, Etiquetas) - WHERE Id_Compra = v_buy; - - IF v_do_photo THEN - UPDATE Articles SET do_photo = FALSE WHERE Id_Article = v_item; - END IF; - - SELECT v_buy buy, v_do_photo do_photo; -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 `buy_split` */; -/*!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 `buy_split`(v_buy INT, v_fv_entry INT, v_pca_entry INT) -BEGIN - DECLARE v_item INT; - DECLARE v_packing INT; - DECLARE v_remaining INT; - DECLARE v_labels INT; - DECLARE v_remainder INT; - DECLARE v_is_buy INT; - DECLARE v_id INT; - DECLARE v_amount INT; - DECLARE v_done BOOL DEFAULT FALSE; - - DECLARE cur CURSOR FOR - SELECT TRUE, c.Id_Compra, c.Cantidad - IFNULL((c.Vida * c.Packing), 0) - FROM Compres c - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE c.Id_Article = v_item - AND t.shipment = CURDATE() AND t.warehouse_id_out IN (7, 40) - AND t.warehouse_id NOT IN (44, 1) - AND NOT e.redada AND NOT e.Inventario - AND IFNULL(c.Vida, 0) < c.Etiquetas - LOCK IN SHARE MODE - UNION ALL - SELECT FALSE, m.Id_Movimiento, m.Cantidad - IFNULL(l.stem, 0) - FROM Movimientos m - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - LEFT JOIN movement_label l ON l.Id_Movimiento = m.Id_Movimiento - WHERE m.Id_Article = v_item - AND t.Fecha = CURDATE() AND t.warehouse_id IN (7, 40) - AND NOT t.Etiquetasemitidas - AND IFNULL(l.stem, 0) < m.Cantidad - LOCK IN SHARE MODE; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET v_done = TRUE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - START TRANSACTION; - - -- Obtiene los datos de la compra - - SELECT Id_Article, Packing, Cantidad - INTO v_item, v_packing, v_remaining - FROM Compres WHERE Id_Compra = v_buy; - - -- Crea splits de los tickets - - DROP TEMPORARY TABLE IF EXISTS tmp.split; - CREATE TEMPORARY TABLE tmp.split - ( - is_buy BOOL, - id INT, - labels INT, - remainder INT - ) - ENGINE = MEMORY; - - OPEN cur; - - l: LOOP - SET v_done = FALSE; - FETCH cur INTO v_is_buy, v_id, v_amount; - - IF v_done OR v_remaining = 0 THEN - LEAVE l; - END IF; - - SET v_amount = LEAST(v_amount, v_remaining); - SET v_remaining = v_remaining - v_amount; - SET v_labels = v_amount DIV v_packing; - - INSERT INTO tmp.split - VALUES (v_is_buy, v_id, v_labels, v_amount % v_packing); - - IF v_is_buy - THEN - UPDATE Compres - SET Vida = Vida + v_labels - WHERE Id_Compra = v_id; - ELSE - INSERT INTO movement_label - SET - Id_Movimiento = v_id, - stem = v_amount, - label = v_labels - ON DUPLICATE KEY UPDATE - stem = stem + VALUES(stem), - label = label + VALUES(label); - END IF; - END LOOP; - - CLOSE cur; - - -- Crea los movimientos de almacén a silla - - CALL buy_transfer (v_buy, v_fv_entry, v_pca_entry); - - UPDATE Compres SET dispatched = Vida * Packing - WHERE Id_Compra = v_buy; - - -- Devuelve los splits creados - - DROP TEMPORARY TABLE IF EXISTS tmp.aux; - CREATE TEMPORARY TABLE tmp.aux - ENGINE = MEMORY - SELECT s.labels, s.remainder, w.`name` destination, - a.Id_Article, a.Article, a.Medida - FROM tmp.split s - JOIN Compres c ON c.Id_Compra = s.id - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - JOIN warehouse w ON t.warehouse_id = w.id - WHERE s.is_buy; - - INSERT INTO tmp.aux - SELECT s.labels, s.remainder, o.Consignatario, - a.Id_Article, a.Article, a.Medida - FROM tmp.split s - JOIN Movimientos m ON m.Id_Movimiento = s.id - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN Consignatarios o ON o.Id_Consigna = t.Id_Consigna - WHERE NOT s.is_buy; - - SELECT * FROM tmp.aux; - - -- Limpia y confirma cambios - - DROP TEMPORARY TABLE - tmp.split, - tmp.aux; - - 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 `buy_tarifas` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas`(v_buy INT) -BEGIN - DECLARE v_entry INT; - DECLARE v_wh INT; - - SELECT Id_Entrada, warehouse_id - INTO v_entry, v_wh - FROM Compres - JOIN Entradas USING(Id_Entrada) - JOIN travel ON travel.id = travel_id - WHERE v_buy = Id_Compra; - - CALL buy_tarifas_table (v_entry); - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Tipos TP USING(tipo_id) - JOIN Entradas E USING(Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - LEFT JOIN recibida_entrada re ON E.Id_Entrada = re.Id_Entrada - LEFT JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id - LEFT JOIN v_awb_volumen va ON va.awb_id = ar.awb_id - JOIN tblTARIFAS TC - SET C.Portefijo = @PF:= - IF (va.importe, - ROUND((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - ROUND(IFNULL(((AG.m3 * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) - ), - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - C.Embalajefijo = @EF:= ROUND((CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.packing,3), - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - C.Tarifa2 = @t2:= ROUND(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - C.Tarifa2 = IF(@t2 <= @t3, @t3 , @t2) - WHERE C.Id_Compra = v_buy; - - IF v_wh = 42 -- Canarias - THEN - UPDATE Compres - SET Tarifa2 = Tarifa3 - WHERE Id_Compra = v_buy; - 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 `buy_tarifas_awb` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas_awb`(IN strAWB varchar(18)) -BEGIN - -DECLARE datINV DATE; -DECLARE wh_id INT; -DECLARE idENTRADA INT; - -SELECT warehouse_id, E.Id_Entrada INTO wh_id, idENTRADA -FROM Entradas E -JOIN travel ON travel.id = travel_id -JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada -JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id -JOIN awb ON awb.id = ar.awb_id -WHERE awb.codigo = strAWB -LIMIT 1; - - - CALL buy_tarifas_table(idENTRADA); - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING(Id_Entrada) - JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada - JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id - JOIN v_awb_volumen va ON va.awb_id = ar.awb_id - JOIN Tipos TP USING(tipo_id) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - JOIN tblTARIFAS TC - - SET C.Portefijo = @PF:= round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - - C.Embalajefijo = @EF:= ROUND((CB.costeRetorno + IF(CB.Retornable != 0, 0, CB.Valor)) / C.Packing,3), - - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) - - - WHERE va.codigo = strAWB ; - - -CASE wh_id - - WHEN 41 THEN -- Canarias - - UPDATE Compres - SET Tarifa2 = Tarifa3 - WHERE Id_Entrada = idENTRADA; - - - ELSE - - BEGIN - END; - -END CASE; - -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 `buy_tarifas_awb_bucle` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas_awb_bucle`() -BEGIN - -DECLARE strAWB VARCHAR(25); -DECLARE done INT DEFAULT FALSE; -DECLARE rs CURSOR FOR -SELECT codigo -FROM awb -WHERE MYSQL_TIME > '2015-06-30' AND importe > 0 ; -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - -OPEN rs; - -FETCH rs INTO strAWB; --- drop temporary table if exists killme; --- create temporary table killme select strAWB, now() as fecha, 0; - -WHILE NOT done DO - - insert into killme select strAWB, MYSQL_TIME, importe from awb where codigo = strAWB; - call buy_tarifas_awb(strAWB); - FETCH rs INTO strAWB; - select * from killme order by fecha desc; -END WHILE; - - - -drop temporary table killme; - - -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 `buy_tarifas_entry` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas_entry`(IN idENTRADA INT(11)) -BEGIN - - DECLARE datINV DATE; - DECLARE wh_id INT; - DECLARE m3i INTEGER; - - - SELECT warehouse_id INTO wh_id - FROM Entradas - JOIN travel ON travel.id = travel_id - WHERE Id_Entrada = idENTRADA; - - CALL buy_tarifas_table(idENTRADA); - - SELECT AG.m3 * sum( etiquetas * IFNULL(((AG.m3 * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) ,0) ) / - sum(etiquetas * IFNULL(((AG.m3 * ( A.density / 167 ) * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) ,0)) INTO m3i - FROM Compres C - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING(Id_Entrada) - JOIN Tipos TP USING(tipo_id) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - WHERE E.Id_Entrada = idENTRADA; - - - - UPDATE Compres C - LEFT JOIN Cubos CB USING(Id_Cubo) - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING(Id_Entrada) - LEFT JOIN recibida_entrada re on E.Id_Entrada = re.Id_Entrada - LEFT JOIN awb_recibida ar ON re.awb_recibida = ar.recibida_id - LEFT JOIN v_awb_volumen va ON va.awb_id = ar.awb_id - JOIN Tipos TP USING(tipo_id) - JOIN travel TR ON TR.id = E.travel_id - JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia - JOIN tblTARIFAS TC - - SET C.Portefijo = @PF:= - IF (va.importe, - - round((va.importe * A.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), - - ROUND(IFNULL(((AG.m3 * @cm3:= cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) / C.Packing,0),3) - ), - - C.Comisionfija = @CF:= ROUND(IFNULL(E.comision * C.Costefijo / 100,0),3), - - C.Embalajefijo = @EF:= IF(CB.Retornable != 0, 0, ROUND(IFNULL( CB.Valor / C.Packing ,0),3)), - - C.Tarifa3 = @t3:= IF(TC.t3 = 0, C.Costefijo,ROUND((C.Costefijo + @CF + @EF + @PF) / ((100 - TC.t3 - TP.promo ) /100) ,2)), -- He añadido que el coste sea igual a tarifa3 si t3 = 0 - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100)),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 , @t2) - - WHERE C.Id_Entrada = idENTRADA ; - - - CASE wh_id - - WHEN 41 THEN -- Canarias - - UPDATE Compres - SET Tarifa2 = Tarifa3 - WHERE Id_Entrada = idENTRADA; - ELSE - - BEGIN - END; - - END CASE; - -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 `buy_tarifas_lot` */; -/*!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 `buy_tarifas_lot`(IN idCOMPRA INT(11)) -BEGIN - -DECLARE intWHIN INTEGER(3); -DECLARE intDAYS INTEGER(3); -DECLARE dbM3 DOUBLE; -DECLARE done INT DEFAULT 0; -DECLARE datFEC DATE; -DECLARE wh INTEGER(3); -DECLARE idART INTEGER(11); -DECLARE dbCOST DOUBLE; -DECLARE m3value DOUBLE; -DECLARE intLIFE INTEGER; -DECLARE intPACK INTEGER; -DECLARE intPromo DOUBLE; -DECLARE whlc CURSOR FOR SELECT whin, days, m3 FROM warehouse_lc WHERE whout = @wh:= wh UNION ALL SELECT @wh, 0, 0 ; -DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; - -SELECT - Id_Article, - warehouse_id, - landing, - nz(Costefijo) + nz(Embalajefijo) + nz(Portefijo) + nz(Comisionfija), - life, - C.Packing, - (cm3_2(C.Id_Cubo, C.Id_Article) / 1000000) / C.Packing, - promo -INTO idART , wh , datFEC , dbCOST , intLIFE, intPACK, m3value, intPromo FROM - Compres C - JOIN - Articles A USING (Id_Article) - JOIN - Tipos TP USING (tipo_id) - JOIN - Entradas E USING (Id_Entrada) - JOIN - travel tr ON tr.id = E.travel_id -WHERE - Id_Compra = idCOMPRA; - - - -OPEN whlc; - -FETCH whlc INTO intWHIN, intDAYS, dbM3; - -WHILE NOT done DO - -SELECT idART , wh , datFEC , dbCOST , intLIFE, intPACK, m3value, intWHIN, intDAYS, dbM3, done, dbCOST + (m3value * dbM3); - - INSERT INTO price_fixed(item_id, - rate_3, - rate_2, - date_start, - date_end, - warehouse_id) - - SELECT idART, - round( (dbCOST + (m3value * dbM3)) / ((100 - t3 - intPromo )/100) , 2), - @tf2 := round((dbCOST + (m3value * dbM3)) / ((100 - t2 - intPromo)/100) ,2), - TIMESTAMPADD(DAY, intDAYS, datFEC), - TIMESTAMPADD(DAY, intLIFE, datFEC), - intWHIN - FROM tarifas - WHERE warehouse_id = intWHIN AND fecha <= TIMESTAMPADD(DAY, intDAYS, datFEC) - ORDER BY fecha DESC - LIMIT 1; - -FETCH whlc INTO intWHIN, intDAYS, dbM3; - - 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 `buy_tarifas_recalcular_almacen` */; -/*!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 `buy_tarifas_recalcular_almacen`(IN wh_id INT, IN datFEC DATE) -BEGIN - -DECLARE done INT DEFAULT 0; -DECLARE idE INT; - -DECLARE cur1 CURSOR FOR -SELECT Id_Entrada -FROM Entradas -JOIN travel ON travel.id = travel_id -WHERE landing >= datFEC AND wh_id IN (0,warehouse_id); - -DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; - -OPEN cur1; - -REPEAT - - FETCH cur1 INTO idE; - - IF NOT done THEN - - Call buy_tarifas_entry(idE); - - - - END IF; - - -UNTIL done END REPEAT; - - CLOSE cur1; - -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 `buy_tarifas_T3` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas_T3`(IN idCOMPRA INT(11)) -BEGIN - - DECLARE idENTRADA BIGINT; - DECLARE wh_id INT; - - SELECT Id_Entrada, warehouse_id INTO idENTRADA, wh_id - FROM Compres - JOIN Entradas using(Id_Entrada) - JOIN travel ON travel.id = travel_id - WHERE idCOMPRA = Id_Compra; - - CALL buy_tarifas_table(idENTRADA); - - UPDATE Compres C - JOIN tblTARIFAS TC - - SET - C.Tarifa3 = @t3:= C.Tarifa3, - - C.Tarifa2 = @t2:= round(@t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2), - - C.Tarifa2 = @t2:= IF(@t2 <= @t3, @t3 + 0.01, @t2) - - WHERE C.Id_Compra = idCOMPRA; - - IF wh_id = 41 THEN -- Canarias - - UPDATE Compres - SET Tarifa2 = Tarifa3 - WHERE Id_Compra = idCOMPRA; - - 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 `buy_tarifas_T3_pf` */; -/*!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`@`localhost` PROCEDURE `buy_tarifas_T3_pf`(IN idPRICE INT, IN t3 DOUBLE) -BEGIN - -DECLARE idENTRADA BIGINT; -DECLARE idCOMPRA BIGINT; -DECLARE datFEC DATE; -DECLARE wh INT; -DECLARE idART BIGINT; - -SELECT date_start, warehouse_id, item_id INTO datFEC, wh, idART -FROM price_fixed WHERE price_fixed_id = idPRICE; - -SELECT C.Id_Entrada, Id_Compra INTO idENTRADA, idCOMPRA -FROM Compres C -JOIN Entradas E using(Id_Entrada) -JOIN travel TR on TR.id = E.travel_id -WHERE Id_Article = idART -AND wh IN (0, warehouse_id) -AND Novincular = FALSE -AND NOT Redada -AND landing <= datFEC -ORDER BY landing DESC -LIMIT 1; - -CALL buy_tarifas_table(idENTRADA); - -SELECT - - @t2:= round(t3 * (1 + ( (TC.t2 - TC.t3)/100) ),2) as rate_2b, - - @t2:= IF(@t2 <= t3, t3 + 0.01, @t2) as rate_2 - -FROM price_fixed PF - JOIN Compres C ON C.Id_Compra = idCOMPRA AND price_fixed_id = idPRICE - JOIN tblTARIFAS TC; - -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 `buy_tarifas_table` */; -/*!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 `buy_tarifas_table`(v_entry INT) -BEGIN - DECLARE v_date DATE; - DECLARE v_wh INT; - - -- Obtiene fecha de llegada y almacén entrante - - SELECT landing, warehouse_id INTO v_date , v_wh - FROM travel TR - JOIN Entradas E ON TR.id = E.travel_id - WHERE Id_Entrada = v_entry; - - -- Prepara una tabla con las tarifas aplicables en funcion de la fecha y el almacén - - DROP TEMPORARY TABLE IF EXISTS tblTARIFAS; - CREATE TEMPORARY TABLE tblTARIFAS - ENGINE = MEMORY - SELECT * FROM - ( - SELECT * FROM - ( - SELECT t0, t1, t2, t3 - FROM tarifas - WHERE fecha <= v_date - AND warehouse_id = v_wh - ORDER BY fecha DESC - - ) sub - UNION ALL - SELECT t0, t1, t2, t3 - FROM tblContadores - ) sub2 - LIMIT 1; - - -- pak 22/09/2015 - - UPDATE bi.rotacion r - JOIN Compres c ON c.Id_Article = r.Id_Article - SET cm3 = vn2008.cm3_unidad(c.Id_Compra) - WHERE Id_Entrada = v_entry - AND r.warehouse_id = v_wh; -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 `buy_transfer` */; -/*!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 `buy_transfer`(v_buy INT, v_fv_entry INT, v_pca_entry INT) -proc: BEGIN -/** - * Traslada la cantidad restante de una compra de Holanda - * al almacén de Silla. - **/ - DECLARE v_wh INT; - DECLARE v_entry INT; - DECLARE v_fv INT; - DECLARE v_amount INT; - DECLARE v_item INT; - DECLARE v_holland_wh INT DEFAULT 7; - - -- Comprueba que es mercancía que llega al almacén de Holanda - - SELECT t.warehouse_id, tp.FV INTO v_wh, v_fv - FROM Compres c - JOIN Entradas e ON c.Id_Entrada = e.Id_Entrada - JOIN travel t ON t.id = e.travel_id - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - WHERE c.Id_Compra = v_buy; - - IF v_wh != v_holland_wh THEN - LEAVE proc; - END IF; - - -- Calcula a que almacén de Silla debe transladar la mercancía - - SET v_entry = IF(v_fv, v_fv_entry, v_pca_entry); - SET v_entry = IFNULL(v_entry, IFNULL(v_pca_entry, v_fv_entry)); - - IF v_entry IS NULL THEN - LEAVE proc; - END IF; - - -- Calcula la cantidad a trasladar - - SELECT Id_Article INTO v_item - FROM Compres WHERE Id_Compra = v_buy; - - SELECT IFNULL(SUM(amount), 0) INTO v_amount - FROM ( - SELECT SUM(c.Cantidad) amount - FROM Compres c - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE c.Id_Article = v_item - AND t.landing = CURDATE() - AND t.warehouse_id = v_holland_wh - UNION ALL - SELECT -SUM(c.Cantidad) - FROM Compres c - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE c.Id_Article = v_item - AND t.shipment = CURDATE() - AND t.warehouse_id_out = v_holland_wh - UNION ALL - SELECT -SUM(Cantidad) - FROM Movimientos m - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - WHERE m.Id_Article = v_item - AND t.Fecha = CURDATE() - AND t.warehouse_id = v_holland_wh - ) t; - - IF v_amount <= 0 THEN - LEAVE proc; - END IF; - - -- Crea la nueva línea de compra con el translado - - INSERT INTO Compres ( - Id_Article, Etiquetas, Cantidad, Id_Entrada, - Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, - Embalajefijo, Comisionfija, novincular, buy_edi_id) - SELECT - c.Id_Article, - v_amount DIV c.Packing, - v_amount, - v_entry, - c.Id_Cubo, - c.Packing, - c.grouping, - c.caja, - @cost := IFNULL(c.Costefijo, 0) + IFNULL(c.Comisionfija, 0) + IFNULL(c.Portefijo, 0), - @porte := ROUND((@cm3:= cm3_2(c.Id_Cubo, c.Id_Article)) * a.m3 / 1000000 / c.Packing, 3), - c.EmbalajeFijo, - @comision := ROUND(c.Costefijo * e.comision / 100, 3), - c.novincular, - c.buy_edi_id - FROM Compres c - JOIN Cubos cu ON cu.Id_Cubo = c.Id_Cubo - JOIN Entradas e ON e.Id_Entrada = v_entry - JOIN travel t ON t.id = e.travel_id - JOIN Agencias a ON t.agency_id = a.Id_Agencia - WHERE c.Id_Compra = v_buy; - - CALL buy_tarifas (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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cacheReset` */; -/*!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 `cacheReset`(vCacheName VARCHAR(10), vParams VARCHAR(15)) -BEGIN - - UPDATE cache.cache_calc - SET expires = NOW() - WHERE cacheName = vCacheName collate utf8_unicode_ci - AND params = vParams collate utf8_unicode_ci; - -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 `Cajas_Saldo_Detalle` */; -/*!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 `Cajas_Saldo_Detalle`() -BEGIN - - Select Proveedores.Id_Proveedor, Proveedor, Fecha, round(Importe) as Importe - from Proveedores - join - ( - select Fecha, sub.Id_Proveedor, sum(Importe) as Importe - from - - ( - - select round(sum(Importe),2) as Importe, TIMESTAMPADD(DAY,-1,CURDATE()) as Fecha, Id_Proveedor - from pago - join Proveedores using(Id_Proveedor) - where Fecha >= '2011-01-01' - and Id_Proveedor NOT IN (select id from empresa) - group by Id_Proveedor - - union all - - select IFNULL(-1 * round(sum(rv.Cantidad / if(Id_Moneda = 2,rate,1)),2),0) AS Vto, TIMESTAMPADD(DAY,-1,CURDATE()), proveedor_id - from recibida_vencimiento rv - join recibida r on r.id = rv.recibida_id - join reference_rate rr on rr.`date` = rv.fecha - join Proveedores P on P.Id_Proveedor = r.proveedor_id - join Paises PS on PS.Id = P.pais_id - where rv.fecha between '2011-01-01' and CURDATE()-1 - and Id_Proveedor NOT IN (select id from empresa) - group by proveedor_id - - union all - - select -1 * round(rv.Cantidad / if(Id_Moneda = 2,currate(),1),2) AS Vto, rv.fecha, proveedor_id - from recibida_vencimiento rv - join recibida r on r.id = rv.recibida_id - join Proveedores P on P.Id_Proveedor = r.proveedor_id - join Paises PS on PS.Id = P.pais_id - where rv.fecha >= CURDATE() - and Id_Proveedor NOT IN (select id from empresa) - - union all - - select @remesas:= @pago:= @saldo:= 0.0000, curdate(), @prov:= 0) sub - group by Fecha,Id_Proveedor - ) sub2 using(Id_Proveedor) - having Importe < -100 - ; -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 `CalculoRemesas` */; -/*!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 `CalculoRemesas`(IN vFechaRemesa DATE) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS; - CREATE TEMPORARY TABLE TMP_REMESAS SELECT - CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1, - cli.Id_Cliente, - cli.Cliente, - cli.`IF` as NIF, - c.PaymentDate as Vencimiento, - 0 ImporteFac, - cast(c.Recibo as decimal(10,2)) as ImporteRec, - 0 as ImporteActual, - c.company_id empresa_id, - cli.RazonSocial, - cast(c.Recibo as decimal(10,2)) as ImporteTotal, - cast(c.Recibo as decimal(10,2)) as Saldo, - p.Proveedor as Empresa, - e.abbreviation as EMP, - cli.cuenta, - iban AS Iban, - CONVERT(SUBSTRING(iban,5,4),UNSIGNED INT) AS nrbe , - sepavnl as SEPA, - corevnl as RecibidoCORE - - FROM Clientes cli - JOIN - (SELECT risk.company_id, - c.Id_Cliente, - sum(risk.amount) as Recibo, - IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa))) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa))) - ) as PaymentDate - FROM Clientes c - JOIN pay_met pm on pm.id = pay_met_id - JOIN - ( - SELECT company_id, customer_id, amount - FROM Clientes c - JOIN bi.customer_risk cr ON cr.customer_id = c.Id_Cliente - WHERE pay_met_id = 4 - - UNION ALL - - SELECT empresa_id, Id_Cliente, - Importe - FROM Facturas f - JOIN Clientes c using(Id_Cliente) - JOIN pay_met pm on pm.id = pay_met_id - WHERE f.Vencimiento > vFechaRemesa - AND pay_met_id = 4 AND deudaviva - AND Importe > 0 - - ) risk ON c.Id_Cliente = risk.customer_id - GROUP BY risk.company_id, Id_Cliente - HAVING Recibo > 10 - ) c on c.Id_Cliente = cli.Id_Cliente - JOIN Proveedores p on p.Id_Proveedor = c.company_id - JOIN empresa e on e.id = c.company_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 `CalculoRemesaskk` */; -/*!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 `CalculoRemesaskk`(IN vFechaRemesa DATE) -BEGIN - - -DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS; -CREATE TEMPORARY TABLE TMP_REMESAS SELECT - CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1, - cli.Id_Cliente, - cli.Cliente, - cli.`IF` as NIF , - cli.CC, - c.PaymentDate as Vencimiento, - 0 ImporteFac, - cast(c.Recibo as decimal(10,2)) as ImporteRec, - 0 as ImporteActual, - c.empresa_id, - cli.RazonSocial, - cast(c.Recibo as decimal(10,2)) as ImporteTotal, - cast(c.Recibo as decimal(10,2)) as Saldo, - p.Proveedor as Empresa, - e.abbreviation as EMP, - cli.cuenta, - CONCAT(cc_to_iban(CC),CC) AS Iban, - CONVERT(left(CC,4),UNSIGNED INT) AS nrbe , - IF(c.empresa_id=442,sepavnl,sepafth) as SEPA, - IF(c.empresa_id=442,corevnl,corefth) as RecibidoCORE - - FROM Clientes cli - JOIN - (SELECT empresa_id, - c.Id_Cliente, - sum(Importe) as Recibo, - IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa))) - ,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa))) - ) as PaymentDate - FROM Clientes c - JOIN pay_met pm on pm.id = pay_met_id - JOIN - ( - SELECT empresa_id, Id_Cliente, Importe - FROM Facturas f - JOIN Clientes c using(Id_Cliente) - JOIN pay_met pm on pm.id = pay_met_id - WHERE IF(Importe > 0,paymentday(Fecha,c.Vencimiento + graceDays), Fecha) <= vFechaRemesa - AND pay_met_id = 4 AND deudaviva - - UNION ALL - - SELECT empresa_id, Id_Cliente, - Entregado - FROM Recibos r - JOIN Clientes c using(Id_Cliente) - JOIN pay_met pm on pm.id = pay_met_id - WHERE pay_met_id = 4 AND deudaviva - - ) sub using(Id_Cliente) - GROUP BY empresa_id, Id_Cliente - HAVING Recibo > 10 - ) c on c.Id_Cliente = cli.Id_Cliente - JOIN Proveedores p on p.Id_Proveedor = c.empresa_id - JOIN empresa e on e.id = c.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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `calling` */; -/*!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 `calling`() -BEGIN - DROP TEMPORARY TABLE IF EXISTS Agenda, Agenda2; - - - CREATE TEMPORARY TABLE IF NOT EXISTS Agenda (Telefono varchar(15) PRIMARY KEY, Cliente VARCHAR(45)); - -CREATE TEMPORARY TABLE IF NOT EXISTS Agenda2 LIKE Agenda; - -REPLACE Agenda(Telefono, Cliente) - SELECT Telefono, Nombre from v_Agenda2; - - -REPLACE Agenda(Telefono, Cliente) - SELECT DISTINCT src, clid FROM cdr WHERE src < 6000 AND clid NOT LIKE '%device%' - AND calldate > TIMESTAMPADD(DAY, -7,CURDATE()) ; - - - -INSERT INTO Agenda2(Telefono, Cliente) - SELECT Telefono, Cliente FROM Agenda; - -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 `camiones` */; -/*!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 `camiones`(vWarehouse INT, vDate DATE) -BEGIN - SELECT Temperatura - ,ROUND(SUM(Etiquetas * volume)) AS cm3 - ,ROUND(SUM(IF(scanned, Etiquetas, 0) * volume)) AS cm3s - ,ROUND(SUM(Vida * volume)) AS cm3e - FROM ( - SELECT t.Temperatura, c.Etiquetas, b.scanned, c.Vida, - IF(cu.Volumen > 0, cu.Volumen, cu.x * cu.y * IF(cu.z > 0, cu.z, a.Medida + 10)) volume - FROM Compres c - LEFT JOIN buy_edi b ON b.id = c.buy_edi_id - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Tipos t ON t.tipo_id = a.tipo_id - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - JOIN Cubos cu ON cu.Id_Cubo = c.Id_Cubo - WHERE tr.warehouse_id = vWarehouse - AND tr.landing = vDate - ) sub - GROUP BY Temperatura; -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 `Campaigns_Generator` */; -/*!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 `Campaigns_Generator`(IN datFEC DATE, IN intDAYS INT, IN intIMP INT) -BEGIN -DELETE FROM Campaigns; - -INSERT INTO Campaigns(Id_Cliente, Notas) -SELECT T.Id_Cliente, CONCAT('Consumo año anterior: ',FORMAT(SUM(M.Cantidad * M.Preu * (100 - M.Descuento) / 100), 0), ' € ') as Total -FROM Movimientos M -INNER JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket -WHERE Date(T.Fecha) BETWEEN ADDDATE(datFEC,-1 * intDAYS) AND datFEC -GROUP BY T.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 `Campaigns_GeneratorKK` */; -/*!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 `Campaigns_GeneratorKK`(IN datFEC DATE, IN intDAYS INT, IN intIMP INT) -BEGIN -DELETE FROM Campaigns; - -INSERT INTO Campaigns(Id_Cliente, Notas) -SELECT T.Id_Cliente, CONCAT('Consumo año anterior: ',FORMAT(SUM(M.Cantidad * M.Preu * (100 - M.Descuento) / 100), 0), ' € ') as Total -FROM Movimientos M -INNER JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket -WHERE Date(T.Fecha) BETWEEN ADDDATE(datFEC,-1 * intDAYS) AND datFEC -GROUP BY T.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 `Canariaskk` */; -/*!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 `Canariaskk`(IN datFEC DATE, IN idWH INT , IN idEMP INT) -BEGIN - -DECLARE idTICKET DOUBLE; - - -CALL ticket_new_complet(4712, datFEC, idWH , 20, idEMP, NULL, NULL,NULL, idTICKET); - - -INSERT INTO Movimientos (Id_Ticket, Id_Article, Concepte, Cantidad, Preu, PrecioFijado) -SELECT idTICKET, 95, CONCAT(Codintrastat, ' : ', IF(Abreviatura = 'XYZ', 'NAC', Abreviatura), ' : ' , Nombotanic), sum(Cantidad), Preu, TRUE -FROM Articles INNER JOIN Movimientos ON Articles.Id_Article = Movimientos.Id_Article - INNER JOIN Tickets ON Movimientos.Id_Ticket = Tickets.Id_Ticket - INNER JOIN Consignatarios ON Tickets.Id_Consigna = Consignatarios.Id_Consigna - INNER JOIN province ON Consignatarios.province_id = province.province_id - INNER JOIN Origen ON Articles.id_origen = Origen.id -WHERE date(Tickets.Fecha) = datFEC AND province.name IN ('SANTA CRUZ DE TENERIFE','LAS PALMAS DE GRAN CANARIA') -GROUP BY Nombotanic, Preu; - - - - -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 `check_table_existence` */; -/*!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 `check_table_existence`(IN table_name CHAR(64)) -BEGIN - DECLARE CONTINUE HANDLER FOR SQLSTATE '42S02' SET @err = 1; - SET @err = 0; - SET @table_name = table_name; - SET @sqlString = CONCAT('SELECT NULL FROM ',@table_name); - PREPARE stmt1 FROM @sqlString; - IF (@err = 1) THEN - SET @table_exists = 0; - ELSE - SET @table_exists = 1; - DEALLOCATE PREPARE stmt1; - 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 `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`(IN v_full TINYINT(1)) -BEGIN - DECLARE v_date DATETIME; - DECLARE v_date18 DATETIME; - DECLARE v_date8 DATE; - DECLARE v_date6 DATE; - DECLARE v_date3Month DATE; - DECLARE vDate2000 DATE; - DECLARE vRangeDeleteTicket INT; - DECLARE strtable varchar(15) DEFAULT NULL; - DECLARE done BIT DEFAULT 0; - - SET v_date = TIMESTAMPADD(MONTH, -2, CURDATE()); - SET v_date18 = TIMESTAMPADD(MONTH, -18,CURDATE()); - SET v_date3Month = TIMESTAMPADD(MONTH, -3, CURDATE()); - SET v_date8 = TIMESTAMPADD(DAY, -8,CURDATE()); - SET v_date6 = TIMESTAMPADD(DAY, -6,CURDATE()); - SET vRangeDeleteTicket = 60; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('clean START'); - - DELETE FROM cdr WHERE calldate < v_date; - DELETE FROM Monitoring WHERE ODBC_TIME < v_date; - DELETE FROM Conteo WHERE Fecha < v_date; - DELETE FROM XDiario WHERE FECHA < v_date3Month OR FECHA IS NULL; - DELETE FROM mail WHERE DATE_ODBC < v_date; - - -- DELETE FROM Cajas WHERE CajaFecha < v_date18; - - DELETE rr FROM Recibos_recorded rr JOIN Recibos r ON rr.Id_Recibos = r.Id WHERE r.Fechacobro < v_date; - - SELECT MAX(idTickets_dits) - INTO @id - FROM Tickets_dits - WHERE ODBC_DATE < v_date; - DELETE FROM Tickets_dits WHERE idTickets_dits <= @id; - - -- DELETE FROM Tickets_dits WHERE ODBC_DATE < v_date; - DELETE FROM expeditions WHERE odbc_date < v_date18; - DELETE FROM expeditions_deleted WHERE odbc_date < v_date18; - DELETE FROM Entradas_dits WHERE ODBC_DATE < v_date18; - DELETE FROM log_articles WHERE ODBC_DATE < v_date; - DELETE FROM sms WHERE DATE_ODBC < v_date18; - DELETE FROM Movimientos_mark WHERE odbc_date < v_date; - DELETE FROM Splits WHERE Fecha < v_date18; - DELETE ts FROM Tickets_stack ts JOIN Tickets t ON ts.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; - DELETE tobs FROM ticket_observation tobs JOIN Tickets t ON tobs.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; - DELETE tobs FROM movement_label tobs JOIN Movimientos m ON tobs.Id_Movimiento = m.Id_Movimiento - JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket WHERE t.Fecha < v_date; - DELETE FROM chat WHERE odbc_date < v_date; - DELETE FROM Extractos WHERE Fecha < v_date; - DELETE FROM Remesas WHERE `Fecha Remesa` < v_date18; - DELETE FROM sharingcart where datEND < v_date; - DELETE FROM sharingclient where datEND < v_date; - DELETE FROM Stockcontrol WHERE Datestart < v_date18; - DELETE FROM bi.comparativa_clientes WHERE Fecha < v_date18; - DELETE FROM reference_rate WHERE date < v_date18; - - SELECT MAX(inter_id) - INTO @id - FROM vncontrol.inter - WHERE odbc_date < v_date18; - DELETE FROM vncontrol.inter WHERE inter_id <= @id; - - -- DELETE FROM vncontrol.inter WHERE odbc_date < v_date18; - DELETE FROM Entradas_dits WHERE ODBC_DATE < v_date; - DELETE FROM Ordenes WHERE datTICKET < v_date18 AND datTICKET <> '2000-01-01'; - DELETE FROM cyc_declaration WHERE Fecha < v_date18; - DELETE FROM vn.message WHERE sendDate < v_date; - DELETE FROM travel_reserve WHERE odbc_date < v_date; - -- DELETE FROM syslog.systemevents WHERE odbc_date < v_date8; - DELETE FROM daily_task_log WHERE odbc_date < v_date; - -- DELETE FROM bi.Greuge_Evolution WHERE Fecha < v_date AND weekday(Fecha) != 1; - DELETE mc FROM Movimientos_checked mc JOIN Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento WHERE m.odbc_date < v_date; - DELETE FROM cache.departure_limit WHERE Fecha < TIMESTAMPADD(MONTH,-1,CURDATE()); - DELETE cm - FROM Compres_mark cm - JOIN Compres c ON c.Id_Compra = cm.Id_Compra - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE t.landing <= v_date; - DELETE co - FROM Compres_ok co JOIN Compres c ON c.Id_Compra = co.Id_Compra - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - WHERE t.landing <= v_date; - - DELETE FROM vn2008.scan WHERE odbc_date < v_date6 AND id <> 1; - - SET vDate2000 = TIMESTAMPADD(YEAR, 2000 - YEAR(CURDATE()), CURDATE()); - - IF v_full - THEN - DELETE FROM Tickets - WHERE Fecha NOT IN ('2000-01-01','2000-01-02') - AND YEAR(Fecha) = 2000 - AND ABS(DATEDIFF(Fecha,vDate2000)) > vRangeDeleteTicket; - - DELETE e.* FROM Entradas e - LEFT JOIN recibida_entrada re ON e.Id_Entrada = re.Id_Entrada - WHERE travel_id IS NULL - AND re.Id_Entrada IS NULL; - END IF; - - -- Tickets Nulos PAK 11/10/2016 - - UPDATE vn2008.Tickets - SET empresa_id = 965 - WHERE Id_Cliente = 31 - AND empresa_id != 965; - - -- Equipos duplicados - - DELETE w.* - FROM vn2008.workerTeam w - JOIN (SELECT id, team, user, COUNT(*) - 1 as duplicated - FROM vn.workerTeam - GROUP BY team,user - HAVING duplicated - ) d ON d.team = w.team AND d.user = w.user AND d.id != w.id; - - INSERT INTO vn2008.daily_task_log(consulta) 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(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 `Clientes_Calidad` */; -/*!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 `Clientes_Calidad`() -BEGIN - - DECLARE intMONTH INTEGER; - DECLARE intYEAR INTEGER; - - SET intYEAR = YEAR(Curdate()); - SET intMONTH = MONTH(curdate())-1; - - IF intMONTH = 0 THEN - - SET intYEAR = intYEAR -1; - SET intMONTH = 12; - - END IF; - - UPDATE Clientes - SET - Calidad = 0; - - TRUNCATE bi.calidad_detalle; - - INSERT INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, calidad_parametros_id, 0 - FROM bi.calidad_parametros - JOIN Clientes; - - -- Valoramos del 0 al 5 su consumo - - REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, 1, IF(Consumo > 5, 5, Consumo) - FROM ( - SELECT Id_Cliente, round(sum(importe)/1000) as Consumo - from bs.ventas v - join vn2008.time t on t.date = v.fecha - where year =intYEAR and month = intMONTH - group by Id_Cliente) sub; - - - -- Incrementamos dos puntos a los de giro bancario, y restamos uno a los de pago contado/contrareembolso - - REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, 3, CASE pay_met_id WHEN 4 -- giro - THEN 2 - - WHEN 1 -- contado - THEN -1 - - WHEN 5 -- tarjeta - - THEN 1 - - WHEN 7 -- tarjeta - - THEN 1 - - WHEN 6 -- contrareembolso - THEN -1 - - ELSE 0 END - FROM Clientes; - - /* Incrementamos a los que tengan reclamaciones 0%, 2 puntos - 1%, 1 punto - 2% 0 puntos - 3% -3 puntos - 4% - 6 puntos - 5% - 9 puntos - */ - - REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, 2, CASE nz(Ratio) - WHEN 0 THEN 2 - WHEN 0.01 THEN 1 - WHEN 0.02 THEN 0 - WHEN 0.03 THEN -3 - WHEN 0.04 THEN -6 - ELSE -9 - END - FROM bi.claims_ratio ; - - -- Ahora les ponemos un punto a los que compran por la web mas del 50% de sus pedidos - - REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, 4, Webs - FROM - ( SELECT Id_Cliente, sum(sub.Id_Trabajador = 4) / count(sub.Id_Trabajador) as Webs - FROM Tickets - JOIN - (SELECT Id_Ticket, Id_Trabajador - FROM Tickets_dits - WHERE idaccion_dits = 84 - AND ODBC_DATE >= TIMESTAMPADD(DAY,-30,CURDATE())) sub USING(Id_Ticket) - WHERE Fecha > '2001-01-01' AND Id_Agencia <> 23 -- ni tickets borrados, ni abonos cuentan - GROUP BY Id_Cliente - HAVING Webs > 0.5) sub2; - - - -- Marcamos con un 11 a los clientes recien nacidos, para protegerlos - - REPLACE INTO bi.calidad_detalle(Id_Cliente,calidad_parametros_id,valor) - SELECT Id_Cliente, 5, 11 - FROM - (SELECT Id_Cliente, MIN(Fecha) as Inicio - FROM Tickets - WHERE Fecha > '2001-01-01' - GROUP BY Id_Cliente - HAVING Inicio >= TIMESTAMPADD(DAY,-30,CURDATE())) sub ; - - -- Ahora actualizamos la tabla Clientes - - UPDATE Clientes - JOIN - (SELECT - Id_Cliente, SUM(valor) AS valoracion - FROM - bi.calidad_detalle - GROUP BY Id_Cliente) sub USING (Id_Cliente) - SET - calidad = IF(valoracion > 11, 11, valoracion); - - IF DAY(CURDATE()) = 1 THEN - -- Y de paso, desactivamos a los que hace tiempo que no compran.alter - -- JGF Sólo desctivamos a los clientes que no han comprado en los dos ultimos meses - UPDATE account.user u - SET - active = 0 - WHERE - u.role = 2 - AND id NOT IN (SELECT DISTINCT - c.Id_Cliente - FROM - Clientes c LEFT JOIN Tickets t ON t.Id_Cliente = c.Id_Cliente - WHERE - Created > TIMESTAMPADD(MONTH, - 2, CURDATE()) OR - Fecha > TIMESTAMPADD(MONTH, - 2, 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 `Clientes_Calidad_detalle` */; -/*!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 `Clientes_Calidad_detalle`(IN IdC INT) -BEGIN - - -SELECT descripcion Concepto, valor Puntos -FROM bi.calidad_parametros -JOIN bi.calidad_detalle using(calidad_parametros_id) -WHERE Id_Cliente = idC; - - - -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 `clientes_saldos` */; -/*!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 `clientes_saldos`() -BEGIN - - - -DROP TEMPORARY TABLE IF EXISTS clientes_pendientes; - -CREATE TEMPORARY TABLE clientes_pendientes -( Id_Cliente INT NOT NULL -, empresa_id INT NOT NULL -, saldo double NOT NULL -, PRIMARY KEY(Id_Cliente, empresa_id)); - -INSERT INTO clientes_pendientes -SELECT Id_Cliente, empresa_id, sum(importe) as saldo - FROM - ( - SELECT - Id_Cliente, - empresa_id, - - Entregado as importe - - FROM - Recibos - JOIN - Clientes USING(Id_Cliente) - JOIN - pay_met p on p.id = pay_met_id - WHERE - deudaviva - - - UNION ALL - - - SELECT - Id_Cliente, - empresa_id, - Importe - - FROM - Facturas - JOIN - Clientes USING(Id_Cliente) - JOIN - pay_met p on p.id = pay_met_id - WHERE - deudaviva - - - ) sub - GROUP BY empresa_id, Id_Cliente - having saldo > 0; - - - - DROP TEMPORARY TABLE IF EXISTS cobros_pendientes; - - CREATE TEMPORARY TABLE cobros_pendientes - (Id_Cliente INT - ,fecha DATE - ,empresa_id INT NOT NULL - ,saldo DOUBLE - ,PRIMARY KEY(Id_Cliente, empresa_id)); - - - - INSERT INTO cobros_pendientes(Id_Cliente - , fecha - , empresa_id - , saldo) - - - - SELECT cp.Id_Cliente, - CASE (vencimiento > 30) - - WHEN TRUE THEN - - timestampadd(DAY,vencimiento,maxFecha) - - ELSE - - timestampadd( - DAY - ,vencimiento - day(maxFecha) - ,timestampadd(MONTH,1,maxFecha) - ) - - END as fecha, - cp.empresa_id, - cp.saldo - FROM clientes_pendientes cp - JOIN Clientes USING(Id_Cliente) - JOIN ( SELECT - max(Fecha) as maxFecha, - Id_Cliente, - empresa_id - FROM - Facturas - GROUP BY - Id_Cliente, - empresa_id - ) mf on mf.Id_Cliente = cp.Id_Cliente - AND mf.empresa_id = cp.empresa_id; - - - SELECT * FROM cobros_pendientes; - - DROP TEMPORARY TABLE cobros_pendientes; - DROP TEMPORARY TABLE clientes_pendientes; - - -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 `clientManaGrouped` */; -/*!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 `clientManaGrouped`(vClient INT) -BEGIN - - SELECT 'Tickets' as Grupo, CAST(sum(s.quantity * Valor) AS DECIMAL(10,2)) as Mana - FROM vn.ticket t - JOIN vn.address a ON a.id = t.addressFk - JOIN vn.sale s on s.ticketFk = t.id - JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = s.id - WHERE Id_Componente IN (37, 39) - AND t.shipped >= '2016-01-01' - AND t.clientFk = vClient - - UNION ALL - - SELECT 'Recibos' as Grupo, - sum(Entregado) as Mana - FROM vn2008.Recibos r - JOIN vn2008.Clientes c using(Id_Cliente) - WHERE r.Id_Banco = 66 - AND r.Fechacobro >= '2016-01-01' - AND c.Id_Cliente = vClient - - UNION ALL - - SELECT 'Greuges' as Grupo, sum(g.Importe) as Mana - FROM vn2008.Greuges g - JOIN vn2008.Clientes c using(Id_Cliente) - WHERE g.Greuges_type_id = 3 -- Maná - AND g.Fecha > '2016-01-01' - AND c.Id_Cliente = 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 PROCEDURE IF EXISTS `clonWeeklyTickets` */; -/*!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 `clonWeeklyTickets`(IN vWeek INT) -BEGIN - DECLARE done BIT DEFAULT 0; - DECLARE vLanding DATE; - DECLARE vShipment DATE; - DECLARE vWarehouse INT; - DECLARE vTicket INT; - DECLARE vWeekDay INT; - DECLARE vClient INT; - DECLARE vEmpresa INT; - DECLARE vConsignatario INT; - DECLARE vAgencia INT; - DECLARE vNewTicket INT; - DECLARE vYear INT; - - DECLARE rsTicket CURSOR FOR - SELECT tt.Id_Ticket, weekDay, Id_Cliente, warehouse_id, empresa_id, Id_Consigna, Id_Agencia - FROM Tickets_turno tt - JOIN Tickets t ON tt.Id_Ticket = t.Id_Ticket; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - SET done = 0; - SET vYear = YEAR(CURDATE()) + IF(vWeek < WEEK(CURDATE()),1, 0); - - OPEN rsTicket; - - FETCH rsTicket INTO vTicket, vWeekDay, vClient, vWarehouse, vEmpresa, vConsignatario, vAgencia; - - WHILE NOT done DO - - SELECT date INTO vShipment - FROM time - WHERE year = vYear AND week = vWeek - AND WEEKDAY(date) = vWeekDay; - - -- busca si el ticket ya ha sido clonado - IF (select count(*) FROM Tickets t JOIN ticket_observation tob ON t.Id_Ticket = tob.Id_Ticket - WHERE Id_Consigna = vConsignatario AND Fecha = vShipment AND tob.text LIKE CONCAT('%',vTicket,'%')) = 0 - THEN - - IF (SELECT COUNT(*) FROM Agencias WHERE Id_Agencia = vAgencia AND Agencia LIKE '%turno%') THEN - SET vAgencia = NULL; - END IF; - - CALL vn.ticketCreate(vClient, vShipment, vWarehouse, vEmpresa, vConsignatario, vAgencia, NULL, vLanding, vNewTicket); - - INSERT INTO Movimientos (Id_Ticket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado) - SELECT vNewTicket, Id_Article, Concepte, Cantidad, Preu, Descuento, CostFixat, PrecioFijado - FROM Movimientos WHERE Id_Ticket = vTicket; - - INSERT INTO Ordenes (orden,datorden,datticket,codvendedor,codcomprador,cantidad,preciomax,preu,id_article,id_cliente,comentario, - ok, total,datcompra,ko,id_movimiento) - SELECT o.orden,o.datorden,vShipment,o.codvendedor,o.codcomprador,o.cantidad,o.preciomax,o.preu,o.id_article,o.id_cliente,o.comentario, - o.ok, o.total,o.datcompra,o.ko,m2.Id_Movimiento - FROM Movimientos m JOIN Ordenes o ON o.Id_Movimiento = m.Id_Movimiento - JOIN Movimientos m2 ON m.Concepte = m2.Concepte AND m.Cantidad = m2.Cantidad AND m.Id_Article = m2.Id_Article - WHERE m.Id_Ticket = vTicket AND m2.Id_Ticket = vNewTicket; - - INSERT INTO ticket_observation(Id_Ticket,observation_type_id,text) VALUES(vNewTicket,4,CONCAT('turno desde ticket: ',vTicket)) - ON DUPLICATE KEY UPDATE text = CONCAT(ticket_observation.text,VALUES(text),' '); - - CALL bionic_calc_clon(vNewTicket); - END IF; - FETCH rsTicket INTO vTicket, vWeekDay, vClient, vWarehouse, vEmpresa, vConsignatario, vAgencia; - - END WHILE; - - CLOSE rsTicket; - - DROP TEMPORARY TABLE IF EXISTS travel_tree_shipment; -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 `cobro` */; -/*!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 `cobro`(IN datFEC DATE - , IN idCLI INT - , IN dblIMPORTE DOUBLE - , IN idCAJA INT - , IN idPAYMET INT - , IN strCONCEPTO VARCHAR(40) - , IN idEMP INT - , IN idWH INT - , IN idTRABAJADOR INT) -BEGIN - - DECLARE bolCASH BOOLEAN; - DECLARE cuenta_banco BIGINT; - DECLARE cuenta_cliente BIGINT; - DECLARE max_asien INT; - - -- XDIARIO - -- No se asientan los cobros directamente, salvo en el caso de las cajas de CASH - SELECT (cash = 1) INTO bolCASH FROM Bancos WHERE Bancos.Id_Banco = idCAJA; - - IF bolCASH THEN - - SELECT Cuenta INTO cuenta_banco FROM Bancos WHERE Id_Banco = idCAJA; - SELECT Cuenta INTO cuenta_cliente FROM Clientes WHERE Id_Cliente = idCLI; - SELECT MAX(asien)+1 INTO max_asien FROM XDiario; - - INSERT INTO XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id) - SELECT max_asien,datFEC,SUBCTA,CONTRA,strCONCEPTO,EURODEBE,EUROHABER,idEMP FROM - ( - SELECT cuenta_banco SUBCTA, cuenta_cliente CONTRA, 0 EURODEBE, dblIMPORTE EUROHABER - UNION ALL - SELECT cuenta_cliente SUBCTA, cuenta_banco CONTRA, dblIMPORTE EURODEBE, 0 EUROHABER - ) gf; - - - END IF; - - - -- CAJERA - - INSERT INTO Cajas(Id_Trabajador - , Id_Banco - , Entrada - , Concepto - , Cajafecha - , Serie - , Partida - , Numero - ,empresa_id - ,warehouse_id) - - VALUES ( idTRABAJADOR - , idCAJA - , dblIMPORTE - , strCONCEPTO - , datFEC - , 'A' - , TRUE - , idCLI - , idEMP - , idWH ); - - - - -- RECIBO - INSERT INTO Recibos(Entregado - ,Fechacobro - ,Id_Trabajador - ,Id_Banco - ,Id_Cliente - ,Id_Factura - ,empresa_id) - - VALUES ( dblIMPORTE - , datFEC - , idTRABAJADOR - , idCAJA - , idCLI - , strCONCEPTO - , idEMP); - - - - -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 `colas_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 `colas_launcher`() -BEGIN - - INSERT INTO vn2008.Colas(Id_Informe,Id_Trabajador) VALUES (11,57); - INSERT INTO vn2008.Colas(Id_Informe) VALUES (16); - -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 `comercial_caducado` */; -/*!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 `comercial_caducado`() -BEGIN - --- Este procedimiento le pasa los clientes al jefe de ventas cuando llevan dos meses inactivos - -IF day(CURDATE()) = 5 then -- solo se ejecuta los dias 5 de cada mes - - Update Clientes - join - ( - Select c.Id_Cliente - from Clientes c - join jerarquia j on j.worker_id = c.Id_Trabajador -- este filtro es para que solo toque los de los comerciales - - join - ( - select Id_Cliente, sum(Importe) as Saldo - from - ( - select Id_Cliente, Importe from Facturas - union all - select Id_Cliente, - Entregado from Recibos - ) sub - group by Id_Cliente - ) sindeuda on sindeuda.Id_Cliente = c.Id_Cliente - - left join - ( - select distinct Id_Cliente - from Facturas - where Fecha BETWEEN CURDATE() - INTERVAL 12 MONTH AND CURDATE() - ) f on f.Id_Cliente = c.Id_Cliente - - left join - ( - select distinct Id_Cliente - from Tickets - where Fecha between CURDATE() - INTERVAL 2 DAY AND CURDATE() + INTERVAL 200 DAY - - ) tic_vivos on tic_vivos.Id_Cliente = c.Id_Cliente - - where c.Created < CURDATE() - INTERVAL 2 MONTH -- este filtro respeta a los recien nacidos.... - and j.boss_id = 87 -- sólo afecta a los comerciales de Alfredo - and f.Id_Cliente is null -- comprueba que no tenga facturas en los dos ultimos meses - and sindeuda.Saldo < 10 -- sólo cambia a los clientes con deuda escasa o nula - and tic_vivos.Id_Cliente is null -- si tiene tickets vivos, lo respeta - - - ) sub using(Id_Cliente) - - set Id_Trabajador = 87 ;-- Alfredo Giner; - -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_clientes` */; -/*!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_clientes`(IN v_date DATE,IN i_vendedor INT, IN i_comprador INT, IN i_tipo INT, IN i_wh INT, IN days INT) -BEGIN - -DECLARE date_cyear_ini DATETIME; -DECLARE date_cyear_end DATETIME; -DECLARE date_lyear_ini DATETIME; -DECLARE date_lyear_end DATETIME; -DECLARE week_count TINYINT DEFAULT 7; - - -SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); -SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); -SET date_lyear_ini = TIMESTAMPADD(DAY,-364,date_cyear_ini); -SET date_lyear_end = TIMESTAMPADD(DAY,-364,date_cyear_end); - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article - FROM Articles a - JOIN Tipos t ON t.tipo_id = a.tipo_id - LEFT JOIN reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - CALL inventario_multiple_2 (v_date, i_wh, days); - CALL article_multiple_buy (v_date, i_wh); - CALL article_multiple_buy_date (v_date, i_wh); - END IF; - - - -DROP TEMPORARY TABLE IF EXISTS clientcom; -CREATE TEMPORARY TABLE clientcom -SELECT vnperiod(Fecha) as period - ,Id_Article - , Cantidad - , Preu - , CS.Id_Cliente - FROM vn2008.Movimientos M - 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.Articles a USING (Id_Article) - LEFT JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - WHERE (T.Fecha BETWEEN date_cyear_ini AND date_cyear_end or T.Fecha BETWEEN date_lyear_ini AND date_lyear_end) - AND T.Id_Cliente NOT IN(400,200) - AND i_vendedor IN (0, C.Id_Trabajador ) - AND i_comprador IN (0, tp.Id_Trabajador) - AND i_tipo IN (0,tp.tipo_id) - AND r.display <> 0 AND T.warehouse_id NOT IN (0,13) - ORDER BY period; - -DROP TEMPORARY TABLE IF EXISTS clientcom_periods; -CREATE TEMPORARY TABLE clientcom_periods -SELECT period, @order:= @order + 1 as period_order -FROM ( -SELECT DISTINCT period, @order:=0 -FROM clientcom -ORDER BY period) sub; - -SELECT cc.Id_Article - , cc.Id_Cliente - ,CAST(SUM(IF(period_order = 1, cc.Cantidad, 0)) AS SIGNED) AS lweek1 - ,CAST(SUM(IF(period_order = 2, cc.Cantidad, 0)) AS SIGNED) AS lweek2 - ,CAST(SUM(IF(period_order = 3, cc.Cantidad, 0)) AS SIGNED) AS lweek3 - ,CAST(SUM(IF(period_order = 4, cc.Cantidad, 0)) AS SIGNED) AS lweek4 - ,CAST(SUM(IF(period_order = 5, cc.Cantidad, 0)) AS SIGNED) AS lweek5 - ,CAST(SUM(IF(period_order = 6, cc.Cantidad, 0)) AS SIGNED) AS lweek6 - ,CAST(SUM(IF(period_order = 7, cc.Cantidad, 0)) AS SIGNED) AS lweek7 - ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad, 0)) AS SIGNED) AS cweek1 - ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad, 0)) AS SIGNED) AS cweek2 - ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad, 0)) AS SIGNED) AS cweek3 - ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad, 0)) AS SIGNED) AS cweek4 - ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad, 0)) AS SIGNED) AS cweek5 - ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad, 0)) AS SIGNED) AS cweek6 - ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad, 0)) AS SIGNED) AS cweek7 - - ,CAST(SUM(IF(period_order = 1, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice1 - ,CAST(SUM(IF(period_order = 2, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice2 - ,CAST(SUM(IF(period_order = 3, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice3 - ,CAST(SUM(IF(period_order = 4, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice4 - ,CAST(SUM(IF(period_order = 5, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice5 - ,CAST(SUM(IF(period_order = 6, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice6 - ,CAST(SUM(IF(period_order = 7, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice7 - ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice1 - ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice2 - ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice3 - ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice4 - ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice5 - ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice6 - ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice7 - - ,A.Article - ,A.Medida - ,A.Color - ,A.tipo_id - ,C.Cliente - ,T1.CodigoTrabajador as Comercial - ,O.Abreviatura as Origen - ,TT.ball as Tinta - ,r.reino as Reino - ,TP.Id_Tipo - ,JF.CodigoTrabajador as Equipo - ,T2.CodigoTrabajador as Comprador - ,TT.orden as Orden_Color - -,i.buy_id -, i.life -, CAST(IFNULL(i.sd,0) AS SIGNED) as sd -,CAST(i.avalaible AS SIGNED) avalaible -, CAST(i.visible AS SIGNED) visible -, i.buy_date -,P.Proveedor - -FROM clientcom cc -JOIN clientcom_periods ccp using(period) --- La parte del inventario -LEFT JOIN article_inventory i ON i.article_id = cc.Id_Article -LEFT JOIN Compres CM ON i.buy_id = CM.Id_Compra -LEFT JOIN Entradas E USING(Id_Entrada) -LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor --- Ahora la parte de los vendedores -JOIN Clientes C ON C.Id_Cliente = cc.Id_Cliente -JOIN Trabajadores T1 ON C.Id_Trabajador = T1.Id_Trabajador -LEFT JOIN jerarquia J ON J.worker_id = T1.Id_Trabajador -JOIN Trabajadores JF ON JF.Id_Trabajador = J.boss_id --- JOIN Trabajadores JF ON T1.Id_Trabajador = JF.boss JGF propuesta para sustituir por las dos lineas superiores - --- Ahora la parte de los compradores -JOIN Articles A ON A.Id_Article = cc.Id_Article -JOIN Origen O ON O.id = A.id_origen -JOIN Tintas TT ON TT.Id_Tinta = A.Color -JOIN Tipos TP ON TP.tipo_id = A.tipo_id -JOIN reinos r ON r.id = TP.reino_id -JOIN Trabajadores T2 ON T2.Id_Trabajador = TP.Id_Trabajador - -GROUP BY Id_Article,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 `comparativa_clienteskk` */; -/*!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_clienteskk`(IN v_date DATE,IN i_vendedor INT, IN i_comprador INT, IN i_tipo INT, IN i_wh INT, IN days INT) -BEGIN - -DECLARE date_cyear_ini DATETIME; -DECLARE date_cyear_end DATETIME; -DECLARE date_lyear_ini DATETIME; -DECLARE date_lyear_end DATETIME; -DECLARE week_count TINYINT DEFAULT 7; - - -SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); -SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); -SET date_lyear_ini = TIMESTAMPADD(DAY,-364,date_cyear_ini); -SET date_lyear_end = TIMESTAMPADD(DAY,-364,date_cyear_end); - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t using(tipo_id) - WHERE i_tipo = 0 OR a.tipo_id = i_tipo - AND reino_id <> 6; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - CALL inventario_multiple_2 (v_date, i_wh, days); - CALL article_multiple_buy (v_date, i_wh); - CALL article_multiple_buy_date (v_date, i_wh); - END IF; - - - -DROP TEMPORARY TABLE IF EXISTS clientcom; -CREATE TEMPORARY TABLE clientcom -SELECT vnperiod(Fecha) as period - ,Id_Article - , Cantidad - , Preu - , CS.Id_Cliente - FROM vn2008.Movimientos M - 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.Articles A USING (Id_Article) - LEFT JOIN vn2008.Tipos USING(tipo_id) - WHERE (T.Fecha BETWEEN date_cyear_ini AND date_cyear_end or T.Fecha BETWEEN date_lyear_ini AND date_lyear_end) - AND T.Id_Cliente NOT IN(400,200) - AND i_vendedor IN (0, C.Id_Trabajador ) - AND i_comprador IN (0, Tipos.Id_Trabajador) - AND i_tipo IN (0,Tipos.tipo_id) - AND reino_id <> 6 AND T.warehouse_id NOT IN (0,13) - ORDER BY period; - -DROP TEMPORARY TABLE IF EXISTS clientcom_periods; -CREATE TEMPORARY TABLE clientcom_periods -SELECT period, @order:= @order + 1 as period_order -FROM ( -SELECT DISTINCT period, @order:=0 -FROM clientcom -ORDER BY period) sub; - -SELECT cc.Id_Article - , cc.Id_Cliente - ,CAST(SUM(IF(period_order = 1, cc.Cantidad, 0)) AS SIGNED) AS lweek1 - ,CAST(SUM(IF(period_order = 2, cc.Cantidad, 0)) AS SIGNED) AS lweek2 - ,CAST(SUM(IF(period_order = 3, cc.Cantidad, 0)) AS SIGNED) AS lweek3 - ,CAST(SUM(IF(period_order = 4, cc.Cantidad, 0)) AS SIGNED) AS lweek4 - ,CAST(SUM(IF(period_order = 5, cc.Cantidad, 0)) AS SIGNED) AS lweek5 - ,CAST(SUM(IF(period_order = 6, cc.Cantidad, 0)) AS SIGNED) AS lweek6 - ,CAST(SUM(IF(period_order = 7, cc.Cantidad, 0)) AS SIGNED) AS lweek7 - ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad, 0)) AS SIGNED) AS cweek1 - ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad, 0)) AS SIGNED) AS cweek2 - ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad, 0)) AS SIGNED) AS cweek3 - ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad, 0)) AS SIGNED) AS cweek4 - ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad, 0)) AS SIGNED) AS cweek5 - ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad, 0)) AS SIGNED) AS cweek6 - ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad, 0)) AS SIGNED) AS cweek7 - - ,CAST(SUM(IF(period_order = 1, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice1 - ,CAST(SUM(IF(period_order = 2, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice2 - ,CAST(SUM(IF(period_order = 3, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice3 - ,CAST(SUM(IF(period_order = 4, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice4 - ,CAST(SUM(IF(period_order = 5, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice5 - ,CAST(SUM(IF(period_order = 6, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice6 - ,CAST(SUM(IF(period_order = 7, cc.Cantidad* Preu, 0)) AS SIGNED) AS lprice7 - ,CAST(SUM(IF(period_order = 7+1, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice1 - ,CAST(SUM(IF(period_order = 7+2, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice2 - ,CAST(SUM(IF(period_order = 7+3, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice3 - ,CAST(SUM(IF(period_order = 7+4, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice4 - ,CAST(SUM(IF(period_order = 7+5, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice5 - ,CAST(SUM(IF(period_order = 7+6, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice6 - ,CAST(SUM(IF(period_order = 7+7, cc.Cantidad* Preu, 0)) AS SIGNED) AS cprice7 - - ,A.Article - ,A.Medida - ,A.Color - ,A.tipo_id - ,C.Cliente - ,T1.CodigoTrabajador as Comercial - ,O.Abreviatura as Origen - ,TT.ball as Tinta - ,r.reino as Reino - ,TP.Id_Tipo - ,JF.CodigoTrabajador as Equipo - ,T2.CodigoTrabajador as Comprador - ,TT.orden as Orden_Color - -,i.buy_id -, i.life -, CAST(IFNULL(i.sd,0) AS SIGNED) as sd -,CAST(i.avalaible AS SIGNED) avalaible -, CAST(i.visible AS SIGNED) visible -, i.buy_date -,P.Proveedor - -FROM clientcom cc -JOIN clientcom_periods ccp using(period) --- La parte del inventario -LEFT JOIN article_inventory i ON i.article_id = cc.Id_Article -LEFT JOIN Compres CM ON i.buy_id = CM.Id_Compra -LEFT JOIN Entradas E USING(Id_Entrada) -LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor --- Ahora la parte de los vendedores -JOIN Clientes C ON C.Id_Cliente = cc.Id_Cliente -JOIN Trabajadores T1 ON C.Id_Trabajador = T1.Id_Trabajador -LEFT JOIN jerarquia J ON J.worker_id = T1.Id_Trabajador -JOIN Trabajadores JF ON JF.Id_Trabajador = J.boss_id --- JOIN Trabajadores JF ON T1.Id_Trabajador = JF.boss JGF propuesta para sustituir por las dos lineas superiores - --- Ahora la parte de los compradores -JOIN Articles A ON A.Id_Article = cc.Id_Article -JOIN Origen O ON O.id = A.id_origen -JOIN Tintas TT ON TT.Id_Tinta = A.Color -JOIN Tipos TP ON TP.tipo_id = A.tipo_id -JOIN reinos r ON r.id = TP.reino_id -JOIN Trabajadores T2 ON T2.Id_Trabajador = TP.Id_Trabajador - -GROUP BY Id_Article,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 `comparativa_clientes_tickets` */; -/*!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 `comparativa_clientes_tickets`(IN i_week INT - , IN i_year INT - , IN i_vendedor INT - , IN i_comprador INT - , IN i_article INT - , IN i_cliente INT - , IN i_tipo INT - , IN i_reino INT - , IN i_equipo INT - , IN v_color varchar(3)) -BEGIN - -DECLARE datSTART DATETIME; -DECLARE datEND DATETIME; - -SELECT min(date), TIMESTAMP(max(date),'23:59:59') INTO datSTART, datEND FROM time WHERE i_week = week AND i_year = year; - - - -SELECT T.Id_Ticket, Fecha, Alias, Id_Article, Concepte, Cantidad, Preu, M.Descuento, Cantidad * Preu * (100-M.Descuento)/100 as Importe, w.name as almacen -FROM Movimientos M -JOIN Tickets T using(Id_Ticket) -JOIN warehouse w on w.id = T.warehouse_id -JOIN Consignatarios CS using(Id_Consigna) -JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente -JOIN Trabajadores TR ON TR.Id_Trabajador = C.Id_Trabajador -JOIN jerarquia J ON J.worker_id = TR.Id_Trabajador -JOIN Articles A using(Id_Article) -JOIN Tipos TP using(tipo_id) -WHERE T.Fecha BETWEEN datSTART AND datEND -AND i_vendedor IN (0, C.Id_Trabajador) -AND i_comprador IN (0, TP.Id_Trabajador) -AND i_cliente IN (0, CS.Id_Cliente) -AND i_tipo IN (0, A.tipo_id) -AND i_article IN (0,A.Id_Article) -AND i_reino IN (0,TP.reino_id) -AND i_equipo IN(0,J.boss_id) -AND v_color IN ("",A.color); - - -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 `comparative` */; -/*!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 `comparative`( - v_date DATETIME - ,days TINYINT - ,i_wh TINYINT - ,i_tipo INT - ,i_filtro INT -) -BEGIN - DECLARE wstart INT; - DECLARE wend INT; - DECLARE cyear INT; - DECLARE date_cyear_ini DATETIME; - DECLARE date_cyear_end DATETIME; - DECLARE week_count TINYINT DEFAULT 7; - DECLARE date_lyear_ini DATETIME; - DECLARE date_lyear_end DATETIME; - DECLARE corrector INT; - DECLARE w1, w2, w3, w4, w5, w6, w7 INT; - DECLARE y1, y2, y3, y4, y5, y6, y7 INT; - DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 - DECLARE i INT DEFAULT 0; - DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; - END IF; - - SET corrector = 1; - - IF days < 0 OR days > 30 THEN - SET days = 15; - END IF; - - IF i_wh = NULL THEN - SET i_wh = 0; - END IF; - -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado - SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); - SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); - -- Eliminamos el calculo del inventario para fechas en el pasado - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t ON a.tipo_id = t.tipo_id - LEFT JOIN reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - - CALL inventario_multiple_2 (v_date, i_wh, days); - - CALL article_multiple_buy (v_date, i_wh); - - CALL article_multiple_buy_date (v_date, i_wh); - - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS wtable; - - CREATE TEMPORARY TABLE wtable ( - cy INT(6), - ly INT(6) - ); - - REPEAT - SET i = i + 1; - SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 - INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 - - UNTIL i = 7 END REPEAT; - - - SELECT cy, ly INTO w1, y1 FROM wtable limit 1; - SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; - SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; - SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; - - SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; - SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; - SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; - DROP TEMPORARY TABLE wtable; - - SET cyear = YEAR(date_cyear_ini); - - -- Genera una tabla con los datos del año pasado. - - DROP TEMPORARY TABLE IF EXISTS last_year; - CREATE TEMPORARY TABLE last_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 - ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 - ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 - ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 - ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 - ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 - ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 - - ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 - ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 - ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 - ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 - ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 - ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 - ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 - - FROM Comparativa - JOIN warehouse W on W.id = warehouse_id - WHERE (Periodo BETWEEN y1 and y7) - AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) - GROUP BY Id_Article; - - -- Genera una tabla con los datos de este año. - - DROP TEMPORARY TABLE IF EXISTS cur_year; - CREATE TEMPORARY TABLE cur_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 - ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 - ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 - ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 - ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 - ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 - ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 - - ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 - ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 - ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 - ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 - ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 - ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 - ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 - - FROM ( - SELECT A.Id_Article - ,CTS.period week - ,SUM(Cantidad) AS Total - ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price - FROM Movimientos M - LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket - INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) - INNER JOIN Articles A USING (Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end - AND T.Id_Cliente NOT IN(400,200) - AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) - AND r.display <> 0 - - GROUP BY A.Id_Article, week - ) t - GROUP BY Id_Article; - -- Genera la tabla con la comparativa. - - DROP TEMPORARY TABLE IF EXISTS remcom; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); - -- select * from article_inventory; - CALL util.exec (sql_printf - ( - 'CREATE TEMPORARY TABLE vn2008.remcom - SELECT - an.nicho, p.name Productor, C.Packing, C.Costefijo - ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria - ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador - - ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 - ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 - - ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 - ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 - - ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd - ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date - ,E.Id_Proveedor AS provider_id, t.Orden, t.Tinta - ,A.offer, A.bargain, A.comments, A.relevancy - ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret - FROM vn2008.article_inventory i - JOIN vn2008.Articles A ON A.Id_Article = i.article_id - LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id - LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN vn2008.Tintas t ON t.Id_Tinta = A.color - LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN vn2008.Entradas E USING(Id_Entrada) - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 - OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 - OR lweek6 OR lweek7) - WHERE r.display <> 0 AND %s ' - - ,i_wh,strFILTRO - )); - ALTER TABLE remcom - CHANGE COLUMN `cweek1` `cweek1` INT NOT NULL, - CHANGE COLUMN `cweek2` `cweek2` INT NOT NULL, - CHANGE COLUMN `cweek3` `cweek3` INT NOT NULL, - CHANGE COLUMN `cweek4` `cweek4` INT NOT NULL, - CHANGE COLUMN `cweek5` `cweek5` INT NOT NULL, - CHANGE COLUMN `cweek6` `cweek6` INT NOT NULL, - CHANGE COLUMN `cweek7` `cweek7` INT NOT NULL, - CHANGE COLUMN `lweek1` `lweek1` INT NOT NULL, - CHANGE COLUMN `lweek2` `lweek2` INT NOT NULL, - CHANGE COLUMN `lweek3` `lweek3` INT NOT NULL, - CHANGE COLUMN `lweek4` `lweek4` INT NOT NULL, - CHANGE COLUMN `lweek5` `lweek5` INT NOT NULL, - CHANGE COLUMN `lweek6` `lweek6` INT NOT NULL, - CHANGE COLUMN `lweek7` `lweek7` INT NOT NULL; - SELECT * FROM remcom; - - -- Destruye las tablas temporales creadas. - - DROP TEMPORARY TABLE last_year; - DROP TEMPORARY TABLE cur_year; - DROP TEMPORARY TABLE article_inventory; -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 `comparativekk` */; -/*!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 `comparativekk`( - v_date DATETIME - ,days TINYINT - ,i_wh TINYINT - ,i_tipo INT - ,i_filtro INT -) -BEGIN - DECLARE wstart INT; - DECLARE wend INT; - DECLARE cyear INT; - DECLARE date_cyear_ini DATETIME; - DECLARE date_cyear_end DATETIME; - DECLARE week_count TINYINT DEFAULT 7; - DECLARE date_lyear_ini DATETIME; - DECLARE date_lyear_end DATETIME; - DECLARE corrector INT; - DECLARE w1, w2, w3, w4, w5, w6, w7 INT; - DECLARE y1, y2, y3, y4, y5, y6, y7 INT; - DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 - DECLARE i INT DEFAULT 0; - DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; - END IF; - - SET corrector = 1; - - IF days < 0 OR days > 30 THEN - SET days = 15; - END IF; - - IF i_wh = NULL THEN - SET i_wh = 0; - END IF; - -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado - SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); - SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); - -- Eliminamos el calculo del inventario para fechas en el pasado - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t ON a.tipo_id = t.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - - CALL inventario_multiple_2 (v_date, i_wh, days); - - CALL article_multiple_buy (v_date, i_wh); - - CALL article_multiple_buy_date (v_date, i_wh); - - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS wtable; - - CREATE TEMPORARY TABLE wtable ( - cy INT(6), - ly INT(6) - ); - - REPEAT - SET i = i + 1; - SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 - INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 - - UNTIL i = 7 END REPEAT; - - - SELECT cy, ly INTO w1, y1 FROM wtable limit 1; - SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; - SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; - SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; - - SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; - SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; - SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; - DROP TEMPORARY TABLE wtable; - - SET cyear = YEAR(date_cyear_ini); - - -- Genera una tabla con los datos del año pasado. - - DROP TEMPORARY TABLE IF EXISTS last_year; - CREATE TEMPORARY TABLE last_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 - ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 - ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 - ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 - ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 - ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 - ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 - - ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 - ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 - ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 - ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 - ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 - ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 - ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 - - FROM Comparativa - JOIN warehouse W on W.id = warehouse_id - WHERE (Periodo BETWEEN y1 and y7) - AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) - GROUP BY Id_Article; - - -- Genera una tabla con los datos de este año. - - DROP TEMPORARY TABLE IF EXISTS cur_year; - CREATE TEMPORARY TABLE cur_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 - ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 - ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 - ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 - ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 - ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 - ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 - - ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 - ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 - ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 - ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 - ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 - ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 - ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 - - FROM ( - SELECT A.Id_Article - ,CTS.period week - ,SUM(Cantidad) AS Total - ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price - FROM Movimientos M - LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket - INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) - INNER JOIN Articles A USING (Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end - AND T.Id_Cliente NOT IN(400,200) - AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) - AND r.display <> 0 - - GROUP BY A.Id_Article, week - ) t - GROUP BY Id_Article; - -- Genera la tabla con la comparativa. - - DROP TEMPORARY TABLE IF EXISTS remcom; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); - -- select * from article_inventory; - CALL util.exec (sql_printf - ( - 'CREATE TEMPORARY TABLE vn2008.remcom - SELECT - - an.nicho, p.name Productor, C.Packing, C.Costefijo - ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria - ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador - - ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 - ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 - - ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 - ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 - - ,A.Id_Article, i.buy_id , i.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd - ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date - ,E.Id_Proveedor AS provider_id, t.Orden, t.Tinta - ,A.offer, A.bargain, A.comments - ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret - - FROM vn2008.article_inventory i - JOIN vn2008.Articles A ON A.Id_Article = i.article_id - LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id - LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN vn2008.Tintas t ON t.Id_Tinta = A.color - LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN vn2008.Entradas E USING(Id_Entrada) - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article - WHERE r.display <> 0 AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 - OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 - OR lweek6 OR lweek7) - AND %s LIMIT 20000' - - ,i_wh,strFILTRO - )); - ALTER TABLE remcom - CHANGE COLUMN `cweek1` `cweek1` INT NOT NULL, - CHANGE COLUMN `cweek2` `cweek2` INT NOT NULL, - CHANGE COLUMN `cweek3` `cweek3` INT NOT NULL, - CHANGE COLUMN `cweek4` `cweek4` INT NOT NULL, - CHANGE COLUMN `cweek5` `cweek5` INT NOT NULL, - CHANGE COLUMN `cweek6` `cweek6` INT NOT NULL, - CHANGE COLUMN `cweek7` `cweek7` INT NOT NULL, - CHANGE COLUMN `lweek1` `lweek1` INT NOT NULL, - CHANGE COLUMN `lweek2` `lweek2` INT NOT NULL, - CHANGE COLUMN `lweek3` `lweek3` INT NOT NULL, - CHANGE COLUMN `lweek4` `lweek4` INT NOT NULL, - CHANGE COLUMN `lweek5` `lweek5` INT NOT NULL, - CHANGE COLUMN `lweek6` `lweek6` INT NOT NULL, - CHANGE COLUMN `lweek7` `lweek7` INT NOT NULL; - SELECT * FROM remcom; - - -- Destruye las tablas temporales creadas. - - DROP TEMPORARY TABLE last_year; - DROP TEMPORARY TABLE cur_year; - DROP TEMPORARY TABLE article_inventory; -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 `comparativekk2` */; -/*!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 `comparativekk2`( - v_date DATETIME - ,days TINYINT - ,i_wh TINYINT - ,i_tipo INT - ,i_filtro INT -) -BEGIN - DECLARE wstart INT; - DECLARE wend INT; - DECLARE cyear INT; - DECLARE date_cyear_ini DATETIME; - DECLARE date_cyear_end DATETIME; - DECLARE week_count TINYINT DEFAULT 7; - DECLARE date_lyear_ini DATETIME; - DECLARE date_lyear_end DATETIME; - DECLARE corrector INT; - DECLARE w1, w2, w3, w4, w5, w6, w7 INT; - DECLARE y1, y2, y3, y4, y5, y6, y7 INT; - DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 - DECLARE i INT DEFAULT 0; - DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; - END IF; - - SET corrector = 1; - - IF days < 0 OR days > 30 THEN - SET days = 15; - END IF; - - IF i_wh = NULL THEN - SET i_wh = 0; - END IF; - -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado - SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); - SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); - -- Eliminamos el calculo del inventario para fechas en el pasado - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t ON a.tipo_id = t.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - - CALL inventario_multiple_2 (v_date, i_wh, days); - - CALL article_multiple_buy (v_date, i_wh); - - CALL article_multiple_buy_date (v_date, i_wh); - - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS wtable; - - CREATE TEMPORARY TABLE wtable ( - cy INT(6), - ly INT(6) - ); - - REPEAT - SET i = i + 1; - SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 - INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 - - UNTIL i = 7 END REPEAT; - - - SELECT cy, ly INTO w1, y1 FROM wtable limit 1; - SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; - SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; - SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; - - SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; - SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; - SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; - DROP TEMPORARY TABLE wtable; - - SET cyear = YEAR(date_cyear_ini); - - -- Genera una tabla con los datos del año pasado. - - DROP TEMPORARY TABLE IF EXISTS last_year; - CREATE TEMPORARY TABLE last_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 - ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 - ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 - ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 - ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 - ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 - ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 - - ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 - ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 - ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 - ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 - ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 - ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 - ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 - - FROM Comparativa - JOIN warehouse W on W.id = warehouse_id - WHERE (Periodo BETWEEN y1 and y7) - AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) - GROUP BY Id_Article; - - -- Genera una tabla con los datos de este año. - - DROP TEMPORARY TABLE IF EXISTS cur_year; - CREATE TEMPORARY TABLE cur_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 - ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 - ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 - ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 - ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 - ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 - ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 - - ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 - ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 - ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 - ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 - ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 - ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 - ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 - - FROM ( - SELECT A.Id_Article - ,CTS.period week - ,SUM(Cantidad) AS Total - ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price - FROM Movimientos M - LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket - INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) - INNER JOIN Articles A USING (Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end - AND T.Id_Cliente NOT IN(400,200) - AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) - AND r.display <> 0 - - GROUP BY A.Id_Article, week - ) t - GROUP BY Id_Article; - -- Genera la tabla con la comparativa. - - DROP TEMPORARY TABLE IF EXISTS remcom; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); - -- select * from article_inventory; - CALL util.exec (sql_printf - ( - 'CREATE TEMPORARY TABLE vn2008.remcom - SELECT - - an.nicho, p.name Productor, C.Packing, C.Costefijo - ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria - ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador - - ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 - ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 - - ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 - ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 - - ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd - ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date - ,E.Id_Proveedor AS provider_id, t.Orden, t.Tinta - ,A.offer, A.bargain, A.comments, A.relevancy - ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret - - FROM vn2008.article_inventory i - JOIN vn2008.Articles A ON A.Id_Article = i.article_id - LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id - LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN vn2008.Tintas t ON t.Id_Tinta = A.color - LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN vn2008.Entradas E USING(Id_Entrada) - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 - OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 - OR lweek6 OR lweek7) - WHERE r.display <> 0 AND %s ' - - ,i_wh,strFILTRO - )); - ALTER TABLE remcom - CHANGE COLUMN `cweek1` `cweek1` INT NOT NULL, - CHANGE COLUMN `cweek2` `cweek2` INT NOT NULL, - CHANGE COLUMN `cweek3` `cweek3` INT NOT NULL, - CHANGE COLUMN `cweek4` `cweek4` INT NOT NULL, - CHANGE COLUMN `cweek5` `cweek5` INT NOT NULL, - CHANGE COLUMN `cweek6` `cweek6` INT NOT NULL, - CHANGE COLUMN `cweek7` `cweek7` INT NOT NULL, - CHANGE COLUMN `lweek1` `lweek1` INT NOT NULL, - CHANGE COLUMN `lweek2` `lweek2` INT NOT NULL, - CHANGE COLUMN `lweek3` `lweek3` INT NOT NULL, - CHANGE COLUMN `lweek4` `lweek4` INT NOT NULL, - CHANGE COLUMN `lweek5` `lweek5` INT NOT NULL, - CHANGE COLUMN `lweek6` `lweek6` INT NOT NULL, - CHANGE COLUMN `lweek7` `lweek7` INT NOT NULL; - SELECT * FROM remcom; - - -- Destruye las tablas temporales creadas. - - DROP TEMPORARY TABLE last_year; - DROP TEMPORARY TABLE cur_year; - DROP TEMPORARY TABLE article_inventory; -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 `comparativeTest` */; -/*!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 `comparativeTest`( - v_date DATETIME - ,days TINYINT - ,i_wh TINYINT - ,i_tipo INT - ,i_filtro INT -) -BEGIN - DECLARE wstart INT; - DECLARE wend INT; - DECLARE cyear INT; - DECLARE date_cyear_ini DATETIME; - DECLARE date_cyear_end DATETIME; - DECLARE week_count TINYINT DEFAULT 7; - DECLARE date_lyear_ini DATETIME; - DECLARE date_lyear_end DATETIME; - DECLARE corrector INT; - DECLARE w1, w2, w3, w4, w5, w6, w7 INT; - DECLARE y1, y2, y3, y4, y5, y6, y7 INT; - DECLARE wperiod INT;-- DECLARE ws, ys INT; -- PAK 11/01/2016 - DECLARE i INT DEFAULT 0; - DECLARE lastCOMP BIGINT; -- Almacena el ultimo valor del Periodo - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; - END IF; - - SET corrector = 1; - - IF days < 0 OR days > 30 THEN - SET days = 15; - END IF; - - IF i_wh = NULL THEN - SET i_wh = 0; - END IF; - -- JGF 2015-04-16 cambio -21 por -22 para que la semana cuente de domingo a sabado - SET date_cyear_ini = TIMESTAMP(DATE(TIMESTAMPADD(DAY, -22 - WEEKDAY(v_date), v_date)), '00:00:00'); - SET date_cyear_end = TIMESTAMP(DATE(TIMESTAMPADD(DAY, (7 * week_count) -1, date_cyear_ini)), '23:59:59'); - -- Eliminamos el calculo del inventario para fechas en el pasado - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT Id_Article FROM Articles a - JOIN Tipos t ON a.tipo_id = t.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = t.reino_id - WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) - AND r.display <> 0; - - IF v_date < CURDATE() - THEN - ALTER TABLE `article_inventory` - ADD `buy_id` INT NOT NULL DEFAULT 0, - ADD `buy_date` DATE DEFAULT '2000-01-01', - ADD `life` INT DEFAULT 0, - ADD `sd` INT DEFAULT 0, - ADD `avalaible` INT DEFAULT 0, - ADD `visible` INT DEFAULT 0; - - ELSE - - CALL inventario_multiple_2 (v_date, i_wh, days); - - CALL article_multiple_buy (v_date, i_wh); - - CALL article_multiple_buy_date (v_date, i_wh); - - - END IF; - - - DROP TEMPORARY TABLE IF EXISTS wtable; - - CREATE TEMPORARY TABLE wtable ( - cy INT(6), - ly INT(6) - ); - - REPEAT - SET i = i + 1; - SET wperiod = vnperiod(TIMESTAMPADD(DAY, 7*(i - 1), date_cyear_ini)); -- PAK 11/01/2016 - INSERT INTO wtable(cy, ly) VALUES(wperiod, wperiod - 100); -- VALUES( ys * 100 + ws, (ys -1) * 100 + ws); -- PAK 11/01/2016 - - UNTIL i = 7 END REPEAT; - - - SELECT cy, ly INTO w1, y1 FROM wtable limit 1; - SELECT cy, ly INTO w2, y2 FROM wtable WHERE cy > w1 limit 1; - SELECT cy, ly INTO w3, y3 FROM wtable WHERE cy > w2 limit 1; - SELECT cy, ly INTO w4, y4 FROM wtable WHERE cy > w3 limit 1; - - SELECT cy, ly INTO w5, y5 FROM wtable WHERE cy > w4 limit 1; - SELECT cy, ly INTO w6, y6 FROM wtable WHERE cy > w5 limit 1; - SELECT cy, ly INTO w7, y7 FROM wtable WHERE cy > w6 limit 1; - DROP TEMPORARY TABLE wtable; - - SET cyear = YEAR(date_cyear_ini); - - -- Genera una tabla con los datos del año pasado. - - DROP TEMPORARY TABLE IF EXISTS last_year; - CREATE TEMPORARY TABLE last_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(Periodo = y1, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek1 - ,CAST(SUM(IF(Periodo = y2, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek2 - ,CAST(SUM(IF(Periodo = y3, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek3 - ,CAST(SUM(IF(Periodo = y4, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek4 - ,CAST(SUM(IF(Periodo = y5, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek5 - ,CAST(SUM(IF(Periodo = y6, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek6 - ,CAST(SUM(IF(Periodo = y7, Cantidad, 0)) AS DECIMAL(10,0)) AS lweek7 - - ,CAST(SUM(IF(Periodo = y1, price, 0)) AS DECIMAL(10,0)) AS lprice1 - ,CAST(SUM(IF(Periodo = y2, price, 0)) AS DECIMAL(10,0)) AS lprice2 - ,CAST(SUM(IF(Periodo = y3, price, 0)) AS DECIMAL(10,0)) AS lprice3 - ,CAST(SUM(IF(Periodo = y4, price, 0)) AS DECIMAL(10,0)) AS lprice4 - ,CAST(SUM(IF(Periodo = y5, price, 0)) AS DECIMAL(10,0)) AS lprice5 - ,CAST(SUM(IF(Periodo = y6, price, 0)) AS DECIMAL(10,0)) AS lprice6 - ,CAST(SUM(IF(Periodo = y7, price, 0)) AS DECIMAL(10,0)) AS lprice7 - - FROM Comparativa - JOIN warehouse W on W.id = warehouse_id - WHERE (Periodo BETWEEN y1 and y7) - AND IF(i_wh = 0, W.is_comparative, i_wh = warehouse_id) - GROUP BY Id_Article; - - -- Genera una tabla con los datos de este año. - - DROP TEMPORARY TABLE IF EXISTS cur_year; - CREATE TEMPORARY TABLE cur_year - (KEY (Id_Article)) - ENGINE = MEMORY - SELECT Id_Article - - ,CAST(SUM(IF(week = w1, Total, 0)) AS DECIMAL(10,0)) AS cweek1 - ,CAST(SUM(IF(week = w2, Total, 0)) AS DECIMAL(10,0)) AS cweek2 - ,CAST(SUM(IF(week = w3, Total, 0)) AS DECIMAL(10,0)) AS cweek3 - ,CAST(SUM(IF(week = w4, Total, 0)) AS DECIMAL(10,0)) AS cweek4 - ,CAST(SUM(IF(week = w5, Total, 0)) AS DECIMAL(10,0)) AS cweek5 - ,CAST(SUM(IF(week = w6, Total, 0)) AS DECIMAL(10,0)) AS cweek6 - ,CAST(SUM(IF(week = w7, Total, 0)) AS DECIMAL(10,0)) AS cweek7 - - ,CAST(SUM(IF(week = w1, price, 0)) AS DECIMAL(10,0)) AS cprice1 - ,CAST(SUM(IF(week = w2, price, 0)) AS DECIMAL(10,0)) AS cprice2 - ,CAST(SUM(IF(week = w3, price, 0)) AS DECIMAL(10,0)) AS cprice3 - ,CAST(SUM(IF(week = w4, price, 0)) AS DECIMAL(10,0)) AS cprice4 - ,CAST(SUM(IF(week = w5, price, 0)) AS DECIMAL(10,0)) AS cprice5 - ,CAST(SUM(IF(week = w6, price, 0)) AS DECIMAL(10,0)) AS cprice6 - ,CAST(SUM(IF(week = w7, price, 0)) AS DECIMAL(10,0)) AS cprice7 - - FROM ( - SELECT A.Id_Article - ,CTS.period week - ,SUM(Cantidad) AS Total - ,TRUNCATE(SUM(Cantidad * IF(T.Fecha >= '2015-10-01',M.CostFixat,Preu * (100 - Descuento) / 100)),0) AS price - FROM Movimientos M - LEFT JOIN Tickets T ON T.Id_Ticket = M.Id_Ticket - INNER JOIN `time` CTS ON CTS.`date` = DATE(T.Fecha) - INNER JOIN Articles A USING (Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = A.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_cyear_ini AND date_cyear_end - AND T.Id_Cliente NOT IN(400,200) - AND IF(i_wh = 0, W.is_comparative, i_wh = T.warehouse_id) - AND r.display <> 0 - - GROUP BY A.Id_Article, week - ) t - GROUP BY Id_Article; - -- Genera la tabla con la comparativa. - - DROP TEMPORARY TABLE IF EXISTS remcom; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); - -- select * from article_inventory; - CALL util.exec (sql_printf - ( - 'SELECT - an.nicho, p.name Productor, C.Packing, C.Costefijo - ,A.Color, Id_Tipo as Tipo,A.tipo_id, o.Abreviatura as Origen, A.Categoria - ,A.Tallos, A.Medida, A.Article, TR.CodigoTrabajador - - ,cweek1, cweek2, cweek3, cweek4, cweek5, cweek6, cweek7 - ,lweek1, lweek2, lweek3, lweek4, lweek5, lweek6, lweek7 - - ,cprice1, cprice2, cprice3, cprice4, cprice5, cprice6, cprice7 - ,lprice1, lprice2, lprice3, lprice4, lprice5, lprice6, lprice7 - - ,A.Id_Article, i.buy_id , tp.life , CAST(IFNULL(i.sd,0) AS SIGNED) as sd - ,CAST(i.avalaible AS SIGNED) avalaible, CAST(i.visible AS SIGNED) visible, i.buy_date - ,E.Id_Proveedor AS provider_id, t.Orden, t.Tinta - ,A.offer, A.bargain, A.comments, A.relevancy - ,IF(cy.Id_Article IS NULL AND i.visible = 0 AND i.avalaible = 0 AND IFNULL(i.sd, 0) = 0, FALSE, TRUE) AS filtret - FROM vn2008.article_inventory i - JOIN vn2008.Articles A ON A.Id_Article = i.article_id - LEFT JOIN vn2008.Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN vn2008.producer p ON p.producer_id = A.producer_id - LEFT JOIN vn2008.Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN vn2008.Tintas t ON t.Id_Tinta = A.color - LEFT JOIN vn2008.Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN vn2008.Entradas E USING(Id_Entrada) - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - LEFT JOIN vn2008.last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN vn2008.cur_year cy ON cy.Id_Article = A.Id_Article AND (i.avalaible <> 0 OR i.visible <> 0 OR cweek1 OR cweek2 OR cweek3 OR cweek4 - OR cweek5 OR cweek6 OR cweek7 OR lweek1 OR lweek2 OR lweek3 OR lweek4 OR lweek5 - OR lweek6 OR lweek7) - WHERE r.display <> 0 AND %s ' - - ,i_wh,strFILTRO - )); - - -- Destruye las tablas temporales creadas. - - DROP TEMPORARY TABLE last_year; - DROP TEMPORARY TABLE cur_year; - DROP TEMPORARY TABLE article_inventory; -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 `compresFromTicket` */; -/*!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 `compresFromTicket`(IN vTicketId BIGINT, IN vEntryId BIGINT) -BEGIN - - DECLARE vShipmentWarehouse INT; - DECLARE vShipmentDate INT; - - SELECT warehouse_id_out, shipment - INTO vShipmentWarehouse, vShipmentDate - FROM travel tr - JOIN Entradas e ON e.travel_id = tr.id - WHERE Id_Entrada = vEntryId; - - CALL item_last_buy_(vShipmentWarehouse,vShipmentDate); - - INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Etiquetas) - SELECT m.Id_Article, - m.Cantidad, - vEntryId, - c.Id_Cubo, - c.Packing, - IF(c.grouping,c.grouping,1), - c.caja, - buyingAbsoluteCost(c.Id_Compra) Costefijo, - ifnull(floor(m.Cantidad / c.Packing),1) Etiquetas - FROM - Movimientos m - JOIN Articles a ON m.Id_Article = a.Id_Article - LEFT JOIN t_item_last_buy b ON m.Id_Article = b.item_id AND b.warehouse_id = vShipmentWarehouse - LEFT JOIN Compres c ON c.Id_Compra = b.buy_id - WHERE m.Id_Ticket = vTicketId; - - CALL buy_tarifas_entry(vEntryId); - - -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 `CompresTriggerBeforeDelete` */; -/*!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 `CompresTriggerBeforeDelete`(oldId INT, oldEntrada INT) -BEGIN - - DECLARE hasToRecalculate BOOLEAN; - DECLARE newWarehouse INT; - - SELECT Id_Compra INTO hasToRecalculate FROM vn.lastBuy lb - WHERE lb.id = oldId LIMIT 1; - - IF hasToRecalculate THEN - SELECT warehouse_id INTO newWarehouse FROM travel t - JOIN Entradas e ON t.id = e.travel_id - WHERE e.Id_Entrada = oldEntrada; - - CALL vn.lastBuyRefresh(newWarehouse); - 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 `compresTriggerBeforeInsert` */; -/*!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 `compresTriggerBeforeInsert`(newNoVincular INT, newEntrada INT, newCompra INT, newItem INT) -BEGIN - DECLARE newWarehouse INTEGER; - - IF newNoVincular = FALSE THEN - - UPDATE travel t - JOIN vn.lastBuy lb ON newItem = lb.item AND t.warehouse_id = lb.warehouse - JOIN Entradas e ON e.travel_id = t.id - SET lb.id = newCompra - WHERE e.Id_Entrada = newEntrada AND t.landing > lb.landing AND t.landing <= 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 `compresTriggerBeforeUpdate` */; -/*!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 `compresTriggerBeforeUpdate`(vOldEntrada INT, vNewEntrada INT, oldItem INT, - newItem INT, newNoVincular BOOLEAN, newCompra INT) -BEGIN - DECLARE newWarehouse INTEGER; - DECLARE hasToRecalculate BOOLEAN; - - IF newNoVincular = FALSE THEN - IF oldItem <> newItem OR vOldEntrada <> vNewEntrada THEN - SELECT Id_Compra INTO hasToRecalculate FROM travel t - JOIN Entradas e ON e.travel_id = t.id - JOIN vn.lastBuy lb ON lb.id = newCompra - WHERE e.Id_Entrada = vOldEntrada LIMIT 1; - - IF hasToRecalculate THEN - SELECT warehouse_id INTO newWarehouse FROM travel t - JOIN Entradas e ON t.id = e.travel_id - WHERE e.Id_Entrada = vOldEntrada; - CALL vn.lastBuyRefresh(newWarehouse); - END IF; - END IF; - IF vOldEntrada <> vNewEntrada THEN - - UPDATE Entradas oldEntrada - JOIN travel oldTravel ON oldEntrada.travel_id = oldtravel.id - JOIN Entradas newEntrada ON newEntrada.Id_Entrada = vNewEntrada - JOIN travel newTravel ON newTravel.id = newEntrada.travel_id - JOIN vn.lastBuy lb ON newItem = lb.item AND newTravel.warehouse_id = lb.warehouse - SET lb.id = newCompra - WHERE oldEntrada.Id_Entrada = vOldEntrada AND oldTravel.warehouse_id <> newTravel.warehouse_id - AND newTravel.landing > lb.landing AND newTravel.landing <= CURDATE(); - 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 `confection_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 `confection_control_source`(vScopeDays TINYINT) -BEGIN - - DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); - DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); - DECLARE maxAlertLevel INT DEFAULT 2; - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - - CREATE TEMPORARY TABLE tmp.production_buffer - ENGINE = MEMORY - SELECT - date(t.Fecha) as Fecha, - hour(t.Fecha) as Hora, - hour(t.Fecha) as Departure, - t.Id_Ticket, - m.Id_Movimiento, - m.Cantidad, - m.Concepte, - ABS(m.Reservado) Reservado, - i.Categoria, - t.Alias as Cliente, - wh.name as Almacen, - t.warehouse_id, - cs.province_id, - a.agency_id, - ct.description as Taller, - stock.visible, - stock.available - FROM vn2008.Tickets t - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN vn2008.warehouse wh ON wh.id = t.warehouse_id - JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket - JOIN vn2008.Articles i ON i.Id_Article = m.Id_Article - JOIN vn2008.Tipos tp ON tp.tipo_id = i.tipo_id - JOIN vn.confectionType ct ON ct.id = tp.confeccion - JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna - LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket - LEFT JOIN - ( - SELECT item_id, sum(visible) visible, sum(available) available - FROM - ( - SELECT a.item_id, 0 as visible, a.available - FROM cache.cache_calc cc - LEFT JOIN cache.available a ON a.calc_id = cc.id - WHERE cc.cache_id IN (2,8) - AND cc.params IN (concat("1/", CURDATE()),concat("44/", CURDATE())) - - UNION ALL - - SELECT v.item_id, v.visible, 0 as available - FROM cache.cache_calc cc - LEFT JOIN cache.visible v ON v.calc_id = cc.id - where cc.cache_id IN (2,8) and cc.params IN ("1","44") - ) sub - GROUP BY item_id - ) stock ON stock.item_id = m.Id_Article - WHERE tp.confeccion - AND tls.alertLevel < maxAlertLevel - AND wh.hasConfectionTeam - AND t.Fecha BETWEEN CURDATE() AND vEndingDate - AND m.Cantidad > 0; - - -- Hora limite de preparación - - CALL production_buffer_set_priority; - - -- Entradas - - INSERT INTO tmp.production_buffer( - Fecha, - Id_Ticket, - Cantidad, - Concepte, - Categoria, - Cliente, - Almacen, - Taller - ) - SELECT - tr.shipment AS Fecha, - e.Id_Entrada AS Id_Ticket, - c.Cantidad, - a.Article, - a.Categoria, - whi.name as Cliente, - who.name as Almacen, - ct.description as Taller - FROM vn2008.Compres c - JOIN vn2008.Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN vn2008.travel tr ON tr.id = e.travel_id - JOIN vn2008.warehouse whi ON whi.id = tr.warehouse_id - JOIN vn2008.warehouse who ON who.id = tr.warehouse_id_out - JOIN vn2008.Articles a ON a.Id_Article = c.Id_Article - JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id - JOIN vn.confectionType ct ON ct.id = tp.confeccion - WHERE who.hasConfectionTeam - AND tp.confeccion - AND tr.shipment BETWEEN CURDATE() AND vEndingDate; - - - SELECT * FROM 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `createBouquet` */; -/*!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 `createBouquet`( - vName VARCHAR(50), - vType int, - vSize int, - vColour VARCHAR(5), - OUT vItem INT(11) - -) -BEGIN - DECLARE vDate DATE; - DECLARE vCodintrastat INT(11); - - -- COMPROBAMOS SI EXISTE UN ARTÍCULO IGUAL. - SELECT - Id_Article - INTO vItem FROM - Articles - WHERE - (Id_Article BETWEEN 161000 AND 169000) - AND Article LIKE CONCAT('%', vName) - AND tipo_id = vType - AND Medida = vSize - AND Color = vColour - LIMIT 1; - - -- SI NO EXISTE CREAMOS UNO NUEVO - IF vItem IS NULL THEN - - - -- OBTENER EL ID ENTRE 161000 Y 169000 DEL SIGUIENTE ARTÍCULO - SELECT (IF(MAX(Id_Article) IS NULL, 161000, (MAX(Id_Article) + 1))) INTO vItem FROM Articles WHERE Id_Article BETWEEN 161000 AND 169000; - - -- INSERTAR EL ARTÍCULO - INSERT INTO Articles(Id_Article, Article, tipo_id, Medida, color, id_origen) - VALUES ( - vItem, - vName, - vType, - vSize, - vColour, - 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 `createWorker` */; -/*!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 `createWorker`( - vName VARCHAR(50), - vCognames VARCHAR(50), - vDNI VARCHAR(9), - vAddress TEXT, - vPostalCode VARCHAR(5), - vTown VARCHAR(25), - vProvince SMALLINT(5), - vCompany SMALLINT(5), - vPhone VARCHAR(11), - vMail VARCHAR(80) CHARSET utf8, - vDniExpiration DATETIME, - vEmployeeBoss INT -) -BEGIN - DECLARE vClient INT; - DECLARE vUser INT; - DECLARE vWorker INT; - DECLARE vWorkerCode VARCHAR(8); - DECLARE vPassword VARCHAR(50); - DECLARE vUsername VARCHAR(50) CHARSET utf8; - DECLARE vOficial INT DEFAULT 1; - DECLARE vDiscount INT DEFAULT 3; - DECLARE vPayMethodFk INT DEFAULT 4; - DECLARE vDueDay INT DEFAULT 5; - DECLARE vDefaultCredit INT DEFAULT 300; - DECLARE vIsTaxDataChecked TINYINT(1) DEFAULT 1; - DECLARE vHasCoreVnl TINYINT(1) DEFAULT 1; - DECLARE vMandateType INT DEFAULT 2; - - -############################################################################## -#### GENERAR CLIENTE -############################################################################## - - -- Comprobar si existe un cliente con el mismo DNI. - SELECT Id_cliente INTO vClient FROM vn2008.Clientes WHERE `if` = vDNI; - - -- Si no existe el cliente creamos uno nuevo. - IF vClient IS NULL THEN - - SELECT (MAX(Id_Cliente) + 1) INTO vClient FROM Clientes WHERE Id_Cliente < 999999; - - INSERT INTO Clientes ( - Id_Cliente, - Cliente, - Domicilio, - `IF`, - Telefono, - province_id, - Poblacion, - CodPostal, - RazonSocial, - Contacto, - Oficial, - Descuento, - Codpos, - pay_met_id, - Vencimiento, - Credito, - contabilizado, - coreVnl) - SELECT - vClient, - Concat('TR ', vName, ' ', vCognames), - vAddress, - vDNI, - vPhone, - vProvince, - vTown, - vPostalCode, - CONCAT(vCognames, ' ', vName), - vName, - vOficial, - vDiscount, - vPostalCode, - vPayMethodFk, - vDueDay, - vDefaultCredit, - vIsTaxDataChecked, - vHasCoreVnl; - - INSERT INTO mandato (Id_Cliente, empresa_id, idmandato_tipo) - VALUES (vClient, vCompany, vMandateType); - END IF; - - -############################################################################## -#### GENERAR USUARIO -############################################################################## - - SET vUsername = LCASE(CONCAT(REPLACE(vName, ' ', ''), LEFT(vCognames, 1), MID(vCognames, (LOCATE(' ', vCognames) + 1), 1))); - - -- Generar nombre de usuario hasta que haya uno disponible. - WHILE (SELECT COUNT(*) FROM account.user WHERE `name`= vUsername) DO - SET vUsername = CONCAT(vUsername, (FLOOR(RAND() * 100))); - END WHILE; - - SET vPassword = CONCAT(IF(INSTR(vCognames,' ') = 0, vCognames, LEFT(vCognames, INSTR(vCognames,' ') - 1)), '.' , vClient); - - -- Comprobamos si existe un usuario con el mismo ID de cliente. - IF NOT (SELECT COUNT(*) FROM account.user where id = vClient) THEN - - -- Alta del usuario. - INSERT INTO account.user (id, role, `name`, `password`, active) VALUES (vClient, 1, LCASE(vUsername), MD5(LCASE(vPassword)), 1); - SET vUser = vClient; - INSERT INTO account.account SET id = vClient; - ELSE - - -- Alta del usuario. - INSERT INTO account.user (role, `name`, `password`, active) VALUES (1, LCASE(vUsername), MD5(LCASE(vPassword)), 1); - SET vUser = LAST_INSERT_ID(); - INSERT INTO account.account SET id = vUser; - END IF; - -############################################################################## -#### GENERAR TRABAJADOR -############################################################################## - - SET vWorkerCode = CONCAT(LEFT(vName, 1), LEFT(vCognames, 1), MID(vCognames, (LOCATE(' ', vCognames) + 1), 1)); - - -- Generar código de trabajador hasta que haya uno disponible. - IF (SELECT COUNT(*) FROM Trabajadores WHERE CodigoTrabajador = vWorkerCode) THEN - SET vWorkerCode = "001"; - END IF; - - -- Comprobamos si ya existe un trabajador con el mismo DNI. - IF NOT (SELECT COUNT(*) FROM Trabajadores WHERE dni = vDNI) THEN - - -- Alta en la tabla trabajadores. - INSERT INTO Trabajadores (CodigoTrabajador, Nombre, Apellidos, `Password`, dni, empresa_id, user_id, boss, DniExpiration) - VALUES (vWorkerCode, vName, vCognames, LCASE(vPassword), vDNI, vCompany, vUser, vEmployeeBoss, VDniExpiration); - - SET vWorker = LAST_INSERT_ID(); - ELSE - UPDATE Trabajadores SET user_id = vUser WHERE dni = vDNI; - END IF; - -############################################################################## -#### REENVIO EMAIL -############################################################################## - - IF vMail IS NOT NULL AND NOT (SELECT COUNT(*) FROM account.mailForward WHERE forwardTo = vMail) THEN - INSERT INTO account.mailForward (account, forwardTo) VALUES (vUser, vMail); - UPDATE Trabajadores SET email = CONCAT(vUsername, '@verdnatura.es') WHERE user_id = vUser; - END IF; - - -- Devolver información generada - SELECT vUser, vWorker, vPassword, vUsername; -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 `credit_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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `credit_update`() -BEGIN - -DECLARE dblDiferencia DOUBLE DEFAULT 10.0; -DECLARE dblImporteRec,auxdblImporteRec DOUBLE DEFAULT 0.0; -DECLARE dblImporteFac,auxdblImporteFac DOUBLE DEFAULT 0.0; -DECLARE intIdRecibo,auxintIdRecibo INT (11) DEFAULT 0; -DECLARE intId_Cliente,auxintId_Cliente,intId_ClienteRec,auxintId_ClienteRec INT DEFAULT 0; -DECLARE bitFin,bitFinRecord,bitFinRecord1 BIT DEFAULT 0; -DECLARE datFechaVencimiento DATE DEFAULT CURDATE(); -DECLARE intEmpresa_id INT DEFAULT 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 `customerDebtEvolution` */; -/*!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 `customerDebtEvolution`(IN vCustomer INT) -BEGIN - -SELECT * FROM -( - SELECT day, date, @s:= round(IFNULL(Euros,0) + @s,2) as Saldo, Euros, Credito, 0 as Cero - FROM - ( - SELECT day, date, IFNULL(Euros,0) as Euros, Credito - FROM time - JOIN (SELECT @s:= 0, - Credito as Credito FROM Clientes WHERE Id_Cliente = vCustomer) c - LEFT JOIN - (SELECT Euros, date(Fecha) as Fecha FROM - ( - SELECT Fechacobro as Fecha, Entregado as Euros - FROM Recibos - WHERE Id_Cliente = vCustomer - AND Fechacobro >= '2017-01-01' - UNION ALL - SELECT paymentday(f.Fecha,c.Vencimiento), - Importe - FROM Facturas f - JOIN Clientes c ON f.Id_Cliente = c.Id_Cliente - WHERE f.Id_Cliente = vCustomer - AND Fecha >= '2017-01-01' - UNION ALL - SELECT '2016-12-31', Debt - FROM bi.customerDebtInventory - WHERE Id_Cliente = vCustomer - UNION ALL - SELECT Fecha, - SUM(Cantidad * Preu * (100 - Descuento ) * 1.10 / 100) - FROM Tickets t - JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket - WHERE Id_Cliente = vCustomer - AND Factura IS NULL - AND Fecha >= '2017-01-01' - GROUP BY Fecha - ) sub2 - ORDER BY Fecha - )sub ON time.date = sub.Fecha - WHERE time.date BETWEEN '2016-12-31' AND CURDATE() - ORDER BY date - ) sub3 -)sub4 -; - - -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 `cycDueDateClassification` */; -/*!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 `cycDueDateClassification`(vCompany INT,vDate DATE) -BEGIN - - SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id - FROM - ( - SELECT CASE - WHEN C.Vencimiento <= 30 THEN '0-30 dias' - WHEN C.Vencimiento BETWEEN 31 AND 60 THEN '31-60 dias' - WHEN C.Vencimiento BETWEEN 61 AND 90 THEN '61-90 dias' - ELSE '> 90 dias' - END AS Clasificacion, - F.Importe, - C.Fecha, - F.empresa_id - - FROM cyc_declaration C - JOIN Facturas F USING(factura_id) - WHERE C.Riesgo > 0 AND C.Fecha = vDate AND F.empresa_id = vCompany - - ) cyc - GROUP BY Fecha, Clasificacion, 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cycGeneralClassification` */; -/*!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 `cycGeneralClassification`(vCompany INT,vDate DATE) -BEGIN - SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id - FROM - ( - SELECT CASE IFNULL(C.Riesgo,-1) - WHEN 0 THEN 'No aseguradas' - WHEN -1 THEN 'Clasificacion nada' - ELSE 'Asegurados' - END AS Clasificacion, - F.Importe, - C.Fecha, - F.empresa_id - - FROM cyc_declaration C - JOIN Facturas F ON F.factura_id = C.factura_id - WHERE C.Fecha = vDate AND F.empresa_id = vCompany - - ) cyc - GROUP BY Fecha, Clasificacion, 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cycNoInsurancedClassification` */; -/*!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 `cycNoInsurancedClassification`(vCompany INT,vDate DATE) -BEGIN - -SELECT 'ORG. PUBLICOS' AS Tipo, C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - JOIN Clientes CL USING(Id_Cliente) - WHERE C.Riesgo IS NULL - AND LEFT(CL.`IF`,1) = 'G' - AND C.Fecha = vDate AND F.empresa_id = vCompany - -GROUP BY Fecha, F.empresa_id - -UNION ALL - -SELECT 'VINCULADAS' , C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - WHERE C.Riesgo IS NULL - AND F.Id_Cliente IN(2066, 2067) - AND C.Fecha = vDate AND F.empresa_id = vCompany - -GROUP BY Fecha, F.empresa_id - -UNION ALL - -SELECT 'CONTADO', C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - JOIN Clientes CL USING(Id_Cliente) - WHERE C.Riesgo IS NULL - AND pay_met_id = 1 - AND LEFT(CL.`IF`,1) <> 'G' - AND F.Id_Cliente NOT IN(2066, 2067) - AND C.Fecha = vDate AND F.empresa_id = vCompany - -GROUP BY Fecha, F.empresa_id - -UNION ALL - -SELECT 'OTROS', C.Fecha, CAST(SUM(F.Importe) AS DECIMAL(10,2)) as Importe, F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - JOIN Clientes CL USING(Id_Cliente) - WHERE C.Riesgo IS NULL - AND pay_met_id <> 1 - AND LEFT(CL.`IF`,1) <> 'G' - AND F.Id_Cliente NOT IN(2066, 2067) - AND C.Fecha = vDate AND F.empresa_id = vCompany - -GROUP BY Fecha, F.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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cyc_mensual` */; -/*!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 `cyc_mensual`(IN datFEC DATE) -BEGIN - -REPLACE cyc_declaration(factura_id, Riesgo, Fecha, Vencimiento) -SELECT F.factura_id, R.Riesgo, @fecha, IFNULL(C.Vencimiento,0) -FROM Facturas F -INNER JOIN Clientes C ON F.Id_Cliente = C.Id_Cliente -INNER JOIN empresa E ON E.id = F.empresa_id -LEFT JOIN - ( SELECT * - FROM ( - SELECT Id_Cliente, Riesgo - FROM cyc - WHERE Fecha <= @fecha:= TIMESTAMPADD(DAY, -1 * DAY(datFEC), datFEC) - ORDER BY Fecha DESC - ) sub - GROUP BY Id_Cliente - ) R ON F.Id_Cliente = R.Id_Cliente -WHERE E.cyc -AND periodo(Fecha) = periodo(@fecha) -; - -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 `cyc_report2kk` */; -/*!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 `cyc_report2kk`() -BEGIN - -SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id -FROM -( - SELECT CASE - WHEN C.Vencimiento <= 30 THEN '0-30 dias' - WHEN C.Vencimiento BETWEEN 31 AND 60 THEN '31-60 dias' - WHEN C.Vencimiento BETWEEN 61 AND 90 THEN '61-90 dias' - ELSE '> 90 dias' - END AS Clasificacion, - F.Importe, - C.Fecha, - F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - WHERE C.Riesgo > 0 - -) cyc -GROUP BY Fecha, Clasificacion, 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cyc_reportkk` */; -/*!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 `cyc_reportkk`() -BEGIN - -SELECT Fecha, Clasificacion, CAST(SUM(Importe) AS DECIMAL(10,2)) as Importe, empresa_id -FROM -( - SELECT CASE IFNULL(C.Riesgo,-1) - WHEN 0 THEN 'No aseguradas' - WHEN -1 THEN 'Sin clasificar' - ELSE 'Asegurados' - END AS Clasificacion, - F.Importe, - C.Fecha, - F.empresa_id - - FROM cyc_declaration C - INNER JOIN Facturas F USING(factura_id) - -) cyc -GROUP BY Fecha, Clasificacion, 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `defaulterRanking` */; -/*!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 `defaulterRanking`() -BEGIN - -SELECT - c.Id_Cliente, - hasChanged, - Cliente, - amount as Deuda, - CodigoTrabajador, - CyC, - Apuntador, - Fecha_obs, - last_obs, - defaulterSince -from - bi.defaulters d - join - ( - SELECT customer_id Id_Cliente,SUM(amount) AS Saldo - FROM bi.customerRiskOverdue - GROUP BY customer_id - ) saldos ON saldos.Id_Cliente = d.client - join - Clientes c on c.Id_Cliente = d.client - join - Trabajadores t USING (Id_Trabajador) -left join -( -SELECT Id_Cliente, last_obs, CodigoTrabajador as Apuntador, Fecha as Fecha_obs -FROM -( -SELECT Id_Cliente, `text` as last_obs, CodigoTrabajador, client_observation.odbc_date as Fecha -FROM client_observation -JOIN Trabajadores using(Id_Trabajador) -order by client_observation.odbc_date desc -) sub GROUP BY Id_Cliente -) obs on obs.Id_Cliente = d.client -WHERE -date = CURDATE() -and amount > 0 -and not (Saldo > amount AND amount < 0) -and CodigoTrabajador not in ('CYC','BUD','EJE') -ORDER BY amount DESC; - - -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 `desglose_volume` */; -/*!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 `desglose_volume`(IN agency_id INT) -BEGIN - DECLARE v_start DATETIME DEFAULT TIMESTAMP(CURDATE()); - DECLARE v_end DATETIME DEFAULT TIMESTAMP(CURDATE(), '23:59:59'); - - SET v_start = IF(WEEKDAY(CURDATE()), CURDATE(),TIMESTAMPADD(DAY,-1,CURDATE())); - SET v_start = IF(CURDATE() = '2014-05-02', '2014-05-01',v_start); - - DROP TEMPORARY TABLE IF EXISTS zeleVOL; - CREATE TEMPORARY TABLE zeleVOL - ( - Id_Ticket INT PRIMARY KEY - ,Provincia VARCHAR(30) - ,Bultos INT DEFAULT 0 - ,Faltan INT DEFAULT 0 - ); - - -- Insertamos los tickets que ya tienen la linea de portes - - INSERT INTO zeleVOL(Provincia, Id_Ticket, Bultos) - SELECT p.name, t.Id_Ticket, sum(m.Cantidad) - FROM Tickets t - JOIN Consignatarios c USING(Id_Consigna) - JOIN province p ON c.province_id = p.province_id - JOIN Movimientos m USING(Id_Ticket) - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE m.Id_Article = 71 - AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) - AND t.Fecha BETWEEN v_start AND v_end - AND a.agency_id = agency_id - GROUP BY p.name, Id_Ticket; - - -- Insertamos los tickets que ya tienen expediciones, que fallaran si se repite la clave primaria. - - INSERT INTO zeleVOL(Provincia, Id_Ticket, Bultos) SELECT p.name, e.ticket_id, COUNT(e.ticket_id) - FROM expeditions e - JOIN Tickets t ON ticket_id = Id_Ticket - JOIN Consignatarios c USING(Id_Consigna) - JOIN province p ON c.province_id = p.province_id - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE e.odbc_date BETWEEN v_start AND v_end - AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) - AND a.agency_id = agency_id - GROUP BY p.name, ticket_id - ON DUPLICATE KEY UPDATE Bultos = Bultos; - - -- Por encajar - - INSERT INTO zeleVOL(Provincia, Id_Ticket, Faltan) - SELECT province, Id_Ticket, COUNT(Id_Ticket) as Faltan - FROM - ( - SELECT p.name AS province, Id_Ticket, COUNT(Id_Movimiento) l, SUM(Cantidad) c - FROM Movimientos m - JOIN Tickets t USING(Id_Ticket) - JOIN Consignatarios c USING(Id_Consigna) - JOIN province p ON c.province_id = p.province_id - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN expeditions e ON t.Id_Ticket = e.ticket_id - JOIN warehouse_joined wj ON wj.warehouse_id = t.warehouse_id - WHERE Fecha BETWEEN v_start AND v_end - AND wj.warehouse_alias_id = 1 -- El 1 equivale a Silla (SillaFV-SillaPCA) - AND a.agency_id = agency_id - AND (Bultos = 0 AND expeditions_id IS NULL AND EtiquetasEmitidas = 0) - GROUP BY p.name, Id_Ticket - ) sub GROUP BY province - ON DUPLICATE KEY UPDATE Faltan = Faltan; - -- Mostramos el resultado - - SELECT Provincia, COUNT(Id_Ticket) expediciones, SUM(Bultos) Bultos, SUM(Faltan) Prevision - FROM zeleVOL - GROUP BY Provincia; - - DROP TEMPORARY TABLE IF EXISTS zeleVOL; -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 `dif_porte` */; -/*!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 `dif_porte`(IN datFEC DATE) -BEGIN - -/* Calcula los greuges de porte que no coinciden con lo esperado -/ -/ -/ -*/ - - -drop temporary table if exists tmp.bionic_porte; -create temporary table tmp.bionic_porte -select Id_Ticket, sum(Valor * Cantidad) as bionic -from vn2008.Movimientos m -join vn2008.Movimientos_componentes mc using(Id_Movimiento) -where Id_Componente = 15 -group by Id_Ticket; - -ALTER TABLE tmp.bionic_porte -ADD KEY bp_Id_Ticket_ix (Id_Ticket); - - -drop temporary table if exists tmp.shipping_porte; -create temporary table tmp.shipping_porte -select Id_Ticket, shipping_charge from vn2008.v_expeditions_shipping_charge where Fecha >= datFEC; - -ALTER TABLE tmp.shipping_porte -ADD KEY sp_Id_Ticket_ix (Id_Ticket); - - -drop temporary table if exists tmp.greuge_porte; -create temporary table tmp.greuge_porte -select Id as Id_Greuge, cast(right(Comentario,7) as decimal(10,0)) Id_Ticket, Importe -FROM vn2008.Greuges -where Comentario like 'dif_porte%'; -ALTER TABLE tmp.greuge_porte -ADD KEY Id_Ticket_ix (Id_Ticket); -select * from tmp.greuge_porte; - - - -SELECT Id_Ticket,shipping_charge as Teorico, bionic as Practico, Importe as Greuge, shipping_charge - bionic - Importe as dif -FROM tmp.shipping_porte -join tmp.greuge_porte using(Id_Ticket) -join tmp.bionic_porte using(Id_Ticket) - -; - - - - -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 `Ditacio` */; -/*!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 `Ditacio`(IN intId INT,IN straccion varchar(100),IN strtabla CHAR(1),IN intIdTrabajador INT, -IN straccion_old VARCHAR(100),IN straccion_new VARCHAR(100)) -proc_label:BEGIN - - DECLARE intlengthaccion TINYINT; - DECLARE strtabla_dits VARCHAR(35); - - SELECT CASE - WHEN strtabla='A' THEN 'Articles_dits' - WHEN strtabla='I' THEN 'Inventario_dits' - WHEN strtabla='E' THEN 'Entradas_dits' - WHEN strtabla='T' THEN 'Tickets_dits' - WHEN strtabla='C' THEN 'Clientes_dits' - WHEN strtabla='V' THEN 'travel_dits' - WHEN strtabla='R' THEN 'Rutas_dits' - WHEN strtabla='G' THEN 'Agencias_dits' - WHEN strtabla='S' THEN 'salarioDits' - ELSE NULL - END - INTO strtabla_dits; - - IF (strtabla_dits IS NULL) - THEN LEAVE proc_label; - END IF; - - SET @intIdTrabajador = intIdTrabajador; - SET @intId = intId; - SET @strvalue_old = straccion_old; - SET @strvalue_new = straccion_new; - SET @intidaccion = NULL; - - SELECT idaccion_dits - INTO @intidaccion - FROM accion_dits - WHERE accion=left(straccion,CHAR_LENGTH(accion)) - ORDER BY CHAR_LENGTH(accion) DESC - LIMIT 1; - - IF @intidaccion IS null THEN -- idaccion genèric per a evitar errors en cas de no existir - SET @intidaccion = 103; - END IF; - - SET @SQL=CONCAT('INSERT INTO ',strtabla_dits,' (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - VALUES (?,?,?,?,?)'); - - PREPARE stmt1 FROM @SQL; - EXECUTE stmt1 USING @intidaccion,@intIdTrabajador,@intId,@strvalue_old,@strvalue_new; - DEALLOCATE PREPARE stmt1; - - -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 `emailYesterdayPurchasesByConsigna` */; -/*!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 `emailYesterdayPurchasesByConsigna`(IN v_Date DATE, IN v_Client_Id INT) -BEGIN - - -DECLARE MyIdTicket BIGINT; -DECLARE MyAlias VARCHAR(50); -DECLARE MyDomicilio VARCHAR(255); -DECLARE MyPoblacion VARCHAR(25); -DECLARE MyImporte DOUBLE; -DECLARE MyMailTo VARCHAR(250); -DECLARE MyMailReplyTo VARCHAR(250); -DECLARE done INT DEFAULT FALSE; -DECLARE emptyList INT DEFAULT 0; -DECLARE txt TEXT; - -DECLARE rs CURSOR FOR -SELECT t.Id_Ticket, Alias, cast(amount as decimal(10,2)) Importe, Domicilio, POBLACION -FROM Tickets t -JOIN Consignatarios cs on t.Id_Consigna = cs.Id_Consigna -JOIN v_ticket_amount v on v.Id_Ticket = t.Id_Ticket -WHERE t.Fecha BETWEEN v_Date AND dayend(v_Date) -AND t.Id_Cliente = v_Client_Id; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -SET v_Date = IFNULL(v_Date, util.yesterday()); - -OPEN rs; - -FETCH rs INTO MyIdTicket, MyAlias, MyImporte, MyDomicilio, MyPoblacion; - -SET emptyList = done; - -SET txt = CONCAT('

', - '

Relación de envíos.

', - '

Dia: ', v_Date, '

'); - -WHILE NOT done DO - - SET txt = CONCAT(txt, '

', - ' - - - - - - -
- Ticket ', MyIdTicket,' ', MyImporte, ' €
' - , ' ', MyAlias, '
' - , ' ', MyDomicilio, '(', MyPoblacion, ')'); - -FETCH rs INTO MyIdTicket, MyAlias, MyImporte, MyDomicilio, MyPoblacion; - -END WHILE; - - -SET txt = CONCAT(txt, - '', - '', - '
', - '

Puede acceder al detalle de los albaranes haciendo click sobre el número de Ticket', - '

Muchas gracias por su confianza

', - '

'); - --- Envío del email -IF emptyList = 0 THEN - - SELECT CONCAT(`e-mail`,',pako@verdnatura.es') INTO MyMailTo - FROM Clientes - WHERE Id_Cliente = v_Client_Id AND `e-mail`>''; - - IF v_Client_Id = 7818 THEN -- LOEWE - - SET MyMailTo = 'isabel@elisabethblumen.com,emunozca@loewe.es,pako@verdnatura.es'; - - END IF; - - INSERT INTO mail(`to`, reply_to, subject, text) - VALUES (IFNULL(MyMailTo,'pako.natek@gmail.com'),'pako@verdnatura.es','Resumen de pedidos preparados',txt); - -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 `emailYesterdayPurchasesLauncher` */; -/*!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 `emailYesterdayPurchasesLauncher`() -BEGIN - -DECLARE done INT DEFAULT 0; -DECLARE vMyClientId INT; - -DECLARE rs CURSOR FOR -SELECT Id_Cliente -FROM Clientes -WHERE EYPBC != 0; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN rs; - -FETCH rs INTO vMyClientId; - -WHILE NOT done DO - - CALL emailYesterdayPurchasesByConsigna(util.yesterday(), vMyClientId); - - FETCH rs INTO vMyClientId; - -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 `embalajes_stocks` */; -/*!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 `embalajes_stocks`(IN idPEOPLE INT, IN bolCLIENT BOOLEAN) -BEGIN - -if bolCLIENT then - - select m.Id_Article, Article, - cast(sum(m.Cantidad) as decimal) as Saldo - from Movimientos m - join Articles a on m.Id_Article = a.Id_Article - join Tipos tp on tp.tipo_id = a.tipo_id - join Tickets t using(Id_Ticket) - join Consignatarios cs using(Id_Consigna) - where cs.Id_Cliente = idPEOPLE - and Tipo = 'Contenedores' - and t.Fecha > '2010-01-01' - group by m.Id_Article; - -else - -select Id_Article, Article, sum(Cantidad) as Saldo -from -(select Id_Article, Cantidad -from Compres c -join Articles a using(Id_Article) -join Tipos tp using(tipo_id) -join Entradas e using(Id_Entrada) -join travel tr on tr.id = travel_id -where Id_Proveedor = idPEOPLE -and landing >= '2010-01-01' -and reino_id = 6 - -union all - -select Id_Article, - Cantidad -from Movimientos m -join Articles a using(Id_Article) -join Tipos tp using(tipo_id) -join Tickets t using(Id_Ticket) -join Consignatarios cs using(Id_Consigna) -join proveedores_clientes pc on pc.Id_Cliente = cs.Id_Cliente -where Id_Proveedor = idPEOPLE -and reino_id = 6 -and t.Fecha > '2010-01-01') mov - -join Articles a using(Id_Article) -group by Id_Article; - -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 `embalajes_stocks_detalle` */; -/*!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 `embalajes_stocks_detalle`(IN idPEOPLE INT, IN idARTICLE INT, IN bolCLIENT BOOLEAN) -BEGIN - - -if bolCLIENT then - - select m.Id_Article - , Article - , IF(Cantidad < 0, - Cantidad, NULL) as Entrada - , IF(Cantidad < 0, NULL, Cantidad) as Salida - , 'T' as Tabla - , t.Id_Ticket as Registro - , t.Fecha - , w.name as Almacen - , cast(Preu as Decimal(5,2)) Precio - , c.Cliente as Proveedor - , abbreviation as Empresa - from Movimientos m - join Articles a using(Id_Article) - join Tickets t using(Id_Ticket) - join empresa e on e.id = t.empresa_id - join warehouse w on w.id = t.warehouse_id - join Consignatarios cs using(Id_Consigna) - join Clientes c on c.Id_Cliente = cs.Id_Cliente - where cs.Id_Cliente = idPEOPLE - and m.Id_Article = idARTICLE - and t.Fecha > '2010-01-01'; - -else - -select Id_Article, Tabla, Registro, Fecha, Article -, w.name as Almacen, Entrada, Salida, Proveedor, cast(Precio as Decimal(5,2)) Precio - -from - -(select Id_Article - , IF(Cantidad > 0, Cantidad, NULL) as Entrada - , IF(Cantidad > 0, NULL,- Cantidad) as Salida - , 'E' as Tabla - , Id_Entrada as Registro - , landing as Fecha - , tr.warehouse_id - , Costefijo as Precio -from Compres c -join Entradas e using(Id_Entrada) -join travel tr on tr.id = travel_id -where Id_Proveedor = idPEOPLE -and Id_Article = idARTICLE -and landing >= '2010-01-01' - -union all - -select Id_Article - , IF(Cantidad < 0, - Cantidad, NULL) as Entrada - , IF(Cantidad < 0, NULL, Cantidad) as Salida - , 'T' - , Id_Ticket - , Fecha - , t.warehouse_id - , Preu -from Movimientos m -join Tickets t using(Id_Ticket) -join Consignatarios cs using(Id_Consigna) -join proveedores_clientes pc on pc.Id_Cliente = cs.Id_Cliente -where Id_Proveedor = idPEOPLE -and Id_Article = idARTICLE -and t.Fecha > '2010-01-01') mov - -join Articles a using(Id_Article) -join Proveedores p on Id_Proveedor = idPEOPLE -join warehouse w on w.id = mov.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 `entradaCambioUpdate` */; -/*!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 `entradaCambioUpdate`(IN vIdEntrada INT) -BEGIN - - DECLARE vMoneda INT; - - SELECT Id_Moneda INTO vMoneda FROM Entradas WHERE Id_Entrada = vIdEntrada; - - UPDATE Entradas - SET comision = getComision(vIdEntrada, vMoneda) - WHERE Id_Entrada = vIdEntrada; - -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 `EntradasTriggerBeforeDelete` */; -/*!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 `EntradasTriggerBeforeDelete`(oldTravel INT, oldId INT) -BEGIN - - DECLARE hasToRecalculate BOOLEAN; - DECLARE newWarehouse INT; - - SELECT Id_Compra INTO hasToRecalculate FROM Compres c - JOIN vn.lastBuy lb ON lb.id = c.Id_Compra - WHERE c.Id_Entrada = newId LIMIT 1; - IF hasToRecalculate THEN - SELECT warehouse_id INTO newWarehouse FROM travel WHERE id = oldTravel; - CALL vn.lastBuyRefresh(newWarehouse); - 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 `EntradasTriggerBeforeUpdate` */; -/*!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 `EntradasTriggerBeforeUpdate`(oldTravel INT, newTravel INT, oldRedada BOOLEAN, - newRedada BOOLEAN, newId INT) -BEGIN - DECLARE newWarehouse INTEGER; - DECLARE hasToRecalculate BOOLEAN; - - IF oldRedada <> newRedada OR newTravel IS NULL THEN - - SELECT Id_Compra INTO hasToRecalculate FROM Compres c - JOIN vn.lastBuy lb ON lb.id = c.Id_Compra - WHERE c.Id_Entrada = newId LIMIT 1; - IF hasToRecalculate THEN - SELECT warehouse_id INTO newWarehouse FROM travel WHERE id = newtravel; - CALL vn.lastBuyRefresh(newWarehouse); - END IF; - END IF; - - IF newTravel <> oldTravel AND newTravel IS NOT NULL THEN - UPDATE travel t - JOIN Compres c ON c.Id_Entrada = newId - JOIN vn.lastBuy lb ON c.Id_Article = lb.item AND t.warehouse_id = lb.warehouse - SET lb.id = c.Id_Compra - WHERE t.id = newTravel AND t.landing BETWEEN date_inv() AND util.yesterday() - AND t.landing > lb.landing; - 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 `Entradas_Restar` */; -/*!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 `Entradas_Restar`(IN Id_Minuendo INT, IN Id_Sustraendo INT) -BEGIN - -UPDATE Compres c -JOIN -( - SELECT Id_Article, Cantidad - FROM Compres - WHERE Id_Entrada = Id_Sustraendo -) sub using(Id_Article) -SET c.Cantidad = c.Cantidad - sub.Cantidad -WHERE Id_Entrada = Id_Minuendo; - - -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 `entryComisionUpdate` */; -/*!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 `entryComisionUpdate`(IN vIdEntrada INT) -BEGIN - - UPDATE Entradas - SET comision = getComision(vIdEntrada) - WHERE Id_Entrada = vIdEntrada; - -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 `entryFromOrder` */; -/*!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 `entryFromOrder`(IN vShipmentWarehouse INTEGER, IN vLandingWarehouse INTEGER, IN vItem INTEGER, - IN vAmount INTEGER,IN vVolume INTEGER,vCost DECIMAL(10,2), IN vRetailedPrice DECIMAL(10,2), vInOutDate DATE) -BEGIN - - DECLARE vTravel INT; - DECLARE vEntry INT; - DECLARE vBucket VARCHAR(10); - - -- seleccionamos travel - SELECT id, Id_Entrada INTO vTravel, vEntry - FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id - WHERE t.landing = vInOutDate AND t.shipment = vInOutDate AND t.warehouse_id_out = vShipmentWarehouse - AND t.warehouse_id = vLandingWarehouse AND agency_id = 15 - LIMIT 1; - - -- creamos el travel si es necesario - IF NOT IFNULL(vTravel,0) THEN - INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) - VALUES (vInOutDate, vInOutDate, vLandingWarehouse, vShipmentWarehouse, 15); - SELECT LAST_INSERT_ID() INTO vTravel; - END IF; - -- creamos la Entrada si es necesario - IF NOT IFNULL(vEntry,0) THEN - INSERT INTO Entradas (Id_Proveedor, travel_id) - VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' - SELECT LAST_INSERT_ID() INTO vEntry; - END IF; - - -- creamos el cubo si es necesario - SELECT Id_Cubo INTO vBucket FROM Cubos WHERE Volumen = vVolume LIMIT 1; - - IF NOT IFNULL(vBucket,'') > '' THEN - INSERT INTO Cubos (Id_Cubo, Volumen) - VALUES (CONCAT('dm',vVolume/1000), vVolume); - SELECT LAST_INSERT_ID() INTO vBucket; - END IF; - - INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, - Comisionfija, Tarifa2, Tarifa3) - VALUES(vItem, - vAmount, - vEntry, - vBucket, - 1, - 1, - 0, - vCost, - 0, - 0, - 0, - vRetailedPrice, - vRetailedPrice); -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 `entryFromTicket` */; -/*!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 `entryFromTicket`(IN vTicket INTEGER, IN vLandingWarehouse INTEGER) -BEGIN - - DECLARE vShipmentWarehouse INT; - DECLARE vLandingDate DATE; - DECLARE vShipmentDate DATE; - DECLARE vTravel INT; - DECLARE vEntry INT; - - SELECT warehouse_id, Fecha, Fecha INTO vShipmentWarehouse, vShipmentDate, vLandingDate FROM Tickets WHERE Id_Ticket = vTicket; - - -- seleccionamos travel - SELECT id, Id_Entrada INTO vTravel, vEntry - FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id - WHERE t.landing = vLandingDate AND t.shipment = vShipmentDate AND t.warehouse_id_out = vShipmentWarehouse AND t.warehouse_id = vLandingWarehouse - AND agency_id = 15 - LIMIT 1; - - -- creamos el travel si es necesario - IF vTravel IS NULL THEN - select vLandingDate; - INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) - VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vShipmentWarehouse, 15); - SELECT LAST_INSERT_ID() INTO vTravel; - END IF; - - -- creamos la Entrada si es necesario - IF vEntry IS NULL THEN - INSERT INTO Entradas (Id_Proveedor, travel_id) - VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' - SELECT LAST_INSERT_ID() INTO vEntry; - END IF; - - CALL item_last_buy_(vShipmentWarehouse,vShipmentDate); - - INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, - Comisionfija, Tarifa2, Tarifa3) - SELECT m.Id_Article, - m.Cantidad, - vEntry, - c.Id_Cubo, - c.Packing, - IF(c.grouping,c.grouping,1), - c.caja, - Costefijo, - c.Portefijo, - c.Embalajefijo, - c.Comisionfija, - m.Preu Tarifa2, - m.Preu Tarifa3 - FROM - Movimientos m - JOIN Articles a ON m.Id_Article = a.Id_Article - LEFT JOIN t_item_last_buy b ON m.Id_Article = b.item_id AND b.warehouse_id = vShipmentWarehouse - LEFT JOIN Compres c ON c.Id_Compra = b.buy_id - WHERE m.Id_Ticket = 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 `entryUpdateComision` */; -/*!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 `entryUpdateComision`(IN vIdEntrada INT) -BEGIN - - UPDATE Entradas - SET comision = getComision(vIdEntrada, Id_Moneda) - WHERE Id_Entrada = vIdEntrada; - -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 `entryWithItem` */; -/*!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 `entryWithItem`(IN vShipmentWarehouse INTEGER, IN vLandingWarehouse INTEGER, - IN vItem INTEGER, IN vAmount INTEGER,IN vVolume INTEGER, IN vGrossMargin DECIMAL(10,2), vInOutDate DATE) -BEGIN - - DECLARE vLandingWarehouse INT; - DECLARE vLandingDate DATE; - DECLARE vShipmentDate DATE; - DECLARE vTravel INT; - DECLARE vEntry INT; - DECLARE vBucket VARCHAR(10); - - -- seleccionamos travel - SELECT id, Id_Entrada INTO vTravel, vEntry - FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id - WHERE t.landing = vInOutDate AND t.shipment = vInOutDate AND t.warehouse_id_out = vShipmentWarehouse - AND t.warehouse_id = vLandingWarehouse AND agency_id = 15 - LIMIT 1; - - -- creamos el travel si es necesario - IF NOT vTravel THEN - INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) - VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vLandingWarehouse, 15); - SELECT LAST_INSERT_ID() INTO vTravel; - END IF; - - -- creamos la Entrada si es necesario - IF NOT vEntry THEN - INSERT INTO Entradas (Id_Proveedor, travel_id) - VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' - SELECT LAST_INSERT_ID() INTO vEntry; - END IF; - - -- creamos el cubo si es necesario - SELECT Id_Cubo INTO vBucket FROM Cubos WHERE Volumen = vVolume LIMIT 1; - IF vBucket IS NULL THEN - INSERT INTO Cubos (Id_Cubo, Volumen) - VALUES (CONCAT('dm',vVolume/1000), vVolume); - SELECT LAST_INSERT_ID() INTO vBucket; - END IF; - - INSERT INTO Compres(Id_Article,Cantidad, Id_Entrada, Id_Cubo, Packing, grouping, caja, Costefijo, Portefijo, Embalajefijo, - Comisionfija, Tarifa2, Tarifa3) - SELECT vItem, - vAmount, - vEntry, - vBucket, - 1 Packing, - 1 grouping, - 0 caja, - SUM(m.Preu), - 0 Portefijo, - 0 Embalajefijo, - 0 Comisionfija, - SUM(m.Preu) + vGrossMargin Tarifa2, - SUM(m.Preu) + vGrossMargin Tarifa3 - FROM - Movimientos m - WHERE m.Id_Ticket = 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 `envios_masivos` */; -/*!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 `envios_masivos`(IN idTICKET INT, IN IdCONSIGNA_DESDE INT, IN IdCONSIGNA_HASTA INT) -BEGIN - --- Se trata de clonar el ticket semilla para todos los consignatarios del rango, con los movimientos que contenga - --- Insertamos los tickets - -INSERT INTO Tickets(Id_Consigna, Id_Cliente, warehouse_id, Fecha, Alias, Tipo, Id_Trabajador, empresa_id, Id_Agencia) -SELECT c.Id_Consigna, t.Id_Cliente, t.warehouse_id, t.Fecha, c.Consignatario, t.Tipo, t.Id_Trabajador, t.empresa_id, t.Id_Agencia -FROM Tickets t -JOIN Consignatarios c -WHERE Id_Ticket = idTICKET -AND c.Id_Consigna BETWEEN IdCONSIGNA_DESDE AND IdCONSIGNA_HASTA; - - --- Insertamos los movimientos - -INSERT INTO Movimientos(Id_Article, Concepte, Cantidad, Preu, PrecioFijado, Id_Ticket) -SELECT Id_Article, Concepte, Cantidad, Preu, TRUE , t.Id_Ticket -FROM Tickets t -JOIN Movimientos m -WHERE m.Id_Ticket = idTICKET -AND t.Id_Consigna BETWEEN IdCONSIGNA_DESDE AND IdCONSIGNA_HASTA; - - -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 `etiqueta_sambori` */; -/*!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 `etiqueta_sambori`(IN lngEXPEDITION BIGINT, IN intMODE INT, IN intH INT, IN intFILAS INT) -BEGIN - -DECLARE intCOLUMNAS INT; -DECLARE intBULTOS INT; -DECLARE intDESCARGAS INT; -DECLARE intRUTA INT; -DECLARE intPOSICIONES INT; - - - -SELECT Id_Ruta INTO intRUTA -FROM Tickets t -JOIN expeditions e on e.ticket_id = t.Id_Ticket -WHERE e.expeditions_id = lngEXPEDITION; - - -SELECT sum(Bultos) , count(*) , CEIL(SUM(CEIL(Bultos / intH)) / intFILAS), SUM(CEIL(Bultos / intH)) - INTO intBULTOS,intDESCARGAS, intCOLUMNAS, intPOSICIONES -from -( -SELECT Id_Consigna, sum(Bultos) Bultos -FROM Tickets -WHERE Id_Ruta = intRUTA -group by Id_Consigna -) sub; - - - - -IF intMODE <> 2 THEN - - SELECT - CONCAT( IF(posicion_min MOD intFILAS = 0, intFILAS, posicion_min MOD intFILAS) - , MID(' BCDEFG',CEIL(posicion_min /intFILAS),1) - , IF(posicion_min = posicion_max,'',' - ') - , IF(posicion_min = posicion_max,'',IF(posicion_max MOD intFILAS = 0, intFILAS, posicion_max MOD intFILAS)) - , IF(posicion_min = posicion_max,'',MID(' BCDEFG',CEIL(posicion_max /intFILAS),1)) - - ) sambori, - t.Prioridad, - t.Id_Consigna, - CONCAT(e.counter, ' / ', t.Bultos) count_bultos, - e.expeditions_id, - zone, - Matricula Vehiculo, - trab.CodigoTrabajador Chofer, - Rutas.Id_Ruta, - RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR, - t.Bultos TotalBultos, - RIGHT(e.expeditions_id,3) expeditions_IDSTR - FROM - expeditions e - JOIN - Tickets t ON e.ticket_id = t.Id_Ticket - JOIN - ( - select Prioridad, cast(@s - 1 as decimal(3,0)) as posicion_max, @s:= cast(@s - ubicaciones as decimal(3,0)) as posicion_min - from - ( - select t.Prioridad, sum(t.Bultos) as bultos, CEIL(sum(t.bultos) / intH) as ubicaciones, @s := intPOSICIONES + 1 - from Tickets t - where Id_Ruta = intRUTA - group by Prioridad) sub - - ) posiciones on posiciones.Prioridad = t.Prioridad - - JOIN - Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna - JOIN - province p USING (province_id) - JOIN - Rutas ON t.Id_Ruta = Rutas.Id_Ruta - left JOIN - Vehiculos veh USING (Id_vehiculo) - left JOIN - Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador - WHERE - expeditions_id = lngEXPEDITION; -ELSE - - - SELECT - CEIL((SUM(IF(t.Prioridad > t1.Prioridad, - t1.Bultos, - 0)) + e.Counter) / CEIL(SUM(t1.Bultos) / 13)) sambori, - t.Prioridad, - t.Id_Consigna, - CONCAT(e.counter, ' / ', t.Bultos) count_bultos, - e.expeditions_id, - zone, - Matricula Vehiculo, - trab.CodigoTrabajador Chofer, - Rutas.Id_Ruta, - RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR, - t.Bultos TotalBultos, - RIGHT(e.expeditions_id,3) expeditions_IDSTR - FROM - expeditions e - JOIN - Tickets t ON e.ticket_id = t.Id_Ticket - JOIN - Tickets t1 ON t.Id_Ruta = t1.Id_Ruta - JOIN - Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna - JOIN - province p USING (province_id) - JOIN - Rutas ON t1.Id_Ruta = Rutas.Id_Ruta - LEFT JOIN - Vehiculos veh USING (Id_vehiculo) - LEFT JOIN - Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador - WHERE - expeditions_id = lngEXPEDITION; -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 `etiqueta_sambori_2` */; -/*!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 `etiqueta_sambori_2`(IN lngEXPEDITION BIGINT, IN intMODE INT, IN intH INT, IN intFILAS INT) -BEGIN - -DECLARE intCOLUMNAS INT; -DECLARE intBULTOS INT; -DECLARE intDESCARGAS INT; -DECLARE intRUTA INT; -DECLARE intPOSICIONES INT; - - - -SELECT Id_Ruta INTO intRUTA -FROM Tickets t -JOIN expeditions e on e.ticket_id = t.Id_Ticket -WHERE e.expeditions_id = lngEXPEDITION; - - -SELECT sum(Bultos) , count(*) , CEIL(SUM(CEIL(Bultos / intH)) / intFILAS), SUM(CEIL(Bultos / intH)) - INTO intBULTOS,intDESCARGAS, intCOLUMNAS, intPOSICIONES -from -( -SELECT Id_Consigna, sum(Bultos) Bultos -FROM Tickets -WHERE Id_Ruta = intRUTA -group by Id_Consigna -) sub; - - - - -IF intMODE <> 2 THEN - - SELECT - CONCAT( IF(posicion_min MOD intFILAS = 0, intFILAS, posicion_min MOD intFILAS) - , MID(' BCDEFG',CEIL(posicion_min /intFILAS),1) - , IF(posicion_min = posicion_max,'',' - ') - , IF(posicion_min = posicion_max,'',IF(posicion_max MOD intFILAS = 0, intFILAS, posicion_max MOD intFILAS)) - , IF(posicion_min = posicion_max,'',MID(' BCDEFG',CEIL(posicion_max /intFILAS),1)) - - ) sambori, - t.Prioridad, - t.Id_Consigna, - CONCAT(e.counter, ' / ', t.Bultos) count_bultos, - e.expeditions_id, - zone, - Matricula Vehiculo, - trab.CodigoTrabajador Chofer, - Rutas.Id_Ruta, - RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR - FROM - expeditions e - JOIN - Tickets t ON e.ticket_id = t.Id_Ticket - JOIN - ( - select Prioridad, cast(@s - 1 as decimal(3,0)) as posicion_max, @s:= cast(@s - ubicaciones as decimal(3,0)) as posicion_min - from - ( - select t.Prioridad, sum(t.Bultos) as bultos, CEIL(sum(t.bultos) / intH) as ubicaciones, @s := intPOSICIONES + 1 - from Tickets t - where Id_Ruta = intRUTA - group by Prioridad) sub - - ) posiciones on posiciones.Prioridad = t.Prioridad - - JOIN - Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna - JOIN - province p USING (province_id) - JOIN - Rutas ON t.Id_Ruta = Rutas.Id_Ruta - left JOIN - Vehiculos veh USING (Id_vehiculo) - left JOIN - Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador - WHERE - expeditions_id = lngEXPEDITION; -ELSE - - - SELECT - CEIL((SUM(IF(t.Prioridad > t1.Prioridad, - t1.Bultos, - 0)) + e.Counter) / CEIL(SUM(t1.Bultos) / 13)) sambori, - t.Prioridad, - t.Id_Consigna, - CONCAT(e.counter, ' / ', t.Bultos) count_bultos, - e.expeditions_id, - zone, - Matricula Vehiculo, - trab.CodigoTrabajador Chofer, - Rutas.Id_Ruta, - RIGHT(Rutas.Id_Ruta, 2) Id_RutaSTR - FROM - expeditions e - JOIN - Tickets t ON e.ticket_id = t.Id_Ticket - JOIN - Tickets t1 ON t.Id_Ruta = t1.Id_Ruta - JOIN - Consignatarios cs ON cs.Id_Consigna = t.Id_Consigna - JOIN - province p USING (province_id) - JOIN - Rutas ON t1.Id_Ruta = Rutas.Id_Ruta - LEFT JOIN - Vehiculos veh USING (Id_vehiculo) - LEFT JOIN - Trabajadores trab ON Rutas.Id_Trabajador = trab.Id_Trabajador - WHERE - expeditions_id = lngEXPEDITION; -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 `eti_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 `eti_list`(IN wh_in INT) -BEGIN - -SELECT warehouse.name AS Alm_Origen - , travel.shipment - , travel.shipment_hour AS ETD - , warehouse_1.name AS Alm_Destino - , travel.landing - ,travel.landing_hour AS ETA - , awb.codigo AS awb - , Entradas.Id_Entrada - , Sum(Compres.Etiquetas) AS bultos - , Agencias.Agencia - , producer.name AS producer - , Proveedores.Proveedor - , Sum(Compres.Vida) AS Impresas - , producer.producer_id - , IFNULL((Entradas.Confirmada AND length(Entradas.Notas) > 0),0) as Ready_to_print - FROM Compres - INNER JOIN Entradas ON Entradas.Id_Entrada = Compres.Id_Entrada - INNER JOIN travel ON Entradas.travel_id = travel.id - INNER JOIN warehouse AS warehouse_1 ON warehouse_1.id = travel.warehouse_id - INNER JOIN warehouse ON warehouse.id = travel.warehouse_id_out - INNER JOIN Agencias ON Agencias.Id_Agencia = travel.agency_id - LEFT JOIN recibida_entrada ON Entradas.Id_Entrada = recibida_entrada.Id_Entrada - LEFT JOIN awb_recibida ON recibida_entrada.awb_recibida = awb_recibida.recibida_id - LEFT JOIN awb ON awb_recibida.awb_id = awb.id - INNER JOIN Articles ON Compres.Id_Article = Articles.Id_Article - LEFT JOIN producer ON Articles.producer_id = producer.producer_id - INNER JOIN Proveedores ON Entradas.Id_Proveedor = Proveedores.Id_Proveedor - - - WHERE wh_in IN (travel.warehouse_id_out, travel.warehouse_id) - AND travel.landing Between TIMESTAMPADD(DAY,-7,CURDATE()) and TIMESTAMPADD(DAY,14,CURDATE()) - GROUP BY warehouse.name, travel.shipment, travel.shipment_hour - , warehouse_1.name, travel.landing, travel.landing_hour - , awb.codigo, Entradas.Id_Entrada, Agencias.Agencia - , producer.name, Proveedores.Proveedor - ORDER BY travel.landing DESC; - -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 `eti_to_print` */; -/*!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 `eti_to_print`(IN idENTRADA INT, IN idPRODUCER INT) -BEGIN - -select Vida as Impresas - ,Etiquetas as bultos - ,Packing - ,Id_Article - ,CONCAT(Article,' ',Medida,' ', Categoria) as Articat - ,p.name as marca - ,Proveedor - ,Id_Entrada - ,Id_Compra -from Compres c -join Entradas e using(Id_Entrada) -join Proveedores using(Id_Proveedor) -join travel tr on tr.id = e.travel_id -join Articles a using(Id_Article) -left join producer p using(producer_id) -where Id_Entrada = idENTRADA - and idPRODUCER in (0,a.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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `f10_no_vincular` */; -/*!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 `f10_no_vincular`(lngEntrada INTEGER) - DETERMINISTIC -BEGIN - DECLARE datFecha DATE DEFAULT CURDATE(); - --- Modifica el NoVincular si hay dos entradas con el mismo Packing y el mismo Id_Articulo - DROP TEMPORARY TABLE IF EXISTS f10_no_vincular_; - CREATE TEMPORARY TABLE IF NOT EXISTS f10_no_vincular_ - SELECT c.Id_Entrada,c.Id_Compra,c.Id_Article, c.Novincular, c.Packing, be.pri - FROM Compres c - JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha - LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = c.Id_Entrada - WHERE - ((ek.Id_Entrada IS NOT NULL AND ek.sub IS NULL) - OR (c.Id_Entrada = 9200 AND be.ok <> FALSE) - OR c.Id_Entrada = lngEntrada) AND Id_Article <> 90; - - -- Modifica el NoVincular si hay dos entradas con el mismo Packing y el mismo Id_Articulo - DROP TEMPORARY TABLE IF EXISTS f10_mismo_Packing; - CREATE TEMPORARY TABLE IF NOT EXISTS f10_mismo_Packing - SELECT * FROM ( - SELECT * FROM f10_no_vincular_ - ORDER BY pri DESC) t - GROUP BY Id_Article,Packing - HAVING count(Id_Compra) > 1 AND BIT_OR(Id_Entrada = 9200); - - UPDATE Compres c - JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha - JOIN f10_mismo_Packing f ON f.Id_Article = c.Id_Article AND c.Packing = f.Packing - LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = f.Id_Entrada - SET c.Novincular = IF(c.Id_Compra = f.Id_Compra,0,1) - WHERE - ((ek.Id_Entrada IS NOT NULL AND ek.sub IS NULL) - OR (c.Id_Entrada = 9200 AND be.ok <> FALSE) - OR c.Id_Entrada = lngEntrada); - --- Modifica el Id_Articulo si hay dos entradas con packing y el mismo Id_Articulo - DROP TEMPORARY TABLE IF EXISTS f10_mismo_Articulo; - CREATE TEMPORARY TABLE IF NOT EXISTS f10_mismo_Articulo - SELECT Id_Article FROM ( - SELECT * FROM ( - SELECT * FROM f10_no_vincular_ - ORDER BY Id_Entrada = 9200 DESC) t - GROUP BY Id_Article,Packing ) t - GROUP BY Id_Article HAVING COUNT(*) > 1 AND BIT_OR(Id_Entrada = 9200); - SELECT 4; - UPDATE Compres c - JOIN buy_edi be ON c.buy_edi_id = be.id AND be.fec = datFecha - JOIN f10_mismo_Articulo f ON f.Id_Article = c.Id_Article - LEFT JOIN Entradas_kop ek ON ek.Id_Entrada = c.Id_Entrada - SET c.Id_Article = 90 - WHERE c.Id_Entrada = 9200 AND be.ok <> FALSE; - - DROP TEMPORARY TABLE IF EXISTS f10_no_vincular_; - DROP TEMPORARY TABLE IF EXISTS f10_mismo_Packing; - DROP TEMPORARY TABLE IF EXISTS f10_mismo_Articulo; -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 `F5` */; -/*!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 `F5`(IN idT BIGINT) -BEGIN -SELECT C.calidad, - LEFT(Article, 4) as Subtipo, - barcode, - 'ASEGURADO' AS asegurado, -/*CASE A.tipo_id -WHEN 75 THEN IF(M.Id_Article IN (120,2388,20100,16,10,130,104851,1,56,238,104850,104849,2),'RAMAJE',R.Reino) -WHEN 68 THEN IF(M.Id_Article IN (11539,10,14),'RAMAJE',R.Reino) -WHEN 69 THEN IF(M.Id_Article IN (41),'RAMAJE',R.Reino) -WHEN 72 THEN IF(M.Id_Article IN (238),'RAMAJE',R.Reino) -WHEN 2 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 122 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 12 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 13 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 14 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 15 THEN 'CYMBIDIUMS & ANTHURIUMS' -WHEN 71 THEN IF(LEFT(Article,2) = 'HC','Flor',R.Reino) -WHEN 19 THEN IF(LEFT(Article,3) IN ('HEL','GIN'),'CYMBIDIUMS & ANTHURIUMS',R.Reino) -WHEN 70 THEN IF(Article like '%red beauty%' or Article like '%clarinervium%','CYMBIDIUMS & ANTHURIUMS',R.Reino) -WHEN 86 THEN 'Flor' -ELSE R.Reino -END as*/ Reino, - /* -CASE A.tipo_id -WHEN 75 THEN IF(M.Id_Article IN (120,2388,20100,16,10,130,104851,1,56,238,104850,104849,2),-1,R.orden) -WHEN 68 THEN IF(M.Id_Article IN (11539,10,14),-1,R.orden) -WHEN 69 THEN IF(M.Id_Article IN (41),-1,R.orden) -WHEN 72 THEN IF(M.Id_Article IN (238),-1,R.orden) -WHEN 2 THEN 0 -WHEN 122 THEN 0 -WHEN 12 THEN 0 -WHEN 13 THEN 0 -WHEN 14 THEN 0 -WHEN 15 THEN 0 -WHEN 71 THEN IF(LEFT(Article,2) = 'HC',1,R.orden) -WHEN 19 THEN IF(LEFT(Article,3) IN ('HEL','GIN'),0,R.orden) -WHEN 70 THEN IF(Article like '%red beauty%' or Article like '%clarinervium%',0,R.orden) -WHEN 86 THEN 1 -ELSE R.orden -END as*/ R.orden, - CS.Consignatario, - T.Id_Cliente, - T.Id_Trabajador, - T.Id_Ticket, - T.Fecha, - M.Id_Article, - M.Cantidad, - M.quantity, - M.Cantidad / IF(nz(Gro.Grouping) = 0,1,nz(Gro.Grouping)) as Paquetes, - M.Concepte, - A.Medida, - A.Color, - A.Categoria, - O.Abreviatura as Origen, - T.Localizacion, - CT.CodigoTrabajador as Vendedor, - T.Bultos, - T.Observaciones, - Ag.Agencia Tipo, - TR.CodigoTrabajador, - /*0 Seguro,*/ - M.OK, - M.Reservado, - A.Tallos, - Gro.Grouping, - IF(`transaction`,right(concat('000000' ,M.Id_Article),6),M.Id_Movimiento) Id_Movimiento, - an.Nicho, - 'PEDIDO ASEGURADO' AS MSG, - T.Id_Ruta, - RT.Id_Vehiculo, - observation_type_id, - group_concat(IF(observation_type_id = 1,text,'') SEPARATOR '') 'sacador', - group_concat(IF(observation_type_id = 2,text,'') SEPARATOR '') 'encajador', - A.Foto, - M.Id_Movimiento movement_id, - lpad(ifnull(cooler_path_detail_id, an.Nicho),5,'0') as path, - M.Descuento,M.Preu, mm.valor as Preparado, mm.original_quantity - , p.`name` producer, T.warehouse_id, CS.POBLACION -- JGF 2016-02-16 -FROM - - Tickets T - LEFT JOIN Movimientos M USING(Id_Ticket) - LEFT JOIN Articles A on A.Id_Article = M.Id_Article - LEFT JOIN Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = T.warehouse_id - LEFT JOIN producer p on p.producer_id = A.producer_id -- JGF 2016-02-16 - LEFT JOIN cooler_path_detail c on left(an.Nicho,3) = pasillo - LEFT JOIN Origen O ON A.id_origen = O.id - LEFT JOIN Clientes C USING(Id_Cliente) - LEFT JOIN Trabajadores CT ON C.Id_Trabajador = CT.Id_Trabajador - LEFT JOIN Trabajadores TR ON TR.Id_Trabajador = T.Id_Trabajador - INNER JOIN Consignatarios CS ON T.Id_Consigna = CS.Id_Consigna - INNER JOIN Agencias Ag ON Ag.Id_Agencia = T.Id_Agencia - LEFT JOIN ( - SELECT Id_Article, code as barcode - FROM barcodes - GROUP BY Id_Article - ) BC ON BC.Id_Article = A.Id_Article - LEFT JOIN Tipos TP USING(tipo_id) - LEFT JOIN reinos R ON TP.reino_id = R.id - LEFT JOIN Rutas RT USING(Id_Ruta) - LEFT JOIN ticket_observation tobs ON T.Id_Ticket = tobs.Id_ticket - AND (tobs.observation_type_id = 1 or tobs.observation_type_id = 2) - - LEFT JOIN ( - SELECT Id_Article, Grouping - FROM ( - SELECT landing, Id_Article, CASE caja - WHEN 0 THEN 1 - WHEN 2 THEN Packing - ELSE Grouping - END as Grouping - FROM Compres C - JOIN Entradas E USING(Id_Entrada) - JOIN travel TR ON TR.id = travel_id - WHERE warehouse_id = (SELECT warehouse_id FROM Tickets WHERE Id_Ticket = idT) - AND landing between (SELECT FechaInventario FROM tblContadores LIMIT 1) AND (SELECT date(Fecha) FROM Tickets WHERE Id_Ticket = idT) - ORDER BY landing DESC - ) GR1 - GROUP BY Id_Article - - ) Gro ON Gro.Id_Article = M.Id_Article - LEFT JOIN Movimientos_mark mm ON mm.Id_Movimiento = M.Id_Movimiento - - WHERE T.Id_Ticket = idT group by M.Id_Movimiento; -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 `F5_entrada` */; -/*!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 `F5_entrada`(IN idE BIGINT) -BEGIN - - -SELECT - NULL AS Sacador, - NULL AS Encajador, - v.Cantidad / v.Packing AS Paquetes, - v.Packing AS Grouping, - barcode, - 'ASEGURADO' AS asegurado, - reino, - r.orden, - Alias AS Consignatario, - v.Id_Proveedor AS Id_Cliente, - v.Pedida, - v.Confirmada, - NULL AS vendedor, - 10 AS Calidad, - LPAD(IFNULL(cooler_path_detail_id, an.Nicho), - 5, - '0') AS path, - TB.Id_Trabajador, - v.Id_Entrada AS Id_Ticket, - landing AS Fecha, - v.Id_Article, - v.Cantidad, - v.article AS Concepte, - v.Medida, - v.Color, - v.Categoria, - Abreviatura AS Origen, - NULL AS Localizacion, - 0 AS Bultos, - w.`name` AS Tipo, - CodigoTrabajador, - 0 AS OK, - 0 AS Reservado, - v.Tallos, - v.Id_Compra AS Id_Movimiento, - an.Nicho, - 'PEDIDO ASEGURADO' AS MSG, - 0 AS Seguro, - 0 AS Id_Ruta, - 0 AS Id_Vehiculo, - a.Foto, - pr.name as producer -FROM - v_compres v - LEFT JOIN - Articles_nicho an ON v.Id_Article = an.Id_Article AND an.warehouse_id = v.warehouse_id_out - JOIN - warehouse w ON w.id = v.warehouse_id - LEFT JOIN - Tipos USING (tipo_id) - LEFT JOIN - reinos r ON r.id = Tipos.reino_id - LEFT JOIN - Trabajadores TB ON TB.Id_Trabajador = v.Id_Trabajador - LEFT JOIN - Proveedores p ON p.Id_Proveedor = v.Id_Proveedor - LEFT JOIN - (SELECT - Id_Article, code AS barcode - FROM - barcodes - GROUP BY Id_Article) BC ON BC.Id_Article = v.Id_Article - LEFT JOIN - Articles a ON a.Id_Article = v.Id_Article - LEFT JOIN - producer pr on pr.producer_id = a.producer_id - LEFT JOIN - cooler_path_detail c ON LEFT(v.Nicho, 3) = pasillo - LEFT JOIN - Origen o ON o.id = v.Id_origen -WHERE - v.Id_Entrada = idE - AND v.tipo_id IS NOT NULL - AND v.reino_id <> 8 - ; - -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 `F5_entradakk` */; -/*!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 `F5_entradakk`(IN idE BIGINT) -BEGIN - - -SELECT - NULL AS Sacador, - NULL AS Encajador, - v.Cantidad / v.Packing AS Paquetes, - v.Packing AS Grouping, - barcode, - 'ASEGURADO' AS asegurado, - reino, - r.orden, - Alias AS Consignatario, - v.Id_Proveedor AS Id_Cliente, - v.Pedida, - v.Confirmada, - NULL AS vendedor, - 10 AS Calidad, - LPAD(IFNULL(cooler_path_detail_id, an.Nicho), - 5, - '0') AS path, - TB.Id_Trabajador, - v.Id_Entrada AS Id_Ticket, - landing AS Fecha, - v.Id_Article, - v.Cantidad, - v.article AS Concepte, - v.Medida, - v.Color, - v.Categoria, - Abreviatura AS Origen, - NULL AS Localizacion, - 0 AS Bultos, - w.`name` AS Tipo, - CodigoTrabajador, - 0 AS OK, - 0 AS Reservado, - v.Tallos, - v.Id_Compra AS Id_Movimiento, - an.Nicho, - 'PEDIDO ASEGURADO' AS MSG, - 0 AS Seguro, - 0 AS Id_Ruta, - 0 AS Id_Vehiculo, - a.Foto, - pr.name as producer -FROM - v_compres v - LEFT JOIN - Articles_nicho an ON v.Id_Article = an.Id_Article AND an.warehouse_id = v.warehouse_id_out - JOIN - warehouse w ON w.id = v.warehouse_id - LEFT JOIN - Tipos USING (tipo_id) - LEFT JOIN - reinos r ON r.id = Tipos.reino_id - LEFT JOIN - Trabajadores TB ON TB.Id_Trabajador = v.Id_Trabajador - LEFT JOIN - Proveedores p ON p.Id_Proveedor = v.Id_Proveedor - LEFT JOIN - (SELECT - Id_Article, code AS barcode - FROM - barcodes - GROUP BY Id_Article) BC ON BC.Id_Article = v.Id_Article - LEFT JOIN - Articles a ON a.Id_Article = v.Id_Article - LEFT JOIN - producer pr on pr.producer_id = a.producer_id - LEFT JOIN - cooler_path_detail c ON LEFT(v.Nicho, 3) = pasillo - LEFT JOIN - Origen o ON o.id = v.Id_origen -WHERE - v.Id_Entrada = idE - AND v.tipo_id IS NOT NULL - AND v.tipo_id <> 77 - ; - -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 `Facturas_Saltos` */; -/*!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 `Facturas_Saltos`(IN datSTART DATE , IN datEND DATE) -BEGIN - - -DECLARE strSER1 VARCHAR(2); -DECLARE strSER2 VARCHAR(2); -DECLARE intEMP1 INT; -DECLARE intEMP2 INT; -DECLARE v_done BOOLEAN DEFAULT FALSE; -DECLARE strFAC1 VARCHAR(11); -DECLARE strFAC2 VARCHAR(11); - - -DECLARE rs CURSOR FOR - SELECT Id_Factura, empresa_id, Serie - FROM Facturas - WHERE Fecha BETWEEN datSTART AND datEND - ORDER BY empresa_id, Serie, Id_Factura; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; - -OPEN rs; - -DROP TEMPORARY TABLE IF EXISTS Facturas_Saltarinas; - -CREATE TEMPORARY TABLE Facturas_Saltarinas -(Factura_Inicial VARCHAR(11), - Factura_Final VARCHAR(11), - Empresa VARCHAR(3), - Serie VARCHAR(1)); - -FETCH rs INTO strFAC1, intEMP1, strSER1; - -IF NOT v_done THEN - - FETCH rs INTO strFAC2, intEMP2, strSER2; - -END IF; - -WHILE NOT v_done DO - - IF strSER1 = strSER2 AND intEMP1 = intEMP2 AND right(strFAC2,5) - right(strFAC1,5) > 1 then - - INSERT INTO Facturas_Saltarinas(Factura_Inicial, Factura_Final, Empresa, Serie) - SELECT strFAC1, strFAC2, abbreviation, strSER1 - FROM empresa - WHERE id = intEMP1; - - END IF; - - SET strFAC1 = strFAC2; - SET intEMP1 = intEMP2; - SET STRSER1 = strSER2; - - FETCH rs INTO strFAC2, intEMP2, strSER2; - -END WHILE; - -SELECT * FROM Facturas_Saltarinas; - -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 `Factura_vuelve` */; -/*!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 `Factura_vuelve`(IN strFactura VARCHAR(10), IN intCLI INT ) -BEGIN - -DECLARE dblIMPORTE DOUBLE; -DECLARE datFEC DATE; -DECLARE intEMP INT; -DECLARE intCLI_OLD INT; - -/*Este procedure no funcionara correctament perque el strFactura ha de fer referencia al factura_id*/ -SELECT Importe, Fecha, empresa_id, Id_Cliente -INTO dblIMPORTE, datFEC, intEMP, intCLI_OLD -FROM Facturas WHERE Id_Factura = strFactura; - --- Cambia la empresa de la factura - -UPDATE Facturas SET empresa_id = 965, Id_Cliente = intCLI WHERE Id_Factura = strFactura; - --- Cambia la empresa de los tickets - -UPDATE Tickets SET empresa_id = 965, Id_Cliente = intCLI WHERE Factura = strFactura; - - --- Descuenta la cantidad del cliente antiguo - -INSERT INTO Recibos(Id_Factura - ,Entregado - ,Fechacobro - ,Id_Trabajador - ,Id_Banco - ,Id_Cliente - ,empresa_id) - -VALUES (strFactura - ,-1 * dblIMPORTE - ,datFEC - ,2 - ,430 - ,intCLI_OLD - ,intEMP); - --- Carga el cobro en la cuenta del nuevo cliente - -INSERT INTO Recibos(Id_Factura - ,Entregado - ,Fechacobro - ,Id_Trabajador - ,Id_Banco - ,Id_Cliente - ,empresa_id) - -VALUES (strFactura - ,dblIMPORTE - ,datFEC - ,2 - ,430 - ,intCLI - ,965); - - - - -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 `fv_to_pcakk` */; -/*!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 `fv_to_pcakk`() -BEGIN - -DECLARE idT INT; - -DECLARE idC INT; -DECLARE newFEC DATE; -DECLARE idEMP INT; -DECLARE idCON INT; -DECLARE intTIPO INT; -DECLARE newTICKET INT; -DECLARE newLANDING DATE; - -SELECT DISTINCT Id_Ticket INTO idT -FROM Movimientos m -JOIN Tickets t using(Id_Ticket) -JOIN Articles a using(Id_Article) -WHERE tipo_id = 19 AND Article like 'HEL %' -AND Fecha between '2015-10-22' and '2015-10-31' -AND warehouse_id =1 LIMIT 1; - -WHILE idT IS NOT NULL DO - - SELECT Id_Cliente,Fecha,empresa_id,Id_Consigna,Id_Agencia , landing - INTO idC , newFEC, idEMP , idCON , intTIPO , newLANDING - FROM Tickets - WHERE Id_Ticket = idT; - - CALL `ticket_new_complet`(idC ,newFEC, 44, 20, idEMP , idCON , intTIPO , NULL , newTICKET); - - UPDATE Movimientos - JOIN Articles a using(Id_Article) - SET Id_Ticket = newTICKET - WHERE tipo_id = 19 AND Article like 'HEL %' - AND Id_Ticket = idT; - - INSERT INTO order_Tickets (Id_Ticket, order_id) - SELECT newTICKET, order_id - FROM order_Tickets - WHERE Id_Ticket = idT; - - UPDATE Tickets - SET landing = newLANDING - WHERE Id_Ticket = newTICKET; - -SET idT = NULL; - -SELECT DISTINCT Id_Ticket INTO idT -FROM Movimientos m -JOIN Tickets t using(Id_Ticket) -JOIN Articles a using(Id_Article) -WHERE tipo_id = 19 AND Article like 'HEL %' -AND Fecha between '2015-10-22' and '2015-10-31' -AND warehouse_id =1 LIMIT 1; - -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 `gescartera_Estados` */; -/*!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 `gescartera_Estados`(IN intAno INT,IN intMes INT,IN intDiasPerdidos INT) -BEGIN -DECLARE intCLI,intCLI2 INT DEFAULT 0; -DECLARE datFEC,datFEC2,auxdatFEC DATE DEFAULT '2001-01-01'; -DECLARE lngTIC, lngTIC2 BIGINT DEFAULT 0; -DECLARE intDiferencia INT DEFAULT 0; # Variable donde se colocará la diferencia de días entre dos fechas. -DECLARE done,EsPerdido bit DEFAULT 0; -DECLARE intEstado TINYINT(2) DEFAULT 0; -DECLARE intNuevo INT DEFAULT 1; -DECLARE intPerdido INT DEFAULT 2; -DECLARE intRecuperado INT DEFAULT 3; - - -# Añado una fecha de fin para que no tenga en cuenta los tickets del futuro. (and Fecha<=current_date()) -/* -DECLARE cursor1 CURSOR FOR SELECT Id_Ticket,ti.Id_Cliente,date_format(Fecha,'%Y-%m-%d') AS FormatoFecha -FROM vn2008.Tickets ti -WHERE DATE_FORMAT(Fecha,'%Y-%m-%d')>CAST(CONCAT(YEAR(CURDATE())-2,'-','01-01')AS DATE) -AND DATE_FORMAT(Fecha,'%Y-%m-%d')<=LAST_DAY(CAST(CONCAT(intAno, '-' , intMes,'-',01) AS DATE)) -ORDER BY ti.Id_Cliente,Fecha; -*/ -DECLARE cursor1 CURSOR FOR SELECT Id_Ticket,fac.Id_Cliente,date_format(Fecha,'%Y-%m-%d') AS FormatoFecha -FROM Facturas fac -JOIN (SELECT Id_Ticket,Id_Cliente,Factura from Tickets ti where Factura is not null order by Fecha DESC,Id_Ticket DESC) sub1 -on fac.Id_Factura=sub1.Factura -WHERE DATE_FORMAT(Fecha,'%Y-%m-%d')>CAST(CONCAT(YEAR(CURDATE())-2,'-','01-01')AS DATE) -AND DATE_FORMAT(Fecha,'%Y-%m-%d')<=LAST_DAY(CAST(CONCAT(intAno, '-' , intMes,'-',01) AS DATE)) -group by Id_Cliente,Fecha -order by sub1.Id_Cliente,FormatoFecha; - -DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1; -DECLARE CONTINUE HANDLER FOR 1146 -BEGIN - -DROP TEMPORARY TABLE IF EXISTS GC; - -CREATE TEMPORARY TABLE GC (Id_Ticket BIGINT,Fecha DATE,Id_Cliente int,Estado SMALLINT) ENGINE=MEMORY; - -OPEN cursor1; - FETCH cursor1 INTO lngtIC,intCLI,datFEC; - # el primero registro es un cliente nuevo. - INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES(lngtIC,datFEC, intCLI,intNuevo); - SET auxdatFEC=datFEC; - - WHILE NOT DONE DO - FETCH cursor1 INTO lngtIC2,intCLI2,datFEC2; - CASE - WHEN DONE THEN SET intDiferencia=DATEDIFF(CURRENT_DATE,datFEC2); - WHEN intCLI=intCLI2 THEN - SET intDiferencia=DATEDIFF(datFEC2,datFEC); - IF ((intEstado=2)) THEN -- es recuperado despues de haberse perdido - INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intRecuperado); # RECUPERADO - SET intEstado=1; - SET auxdatFEC=datFEC2; - ELSE - IF (intDiferencia >= intDiasPerdidos) THEN - -- IF (DATE_FORMAT(datFEC2,'%Y-%m')<>DATE_FORMAT(DATE_ADD(datFEC,INTERVAL intDiasPerdidos DAY),'%Y-%m')) AND (intEstado<2) THEN - INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (0,DATE_ADD(auxdatFEC,INTERVAL intDiasPerdidos DAY), intCLI,intPerdido); - INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intRecuperado); # RECUPERADO - SET intEstado=1,auxdatFEC=datFEC2; - -- ELSE - -- INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES (lngtIC2,datFEC2, intCLI,intPerdido); # PERDIDO - -- SET intEstado=2; # Lo marcamos como perdido - -- END IF; - - END IF; - END IF; - WHEN intCLI<>intCLI2 THEN - SET intEstado=0; - SET intDiferencia=DATEDIFF(CURRENT_DATE,datFEC); - INSERT INTO GC(Id_Ticket, Fecha, Id_Cliente, Estado) VALUES(lngtIC2,datFEC2, intCLI2,intNuevo); # NUEVO - SET auxdatFEC=datFEC2; - END CASE; - SET datFEC=datFEC2; - SET intCLI=intCLI2; - SET lngTIC = lngTIC2,auxdatFEC=datFEC2; - - END WHILE; - - CLOSE cursor1; - - - # inserto los registros de clientes sin ticket (Estado 4) - INSERT GC - SELECT 0,'2000-01-01',Id_Cliente,4 - FROM vn2008.Clientes - WHERE Id_Cliente NOT IN - (select distinct Id_Cliente - FROM vn2008.Tickets order by id_cliente); - - SELECT Id_Ticket, Fecha, Id_Cliente, CASE ESTADO - WHEN 1 THEN 'NUEVO' - WHEN 2 THEN 'PERDIDO' - WHEN 3 THEN 'RECUPERADO' - ELSE 'SIN TICKET' END AS Estado,CodigoTrabajador - FROM GC - INNER JOIN vn2008.Clientes cli USING (Id_Cliente) - INNER JOIN vn2008.Trabajadores trab USING (Id_Trabajador); - -END; - - IF EXISTS (SELECT * FROM GC LIMIT 1) THEN - - SELECT Id_Ticket, Fecha, Id_Cliente, CASE ESTADO - WHEN 1 THEN 'NUEVO' - WHEN 2 THEN 'PERDIDO' - WHEN 3 THEN 'RECUPERADO' - ELSE 'SIN TICKET' END AS Estado,CodigoTrabajador - FROM GC - INNER JOIN vn2008.Clientes cli USING (Id_Cliente) - INNER JOIN vn2008.Trabajadores trab USING (Id_Trabajador); - - 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 `get_barcodes_ticket` */; -/*!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 `get_barcodes_ticket`(IN idT BIGINT) -BEGIN - - drop temporary TABLE IF EXISTS articles_ticket; - CREATE TEMPORARY TABLE IF NOT EXISTS articles_ticket - (PRIMARY KEY (Id_Article)) - ENGINE = MEMORY - select distinct Id_Article from Movimientos where Id_Ticket = idT; - - drop temporary TABLE IF EXISTS articles_ticket2; - CREATE TEMPORARY TABLE IF NOT EXISTS articles_ticket2 - (PRIMARY KEY (Id_Article)) - ENGINE = MEMORY - select * from articles_ticket; - - drop temporary TABLE IF EXISTS articles_buys; - CREATE TEMPORARY TABLE IF NOT EXISTS articles_buys AS - select Id_Compra, a.Id_Article from v_compres c JOIN articles_ticket a ON a.Id_Article = c.Id_Article - where landing >= DATE_SUB(CURDATE(), INTERVAL 14 DAY); - - SELECT distinct - code, a.Id_Article - FROM - barcodes b - inner join - articles_ticket a ON a.Id_Article = b.Id_Article - union - SELECT - Id_Compra as code, a.Id_Article - FROM - articles_buys c - inner join - articles_ticket2 a ON a.Id_Article = c.Id_Article; - - drop temporary TABLE IF EXISTS articles_ticket; - drop temporary TABLE IF EXISTS articles_ticket2; - drop temporary TABLE IF EXISTS articles_buys; -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 `historico` */; -/*!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 `historico`(IN idART INT, IN wh INT, IN v_virtual INT) -BEGIN -DECLARE datFEC DATETIME; - -SELECT Fechainventario INTO datFEC FROM tblContadores; -SET @a = 0; -SELECT DATE(Fecha) AS Fecha, - Entrada, - Salida, - OK, - Alias, - Referencia, - id, - @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, - F5, - v_virtual, - Calidad,CodigoTrabajador -FROM - - ( SELECT TR.landing as Fecha, - C.Cantidad as Entrada, - NULL as Salida, - (TR.received != FALSE) as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - WHERE TR.landing >= datFEC - AND wh IN (TR.warehouse_id , 0) - AND C.Id_Article = idART - AND E.Inventario = 0 - - UNION ALL - - SELECT TR.shipment as Fecha, - NULL as Entrada, - C.Cantidad as Salida, - TR.delivered as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN warehouse ON warehouse.id = TR.warehouse_id_out - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - WHERE TR.shipment >= datFEC - AND wh IN (TR.warehouse_id_out,0) - AND Id_Proveedor <> 4 - AND C.Id_Article = idART - AND E.Inventario = 0 - AND fuente = 0 - - UNION ALL - - SELECT T.Fecha as Fecha, - NULL as Entrada, - M.Cantidad as Salida, - (IFNULL(ts.alertLevel,0) > 1 OR ok ) as OK, - T.Alias as Alias, - T.Localizacion as Referencia, - T.Id_Ticket as id, - FALSE EtiquetasEmitidas, - C.Calidad, tr.CodigoTrabajador - - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - LEFT JOIN vn.ticketState ts ON ts.ticket = T.Id_Ticket - JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente - LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador - WHERE T.Fecha >= datFEC - AND M.Id_Article = idART - AND wh IN (T.warehouse_id , 0) - - ) AS Historico -ORDER BY Fecha, OK DESC, Entrada DESC; - - -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 `historicokk` */; -/*!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 `historicokk`(IN idART INT, IN wh INT, IN v_virtual INT) -BEGIN -DECLARE datFEC DATETIME; - -SELECT Fechainventario INTO datFEC FROM tblContadores; -SET @a = 0; -SELECT DATE(Fecha) AS Fecha, - Entrada, - Salida, - OK, - Alias, - Referencia, - id, - @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, - F5, - v_virtual, - Calidad,CodigoTrabajador -FROM - - ( SELECT TR.landing as Fecha, - C.Cantidad as Entrada, - NULL as Salida, - (TR.received != FALSE) as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - WHERE TR.landing >= datFEC - AND wh IN (TR.warehouse_id , 0) - AND C.Id_Article = idART - AND E.Inventario = 0 - - UNION ALL - - SELECT TR.shipment as Fecha, - NULL as Entrada, - C.Cantidad as Salida, - TR.delivered as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN warehouse ON warehouse.id = TR.warehouse_id_out - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - WHERE TR.shipment >= datFEC - AND wh IN (TR.warehouse_id_out,0) - AND Id_Proveedor <> 4 - AND C.Id_Article = idART - AND E.Inventario = 0 - AND fuente = 0 - - UNION ALL - - SELECT T.Fecha as Fecha, - NULL as Entrada, - M.Cantidad as Salida, - (IFNULL(ts.alertLevel,0) > 0) as OK, - T.Alias as Alias, - T.Localizacion as Referencia, - T.Id_Ticket as id, - T.PedidoImpreso EtiquetasEmitidas, - C.Calidad, tr.CodigoTrabajador - - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - LEFT JOIN vn.ticketState ts ON ts.ticket = T.Id_Ticket - JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente - LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador - WHERE T.Fecha >= datFEC - AND M.Id_Article = idART - AND wh IN (T.warehouse_id , 0) - - ) AS Historico -ORDER BY Fecha, OK DESC, Entrada DESC; - - -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 `historicoprecio` */; -/*!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 `historicoprecio`( id_art INT, id_wh INT,id_datestart DATE,id_dateend DATE) -BEGIN - - - SET @@max_sp_recursion_depth = 100 ; - DROP TEMPORARY TABLE IF EXISTS historicoprecio; - - CREATE TEMPORARY TABLE historicoprecio - ( - date_start DATE, - rate_0 DOUBLE, - rate_1 DOUBLE, - rate_2 DOUBLE, - rate_3 DOUBLE, - PRIMARY KEY (date_start) + item_id INT UNSIGNED NOT NULL, + UNIQUE KEY USING HASH (item_id) ) ENGINE = MEMORY; - - - CALL historicoprecio2 (id_art,id_wh,id_datestart,id_dateend); - - - SET @a:= @b:= @c:= @d:= @e:= @f := @g:= @h:=0.0; - SELECT * FROM - (SELECT d.`date` landing,if(rate_0 IS NULL,@a,@a:=rate_0) Costefijo,if(rate_1 IS NULL,@b,@b:=rate_1) rate_1, - if(rate_2 IS NULL,@c,@c:=rate_2) rate_2,if(rate_3 IS NULL,@d,@d:=rate_3) rate_3,'PF' tipo FROM `time` d - LEFT JOIN historicoprecio hp ON d.`date` = hp.date_start WHERE d.`date` BETWEEN id_datestart AND id_dateend - UNION ALL - SELECT DISTINCT d.`date` ,if(Costefijo IS NULL,@e,@e:=Costefijo) Costefijo,if(Tarifa1 IS NULL,@f,@f:=Tarifa1), - if(Tarifa2 IS NULL,@g,@g:=Tarifa2),if(Tarifa3 IS NULL,@h,@h:=Tarifa3),'C' - FROM `time` d - LEFT JOIN travel t ON t.landing = d.`date` - LEFT JOIN Entradas e ON e.travel_id = t.id - LEFT JOIN Compres c ON c.Id_Entrada = e.Id_Entrada AND id_wh IN (0,warehouse_id) AND c.Id_Article = id_art AND NoVincular = FALSE - WHERE d.`date` BETWEEN id_datestart AND id_dateend - ) - t ORDER BY landing DESC; -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 `historicoprecio2` */; -/*!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 `historicoprecio2`( id_art INT, id_wh INT,id_datestart DATE,id_dateend DATE) -BEGIN - DECLARE done BIT DEFAULT 0; - DECLARE datini,datfin,datiniaux,datfinaux DATE; - DECLARE dblrate0,dblrate0aux,dblrate1,dblrate1aux,dblrate2,dblrate2aux,dblrate3,dblrate3aux DOUBLE DEFAULT 0; - DECLARE boolBeforeStart TINYINT DEFAULT 1; - -- selecciona el primer bloque apartir de la mínima fecha que esta dentro del rango y la fecha de finalizar es posterior - SET datiniaux = NULL; - SET datfinaux = NULL; - -- guarda en dblrate0aux el valor del valor del periode, a lo millor falla si no trau cap linea - SELECT IFNULL(rate_0,0), IFNULL(rate_1,0), IFNULL(rate_2,0), IFNULL(rate_3,0) - INTO dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux FROM price_fixed - WHERE date_start = id_datestart AND warehouse_id IN (0,id_wh) AND item_id = id_art; - - REPEAT - - SET datini = NULL; - SET datfin = NULL; - SET dblrate0 = NULL; - SET dblrate1 = NULL; - SET dblrate2 = NULL; - SET dblrate3 = NULL; - SELECT date_start,date_end,rate_0,rate_1,rate_2,rate_3 INTO datini,datfin,dblrate0,dblrate1,dblrate2,dblrate3 FROM price_fixed - WHERE item_id = id_art AND warehouse_id IN (0,id_wh) AND date_end < id_dateend - AND date_end >= IFNULL(datfinaux,id_datestart) AND date_start = (SELECT MIN(date_start) FROM price_fixed - WHERE date_start >= IFNULL(datiniaux,TIMESTAMPADD(DAY,1,id_datestart)) AND item_id = id_art AND warehouse_id IN (0,id_wh) ) - ORDER BY date_start LIMIT 1; - - IF datini IS NOT NULL THEN - -- Inserta un registre(dia -1) - IF boolBeforeStart THEN - INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) - VALUES(TIMESTAMPADD(DAY,-1,datini),dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux); - SET boolBeforeStart = TRUE; - END IF; - -- reiniciem els valors de les variables - SET datiniaux = NULL; - SET datfinaux = NULL; - -- seleccionem el dia fins al qual dura el periode eliminant els dies que queden solapats - SELECT MIN(date_start) INTO datfinaux FROM price_fixed WHERE date_start > datini AND date_start < datfin AND date_end >= datfin - AND warehouse_id IN (0,id_wh) AND item_id = id_art; - - -- cridada recursiva per al periode(retallat si cal) inclós - CALL historicoprecio2 (id_art,id_wh,datini,IFNULL(datfinaux,datfin)); - -- anyadeix el valor que ha d'agafar el dia seguent d'acabar el periode actual. - IF datfinaux IS NULL THEN - INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) - VALUES(TIMESTAMPADD(DAY,1,datfin),dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux), - (datfin,dblrate0,dblrate1,dblrate2,dblrate3); - ELSE - INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) - VALUES(TIMESTAMPADD(DAY,-1,datfinaux),dblrate0,dblrate1,dblrate2,dblrate3); - SET boolBeforeStart = FALSE; - END IF; - SET datiniaux=TIMESTAMPADD(DAY,1,datini); - SET datfinaux=datfin; - - END IF; - UNTIL datini IS NULL END REPEAT; - -- inserta linea caso base - INSERT INTO historicoprecio(date_start,rate_0,rate_1,rate_2,rate_3) VALUES(id_datestart,dblrate0aux,dblrate1aux,dblrate2aux,dblrate3aux) - ON DUPLICATE KEY UPDATE rate_0 = dblrate0,rate_1 = dblrate1,rate_2 = dblrate2,rate_3 = dblrate3; -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 `historico_absoluto` */; -/*!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 `historico_absoluto`(IN idART INT, IN wh INT, IN datfecha DATETIME) +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_stock` */; +/*!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_stock`(v_wh SMALLINT, v_date DATETIME, v_item INT) +BEGIN +/** + * Calcula el stock del v_wh desde FechaInventario hasta v_date + **/ + + DECLARE n TINYINT; + DECLARE v_diff TIME; + DECLARE v_inv DATETIME; + DECLARE v_camp DATETIME; + DECLARE v_curdate DATETIME DEFAULT CURDATE(); + + SET v_date = TIMESTAMP(DATE(v_date), '00:00:00'); + + SELECT FechaInventario, TIMESTAMPADD(DAY, -campaign_life, campaign) + INTO v_inv, v_camp FROM tblContadores LIMIT 1; + + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item + (UNIQUE INDEX i USING HASH (item_id)) + ENGINE = MEMORY + SELECT item_id, SUM(amount) stock, SUM(amount) visible, SUM(amount) available FROM ( + SELECT item_id, amount FROM item_out + WHERE dat >= v_curdate AND dat < v_date + AND warehouse_id = v_wh + AND (v_item IS NULL OR item_id = v_item) + UNION ALL + SELECT item_id, amount FROM item_entry_in + WHERE dat >= v_curdate AND dat < v_date + AND warehouse_id = v_wh + AND (v_item IS NULL OR item_id = v_item) + UNION ALL + SELECT item_id, amount FROM item_entry_out + WHERE dat >= v_curdate AND dat < v_date + AND warehouse_id = v_wh + AND (v_item IS NULL OR item_id = v_item) + ) t + GROUP BY item_id HAVING stock != 0; + + CALL `cache`.stock_refresh (FALSE); + + INSERT INTO tmp_item (item_id,stock,visible,available) + SELECT item_id,amount,amount,amount FROM `cache`.stock + WHERE warehouse_id = v_wh AND (v_item IS NULL OR v_item = item_id) + ON DUPLICATE KEY UPDATE + stock = stock + VALUES(stock), + visible = visible + VALUES(visible), + available = available + VALUES(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_stock_avail` */; +/*!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_stock_avail`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT,IN direccion TINYINT) +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE expr,expr1,expr2,expr3,expr4,expr5 TEXT; + DECLARE query TEXT; + DECLARE _son,_self TEXT; + DECLARE _auxshipment, _auxlanding,fut DATE; + -- Selecciona tots els travels cap als fill ens els próxims 15 dies + DECLARE cur1 CURSOR FOR + SELECT shipment,landing FROM travel WHERE warehouse_id_out = v_wh AND shipment BETWEEN TIMESTAMPADD(day,1,v_date) + AND TIMESTAMPADD(day,15,v_date) AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = v_wh + LIMIT 1) + ORDER BY shipment; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + -- selecciona els primers travels que arrivaran després de la v_date de cada warehouse + + CALL item_travel (v_wh, v_date); + + SET expr = sql_printf ('dat BETWEEN DATE(%v) AND DATE(%v)' + ,TIMESTAMP(v_date, '00:00:00') + ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') + /*,v_wh*/ + ); + + + IF id_single IS NOT NULL THEN + SET expr = sql_printf('%s AND item_id = %v' + ,expr + ,id_single + ); + END IF; + + SET expr1 = sql_printf ('%s AND warehouse_id = %v ' + ,expr + ,v_wh + ); + SET expr2 = ''; + SET _self = CONCAT(v_wh, 'virtual'); + + -- crea una taula amb el nom del warehousevirtual + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + ( + item_id INT(11), + dat DATE, + amount DOUBLE(8,2), + PRIMARY KEY(item_id,dat) + ) + ENGINE = MEMORY;',_self)); + -- si esta mirant els pares li añadeix el virtual que pot arrivar a conseguir + IF direccion >= 0 THEN + SET expr2 = sql_printf (' UNION ALL + SELECT item_id, dat, amount + FROM vn2008.%t WHERE %s' + ,_self + ,expr + ); + END IF; + + ALTER TABLE tmp_item ADD future DATE; + + /*jgf afegeix AND Reservado != 0 */ + -- calcula el mínim disponible fins a la próxima arrivada de mercancia +SET query = sql_printf ( + 'INSERT INTO tmp_item (item_id,available, future) + SELECT item_id, SUM(amount) AS available,landing as future FROM ( + SELECT t.item_id, minacum(dt, amount, %v) amount,w.landing FROM ( + SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( + SELECT item_id, dat, amount + FROM item_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_in WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_out WHERE %s + %s + ) t + GROUP BY item_id, dt + ) t + LEFT JOIN Articles a ON a.Id_Article = t.item_id + LEFT JOIN Origen o ON o.id = a.id_origen + LEFT JOIN item_travel w ON w.wh = o.warehouse_id + WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) + GROUP BY t.item_id + ) t + GROUP BY t.item_id HAVING available != 0 + ON DUPLICATE KEY UPDATE + available = IFNULL(available,0) + VALUES(available)' + , DATE(v_date) + 0, expr1, expr1, expr1, expr2 + ); + -- JGF 22/10/14 - WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) + -- JGF 2015-03-31 ANTES WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) + CALL sql_query (query); + -- si el v_wh es pare + IF (direccion > 0) THEN + + -- crea una taula TEMPORAL per al fill + SELECT CONCAT(son,'virtual') A INTO _son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1; + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + ( + item_id INT(11), + dat DATE, + amount DOUBLE(8,2), + PRIMARY KEY(item_id,dat) + ) + ENGINE = MEMORY;',_son)); + IF (direccion >= 2) THEN + CALL sql_query (query); + SET query = sql_printf ( -- REPLACE en lugar de INSERT INTO PAK 20/11/14 + 'REPLACE vn2008.%t (item_id,dat,amount) + SELECT item_id,landing,available FROM tmp_item,travel + WHERE shipment = DATE(%v) AND warehouse_id_out = %v AND available > 0 + AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = %v + LIMIT 1) GROUP BY warehouse_id + ',_son,v_date,v_wh,v_wh); + + CALL sql_query (query); + + TRUNCATE TABLE tmp_item; + END IF; + OPEN cur1; + FETCH cur1 INTO _auxshipment,_auxlanding; + WHILE !done DO + SET expr4 = sql_printf ('dat BETWEEN %v AND %v' + ,TIMESTAMP(DATE(_auxshipment), '00:00:00') + ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') + ); + IF id_single IS NOT NULL THEN + SET expr4 = sql_printf('%s AND item_id = %v' + ,expr4 + ,id_single + ); + END IF; + + SET expr5 = sql_printf ('%s AND warehouse_id = %v' + ,expr4 + ,v_wh + ); + -- afegir entrades menys eixides desde l'ultim dia.. + SET query = sql_printf ( + 'INSERT INTO vn2008.%t (item_id,dat,amount) + SELECT item_id, %v, SUM(amount) AS available FROM ( + SELECT t.item_id, minacum(dt, amount, %v) amount FROM ( + SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( + SELECT item_id, dat, amount + FROM item_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_in WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM %t WHERE %s + ) t + GROUP BY item_id, dt + ) t + LEFT JOIN Articles a ON a.Id_Article = t.item_id + LEFT JOIN Origen o ON o.id = a.id_origen + LEFT JOIN item_travel w ON w.wh = o.warehouse_id + WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) + GROUP BY t.item_id + ) t GROUP BY t.item_id HAVING available > 0 + ON DUPLICATE KEY UPDATE + amount = IFNULL(amount,0) + VALUES(amount) + ',_son,DATE(_auxlanding)+0,DATE(_auxshipment)+0,expr5, expr5, expr5,_self,expr4); + -- JGF 07/07/14 - WHERE IFNULL(dt < w.landing , TRUE) + CALL sql_query (query); + FETCH cur1 INTO _auxshipment,_auxlanding; + END WHILE; + + CLOSE cur1; + END IF; + CALL sql_query (sql_printf('DROP TEMPORARY TABLE IF EXISTS %t;',_self)); +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_stock_avail_new` */; +/*!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_stock_avail_new`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT,IN direccion TINYINT) +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE expr,expr1,expr2,expr3,expr4,expr5 TEXT; + DECLARE query TEXT; + DECLARE _son,_self TEXT; + DECLARE _auxshipment, _auxlanding,fut DATE; + + -- Selecciona tots els viajes cap als fill ens els próxims 15 dies + + DECLARE cur1 CURSOR FOR + SELECT shipment,landing FROM travel + WHERE warehouse_id_out = v_wh + AND shipment BETWEEN TIMESTAMPADD(day,1,v_date) + AND TIMESTAMPADD(day,15,v_date) + AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1) + ORDER BY shipment; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + -- Selecciona els primers viajes que arrivaran després de la v_date de cada almacen + + CALL item_travel (v_wh, v_date); + + SET expr = sql_printf ('dat BETWEEN DATE(%v) AND DATE(%v)' + ,TIMESTAMP(v_date, '00:00:00') + ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') + ); + + IF id_single IS NOT NULL + THEN + SET expr = sql_printf('%s AND item_id = %v' + ,expr + ,id_single + ); + END IF; + + SET expr1 = sql_printf ('%s AND warehouse_id = %v ' + ,expr + ,v_wh + ); + SET expr2 = ''; + SET _self = CONCAT(v_wh, 'virtual'); + + -- Crea una taula amb el nom del almacen virtual + + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + ( + item_id INT(11), + dat DATE, + amount DOUBLE(8,2), + PRIMARY KEY(item_id,dat) + ) + ENGINE = MEMORY',_self)); + + -- Si esta mirant els pares li añadeix el virtual que pot arrivar a conseguir + + IF direccion >= 0 + THEN + SET expr2 = sql_printf (' UNION ALL + SELECT item_id, dat, amount + FROM vn2008.%t WHERE %s' + ,_self + ,expr + ); + END IF; + + ALTER TABLE tmp_item ADD future DATE; + + -- Calcula el mínim disponible fins a la próxima arrivada de mercancia + + SET query = sql_printf ( + 'INSERT INTO tmp_item (item_id, available, future) + SELECT item_id, SUM(amount) AS available,landing as future FROM ( + SELECT t.item_id, minacum(dt, amount, %v) amount,w.landing FROM ( + SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( + SELECT item_id, dat, amount + FROM item_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_in WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_out WHERE %s + %s + ) t + GROUP BY item_id, dt + ) t + LEFT JOIN Articles a ON a.Id_Article = t.item_id + LEFT JOIN Origen o ON o.id = a.id_origen + LEFT JOIN item_travel w ON w.wh = o.warehouse_id + WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) + GROUP BY t.item_id + ) t + GROUP BY t.item_id HAVING available != 0 + ON DUPLICATE KEY UPDATE + available = IFNULL(available,0) + VALUES(available)' + ,DATE(v_date)+0 + ,expr1 + ,expr1 + ,expr1 + ,expr2 + ); + CALL sql_query (query); + + -- Si es el almacen padre + + IF (direccion > 0) + THEN + -- Crea una tabla temporar pare el hijo + SELECT CONCAT(son,'virtual') A INTO _son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1; + + CALL sql_query (sql_printf( + 'CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + ( + item_id INT(11), + dat DATE, + amount DOUBLE(8,2), + PRIMARY KEY(item_id,dat) + ) + ENGINE = MEMORY;', + _son + )); + + IF (direccion >= 2) + THEN + CALL sql_query (query); + CALL sql_query (sql_printf ( + 'REPLACE vn2008.%t (item_id,dat,amount) + SELECT item_id, landing, available FROM tmp_item, travel + WHERE shipment = DATE(%v) AND warehouse_id_out = %v AND available > 0 + AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = %v LIMIT 1) + GROUP BY warehouse_id' + ,_son + ,v_date + ,v_wh + ,v_wh + )); + TRUNCATE TABLE tmp_item; + END IF; + + OPEN cur1; + FETCH cur1 INTO _auxshipment,_auxlanding; + + WHILE !done + DO + SET expr4 = sql_printf ('dat BETWEEN %v AND %v' + ,TIMESTAMP(DATE(_auxshipment), '00:00:00') + ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') + ); + + IF id_single IS NOT NULL + THEN + SET expr4 = sql_printf('%s AND item_id = %v' + ,expr4 + ,id_single + ); + END IF; + + SET expr5 = sql_printf ('%s AND warehouse_id = %v' + ,expr4 + ,v_wh + ); + + -- Afegir entrades menys eixides desde l'ultim dia + + CALL sql_query (sql_printf ( + 'INSERT INTO vn2008.%t (item_id,dat,amount) + SELECT item_id, %v, SUM(amount) AS available FROM ( + SELECT t.item_id, minacum(dt, amount, %v) amount FROM ( + SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( + SELECT item_id, dat, amount + FROM item_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_in WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM item_entry_out WHERE %s + UNION ALL + SELECT item_id, dat, amount + FROM %t WHERE %s + ) t + GROUP BY item_id, dt + ) t + LEFT JOIN Articles a ON a.Id_Article = t.item_id + LEFT JOIN Origen o ON o.id = a.id_origen + LEFT JOIN item_travel w ON w.wh = o.warehouse_id + WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) + GROUP BY t.item_id + ) t GROUP BY t.item_id HAVING available > 0 + ON DUPLICATE KEY UPDATE + amount = IFNULL(amount,0) + VALUES(amount)' + ,_son + ,DATE(_auxlanding)+0 + ,DATE(_auxshipment)+0 + ,expr5 + ,expr5 + ,expr5 + ,_self + ,expr4 + )); + + FETCH cur1 INTO _auxshipment,_auxlanding; + END WHILE; + + CLOSE cur1; + END IF; + + CALL sql_query (sql_printf('DROP TEMPORARY TABLE IF EXISTS %t', _self)); +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_stock_visible` */; +/*!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_stock_visible`(v_wh SMALLINT, v_item INT) +BEGIN + DECLARE v_curdate DATETIME DEFAULT TIMESTAMP(CURDATE(), '00:00:00'); + DECLARE v_tomorrow DATETIME DEFAULT TIMESTAMPADD(HOUR, 24, CURDATE()); + + INSERT INTO tmp_item (item_id, visible) + SELECT item_id, SUM(amount) amount FROM ( + SELECT item_id, amount FROM item_out + WHERE dat >= v_curdate + AND warehouse_id = v_wh + AND (alertLevel > 1 + OR + ok != FALSE + /* AND (((ok != FALSE OR ready != FALSE OR invoice IS NOT NULL) + AND dat < v_tomorrow) + */ + OR Reservado != FALSE ) + UNION ALL + SELECT item_id, amount FROM item_entry_in + WHERE received != FALSE + AND dat >= v_curdate AND dat < v_tomorrow + AND warehouse_id = v_wh + AND (v_item IS NULL OR item_id = v_item) + UNION ALL + SELECT item_id, amount FROM item_entry_out + WHERE delivered != FALSE + AND dat >= v_curdate AND dat < v_tomorrow + AND warehouse_id = v_wh + AND (v_item IS NULL OR item_id = v_item) + ) t + GROUP BY item_id + ON DUPLICATE KEY UPDATE + visible = IFNULL(stock,0) + VALUES(visible); +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_travel` */; +/*!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_travel`(v_wh TINYINT, v_date DATETIME) +BEGIN + DECLARE v_travel INT; + DECLARE v_wh_out INT; + DECLARE v_shipment DATETIME; + DECLARE v_campaign DATETIME; + DECLARE v_date_start DATETIME; + + DROP TEMPORARY TABLE IF EXISTS travel_top; + DROP TEMPORARY TABLE IF EXISTS item_travel; + + -- Crea una taula buida travel_top + + CREATE TEMPORARY TABLE travel_top + (PRIMARY KEY (wh_in,wh_out,landing,shipment)) -- 28/1/15 JGF & PAK cuelgue dia 26 + ENGINE = MEMORY + SELECT 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; + + REPEAT + SET v_travel = NULL; + + -- Va seleccionant registres un a un + + SELECT id, wh_out, shipment, landing + INTO v_travel, v_wh_out, v_shipment, v_date_start + FROM travel_top WHERE ok = FALSE LIMIT 1; + + -- Marca el registre per a saber que esta revistat + + UPDATE travel_top SET ok = TRUE WHERE id = v_travel; + + -- Concatena travels + + + INSERT IGNORE INTO travel_top + SELECT id, v_wh, warehouse_id_out, FALSE, IF(v_travel, v_date_start, landing), shipment + FROM travel + WHERE warehouse_id = v_wh_out + -- Canvia Javi 08/04/13 error que pasaba a les 06:00 del mati + -- AND IF(v_travel, landing <= v_shipment, landing > v_shipment) + AND IF(v_travel, landing <= v_shipment, landing >= v_shipment) + AND shipment >= CURDATE() + AND delivered = FALSE; + + UNTIL v_travel IS NULL + END REPEAT;/* + select max_count; + SELECT * FROM travel_top;*/ + + DELETE FROM travel_top WHERE id = 0; +/* + SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign + INTO v_date_start, v_campaign FROM tblContadores;*/ + + -- Agafa el travel que arriva primer per a cada warehouse + + CREATE TEMPORARY TABLE item_travel + (KEY (wh)) + ENGINE = MEMORY + SELECT * FROM ( + SELECT wh_out wh,/* IF( + v_date BETWEEN v_date_start AND v_campaign + AND landing BETWEEN v_date_start AND v_campaign + ,TIMESTAMPADD(DAY, 1, v_campaign) + ,landing + ) */landing + FROM travel_top + WHERE wh_out <> v_wh + ORDER BY landing + ) t + GROUP BY wh; +-- SELECT * FROM item_travel; + DROP TEMPORARY TABLE travel_top; +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_travel_fixed` */; +/*!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_travel_fixed`(v_wh TINYINT, v_date DATETIME) +BEGIN + DECLARE v_travel INT; + DECLARE v_wh_out INT; + DECLARE v_shipment DATETIME; + DECLARE v_campaign DATETIME; + DECLARE v_date_start DATETIME; + + DROP TEMPORARY TABLE IF EXISTS travel_top; + DROP TEMPORARY TABLE IF EXISTS item_travel_fixed; + + CREATE TEMPORARY TABLE travel_top + (KEY (id)) + ENGINE = MEMORY + SELECT 0 id, v_wh wh_out, v_date shipment; + + REPEAT + SET v_travel = NULL; + + SELECT t.id, wh_out, shipment + INTO v_travel, v_wh_out, v_shipment + FROM travel_top t + JOIN warehouse w ON w.id = wh_out AND fuente = 0 + LIMIT 1; + + INSERT INTO travel_top + SELECT t.id, warehouse_id_out, shipment/*, FALSE*/ + FROM travel t + WHERE warehouse_id = v_wh_out + AND landing <= v_shipment + AND shipment >= CURDATE() + AND NOT delivered; + + DELETE t + FROM travel_top t + JOIN warehouse w ON w.id = wh_out + WHERE t.id = v_travel AND fuente = 0; + UNTIL v_travel IS NULL + END REPEAT; + + + SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign + INTO v_date_start, v_campaign FROM tblContadores; + + CREATE TEMPORARY TABLE item_travel_fixed + (KEY (wh)) + ENGINE = MEMORY + SELECT * FROM + ( + SELECT wh_out wh + FROM travel_top + WHERE wh_out <> v_wh + ) t + GROUP BY wh; + + DROP TEMPORARY TABLE travel_top; +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_travel_select` */; +/*!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_travel_select`(v_wh TINYINT, v_date DATETIME) +BEGIN + DECLARE v_travel INT; + DECLARE v_wh_out INT; + DECLARE v_shipment DATETIME; + DECLARE v_campaign DATETIME; + DECLARE v_date_start DATETIME; + + DROP TEMPORARY TABLE IF EXISTS travel_top; + DROP TEMPORARY TABLE IF EXISTS item_travel; + + -- Crea una taula buida travel_top + + CREATE TEMPORARY TABLE travel_top + (PRIMARY KEY (id)) + ENGINE = MEMORY + SELECT 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; + + REPEAT + SET v_travel = NULL; + + -- Va seleccionant registres un a un + + SELECT id, wh_out, shipment, landing + INTO v_travel, v_wh_out, v_shipment, v_date_start + FROM travel_top WHERE ok = FALSE LIMIT 1; + + -- Marca el registre per a saber que esta revistat + + UPDATE travel_top SET ok = TRUE WHERE id = v_travel; + + -- Concatena travels cap al pasat + + INSERT IGNORE INTO travel_top + SELECT id, v_wh, warehouse_id_out, FALSE, IF(v_travel, v_date_start, landing), shipment + FROM travel + WHERE warehouse_id = v_wh_out + AND IF(v_travel, landing <= v_shipment, landing > v_shipment) + AND shipment >= CURDATE() + AND delivered = FALSE; + + UNTIL v_travel IS NULL + END REPEAT; + + DELETE FROM travel_top WHERE id = 0; + + SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign + INTO v_date_start, v_campaign FROM tblContadores; + + -- Agafa el travel que arriva primer per a cada warehouse + + CREATE TEMPORARY TABLE item_travel + (KEY (wh)) + ENGINE = MEMORY + SELECT * FROM ( + SELECT wh_out wh, IF( + v_date BETWEEN v_date_start AND v_campaign + AND landing BETWEEN v_date_start AND v_campaign + ,TIMESTAMPADD(DAY, 1, v_campaign) + ,landing + ) landing + FROM travel_top + WHERE wh_out <> v_wh + ORDER BY landing + ) t + GROUP BY wh; + + SELECT * FROM item_travel; + DROP TEMPORARY TABLE travel_top; +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_travel_testing` */; +/*!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_travel_testing`(v_wh TINYINT, v_date DATETIME) +BEGIN + DECLARE v_travel INT; + DECLARE v_wh_out INT; + DECLARE v_shipment DATETIME; + DECLARE v_campaign DATETIME; + DECLARE v_date_start DATETIME; + + + + DROP TEMPORARY TABLE IF EXISTS travel_top; + DROP TEMPORARY TABLE IF EXISTS item_travel; + + -- Crea una taula buida travel_top + + drop temporary table if exists travels_list; + create temporary table travels_list + (id integer, shipment date, landing date, warehouse_id int, warehouse_id_out int); + + CREATE TEMPORARY TABLE travel_top + -- (PRIMARY KEY (wh_in,wh_out,landing,shipment) ) + ENGINE = MEMORY + SELECT 0 RODA, 0 ORDRE, 0 son_id, 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; + + SET @rodaeta:= 0; + + REPEAT + SET v_travel = -1; + + + -- Va seleccionant registres un a un + + SELECT id, wh_out, shipment, landing + INTO v_travel, v_wh_out, v_shipment, v_date_start + FROM travel_top WHERE ok = FALSE + LIMIT 1; + + -- Marca el registre per a saber que esta revistat + + UPDATE travel_top SET ok = TRUE WHERE id = v_travel; + + -- Concatena travels + SET @ordre := 0; + + INSERT INTO travel_top + SELECT -7 , @ordre:= @ordre + 1 , v_travel ,id, v_wh, warehouse_id_out, FALSE, IF(v_travel>0, v_date_start, landing), shipment + FROM travel + WHERE warehouse_id = v_wh_out + AND IF(v_travel>0, landing <= v_shipment, landing >= v_shipment) + AND shipment >= '2005-01-26' and shipment < '2005-02-28' + AND delivered = FALSE; + + IF (SELECT Count(*) FROM travel_top WHERE RODA = -7) THEN + SET @rodaeta:= @rodaeta + 1; + update travel_top set RODA = @rodaeta where RODA = -7; + end if; + + INSERT INTO travels_list + SELECT id, shipment, landing, warehouse_id, warehouse_id_out + FROM travel + WHERE warehouse_id = v_wh_out + AND IF(v_travel>0, landing <= v_shipment, landing >= v_shipment) + AND shipment >= '2005-01-26' and shipment < '2005-02-28' + AND delivered = FALSE; + + +UNTIL v_travel = -1 END REPEAT; + + + + /* + select max_count; + SELECT * FROM travel_top;*/ + + /*DELETE FROM travel_top WHERE id = 0;*/ +/* + SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign + INTO v_date_start, v_campaign FROM tblContadores;*/ + + -- Agafa el travel que arriva primer per a cada warehouse + + CREATE TEMPORARY TABLE item_travel + (KEY (wh)) + ENGINE = MEMORY + SELECT * FROM ( + SELECT wh_out wh,/* IF( + v_date BETWEEN v_date_start AND v_campaign + AND landing BETWEEN v_date_start AND v_campaign + ,TIMESTAMPADD(DAY, 1, v_campaign) + ,landing + ) */landing + FROM travel_top + WHERE wh_out <> v_wh + ORDER BY landing + ) t + GROUP BY wh; + +SELECT * FROM item_travel; +SELECT * FROM travel_top order by RODA, ORDRE; + + DROP TEMPORARY TABLE travel_top; +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 `ListaTicketsEncajados` */; +/*!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 `ListaTicketsEncajados`(IN intId_Trabajador int) +BEGIN + +SELECT Agencia,Consignatario, ti.Id_Ticket, ts.worker Id_Trabajador,IFNULL(ncajas,0) AS ncajas, +IFNULL(nbultos,0) AS nbultos,IFNULL(notros,0) AS notros,code AS Estado +FROM Tickets ti +INNER JOIN Consignatarios ON ti.Id_Consigna = Consignatarios.Id_consigna +INNER JOIN Agencias ON ti.Id_Agencia = Agencias.Id_Agencia +LEFT JOIN (select Ticket_Id,count(*) as ncajas from expeditions where Id_Article=94 group by ticket_id) sub1 on ti.Id_Ticket=sub1.Ticket_Id +LEFT JOIN (select Ticket_Id,count(*) as nbultos from expeditions where Id_Article is null group by ticket_id) sub2 on ti.Id_Ticket=sub2.Ticket_Id +LEFT JOIN (select Ticket_Id,count(*) as notros from expeditions where Id_Article >0 group by ticket_id) sub3 on ti.Id_Ticket=sub3.Ticket_Id +INNER JOIN vn.ticketState ts ON ti.Id_ticket = ts.ticket +WHERE ti.Fecha=curdate() and +ts.worker=intId_Trabajador +group by ti.Id_Ticket; + +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 `malpagantes` */; +/*!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 `malpagantes`() +BEGIN + +set @cliente := 0; +set @saldo := 0; + +Select Id_Cliente, Cliente from +Clientes +join +(select distinct Id_Cliente +from Facturas +where Fecha > '2015-01-01') cli using(Id_Cliente) +left join +( +select distinct Id_Cliente +from +( +select Fecha + , @saldo := IF(@cliente = Id_Cliente, @saldo + Importe, Importe) Saldo + , @cliente := Id_Cliente as Id_Cliente +from +( +select Id_Cliente, Fecha, Importe from + +( +select Id_Cliente, -1 * Importe Importe, Fecha +from Facturas +union all +select Id_Cliente, Entregado, Fechacobro +from Recibos +) sub +order by Id_Cliente, Fecha +) sub2 +) sub3 +where Saldo > -1 +and Fecha > '2015-01-01' + +) sub4 using(Id_Cliente) +where sub4.Id_Cliente is 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 `manaEraser` */; +/*!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 `manaEraser`(vTicket INT) +BEGIN + + DECLARE vComponentOld INT; + DECLARE vComponentNew INT; + + SELECT Id_Componente + INTO vComponentOld + FROM tarifa_componentes + WHERE Componente = 'maná'; + + SELECT Id_Componente + INTO vComponentNew + FROM tarifa_componentes + WHERE Componente = 'rebaja manual'; + + UPDATE Movimientos_componentes mc + JOIN Movimientos m using(Id_Movimiento) + SET mc.Id_Componente = vComponentNew + WHERE mc.Id_Componente = vComponentOld + AND m.Id_Ticket = 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 `manaRequery` */; +/*!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 `manaRequery`(worker INTEGER) +BEGIN + +DECLARE MyFechaDesde DATE; + +SELECT max(dated) INTO MyFechaDesde +FROM bs.manaCustomer; + + +REPLACE bs.mana_spellers (Id_Trabajador, used) + + SELECT worker, sum(mana) FROM + + ( + SELECT Cantidad * Valor as mana + FROM vn2008.Tickets t + JOIN Consignatarios cs using(Id_Consigna) + JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente + JOIN Movimientos m using(Id_Ticket) + JOIN Movimientos_componentes mc using(Id_Movimiento) + WHERE c.Id_Trabajador = worker AND Id_Componente IN (39, 37) -- maná auto y maná + AND Fecha > MyFechaDesde + + UNION ALL + + SELECT - Entregado + FROM Recibos r + JOIN Clientes c using(Id_Cliente) + WHERE c.Id_Trabajador = worker AND Id_Banco = 66 + AND Fechacobro > MyFechaDesde + + UNION ALL + + SELECT g.Importe + FROM Greuges g + JOIN Clientes c using(Id_Cliente) + WHERE c.Id_Trabajador = worker AND Greuges_type_id = 3 -- Maná + AND Fecha > MyFechaDesde + + UNION ALL + + SELECT mana + FROM bs.manaCustomer mc + JOIN vn2008.Clientes c ON c.Id_Cliente = mc.Id_Cliente + WHERE c.Id_Trabajador = worker AND dated = MyFechaDesde + ) sub; + + + +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_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 `mana_list`(IN str VARCHAR(3)) +BEGIN + +DECLARE idT INT; + +IF ASCII(str) between 48 and 57 THEN -- el chr(48) es el 0 y el chr(57) es el 9. De ese modo se comprueba si es un numero o un carácter de texto + + SET idT = cast(str as signed); + +ELSE + + SELECT Id_Trabajador INTO idT + FROM Trabajadores + WHERE CodigoTrabajador = str; + +END IF; + + +SELECT * FROM +( +SELECT Id_Ticket + , Alias + , t.Fecha as FechaTicket + , m.odbc_date as FechaAccion + , Id_Article + , CONCAT(IF(Id_Componente = 39, 'Auto: ',''),Concepte) Concepte + , Cantidad + , round(Valor,2) as Valor + , round(Cantidad * Valor,2) as MANA + FROM Movimientos_componentes mc + JOIN Movimientos m using(Id_Movimiento) + JOIN Tickets t using(Id_Ticket) + JOIN Consignatarios cs using(Id_Consigna) + JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente + WHERE c.Id_Trabajador = idT + AND Id_Componente IN (39, 37) + and t.Fecha > TIMESTAMPADD(WEEK,-1,CURDATE()) + + UNION ALL + +SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL + + UNION ALL + +SELECT c.Id_Cliente, Cliente, r.FechaCobro, r.odbc_date, NULL, 'cobro', NULL, NULL, - Entregado + FROM Recibos r + JOIN Clientes c using(Id_Cliente) + WHERE Id_Banco = 66 -- Caja de maná + AND c.Id_Trabajador = idT + + UNION ALL + +SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL + + UNION ALL + +SELECT c.Id_Cliente, Cliente, g.Fecha, g.odbc_date, NULL, Comentario, NULL, NULL, g.Importe + FROM Greuges g + JOIN Clientes c using(Id_Cliente) + WHERE Greuges_type_id = 3 -- Maná + AND c.Id_Trabajador = idT + ) t1 +ORDER BY FechaAccion DESC; + + + +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_requery` */; +/*!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_requery`() +BEGIN + +DECLARE MyFechaDesde DATE; + +SELECT max(dated) INTO MyFechaDesde +FROM bs.manaCustomer; + + +UPDATE bs.mana_spellers + +LEFT JOIN + +( + + SELECT Id_Trabajador, sum(mana) as mana FROM + + ( + SELECT c.Id_Trabajador, Cantidad * Valor as mana + FROM Tickets t + JOIN Consignatarios cs using(Id_Consigna) + JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente + JOIN Movimientos m using(Id_Ticket) + JOIN Movimientos_componentes mc using(Id_Movimiento) + WHERE Id_Componente IN (39, 37) -- maná auto y maná + AND Fecha > MyFechaDesde + + UNION ALL + + SELECT c.Id_Trabajador, - Entregado + FROM Recibos r + JOIN Clientes c using(Id_Cliente) + WHERE Id_Banco = 66 + AND Fechacobro > MyFechaDesde + + UNION ALL + + SELECT c.Id_Trabajador, g.Importe + FROM Greuges g + JOIN Clientes c using(Id_Cliente) + WHERE Greuges_type_id = 3 -- Maná + AND Fecha > MyFechaDesde + + UNION ALL + + SELECT c.Id_Trabajador, mana + FROM bs.manaCustomer mc + JOIN vn2008.Clientes c ON c.Id_Cliente = mc.Id_Cliente + WHERE dated = MyFechaDesde + ) sub + + GROUP BY Id_Trabajador + +) m using(Id_Trabajador) + +SET used = IFNULL(m.mana,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 `massiveTicket` */; +/*!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 `massiveTicket`( + IN dateFrom DATE, IN dateTo DATE, IN customerId INT, OUT newTicketId INT) +BEGIN +/** + * Genera un nuevo ticket con los movimientos correspondientes a los parámetros + * + * @param dateFrom Fecha mínima para los tickets + * @param dateTo Fecha máxima para los tickets + * @param customerId Cliente + * + * @return newTicketId Nuevo numero de ticket + **/ + + DECLARE inventoryWarehouse INT DEFAULT 13; + DECLARE defaultCompany INT DEFAULT 442; + DECLARE defaultWorker INT DEFAULT 20; + + CALL vn.ticketCreate ( customerId + , CURDATE() + , inventoryWarehouse + , defaultCompany + , NULL + , NULL + , NULL + , CURDATE() + , newTicketId); + + INSERT INTO Movimientos( Id_Ticket + , Id_Article + , Concepte + , Preu + , Descuento + , Cantidad) + + SELECT newTicketId + , Id_Article + , Concepte + , Preu + , Descuento + , Cantidad + FROM Movimientos m + JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket + WHERE Id_Cliente = customerId + AND t.Fecha BETWEEN dateFROM AND DAYEND(dateTO); + + SELECT newTicketId; + +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 `mensaje` */; +/*!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 `mensaje`(IN idREM INT, IN idDES INT, IN strMSG LONGTEXT) +BEGIN + +/*DECLARE lngLASTID BIGINT;*/ + +-- Caso sencillo + +INSERT INTO Mensajes(Mensaje, Fecha, Remitente, Destinatario) +VALUES(strMSG, NOW(), idREM, idDES); + +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 `monitoring_calls` */; +/*!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`@`localhost` PROCEDURE `monitoring_calls`(IN datFEC DATE) +BEGIN + +SELECT Id_Trabajador, AVG(billsec) as Duracion, days.Fecha, Hora, SUM(Recibidas) as Entrantes, SUM(Emitidas) as Salientes +FROM +( +SELECT Id_Trabajador, billsec, 1 as Recibidas, NULL as Emitidas, date(calldate) as Fecha, hour(calldate) as Hora +FROM Trabajadores T +INNER JOIN cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') +LEFT JOIN v_phonebook A ON A.Telefono = C.src +WHERE calldate >= datFEC +UNION ALL +SELECT Id_Trabajador, billsec, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate) +FROM Trabajadores T +INNER JOIN cdr C ON C.src = T.extension +LEFT JOIN v_phonebook A ON A.Telefono = C.dst +WHERE calldate >= datFEC +) llamadas +INNER JOIN Permisos USING(Id_Trabajador) +INNER JOIN +( +SELECT DISTINCT Fecha FROM Tickets WHERE Fecha >= datFEC +) days USING(Fecha) +WHERE Id_Grupo = 6 +GROUP BY Id_Trabajador, Fecha, Hora; + +/* +SELECT Id_Trabajador, SUM(dur_in) dur_in, SUM(dur_out) dur_out, llamadas.Fecha,YEAR(llamadas.Fecha) `year`, +MONTH(llamadas.Fecha) `month`,WEEK(llamadas.Fecha,7) `week`, Hora, SUM(Recibidas) as Entrantes, SUM(Emitidas) as Salientes +FROM +( +SELECT Id_Trabajador, billsec dur_in, NULL dur_out, 1 as Recibidas, NULL as Emitidas, date(calldate) as Fecha, hour(calldate) as Hora +FROM Trabajadores T +INNER JOIN cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') +WHERE calldate >= CURDATE() +UNION ALL +SELECT Id_Trabajador,NULL dur_in, billsec dur_out, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate) +FROM Trabajadores T +INNER JOIN cdr C ON C.src = T.extension +WHERE calldate >= CURDATE() +) llamadas +INNER JOIN Permisos USING(Id_Trabajador) +WHERE Id_Grupo = 6 +GROUP BY Id_Trabajador, Fecha, Hora; +*/ +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 `Movimiento_rechazo` */; +/*!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 `Movimiento_rechazo`(IN idMOV BIGINT) +BEGIN + + DECLARE idC INT; + DECLARE newFEC DATE; + DECLARE intWarehouse INT; + DECLARE intEmpresa INT; + DECLARE IdConsignatario INT; + DECLARE intIdAgencia INT; + DECLARE Id_NEWTICKET BIGINT; + DECLARE Id_NEWMOVIMIENTO BIGINT; + DECLARE datLanding DATE; + DECLARE v_start DATETIME; + DECLARE v_end DATETIME; + DECLARE intTicketActual INT; + DECLARE SYSTEM_WORKER INT DEFAULT 20; + + SELECT Id_Cliente + , Fecha + , warehouse_id + , empresa_id + , Id_Consigna + , Id_Agencia + , Landing + , Id_Ticket + + INTO idC + , newFEC + , intWarehouse + , intEmpresa + , IdConsignatario + , intIdAgencia + , datLanding + , intTicketActual + + FROM Tickets t + JOIN Movimientos m using(Id_Ticket) + WHERE Id_Movimiento = idMOV; + + -- Busca un ticket existente que coincida con los parametros del nuevo pedido + + SET v_start = TIMESTAMP(newFEC); + SET v_end = TIMESTAMP(newFEC, '23:59:59'); + + SELECT Id_Ticket INTO Id_NEWTICKET + FROM vn2008.Tickets t + WHERE IdConsignatario = t.Id_Consigna + AND intWarehouse = t.warehouse_id + AND intIdAgencia = t.Id_Agencia + AND datLanding <=> t.Landing + AND t.Fecha BETWEEN v_start AND v_end -- uso BETWEEN para aprovechar el indice + AND t.Factura IS NULL + AND t.Localizacion = 'RECHAZO' + AND t.PedidoImpreso = 0 + AND t.Etiquetasemitidas = 0 + AND vn2008.is_bionic(t.Id_Ticket) + AND t.Id_Cliente <> 1118 + AND t.Id_Ticket <> intTicketActual + LIMIT 1; + + IF Id_NEWTICKET IS NULL + THEN + CALL vn.ticketCreate(idC + , newFEC + , intWarehouse + , intEmpresa + , IdConsignatario + , intIdAgencia + , NULL + ,datLanding + , Id_NEWTICKET); + + CALL bionic_calc_ticket(Id_NEWTICKET); + END IF; + + INSERT INTO vncontrol.inter(Id_Ticket, Id_Trabajador, state_id) + SELECT Id_NEWTICKET, SYSTEM_WORKER, s.id + FROM vn2008.state s + WHERE s.code = 'FIXING'; + + INSERT INTO Movimientos(Id_Ticket, Id_Article, Concepte, Cantidad, Preu, Descuento) + SELECT Id_NEWTICKET, Id_Article, Concepte, Cantidad, Preu, Descuento + FROM Movimientos + WHERE Id_Movimiento = idMOV; + + SELECT LAST_INSERT_ID() INTO Id_NEWMOVIMIENTO; + + INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT Id_NEWMOVIMIENTO, Id_Componente, Valor + FROM Movimientos_componentes + WHERE Id_Movimiento = idMOV; + +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 `msg` */; +/*!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 `msg`(IN memTXT VARCHAR(255), IN idREM INTEGER, idDES INTEGER) +BEGIN + DECLARE last_ID INTEGER; + DECLARE codDES CHAR(3); + + SELECT CodigoTrabajador INTO codDES FROM Trabajadores WHERE Id_Trabajador = idDES; + + INSERT INTO Mensajes(Mensaje,Fecha,Remitente,Destinatario) + VALUES(memTXT, NOW(),idREM, idDES); + SELECT LAST_INSERT_ID() INTO last_ID; + + + INSERT INTO Incidencias(Incidencia,Id_Trabajador,Destino,Fecha,Fecha_Mod) + VALUES (CONCAT('@@ ',last_ID),idREM,codDES,NOW(),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 `nest_brother_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 `nest_brother_add`( + vTable VARCHAR(45) + ,vNewBrother VARCHAR(45) + ,vOldBrotherId INT +) +BEGIN + DECLARE vMyRight INT; + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS aux; + CREATE TEMPORARY TABLE aux + SELECT 0 as rgt; + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux SET rgt = (SELECT rgt FROM %t.%t WHERE id = %v)' + ,vSchema + ,vTable + ,vOldBrotherId + )); + + SELECT rgt INTO vMyRight FROM aux; + + DROP TEMPORARY TABLE aux; + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC' + ,vSchema + ,vTable + ,vMyRight + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC' + ,vSchema + ,vTable + ,vMyRight + )); + + CALL util.exec (sql_printf ( + 'INSERT INTO %t.%t (name, lft, rgt) VALUES(%v, %v + 1, %v + 2)' + ,vSchema + ,vTable + ,vNewBrother + ,vMyRight + ,vMyRight + )); +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 `nest_child_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 `nest_child_add`( + vTable VARCHAR(45) + ,vChild VARCHAR(45) + ,vFatherId INT +) +BEGIN + DECLARE vMyLeft INT; + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS aux; + CREATE TEMPORARY TABLE aux + SELECT 0 as lft; + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux SET lft = (SELECT lft FROM %t.%t WHERE id = %v)' + ,vSchema + ,vTable + ,vFatherId + )); + + SELECT lft INTO vMyLeft FROM aux; + + DROP TEMPORARY TABLE aux; + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC' + ,vSchema + ,vTable + ,vMyLeft + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC' + ,vSchema + ,vTable + ,vMyLeft + )); + + CALL util.exec (sql_printf ( + 'INSERT INTO %t.%t(name, lft, rgt) VALUES(%v, %v + 1, %v + 2)' + ,vSchema + ,vTable + ,vChild + ,vMyLeft + ,vMyLeft + )); +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 `nest_delete` */; +/*!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 `nest_delete`( + vTable VARCHAR(45) + ,vNodeId INT +) +BEGIN + DECLARE vMyRight INT; + DECLARE vMyLeft INT; + DECLARE vMyWidth INT; + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS aux; + CREATE TEMPORARY TABLE aux + SELECT 0 AS rgt, 0 AS lft, 0 AS wdt; + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux a JOIN %t.%t t SET a.rgt = t.rgt, a.lft = t.lft, a.wdt = t.rgt - t.lft + 1 WHERE t.id = %v' + ,vSchema + ,vTable + ,vNodeId + )); + + SELECT rgt, lft, wdt INTO vMyRight, vMyLeft, vMyWidth FROM aux; + + DROP TEMPORARY TABLE aux; + + CALL util.exec (sql_printf ( + 'DELETE FROM %t.%t WHERE lft BETWEEN %v AND %v' + ,vSchema + ,vTable + ,vMyLeft + ,vMyRight + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt' + ,vSchema + ,vTable + ,vMyWidth + ,vMyRight + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft - %v WHERE lft > %v ORDER BY lft' + ,vSchema + ,vTable + ,vMyWidth + ,vMyRight + )); +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 `nest_leaves` */; +/*!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 `nest_leaves`( + vTable VARCHAR(20) + ,vLinesTable VARCHAR(40) + ,vNestId VARCHAR(40) + ,vGap INT + ,vShouldShow BOOL +) +BEGIN + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS tmp.nest; + + -- Se llama al procedimiento que genera el arbol + + CALL nest_tree(vTable, vGap, FALSE); + + -- Se añade un campo para el conteo de hojas + + ALTER TABLE tmp.nest + ADD leaves INT, + ADD time DATETIME; + + -- Añadimos la hora + + CALL util.exec (sql_printf ( + 'UPDATE tmp.nest n + JOIN %t.%t s using(id) + SET n.time = s.odbc_date' + ,vSchema + ,vTable + )); + + -- Actualizamos el campo leaves para los nodos que tienen asociados + + CALL util.exec (sql_printf ( + 'update tmp.nest n + join + ( + select %t as id, count(*) as leaves + from %t.%t + group by %t + ) s using(id) + set n.leaves = s.leaves' + ,vNestId + ,vSchema + ,vLinesTable + ,vNestId + )); + + -- Actualizamos todos los nodos con la suma de las hojas de los hijos + + drop temporary table if exists tmp.nest2; + + create temporary table tmp.nest2 + select * from tmp.nest; + + drop temporary table if exists tmp.nest3; + + create temporary table tmp.nest3 + select * from tmp.nest; + + update tmp.nest + join + ( + select n.id, sum(n2.leaves) leaves + from tmp.nest3 n + join tmp.nest2 n2 on n2.lft between n.lft and n.rgt + group by n.id + ) sub on sub.id = nest.id + set nest.leaves = ifnull(sub.leaves,0); + + drop temporary table tmp.nest2; + + IF vShouldShow THEN + SELECT * FROM tmp.nest; + 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 `nest_move` */; +/*!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 `nest_move`( + strTABLE VARCHAR(45) + ,idNODE INT + ,idFATHER INT +) +BEGIN + DECLARE myRight INT; + DECLARE myLeft INT; + DECLARE myWidth INT; + DECLARE fatherRight INT; + DECLARE fatherLeft INT; + DECLARE gap INT; + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS aux; + CREATE TEMPORARY TABLE aux + SELECT 0 as rgt, 0 as lft, 0 as wdt, 0 as frg, 0 as flf; + + -- Averiguamos el ancho de la rama + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux a JOIN %t.%t t SET a.wdt = t.rgt - t.lft +1 + WHERE t.id = %v' + ,vSchema + ,strTABLE + ,idNODE + )); + + -- Averiguamos la posicion del nuevo padre + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux a JOIN %t.%t t SET a.frg = t.rgt, a.flf = t.lft WHERE t.id = %v' + ,vSchema + ,strTABLE + ,idFATHER + )); + + SELECT wdt, frg, flf INTO myWidth, fatherRight, fatherLeft FROM aux; + + -- 1º Incrementamos los valores de todos los nodos a la derecha del punto de inserción (fatherRight) , para hacer sitio + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt + %v WHERE rgt >= %v ORDER BY rgt DESC' + ,vSchema + ,strTABLE + ,myWidth + ,fatherRight + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft + %v WHERE lft >= %v ORDER BY lft DESC' + ,vSchema + ,strTABLE + ,myWidth + ,fatherRight + )); + + -- Es preciso recalcular los valores del nodo en el caso de que estuviera a la derecha del nuevo padre + + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux a JOIN %t.%t t SET a.rgt = t.rgt, a.lft = t.lft WHERE t.id = %v' + ,vSchema + ,strTABLE + ,idNODE + )); + + SELECT lft, rgt, frg - lft INTO myLeft, myRight, gap FROM aux; + + -- 2º Incrementamos el valor de todos los nodos a trasladar hasta alcanzar su nueva posicion + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft + %v WHERE lft BETWEEN %v AND %v ORDER BY lft DESC' + ,vSchema + ,strTABLE + ,gap + ,myLeft + ,myRight + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt + %v WHERE rgt BETWEEN %v AND %v ORDER BY rgt DESC' + ,vSchema + ,strTABLE + ,gap + ,myLeft + ,myRight + )); + + -- 3º Restaremos a todos los nodos resultantes, a la derecha de la posicion arrancada el ancho de la rama escindida + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET lft = lft - %v WHERE lft > %v ORDER BY lft' + ,vSchema + ,strTABLE + ,myWidth + ,myLeft + )); + + CALL util.exec (sql_printf ( + 'UPDATE %t.%t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt' + ,vSchema + ,strTABLE + ,myWidth + ,myRight + )); + + DROP TEMPORARY TABLE aux; +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 `nest_query` */; +/*!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 `nest_query`(strTABLE VARCHAR(45)) +BEGIN + DECLARE v_max_depth INT; + DECLARE v_current_depth INT; + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth; + DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth_aux; + + -- Calculamos el nivel de profundidad para cada item + + CALL util.exec (sql_printf ( + 'CREATE TEMPORARY TABLE tmp.nest_depth + SELECT node.id node_id, COUNT(parent.id) - 1 as depth + FROM %t.%t AS node, + %t.%t AS parent + WHERE node.lft BETWEEN parent.lft AND parent.rgt + GROUP BY node.id + ORDER BY node.lft' + ,vSchema + ,strTABLE + ,vSchema + ,strTABLE + )); + + SELECT max(depth) FROM tmp.nest_depth INTO v_max_depth; + SET v_current_depth = 2; + + CREATE TEMPORARY TABLE tmp.nest_depth_aux + SELECT * FROM tmp.nest_depth; + + -- Vamos a hacer consultas anidadas para obtener una consulta de dos entradas + + DROP TEMPORARY TABLE IF EXISTS tmp.nest; + DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; + + -- Primera tabla, con el nivel 0 + CALL util.exec (sql_printf ( + 'CREATE TEMPORARY TABLE tmp.nest + SELECT child.id nest_id + ,child.lft + ,child.rgt + ,parent.id as ID0 + ,parent.name as PARENT0 + ,child.id as ID1 + ,child.name as PARENT1 + FROM %t.%t AS parent + JOIN tmp.nest_depth nd ON nd.node_id = parent.id AND nd.depth = 0, + %t.%t AS child + JOIN tmp.nest_depth_aux ndc ON ndc.node_id = child.id AND ndc.depth = 1 + WHERE child.lft BETWEEN parent.lft + 1 AND parent.rgt + ORDER BY parent.lft' + ,vSchema + ,strTABLE + ,vSchema + ,strTABLE + )); + + CREATE TEMPORARY TABLE tmp.nest_aux + SELECT * FROM tmp.nest; + + WHILE v_current_depth <= v_max_depth + DO + DROP TEMPORARY TABLE IF EXISTS tmp.nest; + + CALL util.exec (sql_printf ( + 'CREATE TEMPORARY TABLE tmp.nest + SELECT parent.* + ,child.id as %v + ,child.name as %v + ,child.id as ID + FROM tmp.nest_aux AS parent + LEFT JOIN %t.%t AS child ON child.lft BETWEEN parent.lft + 1 AND parent.rgt + LEFT JOIN tmp.nest_depth_aux ndc ON ndc.node_id = child.id + WHERE IFNULL(ndc.depth,%v) = %v + ORDER BY parent.lft' + ,CONCAT('ID',v_current_depth) + ,CONCAT('PARENT',v_current_depth) + ,vSchema + ,strTABLE + ,v_current_depth + ,v_current_depth + )); + + -- Actualizamos lft y rgt + + CALL util.exec (sql_printf ( + 'UPDATE tmp.nest + JOIN %t.%t AS child ON child.id = nest.ID + SET nest.lft = child.lft, nest.rgt = child.rgt, nest_id = nest.ID' + ,vSchema + ,strTABLE + )); + + ALTER TABLE tmp.nest DROP COLUMN ID; + + DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; + CREATE TEMPORARY TABLE tmp.nest_aux + SELECT * FROM tmp.nest; + + SET v_current_depth = v_current_depth + 1; + END WHILE; + + -- Eliminamos los campos duplicados + SET v_current_depth = 0; + + WHILE v_current_depth <= v_max_depth + DO + SET @id = 0; + + CALL util.exec (sql_printf ( + 'UPDATE tmp.nest_aux + SET %t = IF(@id = %t, NULL, %t), + ID0 = IF(@id := %t, ID0, ID0), + %t = IF(length(%t), %t,NULL)' + ,CONCAT('PARENT',v_current_depth) + ,CONCAT('ID',v_current_depth) + ,CONCAT('PARENT',v_current_depth) + ,CONCAT('ID',v_current_depth) + ,CONCAT('ID',v_current_depth) + ,CONCAT('PARENT',v_current_depth) + ,CONCAT('ID',v_current_depth) + )); + + SET v_current_depth = v_current_depth + 1; + END WHILE; + + SELECT * FROM tmp.nest_aux; + + -- Limpieza + + DROP TEMPORARY TABLE IF EXISTS + tmp.nest_aux, + tmp.nest, + tmp.nest_depth_aux, + tmp.nest_depth; +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 `nest_sons_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 `nest_sons_list`( + vId INT + ,vTable VARCHAR(45) + ,vShouldShow BOOLEAN +) +BEGIN +/** + * Devuelve un recordset con los ID de todos los nodos que + * cuelgan del nodo que se pasa como parámetro + */ + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS tmp.nest_sons; + CALL util.exec (sql_printf ( + 'CREATE TEMPORARY TABLE tmp.nest_sons + SELECT DISTINCT node.id node_id + FROM %t.%t AS node + JOIN %t.%t AS parent ON node.lft between parent.lft and parent.rgt + WHERE parent.id = %v + ORDER BY node.lft' + ,vSchema + ,vTable + ,vSchema + ,vTable + ,vId + )); + + IF vShouldShow THEN + SELECT * FROM tmp.nest_sons; + 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 `nest_tree` */; +/*!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 `nest_tree`( + vTable VARCHAR(20) + ,vGap INT + ,vShouldShow BOOL +) +BEGIN + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); + + DROP TEMPORARY TABLE IF EXISTS tmp.nest; + CALL util.exec (sql_printf ( + 'CREATE TEMPORARY TABLE tmp.nest + SELECT node.id + ,CONCAT( REPEAT(REPEAT(" ",%v), COUNT(parent.id) - 1), node.name) AS name + ,node.lft + ,node.rgt + ,COUNT(parent.id) - 1 as depth + ,cast((node.rgt - node.lft - 1) / 2 as DECIMAL) as sons + FROM %t.%t AS node, + %t.%t AS parent + WHERE node.lft BETWEEN parent.lft AND parent.rgt + GROUP BY node.id + ORDER BY node.lft' + ,vGap + ,vSchema + ,vTable + ,vSchema + ,vTable + )); + + IF vShouldShow THEN + SELECT * FROM tmp.nest; + 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 `newItem` */; +/*!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 `newItem`(IN vTicket INTEGER, IN vVolume INTEGER, IN vQuantity INTEGER) +BEGIN + + DECLARE vLandingWarehouse INT; + DECLARE vLandingDate DATE; + DECLARE vShipmentDate DATE; + DECLARE vTravel INT; + DECLARE vEntry INT; + + SELECT warehouse_id, Fecha, landing INTO vLandingWarehouse, vShipmentDate, vLandingDate FROM Tickets WHERE Id_Ticket = vTicket; + + -- seleccionamos travel + SELECT id, Id_Entrada INTO vTravel, vEntry + FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id + WHERE t.landing = vLandingDate AND t.shipment = vShipmentDate AND t.warehouse_id_out = vLandingWarehouse AND t.warehouse_id = vWarehouse + AND t.delivered = FALSE ; -- agency ?? + + -- creamos el travel si es necesario + IF NOT vTravel THEN + INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) + VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vShipmentWarehouse, a); + SELECT LAST_INSERT_ID() INTO vTravel; + END IF; + + -- creamos la Entrada si es necesario + IF NOT vEntry THEN + INSERT INTO Entradas (Id_Proveedor, travel_id) + VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' + SELECT LAST_INSERT_ID() INTO vEntry; + 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 `niching` */; +/*!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 `niching`(IN i_ini INT, IN i_end INT +, IN i_bal INT, IN i_col INT ) BEGIN -DECLARE inv_calculado INT; -DECLARE inv INT; -DECLARE today DATETIME; -DECLARE fecha_inv DATETIME; -SET today = curdate(); +DECLARE i INT(5); +DECLARE j INT(5); - DROP TEMPORARY TABLE IF EXISTS historico_pasado; - CREATE TEMPORARY TABLE historico_pasado - SELECT * - FROM ( - SELECT TR.landing as Fecha, - C.Cantidad as Entrada, - NULL as Salida, - (TR.received != FALSE) as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, 0 as Calidad - FROM Compres C -- mirar perque no entra en received - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Proveedores P USING (Id_Proveedor) - WHERE TR.landing >= '2001-01-01' - AND Id_proveedor <> 4 - AND wh IN (TR.warehouse_id , 0) - AND C.Id_Article = idART - AND E.Inventario = 0 +DROP TEMPORARY TABLE IF EXISTS labels; - UNION ALL +CREATE TEMPORARY TABLE `labels` + (`label` VARCHAR(15) NULL) +ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - SELECT TR.shipment as Fecha, - NULL as Entrada, - C.Cantidad as Salida, - TR.delivered as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, 0 as Calidad - FROM Compres C - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Proveedores P USING (Id_Proveedor) +WHILE i_ini <= i_end DO - WHERE TR.shipment >= '2001-01-01' - AND wh = TR.warehouse_id_out - AND Id_Proveedor <> 4 - AND C.Id_Article = idART - AND E.Inventario = 0 + SET i = i_bal; - UNION ALL + WHILE i > 0 DO - SELECT T.Fecha as Fecha, - NULL as Entrada, - M.Cantidad as Salida, - (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, - T.Alias as Alias, - T.Factura as Referencia, - T.Id_Ticket,T.PedidoImpreso, - C.Calidad - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente - WHERE T.Fecha >= '2001-01-01' - AND M.Id_Article = idART - AND wh IN (T.warehouse_id , 0) - ) as t1 ORDER BY Fecha, Entrada DESC, OK DESC; - SELECT sum(Entrada) - sum(Salida) INTO inv_calculado - FROM historico_pasado - WHERE Fecha < datfecha; - - -- WHERE historico_pasado.Fecha < fecha_inv ; + SET j = i_col; + IF j = 0 THEN + INSERT INTO labels(label) + VALUES (CONCAT(i_ini,IF(i=0,' ',char(64 + i)))); + ELSE -SELECT p1.*, NULL as v_virtual FROM( - SELECT datfecha as Fecha,inv_calculado as Entrada, NULL as Salida,1 as OK, - 'Inventario calculado' as Alias, '' as Referencia, 0 as id, 1 as F5, 0 as Calidad - UNION ALL - SELECT * FROM historico_pasado WHERE Fecha >= datfecha - )as p1; + WHILE j > 0 DO + INSERT INTO labels(label) + VALUES (CONCAT(i_ini,char(64 + i), j)); -DROP TEMPORARY TABLE historico_pasado; + SET j = j - 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 `historico_joined` */; -/*!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 `historico_joined`(IN idART INT, IN wh_joined INT, IN v_virtual INT) -BEGIN -DECLARE datFEC DATETIME; - -SELECT Fechainventario INTO datFEC FROM tblContadores; -SET @a = 0; -SELECT DATE(Fecha) AS Fecha, - Entrada, - Salida, - OK, - Alias, - Referencia, - id, - @a := @a + IFNULL(Entrada,0) - IFNULL(Salida,0) as acumulado, - F5, - v_virtual, - Calidad,CodigoTrabajador -FROM - - ( SELECT TR.landing as Fecha, - C.Cantidad as Entrada, - NULL as Salida, - (TR.received != FALSE) as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - LEFT JOIN warehouse_joined wj ON wj.warehouse_id = TR.warehouse_id - WHERE TR.landing >= datFEC - AND wh_joined IN (wj.warehouse_alias_id , 0) - AND C.Id_Article = idART - AND E.Inventario = 0 - - UNION ALL - - SELECT TR.shipment as Fecha, - NULL as Entrada, - C.Cantidad as Salida, - TR.delivered as OK, - P.Proveedor as Alias, - E.Referencia as Referencia, - E.Id_Entrada as id, - TR.delivered as F5, - 0 as Calidad, tra.CodigoTrabajador - - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Proveedores P USING (Id_Proveedor) - LEFT JOIN Articles a ON a.Id_Article = C.Id_Article - LEFT JOIN Tipos ti ON ti.Id_Tipo = a.tipo_id - LEFT JOIN Trabajadores tra ON tra.Id_Trabajador = ti.Id_Trabajador - LEFT JOIN warehouse_joined wj ON wj.warehouse_id = TR.warehouse_id_out - WHERE TR.shipment >= datFEC - AND wh_joined IN (wj.warehouse_alias_id,0) - AND Id_Proveedor <> 4 - AND C.Id_Article = idART - AND E.Inventario = 0 - - UNION ALL - - SELECT T.Fecha as Fecha, - NULL as Entrada, - M.Cantidad as Salida, - (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, - T.Alias as Alias, - T.Localizacion as Referencia, - T.Id_Ticket as id, - T.PedidoImpreso EtiquetasEmitidas, - C.Calidad, tr.CodigoTrabajador - - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN Clientes C ON C.Id_Cliente = T.Id_Cliente - LEFT JOIN Trabajadores tr ON tr.Id_Trabajador = C.Id_Trabajador - LEFT JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id - WHERE T.Fecha >= datFEC - AND M.Id_Article = idART - AND wh_joined IN (wj.warehouse_alias_id , 0) - - ) AS Historico -ORDER BY Fecha, Entrada DESC, OK DESC; - - -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 `historico_multiple` */; -/*!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 `historico_multiple`(IN idART INT) -BEGIN - -DECLARE datFEC DATETIME; - -SELECT Fechainventario INTO datFEC FROM tblContadores; - -SET @a = 0; - -DROP TEMPORARY TABLE IF EXISTS hm1; - -CREATE TEMPORARY TABLE hm1 -SELECT DATE(Fecha) as Fecha, - Entrada, - Salida, - OK, - Referencia, - Historia.id, - - wh, - - `name` as wh_name - -FROM - - ( SELECT TR.landing as Fecha, - C.Cantidad as Entrada, - NULL as Salida, - - IF(warehouse_id = 44, 1, warehouse_id) as wh, - (TR.received != FALSE) as OK, - E.Referencia as Referencia, - E.Id_Entrada as id - - - - FROM Compres C - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - WHERE TR.landing >= datFEC - AND C.Id_Article = idART - AND E.Redada = 0 - - AND C.Cantidad <> 0 - - UNION ALL - - SELECT TR.shipment as Fecha, - NULL as Entrada, - C.Cantidad as Salida, - - - IF(warehouse_id_out = 44, 1, warehouse_id_out) as wh, - TR.delivered as OK, - - E.Referencia as Referencia, - E.Id_Entrada as id - - FROM Compres C - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - WHERE TR.shipment >= datFEC - AND C.Id_Article = idART - - AND E.Redada = 0 - - AND C.Cantidad <> 0 - - UNION ALL - - SELECT T.Fecha as Fecha, - NULL as Entrada, - M.Cantidad as Salida, - IF(warehouse_id = 44, 1, warehouse_id) as wh, - - (M.OK <> 0 OR T.Etiquetasemitidas <> 0 OR T.Factura IS NOT NULL) as OK, - T.Factura as Referencia, - T.Id_Ticket as id - - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - WHERE T.Fecha >= datFEC - AND M.Id_Article = idART - - ) AS Historia - - INNER JOIN warehouse ON warehouse.id = Historia.wh -ORDER BY Fecha, Entrada DESC, OK DESC; - - -DROP TEMPORARY TABLE IF EXISTS hm2; -DROP TEMPORARY TABLE IF EXISTS hm3; -DROP TEMPORARY TABLE IF EXISTS hm4; -DROP TEMPORARY TABLE IF EXISTS hm5; -DROP TEMPORARY TABLE IF EXISTS hm6; -DROP TEMPORARY TABLE IF EXISTS hm7; -DROP TEMPORARY TABLE IF EXISTS hm8; -CREATE TEMPORARY TABLE hm2 SELECT * FROM hm1 WHERE wh = 19; -CREATE TEMPORARY TABLE hm3 SELECT * FROM hm1 WHERE wh = 7; -CREATE TEMPORARY TABLE hm4 SELECT * FROM hm1 WHERE wh = 1 or wh = 44; -CREATE TEMPORARY TABLE hm5 SELECT * FROM hm1 WHERE wh = 5; -CREATE TEMPORARY TABLE hm6 SELECT * FROM hm1 WHERE wh = 17; -CREATE TEMPORARY TABLE hm7 SELECT * FROM hm1 WHERE wh = 37; -CREATE TEMPORARY TABLE hm8 SELECT * FROM hm1 WHERE wh = 55; - -SELECT * FROM - -( - -SELECT Fecha, Entrada as BOGEntrada, Salida as BOGSalida, OK as BOGOK, Referencia as BOGReferencia, id as BOGid, - - NULL AS VNHEntrada, NULL AS VNHSalida, NULL AS VNHOK, NULL AS VNHReferencia, NULL AS VNHid, - - NULL AS SILEntrada, NULL AS SILSalida, NULL AS SILOK, NULL AS SILReferencia, NULL AS SILid, - - NULL AS MADEntrada, NULL AS MADSalida, NULL AS MADOK, NULL AS MADReferencia, NULL AS MADid, - - NULL AS MCFEntrada, NULL AS MCFSalida, NULL AS MCFOK, NULL AS MCFReferencia, NULL AS MCFid, - - NULL AS VILEntrada, NULL AS VILSalida, NULL AS VILOK, NULL AS VILReferencia, NULL AS VILid, - - NULL AS BAREntrada, NULL AS BARSalida, NULL AS BAROK, NULL AS BARReferencia, NULL AS BARid - -FROM hm2 - - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - ,Entrada, Salida, OK, Referencia, id - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL -FROM hm3 - - - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , Entrada, Salida, OK, Referencia, id - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL -FROM hm4 - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , Entrada, Salida, OK, Referencia, id - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL -FROM hm5 - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , Entrada, Salida, OK, Referencia, id - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL -FROM hm6 - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , Entrada, Salida, OK, Referencia, id - , NULL, NULL, NULL, NULL, NULL - - -FROM hm7 - -UNION ALL - -SELECT Fecha - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , NULL, NULL, NULL, NULL, NULL - , Entrada, Salida, OK, Referencia, id - -FROM hm8 - -) sub - -ORDER BY Fecha, BOGEntrada IS NULL, VNHEntrada IS NULL, SILEntrada IS NULL, MADEntrada IS NULL, MCFEntrada IS NULL, VILEntrada IS NULL, BAREntrada IS 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 `ImporteSantos` */; -/*!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 `ImporteSantos`(IN dat_from date,IN dat_to date) -BEGIN - -select codigotrabajador,Id_Cliente,Cliente,cast(sum(ImporteAnt) as decimal(10,0)) ImporteAnt,cast(sum(ImporteActual) as decimal(10,0)) ImporteActual -from ( - select codigotrabajador,cli.Id_Cliente Id_Cliente,Cliente,sum(amount) ImporteAnt,0 ImporteActual - from bi.ticket ti - inner join Clientes cli on ti.Id_Cliente=cli.Id_Cliente - inner join vn2008.Trabajadores on cli.Id_Trabajador=Trabajadores.Id_Trabajador - where (date between date_add(dat_from,interval -1 year) and date_add(dat_to,interval -1 year)) - -- and cli.invoice - group by CodigoTrabajador,ti.Id_Cliente - - union all -select CodigoTrabajador,cli.Id_Cliente,Cliente,0 ImporteAnt, - IFNULL(round(sum(cantidad * Costfixat),2),2) ImporteActual - from Tickets ti - inner join Movimientos m using (Id_Ticket) - INNER JOIN vn2008.Articles a USING(Id_Article) - INNER JOIN Tipos tp ON tp.tipo_id = a.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - INNER JOIN vn2008.Consignatarios c USING(Id_Consigna) - inner join Clientes cli on c.Id_Cliente=cli.Id_cliente - inner join vn2008.Trabajadores on cli.Id_Trabajador=Trabajadores.Id_Trabajador - inner join vn2008.Permisos perm on cli.Id_Trabajador=perm.Id_Trabajador - inner join vn2008.Grupos grup on perm.Id_Grupo=grup.Id - where ti.Fecha between dat_from and DAYEND(dat_to) - -- and cli.invoice - AND r.display <> 0 - and (grup.Id in (6) or cli.Id_Trabajador in (20)) - group by CodigoTrabajador,c.Id_Cliente,year(Fecha) -)sub1 -group by CodigoTrabajador,Id_Cliente -having (ImporteAnt<>0 or ImporteActual<>0) -order by CodigoTrabajador,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 `InsertarEspionaje` */; -/*!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 `InsertarEspionaje`(intIdTrabajador INT(11),intIdEquipo int) -BEGIN - -DECLARE intNReg TINYINT DEFAULT 0; - -SELECT Count(*) AS NReg -INTO intNReg -FROM Espionajes -WHERE Fecha=Current_date -AND Id_Trabajador=intIdTrabajador; - -IF (intNReg=0) THEN - INSERT INTO Espionajes (Id_Trabajador,Fecha,HoraEntrada,Id_Equipo) - VALUES (intIdTrabajador,CURRENT_DATE,CURRENT_TIME,intIdEquipo); -ELSE - UPDATE Espionajes - SET HoraSalida=CURRENT_TIME - WHERE Id_Trabajador=intIdTrabajador - AND Fecha=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 `insert_producer_plantpassport` */; -/*!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 `insert_producer_plantpassport`(IN idCompra INT) -BEGIN - DECLARE last_insert INTEGER; - - INSERT IGNORE INTO producer (`name`) - SELECT es.company_name - FROM vn2008.Compres c - JOIN vn2008.buy_edi be ON be.id = c.buy_edi_id - JOIN edi.supplier es ON es.supplier_id = be.pro - WHERE c.Id_Compra = idCompra; - - -- SELECT LAST_INSERT_ID() INTO last_insert; - - /* - IF last_insert > 0 THEN - UPDATE Articles a JOIN Compres c - ON a.Id_Article = c.Id_Article SET a.producer_id = last_insert WHERE c.Id_Compra = idCompra; - 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 `inventario_margen` */; -/*!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 `inventario_margen`(IN d_START DATETIME, IN d_END DATETIME, IN i_tipo INT, IN i_filtro INT, IN i_wh INT) -BEGIN - - DECLARE d_INV DATETIME; - DECLARE bolREVERSE BOOLEAN DEFAULT 0; - DECLARE d_FEC2 DATETIME; - DECLARE d_FEC DATETIME; - DECLARE i_SECTOR INT DEFAULT 0; - DECLARE strFILTRO VARCHAR(255) DEFAULT 'TRUE'; - DECLARE dblPORTE_m3 DOUBLE DEFAULT 45; - DECLARE intCASE INTEGER; - DECLARE ID_CLIENTE_COMPLEMENTOS INT DEFAULT 1927; - DECLARE ID_REINO_OTROS INT DEFAULT 6; - DECLARE ID_PROVEEDOR_INVENTARIO INT DEFAULT 4; - DECLARE ID_TRABAJADOR_MARIBEL INT DEFAULT 133; - - IF i_filtro THEN - SELECT `sql` INTO strFILTRO FROM filtros WHERE id = i_filtro; + END WHILE; END IF; + SET i = i - 1; - - --- PREVIO: Crear una tabla para filtrar los articulos que interesan - - DROP TEMPORARY TABLE IF EXISTS article_selection; - - SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - - CALL util.exec (sql_printf( - 'CREATE TEMPORARY TABLE vn2008.article_selection - ENGINE = MEMORY - SELECT A.Id_Article - FROM vn2008.Articles A - LEFT JOIN vn2008.Tipos t USING(tipo_id) - LEFT JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = t.Id_Trabajador - LEFT JOIN vn2008.Tintas tn ON A.color = tn.Id_Tinta - LEFT JOIN vn2008.Origen o ON o.id = A.id_origen - WHERE %s AND %s AND reino_id != %v' - ,IF(i_tipo, CONCAT('tipo_id = ', i_tipo), 'TRUE') - ,strFILTRO - ,ID_REINO_OTROS - )); - - -ALTER TABLE article_selection ADD PRIMARY KEY(Id_Article); - - --- PRIMER PASO: Cálculo del inventario inicial, valorado - --- Averiguamos la fecha del inventario inmediatemente anterior a la fecha de inicio - - SELECT landing INTO d_INV - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing <= d_START - AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO - AND i_wh IN (0,TR.warehouse_id) - ORDER BY landing DESC - LIMIT 1; - - IF d_INV is null THEN - - SELECT landing INTO d_INV - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing > d_START - AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO - AND i_wh IN (0,TR.warehouse_id) - ORDER BY landing ASC - LIMIT 1; - - END IF; - - --- Ubicamos la fecha de inventario segun su posición relativa a la de inicio y a la de fin - -IF d_INV <= d_START THEN - - SET intCASE = 1; - -ELSE - - IF d_INV > d_END THEN - - SET intCASE = 3; - - ELSE - - SET intCASE = 2; - - END IF; - -END IF; - -DROP TEMPORARY TABLE IF EXISTS inv; - --- Preparamos la tabla temporal que va a almacenar el valor y cantidad de productos - -CREATE TEMPORARY TABLE inv - (w_id SMALLINT, - Id_Article BIGINT, - Unidades INT, - Valor DOUBLE, - Sector INT DEFAULT 0 ) ENGINE = MEMORY; - - -ALTER TABLE inv ADD PRIMARY KEY USING HASH (w_id, Id_Article, Sector); - -/************************** SECTOR INICIAL: 0 *****************************/ - -CASE intCASE - - WHEN 1 THEN - - SET d_FEC = TIMESTAMP(d_INV,'00:00:00'); - SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_START) ,'23:59:59'); - SET bolREVERSE = FALSE; - - ELSE - - SET d_FEC = TIMESTAMP(d_START,'00:00:00'); - SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_INV) ,'23:59:59'); - SET bolREVERSE = TRUE; - - -END CASE; - - --- Inicializamos el inventario - - - INSERT INTO inv(w_id, Id_Article, Unidades,Valor) - SELECT TR.warehouse_id, C.Id_Article, sum(C.Cantidad), ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id - JOIN article_selection USING(Id_Article) - WHERE landing = d_INV - AND w.comisionantes - AND i_wh IN (0,TR.warehouse_id) - AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO - AND reino_id != ID_REINO_OTROS - AND TR.warehouse_id != TR.warehouse_id_out - GROUP BY TR.warehouse_id, C.Id_Article; - --- Se insertan las compras que llegan entre la fecha del inventario y la fecha inicial - - INSERT INTO inv(w_id, Id_Article, Unidades, Valor) - SELECT TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1), ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id - JOIN article_selection USING(Id_Article) - WHERE landing BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id) - AND w.comisionantes - AND NOT redada - AND reino_id != ID_REINO_OTROS - AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO - AND TR.warehouse_id != TR.warehouse_id_out - ORDER BY landing DESC - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,-1,1)) - , Valor = IF(Costefijo > 0,ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0),Valor); - --- Se sacan las que salen - - INSERT INTO inv(w_id, Id_Article, Unidades) - SELECT TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id_out - JOIN article_selection USING(Id_Article) - WHERE shipment BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id_out) - AND w.comisionantes - AND NOT redada - AND reino_id != ID_REINO_OTROS - AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO - AND TR.warehouse_id != TR.warehouse_id_out - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,1,-1)); - --- Ahora las ventas - - INSERT INTO inv(w_id, Id_Article, Unidades) - SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN warehouse w ON w.id = T.warehouse_id - INNER JOIN article_selection USING(Id_Article) - WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,T.warehouse_id) - AND w.comisionantes - AND reino_id != ID_REINO_OTROS - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (M.Cantidad * IF(bolREVERSE,1,-1)); - - -UPDATE inv SET Valor = inv.Unidades * Valor; - - -/************************** SECTOR ENTRADAS: 1 *****************************/ - -SET i_SECTOR = 1; - - - SET d_FEC = TIMESTAMP(d_START,'00:00:00'); - SET d_FEC2 = TIMESTAMP(d_END ,'23:59:59'); - - - --- Ahora vamos a incrementar en unidades y valor el producto recibido en el rango de fechas del procedimiento - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, sum(C.Cantidad ) - , sum(C.Cantidad * (nz(Costefijo)+nz(Embalajefijo)+nz(Portefijo)+nz(Comisionfija)) ) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id - JOIN article_selection USING(Id_Article) - WHERE landing BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id) - AND w.comisionantes - AND NOT redada - AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO - AND reino_id != ID_REINO_OTROS - AND TR.warehouse_id != TR.warehouse_id_out - GROUP BY TR.warehouse_id, C.Id_Article; - - - - -/************************** SECTOR SALIDAS: 2 *****************************/ - -SET i_SECTOR = 2; - --- Ahora vamos a restar en unidades y valor el producto que sale de los almacenes en el rango de fechas del procedimiento - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - SELECT i_SECTOR, TR.warehouse_id_out, C.Id_Article, sum( -1 * C.Cantidad ) - , sum( -1 * C.Cantidad * (nz(Costefijo) + nz(Embalajefijo) )) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id_out - JOIN article_selection USING(Id_Article) - WHERE shipment BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id_out) - AND w.comisionantes - AND NOT redada - AND E.Id_Proveedor != ID_PROVEEDOR_INVENTARIO - AND reino_id != ID_REINO_OTROS - AND TR.warehouse_id != TR.warehouse_id_out - GROUP BY TR.warehouse_id_out, C.Id_Article ; - - - -/******************** SECTOR VENTAS: 3 **************************************/ - -SET i_SECTOR = 3; - - -DROP TEMPORARY TABLE IF EXISTS Cub; - CREATE TEMPORARY TABLE Cub - SELECT * FROM (SELECT * FROM bi.last_Id_Cubo order by Id_Compra desc) sub group by Id_Article, warehouse_id; - - ALTER TABLE Cub ADD PRIMARY KEY USING HASH (Id_Article, warehouse_id); - - - - -IF d_START >= '2015-10-01' THEN - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - - - SELECT i_SECTOR - , w.id - , M.Id_Article - , sum(-1 * M.Cantidad ) as Unidades - , sum(-1 * IF(T.Id_Cliente IN (200,400),0,1) * IFNULL(bsv.importe,0)) as Valor - FROM Movimientos M - LEFT JOIN bs.ventas bsv on bsv.Id_Movimiento = M.Id_Movimiento - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Articles A ON A.Id_Article = M.Id_Article - INNER JOIN Tipos TP on TP.tipo_id = A.tipo_id - INNER JOIN warehouse w ON w.id = T.warehouse_id - JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article - WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,T.warehouse_id) - AND w.comisionantes - AND reino_id != ID_REINO_OTROS - /* - AND ( - T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS - OR - TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL - ) - */ - GROUP BY T.warehouse_id, Id_Article; - - - - -ELSE - - - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - - - SELECT i_SECTOR, w.id, M.Id_Article, sum(-1 * M.Cantidad ) - , - - sum( -1 - * M.Cantidad - * IF(CS.Id_Cliente IN (200,400),0,1) - * IF( - T.Fecha >= '2015-10-01' - , M.CostFixat - , ( - ( M.Preu - * (100 - M.Descuento) - / 100 - ) - - IF(C.Descuento = 1 and T.Bultos > 0 and Fecha > '2013-07-01', - IFNULL( dblPORTE_m3 * (cm3_2(CB.Id_Cubo, CB.Id_Article) / 1000000) / CB.Packing ,0 ) - ,0) - ) - ) - - ) as Preu - - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - LEFT JOIN Cub CB ON CB.Id_Article = M.Id_Article AND T.warehouse_id = CB.warehouse_id - INNER JOIN Consignatarios CS USING(Id_Consigna) - INNER JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente - INNER JOIN Articles A ON A.Id_Article = M.Id_Article - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN warehouse w ON w.id = T.warehouse_id - JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article - WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,T.warehouse_id) - AND w.comisionantes - AND reino_id != ID_REINO_OTROS - /* - AND ( - T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS - OR - TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL - ) - */ - GROUP BY T.warehouse_id, Id_Article; - - -END IF; - - -- Ventas del año anterior - - DROP TEMPORARY TABLE IF EXISTS Ventas_Lastyear; - - CREATE TEMPORARY TABLE Ventas_Lastyear - SELECT CodigoTrabajador, TP.Id_Tipo, - - sum(M.Cantidad - * IF(CS.Id_Cliente IN (200,400),0,1) - * IF( - T.Fecha >= '2015-10-01' - , M.CostFixat - , ( - ( M.Preu - * (100 - M.Descuento) - / 100 - ) - - IF(C.Descuento = 1 and T.Bultos > 0 and Fecha > '2013-07-01', - IFNULL( dblPORTE_m3 * (cm3_2(CB.Id_Cubo, CB.Id_Article) / 1000000) / CB.Packing ,0 ) - ,0) - ) - ) - - ) as Importe - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - LEFT JOIN Cub CB ON CB.Id_Article = M.Id_Article AND T.warehouse_id = CB.warehouse_id - INNER JOIN Consignatarios CS USING(Id_Consigna) - INNER JOIN Clientes C ON C.Id_Cliente = CS.Id_Cliente - INNER JOIN Articles A ON A.Id_Article = M.Id_Article - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Trabajadores TR ON TP.Id_Trabajador = TR.Id_Trabajador - INNER JOIN warehouse w ON w.id = T.warehouse_id - JOIN article_selection `AS` ON `AS`.Id_Article = M.Id_Article - WHERE T.Fecha BETWEEN TIMESTAMPADD(YEAR,-1,d_FEC) AND TIMESTAMPADD(YEAR,-1,d_FEC2) - AND i_wh IN (0,T.warehouse_id) - AND w.comisionantes - AND reino_id != ID_REINO_OTROS - /* - AND ( - T.Id_Cliente != ID_CLIENTE_COMPLEMENTOS - OR - TP.Id_Trabajador != ID_TRABAJADOR_MARIBEL - ) - */ - GROUP BY CodigoTrabajador, Id_Tipo; - - - - - - -/******************** SECTOR FINAL: 4 **************************************/ - -SET i_SECTOR = 4; - - -CASE intCASE - - - WHEN 3 THEN - - SET d_FEC = TIMESTAMP(TIMESTAMPADD(DAY,1,d_END),'00:00:00'); - SET d_FEC2 = TIMESTAMP(TIMESTAMPADD(DAY,-1,d_INV),'23:59:59'); - SET bolREVERSE = TRUE; - - ELSE - - SET d_FEC = TIMESTAMP(d_INV,'00:00:00'); - SET d_FEC2 = TIMESTAMP(d_END ,'23:59:59'); - SET bolREVERSE = FALSE; - - -END CASE; - --- Ahora repetimos el proceso de inventario, para contabilizar el stock remanente. - --- Inicializamos el inventario - - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, sum(C.Cantidad), nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id - JOIN article_selection USING(Id_Article) - WHERE landing = d_INV - AND i_wh IN (0,TR.warehouse_id) - AND E.Id_Proveedor = ID_PROVEEDOR_INVENTARIO - AND reino_id != ID_REINO_OTROS - AND w.comisionantes - AND TR.warehouse_id != TR.warehouse_id_out - GROUP BY TR.warehouse_id, C.Id_Article; - - - - - - --- Se insertan las compras que llegan entre la fecha del inventario y la fecha inicial - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades, Valor) - SELECT i_SECTOR, TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1), nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id - JOIN article_selection USING(Id_Article) - WHERE landing BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id) - AND NOT redada - AND w.comisionantes - AND E.Id_Proveedor != 4 - AND reino_id != ID_REINO_OTROS - AND TR.warehouse_id != TR.warehouse_id_out - ORDER BY landing DESC - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,-1,1)) - , Valor = IF( nz(Costefijo) > 0,nz(Costefijo) + nz(Portefijo) + nz(Embalajefijo) + nz(Comisionfija),Valor); - --- Se sacan las que salen - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades) - SELECT i_SECTOR, TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN warehouse w ON w.id = warehouse_id_out - JOIN article_selection USING(Id_Article) - WHERE shipment BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,TR.warehouse_id_out) - AND NOT redada - AND w.comisionantes - AND E.Id_Proveedor != 4 - AND reino_id != ID_REINO_OTROS - - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (C.Cantidad * IF(bolREVERSE,1,-1)); - - --- Ahora las ventas - - INSERT INTO inv(Sector, w_id, Id_Article, Unidades) - SELECT i_SECTOR, w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos TP USING(tipo_id) - INNER JOIN warehouse w ON w.id = T.warehouse_id - JOIN article_selection USING(Id_Article) - WHERE T.Fecha BETWEEN d_FEC AND d_FEC2 - AND i_wh IN (0,T.warehouse_id) - AND w.comisionantes - AND reino_id != ID_REINO_OTROS - ON DUPLICATE KEY UPDATE inv.Unidades = inv.Unidades + (M.Cantidad * IF(bolREVERSE,1,-1)); - --- Valoramos el inventario final - - -UPDATE inv SET Valor = inv.Unidades * Valor WHERE Sector =4; - - --- Resultado - -DROP TEMPORARY TABLE IF EXISTS Margen_Desglose; - -CREATE TEMPORARY TABLE Margen_Desglose - -SELECT CASE Sector - WHEN 0 THEN 'Inventario Inicial' - WHEN 1 THEN 'Entradas' - WHEN 2 THEN 'Salidas' - WHEN 3 THEN 'Ventas' - WHEN 4 THEN 'Inventario Final' END AS Seccion - , w.name as Almacen, r.reino as Reino, Id_Article, Article, Medida, Unidades,Id_Tipo, round(Valor,0) as Valor , round(Valor/Unidades,3) as Precio, Sector -FROM inv -JOIN Articles USING(Id_Article) -JOIN Tipos TP USING(tipo_id) -JOIN warehouse w ON w.id = w_id -JOIN reinos r ON r.id = TP.reino_id -WHERE Unidades != 0 -ORDER BY Almacen, Sector -; - - - - - -DROP TEMPORARY TABLE IF EXISTS Margen_Bruto; - -CREATE TEMPORARY TABLE Margen_Bruto - -SELECT Unidades_Vendidas, Coste, Venta,1 - round(coste / venta,2) as Margen -FROM ( -SELECT w.name as Almacen, r.reino as Reino, Id_Article, Article, Medida, sum(IF(Sector = 3, -1,0) * Unidades) as Unidades_Vendidas - , @coste:= round(sum( IF(Sector != 3, Valor * IF(Sector = 4,-1,1), 0) ) ,0) as Coste - , @venta:= round(sum( IF(Sector = 3, - Valor, 0 ) ),0) as Venta -FROM inv -JOIN Articles USING(Id_Article) -JOIN Tipos TP USING(tipo_id) -JOIN warehouse w ON w.id = w_id -JOIN reinos r ON r.id = TP.reino_id -WHERE Unidades != 0 - -) sub; - - - -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 `inventario_multiple` */; -/*!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 `inventario_multiple`(IN wh TINYINT(2), IN date_ticket DATETIME) -BEGIN --- DEPRECATED USAR cache.available_refresh - DECLARE date_order DATETIME; - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_aux DATE; - DECLARE date_start DATETIME; - DECLARE date_yesterday DATETIME; - DECLARE date_tomorrow DATETIME; - DECLARE strWH VARCHAR(2); - - SET strWH = IF(wh,wh,'%'); - SET date_end = TIMESTAMPADD(DAY, 7, date_ticket); - - CALL article (); - - ALTER TABLE `article_inventory` - ADD `available` FLOAT(7,2) NOT NULL, - ADD `inventory` FLOAT(7,2) NOT NULL, - ADD `visible` FLOAT(7,2) NOT NULL; - - -- JGF 2015-02-19 Falla, el valor @camp es cero y falla Campanya - /* - SELECT - IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life, - TIMESTAMPADD(DAY, -campaign_life, campaign), - FechaInventario), - IF(@camp BETWEEN 0 AND campaign_life, - TIMESTAMP(campaign, '23:59:59'), - TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) - INTO date_start, date_end - FROM tblContadores;*/ - - SELECT - FechaInventario,TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59') - INTO date_start, date_end - FROM tblContadores; - - - SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); - SET date_tomorrow = TIMESTAMPADD(DAY, 1, date_order); - --- Inventario hasta dia antes del ticket - CALL item_stock(wh,date_ticket,NULL); - - INSERT INTO article_inventory (article_id,inventory,visible,available) - SELECT item_id, stock, visible, available - FROM tmp_item; - - DROP TEMPORARY TABLE IF EXISTS tmp_item; - --- Inventario ventas durante el dia del ticket - INSERT INTO article_inventory(article_id,visible) - - SELECT Id_Article, SUM(amount) AS Subtotal - - FROM ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) - - WHERE Fecha >= date_order - - AND Fecha < date_tomorrow - - AND (M.OK != FALSE - - OR T.Etiquetasemitidas != FALSE - - OR T.Factura IS NOT NULL) - - AND T.warehouse_id = wh - - UNION ALL - - SELECT Id_Article, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.landing >= date_order - - AND TR.landing < date_tomorrow - - AND TR.received != FALSE - - AND TR.warehouse_id = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - UNION ALL - - SELECT Id_Article, -Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.shipment >= date_order - - AND TR.shipment < date_tomorrow - - AND TR.delivered != FALSE - - AND TR.warehouse_id_out = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - ) AS T1 - - GROUP BY Id_Article - - ON DUPLICATE KEY UPDATE - - visible = inventory + VALUES(visible); - - - -- Disponible en el futuro - CALL item_travel (wh, date_order); - - SET date_aux = DATE(date_order); - - INSERT INTO article_inventory(article_id,available) - - SELECT Tic3.Id_Article, minacum(dat, amount, date_aux) AS sd - - FROM ( - - SELECT Tic2.Id_Article, DATE(Fecha) AS dat, SUM(amount) AS amount - - FROM ( - - SELECT Id_Article, Fecha, -Cantidad AS amount - - FROM Movimientos M - - INNER JOIN Tickets T USING (Id_Ticket) - - WHERE Fecha BETWEEN date_order AND date_end - - AND T.warehouse_id = wh - - UNION ALL - - SELECT Id_Article, TR.landing, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.landing BETWEEN date_order AND date_end - - AND TR.warehouse_id = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - UNION ALL - - SELECT Id_Article, TR.shipment, -Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - - WHERE TR.shipment BETWEEN date_order AND date_end - - AND TR.warehouse_id_out = wh - - AND E.Inventario = FALSE - - AND E.Redada = FALSE - - ) AS Tic2 - - GROUP BY Tic2.Id_Article, dat - - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - - LEFT JOIN Origen O ON O.id = A.id_origen - - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE dat < IFNULL(t.landing, date_end) - - GROUP BY Tic3.Id_Article - - ON DUPLICATE KEY UPDATE - - available = IFNULL(inventory,0) + VALUES(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 `inventario_multiple_2` */; -/*!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 `inventario_multiple_2`( - date_ticket DATETIME - ,wh TINYINT - ,days_max TINYINT -) -proc: BEGIN - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - DECLARE date_top DATETIME; - DECLARE date_tomorrow DATETIME; - - SET date_ticket = DATE(date_ticket); -- PAK - - ALTER TABLE `article_inventory` - ADD `avalaible` INT NOT NULL, - ADD `sd` INT NOT NULL, - ADD `rest` INT NOT NULL, - ADD `expected` INT NOT NULL, - ADD `inventory` INT NOT NULL, - ADD `visible` INT NOT NULL, - ADD `life` TINYINT NOT NULL DEFAULT '0'; - - IF date_ticket < CURDATE() - THEN - LEAVE proc; - END IF; - - SELECT FechaInventario INTO date_start FROM tblContadores; - - SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IF(days_max >= 0, days_max,15), date_ticket),'23:59:59'); - SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); - SET date_top = TIMESTAMPADD(DAY, 1,date_end); - - -- Calculo del inventario dia D a las 24:00 zulu - - UPDATE article_inventory AI INNER JOIN - - ( - - SELECT Id_Article, SUM(amount) as Subtotal FROM - - ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id - WHERE DATE(Fecha) BETWEEN date_start AND date_ticket - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing BETWEEN date_start AND date_ticket - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment BETWEEN date_start AND date_ticket - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - AND E.Inventario = 0 - AND E.Redada = 0 - - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.inventory = T2.Subtotal, - - AI.visible = T2.Subtotal, - - AI.avalaible = T2.Subtotal, - - AI.sd = T2.Subtotal; - - -- Calculo del visible - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Id_Article, SUM(amount) as Subtotal FROM - ( - SELECT Id_Article, Cantidad AS amount - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id -- PAK - WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK - AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing = date_ticket - AND TR.received = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - INNER JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment = date_ticket - AND TR.delivered = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.visible = AI.visible + T2.Subtotal; - - -- Calculo del disponible - - CALL item_travel (wh, date_ticket); - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM - ( - - SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM - ( - SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =T.warehouse_id) - - UNION ALL - - SELECT Id_Article, landing as Fecha, Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id -- PAK - WHERE TR.landing BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id) - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, shipment as Fecha, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment BETWEEN date_tomorrow AND date_end - AND IF(wh = 0, W.is_comparative, wh =TR.warehouse_id_out) - AND E.Inventario = 0 - AND E.Redada = 0 - - ) AS Tic2 - - GROUP BY Tic2.Id_Article, Fecha - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - LEFT JOIN Origen O ON O.id = A.id_origen - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, - t.landing, - date_top) - - GROUP BY Tic3.Id_Article - - - ) AS Tic5 - - ON Tic5.Id_Article = AI.article_id - SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), - AI.sd = AI.inventory + Tic5.sd; -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 `inventario_multiple_inventarios` */; -/*!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 `inventario_multiple_inventarios`(wh SMALLINT, date_ticket DATETIME) -BEGIN - DECLARE date_order DATETIME; - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - - CALL article (); - - ALTER TABLE article_inventory - ADD visible FLOAT(7,2) NOT NULL; - - -- Campaña - - SELECT - IF(@camp := DATEDIFF(campaign, date_ticket) BETWEEN 0 AND campaign_life , - TIMESTAMPADD(DAY, -campaign_life, campaign) , - FechaInventario), - IF(@camp BETWEEN 0 AND campaign_life, - TIMESTAMP(campaign, '23:59:59'), - TIMESTAMP(TIMESTAMPADD(DAY, 15, date_ticket),'23:59:59')) - INTO date_start, date_end - FROM tblContadores; - - SET date_order = TIMESTAMP(DATE(date_ticket), '00:00:00'); - - INSERT INTO article_inventory (article_id, visible) - SELECT Id_Article, SUM(amount) - FROM ( - SELECT Id_Article, -Cantidad AS amount - FROM Movimientos M INNER JOIN Tickets T USING (Id_Ticket) - WHERE Fecha >= date_start - AND Fecha < date_order - AND T.warehouse_id = wh - UNION ALL - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - WHERE TR.landing >= date_start - AND TR.landing < date_order - AND TR.warehouse_id = wh - AND E.Inventario = FALSE - UNION ALL - SELECT Id_Article, -Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - WHERE TR.shipment >= date_start - AND TR.shipment < date_order - AND TR.warehouse_id_out = wh - AND E.Inventario = FALSE - ) AS T1 - GROUP BY Id_Article; -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 `inventario_multiple_joined` */; -/*!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 `inventario_multiple_joined`( - date_ticket DATETIME - ,wh_joined TINYINT - ,days_max TINYINT -) -proc: BEGIN - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - DECLARE date_top DATETIME; - DECLARE date_tomorrow DATETIME; - DECLARE i_avalaible INTEGER; - DECLARE wh INTEGER; - - SET date_ticket = DATE(date_ticket); -- PAK - - ALTER TABLE `article_inventory` - ADD `avalaible` INT NOT NULL, - ADD `sd` INT NOT NULL, - ADD `rest` INT NOT NULL, - ADD `expected` INT NOT NULL, - ADD `inventory` INT NOT NULL, - ADD `visible` INT NOT NULL, - ADD `life` TINYINT NOT NULL DEFAULT '0'; - - IF date_ticket < CURDATE() - THEN - LEAVE proc; - END IF; - - SELECT FechaInventario INTO date_start FROM tblContadores; - - SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, IF(days_max >= 0, days_max,15), date_ticket),'23:59:59'); - SET date_tomorrow = TIMESTAMPADD(DAY, 1,date_ticket); - SET date_top = TIMESTAMPADD(DAY, 1,date_end); - - -- Calculo del inventario dia D a las 24:00 zulu - - UPDATE article_inventory AI INNER JOIN - - ( - - SELECT Id_Article, SUM(amount) as Subtotal FROM - - ( - - SELECT Id_Article, -Cantidad AS amount - - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE DATE(Fecha) BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id, 0) - UNION ALL - - SELECT Id_Article, Cantidad - - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id, 0) - - AND E.Inventario = 0 - AND E.Redada = 0 - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment BETWEEN date_start AND date_ticket - AND wh_joined IN (wj.warehouse_alias_id,0) - AND E.Inventario = 0 - AND E.Redada = 0 - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.inventory = T2.Subtotal, - - AI.visible = T2.Subtotal, - - AI.avalaible = T2.Subtotal, - - AI.sd = T2.Subtotal; - - SELECT avalaible INTO i_avalaible FROM article_inventory WHERE article_id = 21012; - - -- Calculo del visible - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Id_Article, SUM(amount) as Subtotal FROM - ( - SELECT Id_Article, Cantidad AS amount - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE Fecha >= date_ticket AND Fecha < date_tomorrow -- PAK - AND (M.OK = 0 AND T.Etiquetasemitidas = 0 AND T.Factura IS NULL) - AND wh_joined IN (wj.warehouse_alias_id, 0) - UNION ALL - SELECT Id_Article, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing = date_ticket - - AND TR.received = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND wh_joined IN (wj.warehouse_alias_id, 0) - - UNION ALL - - SELECT Id_Article, Cantidad - FROM Compres C INNER JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment = date_ticket - AND TR.delivered = 0 - AND E.Inventario = 0 - AND E.Redada = 0 - AND wh_joined IN (wj.warehouse_alias_id,0) - ) AS T1 - - GROUP BY Id_Article - - ) AS T2 - - ON AI.article_id = T2.Id_Article - - SET AI.visible = AI.visible + T2.Subtotal; - - -- Calculo del disponible - SELECT IF(COUNT(warehouse_id),0,warehouse_id) INTO wh FROM warehouse_joined WHERE warehouse_alias_id = wh_joined; - - CALL item_travel (wh, date_ticket); - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Tic3.Id_Article, SUM(amount) AS sd, minacum(Fecha, amount, date_ticket) as smd FROM - ( - - SELECT Tic2.Id_Article, Fecha, SUM(amount) AS amount FROM - ( - SELECT Id_Article, DATE(Fecha) as Fecha, -Cantidad AS amount - FROM Movimientos M - - JOIN Tickets T USING (Id_Ticket) - - JOIN warehouse_joined wj ON T.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE Fecha BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id, 0) - - UNION ALL - SELECT Id_Article, landing as Fecha, Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - - JOIN warehouse_joined wj ON TR.warehouse_id = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.landing BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id, 0) - - AND E.Inventario = 0 - AND E.Redada = 0 - UNION ALL - SELECT Id_Article, shipment as Fecha, -Cantidad - FROM Compres C - - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse_joined wj ON TR.warehouse_id_out = wj.warehouse_id -- JGF 15/12/14 - WHERE TR.shipment BETWEEN date_tomorrow AND date_end - AND wh_joined IN (wj.warehouse_alias_id,0) - AND E.Inventario = 0 - AND E.Redada = 0 - ) AS Tic2 - - GROUP BY Tic2.Id_Article, Fecha - ) Tic3 - - LEFT JOIN Articles A ON Tic3.Id_Article = A.Id_Article - LEFT JOIN Origen O ON O.id = A.id_origen - LEFT JOIN item_travel t ON t.wh = O.warehouse_id - - WHERE Fecha < IF(days_max < 0 AND t.landing IS NOT NULL, - t.landing, - date_top) - - GROUP BY Tic3.Id_Article - - - ) AS Tic5 - - ON Tic5.Id_Article = AI.article_id - SET AI.avalaible = IF(Tic5.smd > 0, AI.avalaible, AI.avalaible + Tic5.smd), - AI.sd = AI.inventory + Tic5.sd; -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 `inventario_multiple_reservas` */; -/*!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 `inventario_multiple_reservas`(date_ticket DATETIME, wh INT, days_max INT) -BEGIN - DECLARE date_end DATETIME DEFAULT CURDATE(); - DECLARE date_start DATETIME; - DECLARE i_avalaible INTEGER; - - SET date_ticket = DATE(date_ticket); - - CALL article (); - - INSERT INTO article_inventory (article_id) - SELECT a.Id_Article - FROM Articles a - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - LEFT JOIN reinos r ON r.id = tp.reino_id - WHERE r.display <> 0; - - ALTER TABLE `article_inventory` - ADD `avalaible` INT(11) NOT NULL, - ADD `sd` INT(11) NOT NULL, - ADD `rest` INT(11) NOT NULL, - ADD `expected` INT(11) NOT NULL, - ADD `inventory` INT(11) NOT NULL, - ADD `visible` INT(11) NOT NULL, - ADD `life` TINYINT(1) NOT NULL DEFAULT '0'; - - SELECT FechaInventario INTO date_start FROM tblContadores; - - SET date_end = TIMESTAMP(TIMESTAMPADD(DAY, -1, date_ticket),'23:59:59'); - - -- Utilizo el valor clave 4848 para days_max para aprovechar el procedimiento para el frmCamiones de eti - - IF days_max = 4848 THEN - set date_ticket = date_end; - END IF; - - -- Calculo del inventario dia D a las 24:00 - - UPDATE article_inventory AI INNER JOIN - ( - SELECT Id_Article, SUM(amount) as Subtotal FROM ( - SELECT Id_Article, -Cantidad AS amount - FROM Movimientos M - JOIN Tickets T USING (Id_Ticket) - JOIN warehouse W ON W.id = T.warehouse_id - WHERE Fecha BETWEEN date_start AND date_end - AND wh IN (T.warehouse_id, 0) - AND NOT W.fuente - UNION ALL - SELECT Id_Article, Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - LEFT JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id - WHERE TR.landing BETWEEN date_start AND date_ticket - AND wh IN (TR.warehouse_id, 0) - AND NOT W.fuente - AND E.Inventario = 0 - AND E.Redada = 0 - UNION ALL - SELECT Id_Article, -Cantidad - FROM Compres C - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON E.travel_id = TR.id - JOIN warehouse W ON W.id = TR.warehouse_id_out - WHERE TR.shipment BETWEEN date_start AND date_end - AND wh IN (TR.warehouse_id_out,0) - AND NOT W.fuente - AND E.Inventario = 0 - AND E.Redada = 0 - ) AS T1 - GROUP BY Id_Article - ) AS T2 - ON AI.article_id = T2.Id_Article - SET AI.inventory = T2.Subtotal, - AI.visible = T2.Subtotal, - AI.avalaible = T2.Subtotal, - AI.sd = T2.Subtotal; -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 `inventario_valorado` */; -/*!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 `inventario_valorado`(IN d_FEC DATE, IN bol_DESGLOSE BOOLEAN) -BEGIN - - DECLARE d_INV DATE; - DECLARE bolREVERSE BOOLEAN DEFAULT 0; - DECLARE d_INV2 DATE; - - SELECT landing INTO d_INV - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing <= d_FEC - AND E.Id_Proveedor = 4 - ORDER BY landing DESC - LIMIT 1; - - SET bolREVERSE = IF (d_INV is null, 1, 0); - - - IF bolREVERSE THEN - - SELECT landing INTO d_INV2 - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing >= d_FEC - AND E.Id_Proveedor = 4 - ORDER BY landing ASC - LIMIT 1; - - SET d_INV = TIMESTAMPADD(DAY,1,d_FEC); - SET d_FEC = d_INV2; - - - - END IF; - - DROP TEMPORARY TABLE IF EXISTS inv; - - CREATE TEMPORARY TABLE inv - (w_id SMALLINT, - Id_Article BIGINT, - cantidad INT, - coste DOUBLE DEFAULT 0, - total DOUBLE DEFAULT 0) ENGINE = MEMORY; - - - ALTER TABLE inv ADD PRIMARY KEY USING HASH (w_id, Id_Article); - - - - IF bolREVERSE = 1 THEN - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id, C.Id_Article, SUM(C.Cantidad) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE landing = d_FEC - AND E.Id_Proveedor = 4 - AND NOT w.fuente - AND t.inventory - AND reino_id NOT IN (7) - GROUP BY TR.warehouse_id, C.Id_Article; - - END IF; - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id, C.Id_Article, C.Cantidad * IF(bolREVERSE,-1,1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = TR.warehouse_id - WHERE landing BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) - AND NOT redada - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,-1,1)); - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT TR.warehouse_id_out, C.Id_Article, C.Cantidad * IF(bolREVERSE,1,-1) - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id_out - WHERE shipment BETWEEN d_INV AND TIMESTAMPADD(DAY, IF(bolREVERSE,-1,0) ,d_FEC) - AND NOT redada - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,1,-1)); - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,1,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE T.Fecha BETWEEN d_INV AND TIMESTAMPADD(DAY, -1 ,d_FEC) - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,1,-1); - - - INSERT INTO inv(w_id, Id_Article, cantidad) - SELECT w.id, M.Id_Article, M.Cantidad * IF(bolREVERSE,0,-1) - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE date(T.Fecha) = d_FEC - AND (d_FEC <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,0,-1); - - CALL item_last_buy_(NULL,d_FEC); - - UPDATE inv - JOIN t_item_last_buy lb ON w_id = lb.warehouse_id AND inv.Id_Article = lb.item_id - JOIN Compres C ON C.Id_Compra = lb.buy_id - SET total = inv.cantidad * (ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0)), - coste = ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) - WHERE inv.cantidad <> 0; - - DELETE FROM inv WHERE Cantidad IS NULL or Cantidad = 0; - - IF bol_DESGLOSE THEN - - SELECT inv.w_id, a.Id_Article, a.Article, a.Medida, inv.Cantidad, tp.Id_Tipo, - tp.reino_id, inv.coste, cast(inv.total as decimal(10,2)) total, an.nicho - FROM inv - JOIN warehouse w on w.id = w_id - JOIN Articles a ON a.Id_Article = inv.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN Articles_nicho an ON an.Id_Article = a.Id_Article AND an.warehouse_id = w.id - where w.valuatedInventory - and inv.total > 0 - order by inv.total desc; - - ELSE - - SELECT w.name as Almacen, r.reino as Reino, cast(total as decimal) as Euros - FROM inv - JOIN warehouse w ON w.id = w_id - JOIN Articles A USING(Id_Article) - JOIN Tipos t USING(tipo_id) - JOIN reinos r ON r.id = t.reino_id - where w.valuatedInventory; - - 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 `inventory_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 = 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 `inventory_refresh`() -BEGIN -/** - * Recalcula los inventarios de todos los almacenes. - */ - INSERT INTO daily_task_log - SET consulta = 'inventory_refresh-begin'; - - CALL article_inventory_warehouses (TIMESTAMPADD(DAY, -10, CURDATE())); - - INSERT INTO daily_task_log - SET consulta = 'inventory_refresh-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 `invoice_newkk` */; -/*!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 `invoice_newkk`( - customer_id INT, - serie VARCHAR(10), - date_ini DATE, - date_end DATE, - date_invoice DATETIME, - ticket_id INT, - empresa_act INT, - Id_Trabajador INT -) -BEGIN - DECLARE invoice_id VARCHAR(30) DEFAULT NULL; - DECLARE date_vec DATE DEFAULT date_invoice; - DECLARE day_vec INT; - DECLARE bi_r DOUBLE DEFAULT 0; - DECLARE bi_g DOUBLE DEFAULT 0; - DECLARE bi_n DOUBLE DEFAULT 0; - DECLARE iva_r DOUBLE DEFAULT 0; - DECLARE iva_g DOUBLE DEFAULT 0; - DECLARE re_r DOUBLE DEFAULT 0; - DECLARE re_g DOUBLE DEFAULT 0; - DECLARE dblImporte DOUBLE DEFAULT 0; - DECLARE intpais_id TINYINT DEFAULT 1; - DECLARE intFac INTEGER; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - SELECT TIMESTAMP (date_ini, '00:00:00') into date_ini; - - SET date_invoice = IFNULL(date_invoice,CURDATE()); - - IF date_invoice >= '2015-12-01' AND empresa_act = 791 AND serie <> 'A' THEN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT ='ERROR_FTH_NO_EXISTE'; - END IF; - - DROP TEMPORARY TABLE IF EXISTS `iva_base`; - CREATE TEMPORARY TABLE `iva_base` - ( - `id` VARCHAR(3) NOT NULL, - `base` DOUBLE NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) - ) - ENGINE = MEMORY; - - DROP TEMPORARY TABLE IF EXISTS `ticket_invoice`; - CREATE TEMPORARY TABLE `ticket_invoice` - ( - `ticket_id` INT NOT NULL, - PRIMARY KEY (`ticket_id`) - ) - ENGINE = MEMORY; - - START TRANSACTION; - - SELECT pais_id INTO intpais_id FROM Proveedores WHERE Id_Proveedor = empresa_act; - - IF ticket_id = 0 THEN - - INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets WHERE (Fecha BETWEEN date_ini - AND DAYEND(date_end)) AND Id_Cliente = customer_id AND Factura IS NULL AND empresa_id = empresa_act ; - - ELSE - - INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets WHERE Id_Ticket = ticket_id - AND Factura IS NULL ; - - END IF; --- Elimina tickets sense moviments - UPDATE Tickets INNER JOIN (SELECT COUNT(Movimientos.Id_Movimiento) AS num, ticket_invoice.ticket_id AS ticket_id - FROM ticket_invoice LEFT JOIN Movimientos ON ticket_invoice.ticket_id = Movimientos.Id_Ticket - GROUP BY ticket_invoice.ticket_id HAVING num = 0) counter - ON Tickets.Id_Ticket = counter.ticket_id SET Tickets.Fecha = '1999-01-01 00:00:00'; - - -- Eliminem els tickets que no han de ser facturats - DELETE ticket_invoice.* FROM ticket_invoice INNER JOIN Tickets ON ticket_invoice.ticket_id = Tickets.Id_Ticket - INNER JOIN Clientes ON Tickets.Id_Cliente = Clientes.Id_cliente WHERE YEAR(Tickets.Fecha) < 2001 AND invoice; - - IF (SELECT COUNT(*) FROM ticket_invoice) > 0 THEN - - INSERT INTO iva_base (id) SELECT tipoiva FROM tblIVA; - - UPDATE iva_base - INNER JOIN - (SELECT tipo, SUM(base) base - FROM - (SELECT t.tipo, red(m.Cantidad * m.Preu * (100 - Descuento) / 100) AS base - FROM - Movimientos m - INNER JOIN ticket_invoice ti ON m.Id_Ticket = ti.ticket_id - INNER JOIN (SELECT t.tipo, Id_Article - FROM - (SELECT - date, iva_codigo_id, ic.tipo, iva_group_id - FROM - iva_group_codigo gi - INNER JOIN iva_codigo ic ON gi.iva_codigo_id = ic.id - INNER JOIN iva_tipo itp ON itp.id = ic.iva_tipo_id - WHERE - date <= date_invoice - AND Id_Pais = intpais_id - ORDER BY date DESC) t - INNER JOIN Articles USING (iva_group_id) - GROUP BY Id_Article) t USING (Id_Article)) sub - GROUP BY tipo) iva_movement ON iva_base.id = iva_movement.tipo - SET - iva_base.base = iva_movement.base; - - IF (serie = 'H' OR serie = 'V' OR serie = 'E' OR serie = 'X') then - SELECT SUM(base) into dblImporte from iva_base; - ELSE - - SET bi_r = (SELECT base FROM iva_base WHERE id = 'R'); - - SET bi_g = (SELECT base FROM iva_base WHERE id = 'G'); - SET bi_n = (SELECT base FROM iva_base WHERE id = '0'); - SET iva_r = red(bi_r * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - SET iva_g = red(bi_g * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - IF (SELECT IF(RE = 0, FALSE, TRUE) FROM Clientes WHERE Clientes.Id_cliente = customer_id) THEN - - SET re_r = red(bi_r * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - SET re_g = red(bi_g * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - END IF; - SET dblImporte = bi_r + bi_g + bi_n + iva_r + iva_g + re_r + re_g ; - END IF; - - END IF; - - IF dblImporte <> 0 THEN - - SELECT Vencimiento INTO day_vec FROM Clientes WHERE Id_cliente = customer_id; - SET date_vec = TIMESTAMPADD(DAY, day_vec, date_vec); - - -- el trigger añade el siguiente Id_Factura correspondiente a la serie - INSERT INTO Facturas - ( - Id_Factura, - Serie, - Fecha, - Id_Cliente, - BI7, - BI16, - IVA7, - IVA16, - RE1, - RE4, - Importe, - Vencimiento, - empresa_id - ) - VALUES - ( - 1, - serie, - date_invoice, - customer_id, - bi_r, - bi_g, - iva_r, - iva_g, - re_r, - re_g, - dblImporte, - date_vec, - empresa_act - ); - - SET intFac = LAST_INSERT_ID(); - - SELECT Id_Factura INTO invoice_id FROM Facturas - WHERE factura_id = intFac; - - UPDATE Tickets INNER JOIN ticket_invoice ON Tickets.Id_Ticket = ticket_invoice.ticket_id - SET Factura = invoice_id, Etiquetasemitidas = TRUE; - - DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; - CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY - SELECT s.id,ti.ticket_id,Id_Trabajador - FROM ticket_invoice ti - JOIN vn.ticketState ts ON ti.ticket_id = ts.ticket - JOIN state s - WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.ticket_id); - - INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) - SELECT * FROM tmp.updateInter; - - INSERT INTO Tickets_dits (idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - SELECT 111/*Factura serie*/,Id_Trabajador,ti.ticket_id,NULL,serie FROM ticket_invoice ti; - END IF; - - DROP TEMPORARY TABLE `iva_base`; - DROP TEMPORARY TABLE `ticket_invoice`; - 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 `itemTagArrangedUpdate` */; -/*!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 `itemTagArrangedUpdate`(IN vItem BIGINT) -BEGIN -/** - * DEPRECATED - **/ - CALL vn.itemTagArrangedUpdate(vItem); - -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 `itemTagArrangedUpdate_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 `itemTagArrangedUpdate_launcher`() -BEGIN - - call vn2008.itemTagArrangedUpdate(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 `itemTagUpdatePriority` */; -/*!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 `itemTagUpdatePriority`(IN vItem INT) -BEGIN -/* -* DEPRECATED -*/ - -CALL vn.itemTagUpdatePriority(vItem); - -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_buffer_tarifa_traveltreekk` */; -/*!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_buffer_tarifa_traveltreekk`(v_date DATE, v_consigna INT, v_agencia INT, i_order INT, v_wh SMALLINT) -BEGIN - -- v_date fecha de recepcion de mercancia - - DECLARE done TINYINT DEFAULT 0; - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - - DECLARE cur1 CURSOR FOR - SELECT warehouse_id, Fecha_envio - FROM travel_tree; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - -- establecemos los almacenes y las fechas que van a entrar al dispo_multi - - SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; - - -- Si pasamos un almacen significa que estamos recalculando el dispo y el precio para un ticket existente - - IF v_wh = 0 - THEN - CALL travel_tree(v_date,v_consigna, v_agency_id); - ELSE - DROP TEMPORARY TABLE IF EXISTS travel_tree; - - CREATE TEMPORARY TABLE travel_tree ( - warehouse_id SMALLINT NOT NULL, - Fecha_envio DATE NOT NULL, - Fecha_recepcion DATE NOT NULL, - PRIMARY KEY ( warehouse_id) - ) ENGINE = MEMORY; - - INSERT INTO travel_tree - SELECT v_wh, v_date, v_date; - END IF; - - -- Ejecutamos item_buffer_tarifa para cada registro del cursos, y almacenaremos los valores acumulados, para el buffer y para los componentes - - OPEN cur1; - FETCH cur1 INTO v_wh, v_shipment; - - DROP TEMPORARY TABLE IF EXISTS buffer_multi; - CREATE TEMPORARY TABLE buffer_multi ( - warehouse_id tinyint(4) NOT NULL , - Id_Article int(11) NOT NULL , - visible double DEFAULT NULL, - available double DEFAULT NULL, - future date DEFAULT NULL, - buy_inc int(11) DEFAULT NULL, - buy_last date DEFAULT NULL, - buy_id int(11) DEFAULT NULL, - `fixed` tinyint(4) DEFAULT '0', - rate_0 double DEFAULT NULL, - rate_1 double DEFAULT NULL, - rate_2 double DEFAULT NULL, - rate_3 double DEFAULT NULL, - Packing int(8) DEFAULT 1, - Grouping int(8) DEFAULT 1, - Productor VARCHAR(45) DEFAULT NULL, - caja tinyint(4) DEFAULT '0', - Origen VARCHAR(3) NOT NULL DEFAULT '---', - mark tinyint(4) DEFAULT '0', - `comment` VARCHAR(100), - foto VARCHAR(50), - Id_Tipo smallint(5), - Article VARCHAR(50), - PRIMARY KEY (Id_Article, warehouse_id) - ) ENGINE = MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ; - - WHILE NOT done - DO - CALL item_buffer_tarifa(v_wh, v_shipment, v_consigna, FALSE, v_agencia); - - -- eliminaremos PCA de Silla FV y viceversa - - INSERT INTO buffer_multi(warehouse_id, Id_Article, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, caja, Origen, mark, `comment`, foto, Id_Tipo, Article) - SELECT v_wh, id, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, bb.caja, Origen, mark, `comment`, A.Foto, A.tipo_id, A.Article - FROM bionic_buffer bb - JOIN Articles A ON A.Id_Article = bb.id - JOIN Tipos TP ON TP.tipo_id = A.tipo_id - WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) - AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); - - INSERT INTO order_components(order_id, warehouse_id, Id_Article, Valor, Id_Componente) - SELECT i_order, v_wh, bb.Id_Article, Valor, Id_Componente - FROM components bb - JOIN Articles A ON A.Id_Article = bb.Id_Article - JOIN Tipos TP ON TP.tipo_id = A.tipo_id - WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) - AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); - - DROP TEMPORARY TABLE bionic_buffer; - DROP TEMPORARY TABLE components; - - FETCH cur1 INTO v_wh, v_shipment; - END WHILE; - - CLOSE cur1; - - DROP TEMPORARY TABLE IF EXISTS buffer_multi_lotes; - - CREATE TEMPORARY TABLE buffer_multi_lotes - ENGINE = MEMORY - SELECT buy_last as landing, warehouse_id, Id_Article, FLOOR(available/IF(caja = 1,Grouping,1)) AS Items, - IF(caja = 1,Grouping,1) AS Grouping, rate_1 AS Precio, 1 AS tarifa_class - FROM buffer_multi - WHERE caja < 2 - AND (Packing > Grouping or caja = 0); - - INSERT INTO buffer_multi_lotes - SELECT buy_last, warehouse_id, Id_Article, FLOOR(available/Packing) AS items, Packing AS Grouping, rate_2 AS Precio,2 AS tarifa_class - FROM buffer_multi - WHERE Packing > 0 - AND available > Packing; - - INSERT INTO buffer_multi_lotes - SELECT buy_last, warehouse_id, Id_Article, 1 AS items, available AS Grouping, rate_3 AS Precio,3 AS tarifa_class - FROM buffer_multi; - - DROP TEMPORARY TABLE travel_tree; -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_buffer_tarifa_traveltree_dupkk` */; -/*!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_buffer_tarifa_traveltree_dupkk`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT, - i_order INT, - v_wh TINYINT) -BEGIN - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - DECLARE done BOOL DEFAULT FALSE; - DECLARE cur CURSOR FOR - SELECT warehouse_id, Fecha_envio FROM travel_tree; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - CALL cache.order_clean (i_order); - - -- Establecemos los almacenes y las fechas que van a entrar al dispo_multi - - SELECT agency_id INTO v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; - - -- Si pasamos un almacen significa que estamos recalculando el dispo y el precio para un ticket existente - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - - IF v_wh = 0 - THEN - CALL vn2008.travel_tree(v_date,v_consigna, v_agency_id); - ELSE - CREATE TEMPORARY TABLE travel_tree - (PRIMARY KEY (warehouse_id)) - ENGINE=MEMORY - SELECT v_wh warehouse_id, v_date Fecha_envio; - END IF; - - -- Ejecutamos item_buffer_tarifa para cada registro del cursos, y almacenaremos los valores acumulados, para el buffer y para los componentes - - OPEN cur; - FETCH cur INTO v_wh, v_shipment; - - WHILE NOT done - DO - CALL item_buffer_tarifa_dup (v_wh, v_shipment, v_consigna, FALSE, v_agencia); - - -- Eliminaremos PCA de Silla FV y viceversa - - INSERT INTO cache.order_stock ( - order_id, warehouse_id, Id_Article, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, caja, Origen, mark, `comment`, foto, Id_Tipo, Article - ) - SELECT i_order, v_wh, id, visible, available, future, buy_inc, buy_last, buy_id, `fixed`, rate_0, rate_1, rate_2, rate_3, Packing, Grouping, Productor, bb.caja, Origen, mark, `comment`, A.Foto, A.tipo_id, A.Article - FROM bionic_buffer bb - JOIN Articles A on A.Id_Article = bb.id - JOIN Tipos TP on TP.tipo_id = A.tipo_id - WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) - AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); - - INSERT INTO cache.order_component ( - order_id, warehouse_id, item_id, cost, component_id - ) - SELECT i_order, v_wh, bb.Id_Article, Valor, Id_Componente - FROM components bb - JOIN Articles A on A.Id_Article = bb.Id_Article - JOIN Tipos TP on TP.tipo_id = A.tipo_id - WHERE NOT (v_wh = 44 AND TP.reino_id IN (1,5)) - AND NOT (v_wh = 1 AND TP.reino_id NOT IN (1,5)); - - FETCH cur INTO v_wh, v_shipment; END WHILE; - CLOSE cur; - - INSERT INTO cache.order_stock_lot ( - order_id, - landing, - warehouse_id, - item_id, - items, - grouping, - price, - rate_class - ) - SELECT order_id, buy_last, warehouse_id, Id_Article, FLOOR(available / IF(caja = 1, Grouping, 1)), IF(caja = 1, Grouping, 1), rate_1, 1 - FROM cache.order_stock - WHERE caja < 2 - AND (Packing > Grouping or caja = 0) - UNION ALL - SELECT order_id, buy_last, warehouse_id, Id_Article, FLOOR(available/Packing), Packing, rate_2, 2 - FROM cache.order_stock - WHERE Packing > 0 - AND available > Packing - UNION ALL - SELECT order_id, buy_last, warehouse_id, Id_Article, 1, available, rate_3, 3 - FROM cache.order_stock; +SET i_ini = i_ini + 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 `item_buy` */; -/*!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_buy`(IN v_wh TINYINT, IN v_date DATETIME) +END WHILE; + +SELECT CONCAT('*',label,'*') as label, label as id FROM labels; + +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 + +DECLARE AUX INT; + +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', 'error nightly tasks' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'))); + INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('pako@verdnatura.es', 'error nightly tasks' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'))); + +END; + + INSERT INTO vn2008.daily_task_log(consulta) VALUES('arranca el event vn2008.nightly_tasks'); + + + SELECT SLEEP(1) INTO AUX; + CALL vn2008.emailYesterdayPurchasesLauncher(); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('emailYesterdayPurchasesLauncher END'); + + SELECT SLEEP(1) INTO AUX; + CALL vn2008.inventory_refresh(); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('inventory refresh END'); + + SELECT SLEEP(1) INTO AUX; + CALL bi.last_buy_id_add; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('last buy id END'); + + /* JGF 2016-09-06 Quitado a peticion de AGS + SELECT SLEEP(1) INTO AUX; + CALL vn2008.comercial_caducado; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('Comercial Caducado END'); + */ + SELECT SLEEP(1) INTO AUX; + CALL bi.defaulting(curdate()); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('defaulting END'); + + INSERT INTO vn2008.Colas(Id_Informe,Id_Trabajador) VALUES (11,57); + + -- Desactivacion de usuarios con contrato terminado + INSERT INTO vn2008.Colas(Id_Informe) VALUES (16); + + SELECT SLEEP(1) INTO AUX; + CALL `bi`.`Ultima_Accion`; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('ultima accion END'); + + SELECT SLEEP(1) INTO AUX; + CALL `bi`.`facturacion_media_anual_update`(); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('facturacion media anual END'); + + SELECT SLEEP(1) INTO AUX; + CALL vn2008.Clientes_calidad; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('clientes calidad END'); + + SELECT SLEEP(1) INTO AUX; + CALL bi.rotacion_update; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('rotation update END'); + + SELECT SLEEP(1) INTO AUX; + CALL bi.rutas_m3_add; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('rutas_m3 END'); + + SELECT SLEEP(1) INTO AUX; + CALL vn2008.tarjetas_credito_0; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('tarjetas credito 0 END'); + + SELECT SLEEP(1) INTO AUX; + CALL bi.comparativa_add(); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('comparativa add END'); + + SELECT SLEEP(1) INTO AUX; + call vn2008.recobro_credito(); -- PAK 12/01/2016 + INSERT INTO vn2008.daily_task_log(consulta) VALUES('recobro_credito END'); + + SELECT SLEEP(1) INTO AUX; + CALL vn2008.accumulatorsReadingDateUpdate(); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('accumulatorsReadingDateUpdate END'); + + SELECT SLEEP(1) INTO AUX; + call vn2008.itemTagArrangedUpdate(0); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('itemTagFormatUpdate END'); + + SELECT SLEEP(1) INTO AUX; + CALL vn.itemTagUpdatePriority(0); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('articleTagUpdatePriority END'); + + /* + CALL vn.invoiceOutAgainDateRange(util.yesterday(),util.yesterday()); + INSERT INTO vn2008.daily_task_log(consulta) VALUES('invoiceOutAgainDateRange END'); + */ + + /* jgf posar quan estiga arreglat + SELECT SLEEP(1) INTO AUX; + CALL bi.primer_pedido_add; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('primer_pedido_add END'); +*/ + SELECT SLEEP(1) INTO AUX; + INSERT INTO vn2008.daily_task_log(consulta) VALUES('finalitza el event vn2008.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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `notify_passport` */; +/*!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 `notify_passport`(IN idA INT, IN idEti SMALLINT, IN idPacking SMALLINT, IN idCompra INT) +BEGIN + INSERT INTO vn2008.mail(`subject`,`text`,`to`) + SELECT 'Solicitar pasaporte', + CONCAT('Etiquetas: ',ifnull(idEti,0),', Packing: ',ifnull(idPacking,0),', Nombre: ',ifnull(a.Article,0),', buy_edi: ',ifnull(be.id,0),', Nombre botánico: ', + IFNULL(g.latin_genus_name,''),' ',IFNULL(s.latin_species_name,''),' , Productor: ',IFNULL(es.company_name,IFNULL(p.`name`,''))) + ,'ekt@verdnatura.es' + FROM vn2008.Articles a + LEFT JOIN vn2008.Articles_botanical ab ON ab.Id_Article = a.Id_Article + LEFT JOIN edi.genus g ON g.genus_id = ab.genus_id + LEFT JOIN edi.specie s ON IFNULL(s.specie_id,ab.specie_id) = ab.specie_id + LEFT JOIN vn2008.producer p ON p.producer_id = a.producer_id + LEFT JOIN vn2008.Compres c ON c.Id_Compra = idCompra + LEFT JOIN vn2008.buy_edi be ON c.buy_edi_id = be.id + LEFT JOIN edi.supplier es ON es.supplier_id = be.pro + WHERE a.Id_Article = idA; +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 `pay` */; +/*!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 `pay`(IN datFEC DATE + , IN idPROV INT + , IN dblIMPORTE DOUBLE + , IN idMONEDA INT + , IN dblDIVISA DOUBLE + , IN idCAJA INT + , IN idPAYMET INT + , IN dblGASTOS DOUBLE + , IN strCONCEPTO VARCHAR(40) + , IN idEMP INT) +BEGIN + + +-- Registro en la tabla Cajas +INSERT INTO Cajas ( Concepto + , Serie + , Numero + , Salida + , Cajafecha + , Partida + , Id_Banco + , Id_Trabajador + ,empresa_id + ,conciliado) + +SELECT CONCAT('n/pago a ', Proveedor) + , 'R' + , idPROV + , dblIMPORTE + , datFEC + , 1 + , idCAJA + , 20 + , idEMP + , 1 +FROM Proveedores +WHERE Id_Proveedor = idPROV; + + +-- Registro en la tabla pago +INSERT INTO pago(fecha + , id_proveedor + , importe + , id_moneda + , divisa + , id_banco + , pay_met_id + , g_bancarios + , concepte + , empresa_id) + + VALUES(datFEC + , idPROV + , dblIMPORTE + , idMONEDA + , IF(dblDIVISA = 0, NULL, dblDIVISA) + , idCAJA + , idPAYMET + , dblGASTOS + , strCONCEPTO + , idEMP); + +SELECT LAST_INSERT_ID() as pago_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 `percentil` */; +/*!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 `percentil`() +BEGIN + +DECLARE max_range INT; + +DROP TEMPORARY TABLE IF EXISTS previa; + +CREATE TEMPORARY TABLE previa +SELECT @posicion:= @posicion +1 as Posicion, Id_Cliente, Total FROM ( +SELECT Id_Cliente, Total FROM ( +SELECT Id_Cliente, SUM(Importe) as Total +FROM Facturas +INNER JOIN Clientes USING(Id_Cliente) +INNER JOIN (SELECT @posicion := 0) sub_pos +WHERE invoice +AND YEAR(Fecha) = YEAR(CURDATE()) +GROUP BY Id_Cliente) sub +ORDER BY Total +) sub2; + +SELECT COUNT(*) INTO max_range FROM previa; + +UPDATE Clientes SET percentil = 0; + +UPDATE Clientes INNER JOIN previa USING(Id_Cliente) +SET Clientes.percentil = ROUND(Posicion *100 / max_range,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 `portekk` */; +/*!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 `portekk`(IN intId_Ticket INT,IN intbultos INT, IN intId_Article INT) +BEGIN + + -- Deprecated!! Usar la funcion porte en lugar de este procedure + DECLARE intId_Agencia INT; + DECLARE int_agency_id SMALLINT; + DECLARE int_province_id SMALLINT; + DECLARE bolCOD71 TINYINT(1); + DECLARE intPorte DOUBLE DEFAULT -1; + DECLARE dayofweek TINYINT(1) default 0; + DECLARE suplemento DOUBLE DEFAULT 9.41; + DECLARE strCodPostal VARCHAR(5); + DECLARE intWarehouse_id SMALLINT; + DECLARE dbldescuento DOUBLE DEFAULT 0; + DECLARE intVista TINYINT(1); + DECLARE dblvolumen DOUBLE; + DECLARE intPROVINCIA INT; + + SET @porte := 0; + SELECT c.province_id, a.agency_id, t.Id_Agencia, cod71, Porte,c.CODPOSTAL,t.warehouse_id,c.province_id,cli.Descuento,IFNULL(ag.Vista,a.Vista), por_volumen + INTO intPROVINCIA, int_agency_id,intId_Agencia, bolCOD71,intPorte,strCodPostal,intWarehouse_id,int_province_id,dbldescuento,intVista,dblvolumen + FROM Tickets t + JOIN Consignatarios c USING(Id_Consigna) + JOIN Agencias a ON t.Id_Agencia = a.Id_Agencia + JOIN agency agn ON agn.agency_id = a.agency_id + JOIN Clientes cli on c.Id_Cliente=cli.Id_Cliente + LEFT JOIN agency_warehouse ag ON ag.agency_id = a.agency_id + WHERE Id_Ticket = intId_Ticket limit 1; +-- Fusionar con lo de arriba +/*SELECT IFNULL(MAX(counter),0) +1 INTO intcounter FROM expeditions e + INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket + INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) + WHERE t2.Id_Ticket = NEW.ticket_id AND t1.Etiquetasemitidas = FALSE AND t1.empresa_id = t2.empresa_id;*/ + + + IF (intPorte >= 0 or dbldescuento BETWEEN 0 AND 1 ) THEN + IF intPorte or base_ticket(intId_Ticket) < 50 THEN + SELECT IFNULL(intPorte,10)/intbultos price;/*en el cas dels tarifa 1 els cobren 10€ de ports*/ + ELSE + SELECT 0 price; + END IF; + ELSE + IF NOT dblvolumen THEN + IF bolCOD71 THEN + IF intVista = 2 AND intbultos BETWEEN 1 AND 2 THEN + SELECT IF(price * intbultos < 10 AND porte_minimo, 10 / intbultos, price) price FROM Agencias_zonas az + WHERE zona = 1 AND Id_Agencia = intId_Agencia AND az.warehouse_id = intWarehouse_id; + ELSE + IF intId_Agencia = 47 THEN -- Si es viaxpress + SELECT price price FROM Agencias_zonas az INNER JOIN viaxpress USING(zona) + WHERE Id_Agencia = 47 AND codigo_postal = strCodPostal AND az.warehouse_id = intWarehouse_id; + ELSE + CALL util.exec (sql_printf (' + SELECT price FROM vn2008.Agencias_zonas az + WHERE Id_Agencia = %v AND %v = Id_Article AND az.warehouse_id = %v + AND zona = (SELECT zona FROM vn2008.Agencias_province + WHERE warehouse_id = %v AND agency_id = %v and province_id = %v)' + ,intId_Agencia,intId_Article,intWarehouse_id,intWarehouse_id,int_agency_id,int_province_id)); + END IF; + END IF; + ELSE + SELECT 0 price; + END IF; + ELSE -- Si es una agency con la columna por_volumen <> 0 calcula el porte por Volumen + + CALL ticket_volumen(intId_Ticket); + SELECT MAX(Porte_total)/intbultos price FROM ticket_volumen; + DROP TEMPORARY TABLE IF EXISTS ticket_volumen; + END IF; + END IF; + + + SET @porte = price; +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 `PortesDesdeTicketkk` */; +/*!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 `PortesDesdeTicketkk`( intTicket INTEGER) +BEGIN + -- DEPRECATED! con el bionic esto ya no se usa + DECLARE done BIT DEFAULT 0; + DECLARE v_date_ini,v_date_end DATE; + -- JGF 21/08/14 A partir de un intTicket se calcula lo que se ha cobrado en concepto de portes + -- restando la tarifa dos en esa fecha al valor del ticket + DROP TEMPORARY TABLE IF EXISTS portes; + IF (SELECT Descuento FROM Clientes c JOIN Tickets t ON t.Id_Cliente = c.Id_Cliente WHERE t.Id_Ticket = intTicket) BETWEEN 0 AND 1 THEN + SELECT TIMESTAMPADD(MONTH,-12,Fecha),Fecha INTO v_date_ini,v_date_end FROM Tickets WHERE Id_Ticket = intTicket LIMIT 1; + + + CREATE TEMPORARY TABLE portes (KEY (Id_Article)) ENGINE = MEMORY + SELECT Id_Article,round(SUM(Preu * (1 - (Descuento / 100)) * Cantidad)/ SUM(Cantidad),2) price, round(SUM(Preu * (1 - (Descuento / 100)) * Cantidad),2) importe, + round((SUM(Preu * (1 - (Descuento / 100)) * Cantidad) / SUM(Cantidad) - Tarifa2) * SUM(Cantidad),2) diferencia,Tarifa2, + v_date_end Fecha,SUM(Cantidad) Cantidad + FROM + (SELECT * FROM ( + SELECT m.Id_Article, Tarifa2,m.Preu,m.Descuento,m.Cantidad,t.Fecha,t.warehouse_id,Id_Movimiento + FROM Compres c + JOIN Movimientos m ON m.Id_Article = c.Id_Article + JOIN Articles a ON a.Id_Article = c.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel tr ON tr.id = e.travel_id + WHERE t.Id_Ticket = intTicket AND Novincular = FALSE AND Tarifa2 > 0 + AND t.warehouse_id = tr.warehouse_id AND tr.landing BETWEEN v_date_ini AND v_date_end + AND reino_id <> 6 ORDER BY tr.landing DESC) t + GROUP BY t.Id_Movimiento) t + GROUP BY Id_Article, warehouse_id + UNION all + SELECT Id_Article,Preu * (1 - (Descuento / 100)) ,Preu * (1 - (Descuento / 100)) * Cantidad , + Preu * (1 - (Descuento / 100)) * Cantidad ,0 ,v_date_end, Cantidad FROM Movimientos + WHERE Id_Ticket= intTicket AND Id_Article = 71; + + UPDATE portes p JOIN price_fixed pf ON p.Id_Article = pf.item_id AND Fecha BETWEEN date_start AND date_end AND pf.rate_2 + SET diferencia = (price - rate_2) * Cantidad,Tarifa2 = rate_2; + ELSE + CREATE TEMPORARY TABLE portes (KEY (Id_Article)) ENGINE = MEMORY + SELECT Id_Article,Preu * (1 - (Descuento / 100)) price,Preu * (1 - (Descuento / 100)) * Cantidad importe, + Preu * (1 - (Descuento / 100)) * Cantidad diferencia,0 Tarifa2, Cantidad FROM Movimientos + WHERE Id_Ticket= intTicket AND Id_Article = 71; + END IF; + -- SELECT * FROM vn2008.portes; + + -- SELECT NULL, NULL, NULL, sum(diferencia) as Porte, NULL FROM portes p; + +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 `precio` */; +/*!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 `precio`( IN id_cli INT, id_art INT, id_wh INT ) +BEGIN +DECLARE tarifa,descompte, packin,groupin,caj,minimo, id_compra INT DEFAULT 0; +DECLARE importe_min, importe,bonus FLOAT DEFAULT NULL; + +SELECT PrecioEspecial INTO importe FROM PreciosEspeciales WHERE Id_Cliente = id_cli AND Id_Article = id_art; + +IF importe IS NULL THEN + SELECT `Min`, PVP INTO minimo, importe_min FROM `Articles` WHERE Id_Article = id_art; + SELECT Descuento + INTO tarifa + FROM Clientes + WHERE Id_Cliente = id_cli; + + SELECT CASE + WHEN tarifa =0 THEN IF(minimo AND IFNULL(fp.rate_0,C.PVP) < importe_min, importe_min, IFNULL(fp.rate_0,C.PVP)) + WHEN tarifa =1 THEN IF(minimo AND IFNULL(fp.rate_1,C.Tarifa1) < importe_min, importe_min, IFNULL(fp.rate_1,C.Tarifa1)) + WHEN tarifa =2 THEN IF(minimo AND IFNULL(fp.rate_2,C.Tarifa2) < importe_min, importe_min, IFNULL(fp.rate_2,C.Tarifa2)) + WHEN tarifa =3 THEN IF(minimo AND IFNULL(fp.rate_3,C.Tarifa3) < importe_min, importe_min, IFNULL(fp.rate_3,C.Tarifa3)) + WHEN tarifa BETWEEN 4 AND 100 THEN Tarifa1 + WHEN tarifa >100 THEN IF(minimo AND IFNULL(fp.rate_3,C.Tarifa3) * ( ( 200 - tarifa ) /100 ) < importe_min, importe_min,IFNULL(fp.rate_3,C.Tarifa3) * ( ( 200 - tarifa ) /100 )) + END, IFNULL(fp.Packing,C.Packing) Packing, C.Id_Compra,IFNULL(fp.grouping,C.grouping) grouping,IFNULL(fp.caja,C.caja) caja,fp.bonus INTO importe, packin, id_compra,groupin,caj,bonus + FROM Compres C + INNER JOIN Entradas E ON E.Id_Entrada = C.Id_Entrada + INNER JOIN travel T ON T.id = E.travel_id + LEFT JOIN price_fixed fp ON fp.item_id = id_art AND CURDATE() BETWEEN fp.date_start AND fp.date_end AND fp.warehouse_id IN (0,id_wh) + WHERE Id_Article = id_art + AND C.Novincular = FALSE + AND T.landing BETWEEN date_inv() AND CURDATE( ) + AND T.warehouse_id = id_wh + ORDER BY T.landing DESC + LIMIT 1; + + IF tarifa BETWEEN 4 AND 100 THEN SET descompte = tarifa; +END IF; + +IF minimo <> FALSE THEN + IF importe < importe_min THEN + SET importe = importe_min; +END IF; + +END IF; + +END IF; +SELECT importe, descompte, tarifa, packin, id_compra,groupin,caj,bonus +FROM DUAL; + +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 `preOrdenarRuta` */; +/*!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 `preOrdenarRuta`(IN vRutaId INT) +BEGIN + +UPDATE Tickets mt +JOIN ( + SELECT tt.Id_Consigna, round(ifnull(avg(t.Prioridad),0),0) as Prioridad + from Tickets t + JOIN Tickets tt on tt.Id_Consigna = t.Id_Consigna + where t.Fecha > TIMESTAMPADD(YEAR,-1,CURDATE()) + AND tt.Id_Ruta = vRutaId + GROUP BY Id_Consigna + ) sub ON sub.Id_Consigna = mt.Id_Consigna + SET mt.Prioridad = sub.Prioridad + WHERE mt.Id_Ruta = vRutaId; + +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 `prepare_client_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 `prepare_client_list`() +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + CREATE TEMPORARY TABLE tmp.client_list + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT DISTINCT Id_Cliente + FROM 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `prepare_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 = 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 `prepare_ticket_list`(vStartingDate DATETIME, vEndingDate DATETIME) +BEGIN + DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; + CREATE TEMPORARY TABLE tmp.ticket_list + (PRIMARY KEY (Id_Ticket)) + ENGINE = MEMORY + SELECT t.Id_Ticket, c.Id_Cliente + FROM Tickets t + LEFT JOIN vn.ticketState ts ON ts.ticket = t.Id_Ticket + JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente + JOIN clientes_tipo ct ON ct.clientes_tipo_id = c.clientes_tipo_id + WHERE ct.code IN ('normal','handMaking') + AND ( + Fecha BETWEEN util.today() AND vEndingDate + OR ( + ts.alertLevel < 3 + AND t.Fecha >= vStartingDate + AND t.Fecha < util.today() + ) + ); +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 `price_detail` */; +/*!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 `price_detail`(IN idART INT, IN datLanding DATE) +BEGIN + CALL item_last_buy_(NULL,datLanding); + + SELECT 'Ultimas compras',NULL as Entrada, NULL as Almacen, NULL as Tarifa3, NULL as Tarifa2 + UNION ALL + SELECT NULL, Id_Entrada, w.name, Tarifa3, Tarifa2 + FROM Compres c + JOIN t_item_last_buy b ON c.Id_Compra = b.buy_id + JOIN warehouse w on w.id = b.warehouse_id + WHERE b.item_id = idART + UNION all + SELECT 'Precios fijados',NULL, NULL as Almacen, NULL as Tarifa3, NULL as Tarifa2 + UNION ALL + SELECT NULL, CONCAT('de ', date_start, ' a ',date_end) , w.name, rate_3,rate_2 + FROM price_fixed + JOIN warehouse w on w.id = warehouse_id + WHERE item_id = idART + AND datLanding BETWEEN date_start AND date_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 `proc_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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `proc_end`() BEGIN - DECLARE date_inv DATE; - ALTER TABLE item - ADD buy_id INT UNSIGNED; - - IF v_date < (SELECT date_inv()) THEN - SELECT MIN(landing) INTO date_inv FROM travel t INNER JOIN Entradas e ON e.travel_id = t.id - WHERE warehouse_id_out = 13 AND landing <= v_date; - ELSE - SET date_inv = date_inv(); - END IF; - UPDATE item i INNER JOIN ( - SELECT * FROM ( - SELECT c.Id_Article item_id, c.Id_Compra id - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv AND v_date - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 - ORDER BY v_wh = t.warehouse_id DESC, t.landing DESC - ) t - GROUP BY item_id - ) t - ON i.id = t.item_id - SET i.buy_id = t.id; - CREATE INDEX buy USING HASH ON item (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 `item_buy_price` */; -/*!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_buy_price`(IN v_customer INT,IN date_ DATE,IN v_wh TINYINT) +UPDATE stat SET `end` = NOW() +WHERE id = (SELECT id FROM lastid); + +DROP TEMPORARY TABLE IF EXISTS lastid; + +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 `proc_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 = latin1 */ ; +/*!50003 SET character_set_results = latin1 */ ; +/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `proc_start`(IN v_proc_id INT) BEGIN - ALTER TABLE item - ADD price DOUBLE, - ADD discount INT; + +INSERT INTO stat(proc_id) VALUES(v_proc_id); - -- Lo primero, el precio normal, la ultima entrada para ese almacen +DROP TEMPORARY TABLE IF EXISTS lastid; +CREATE TEMPORARY TABLE lastid +SELECT last_insert_id() id; - UPDATE item i - JOIN Compres b ON i.buy_id = b.Id_Compra - JOIN Clientes c ON c.Id_cliente = v_customer - SET i.price = CASE c.Descuento +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 `productionState` */; +/*!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 `productionState`(vWarehouse INT , vDate DATE) +BEGIN + + +SELECT IF(a.Vista= 2, z.alias, a.Agencia) Agencia, t.Id_Ruta, count(*) Pedidos +FROM Tickets t +JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna +JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id + LEFT JOIN Tickets_state tls on tls.Id_Ticket = t.Id_Ticket + LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona + LEFT JOIN vncontrol.inter vni ON vni.inter_id = tls.inter_id + LEFT JOIN state s ON s.id = vni.state_id +WHERE Fecha BETWEEN vDate AND util.dayend(vDate) +AND s.alert_level = 1 +AND t.warehouse_id = vWarehouse +GROUP BY Agencia, Id_Ruta; + +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 `production_buffer_problems` */; +/*!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_buffer_problems`() +BEGIN +/** + * Necesita la tabla tmp.ticket_list + */ + DECLARE vToday DATETIME; + DECLARE vTomorrowMidnight DATETIME ; + DECLARE vWarehouse INT; + DECLARE vDate DATE; + DECLARE vAvailableCache INT; + DECLARE vVisibleCache INT; + DECLARE vDone BOOL; + + DECLARE vCursor CURSOR FOR + SELECT DISTINCT warehouse_id, DATE(Fecha) + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + AND DATE(t.Fecha) BETWEEN CURDATE() AND TIMESTAMPADD(DAY,1.9,CURDATE()); + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DROP TEMPORARY TABLE IF EXISTS tmp.buffer_problems; + CREATE TEMPORARY TABLE tmp.buffer_problems ( + Id_Ticket INT(11), + problem VARCHAR(50), + INDEX (Id_Ticket) + ) + ENGINE = MEMORY; + + SET vToday = CURDATE(); + SET vTomorrowMidnight = TIMESTAMP(TIMESTAMPADD(DAY, 1, CURDATE()), '23:59:59'); + + OPEN vCursor; + + l: LOOP + SET vDone = FALSE; + FETCH vCursor INTO vWarehouse, vDate; + + IF vDone THEN + LEAVE l; + END IF; + + CALL cache.visible_refresh (vVisibleCache, FALSE, vWarehouse); + CALL cache.available_refresh (vAvailableCache, FALSE, vWarehouse, vDate); + + -- El disponible es menor que 0 + + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT tt.Id_Ticket, Article + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id + LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache + LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache + WHERE date(t.Fecha) = vDate + AND reino_id NOT IN (8,6) + AND M.Cantidad > IFNULL(v.visible,0) + AND M.Cantidad > 0 + AND IFNULL(av.available,0) < 0 + AND M.OK = FALSE + AND NOT generic + AND vWarehouse = t.warehouse_id; + + -- El disponible es mayor que cero y la cantidad supera el visible, estando aun sin preparar + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT tt.Id_Ticket, CONCAT('RETRASO (', A.Id_Article, ') ', Article) + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id + LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache + LEFT JOIN ( + SELECT Id_Article FROM Articles_nicho + WHERE DATE(modificationDate) = CURDATE() AND warehouse_id = vWarehouse + ) nicho ON nicho.Id_Article = A.Id_Article + LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache + WHERE IFNULL(av.available,0) >= 0 + AND M.Cantidad > IFNULL(v.visible,0) + AND M.OK = FALSE + AND M.Reservado = FALSE + AND reino_id NOT IN (8,6) + AND date(t.Fecha) = vDate + AND NOT generic + AND CURDATE() = vDate + AND t.warehouse_id = vWarehouse + AND nicho.Id_Article IS NULL; + END LOOP; + + CLOSE vCursor; + + -- Código 100 + + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'COD 100' + FROM tmp.ticket_list tt + JOIN Movimientos m on m.Id_Ticket = tt.Id_Ticket + WHERE Id_Article = 100; + + -- Congelado + + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'CONGELADO' + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + JOIN Clientes c on c.Id_Cliente = t.Id_Cliente + WHERE c.Congelado; + + -- Riesgo + + CALL risk_vs_client_list(CURDATE()); + + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'RIESGO' + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + JOIN Agencias a on t.Id_Agencia = a.Id_Agencia + JOIN tmp.risk r on r.Id_Cliente = t.Id_Cliente + JOIN Clientes c on c.Id_Cliente = t.Id_Cliente + WHERE r.risk > c.Credito + 10 + AND Vista != 3; -- para que las recogidas se preparen + /* + -- Saldo vencido + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'SALDO VENCIDO' + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + JOIN Agencias a on t.Id_Agencia = a.Id_Agencia + JOIN bi.defaulters d ON d.client = t.Id_Cliente + WHERE d.amount > 200 AND d.date = CURDATE() + AND Vista != 3; -- para que las recogidas se preparen + */ +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 `production_buffer_problemsOptimizado` */; +/*!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_buffer_problemsOptimizado`() +BEGIN +/* + * Necesita la tabla tmp.ticket_list + * + */ + DECLARE vWarehouse INT; + DECLARE vDate DATE; + DECLARE vAvailableCache INT; + DECLARE vVisibleCache INT; + DECLARE vDone INT DEFAULT 0; + + DECLARE vCursor CURSOR FOR + SELECT DISTINCT warehouse_id, date(Fecha) + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + AND DATE(t.Fecha) BETWEEN CURDATE() AND TIMESTAMPADD(DAY,1.9,CURDATE()); + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = 1; + + DROP TEMPORARY TABLE IF EXISTS tmp.buffer_problems; + CREATE TEMPORARY TABLE tmp.buffer_problems ( + Id_Ticket INT(11), + problem VARCHAR(50), + INDEX (Id_Ticket) + ) + ENGINE = MEMORY; + + + -- CONGELADO + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'CONGELADO' + FROM tmp.ticket_list tt + JOIN Clientes c on c.Id_Cliente = tt.Id_Cliente + WHERE c.Congelado; + + -- eliminamos tickets con problemas para no volverlos a mirar + DROP TEMPORARY TABLE IF EXISTS tmp.ticketListFiltered; + + CREATE TEMPORARY TABLE tmp.ticketListFiltered + (PRIMARY KEY (Id_Ticket)) + ENGINE = MEMORY + SELECT tt.Id_Ticket, c.Id_Cliente + FROM tmp.ticket_list tt + JOIN Clientes c on c.Id_Cliente = tt.Id_Cliente + WHERE c.Congelado = 0; + + -- RIESGO + CALL risk_vs_client_list(CURDATE()); + + + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'RIESGO' + FROM tmp.ticketListFiltered tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + JOIN Agencias a on t.Id_Agencia = a.Id_Agencia + JOIN tmp.risk r on r.Id_Cliente = t.Id_Cliente + JOIN Clientes c on c.Id_Cliente = t.Id_Cliente + WHERE r.risk > c.Credito + 10 + AND Vista != 3; -- para que las recogidas se preparen + + -- eliminamos tickets con problemas para no volverlos a mirar + DELETE tlf FROM tmp.ticketListFiltered tlf + JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; + + -- CODIGO 100 + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT DISTINCT tt.Id_Ticket, 'COD 100' + FROM tmp.ticket_list tt + JOIN Movimientos m on m.Id_Ticket = tt.Id_Ticket + WHERE Id_Article = 100; + + -- eliminamos tickets con problemas para no volverlos a mirar + DELETE tlf FROM tmp.ticketListFiltered tlf + JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; + + OPEN vCursor; + + WHILE NOT vDone + DO + FETCH vCursor INTO vWarehouse, vDate ; + + CALL cache.visible_refresh(vVisibleCache,FALSE,vWarehouse); + CALL cache.available_refresh(vAvailableCache,FALSE,vWarehouse,vDate); + + -- El disponible es menor que 0 + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT tt.Id_Ticket, Article + -- CONCAT(IF( M.Cantidad < IFNULL(v.visible,0) , 'NO HAY ','FALTARÁ ' ), Article) + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id + LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache + LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache + WHERE date(t.Fecha) = vDate + AND reino_id != 6 + AND M.Cantidad > IFNULL(v.visible,0) + AND IFNULL(av.available,0) < 0 + AND M.OK = FALSE + AND NOT generic + AND vWarehouse = t.warehouse_id; + + -- eliminamos tickets con problemas para no volverlos a mirar + DELETE tlf FROM tmp.ticketListFiltered tlf + JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; + + -- Amarillo: El disponible es mayor que cero y la cantidad supera el visible, estando aun sin preparar + INSERT INTO tmp.buffer_problems(Id_Ticket, problem) + SELECT tt.Id_Ticket, CONCAT('RETRASO ', Article) + FROM tmp.ticket_list tt + JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket + LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id + LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache + LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache + WHERE IFNULL(av.available,0) >= 0 + AND M.Cantidad > IFNULL(v.visible,0) + AND M.OK = FALSE + AND M.Reservado = FALSE + AND reino_id != 6 + AND date(t.Fecha) = vDate + AND NOT generic + AND CURDATE() = vDate + AND t.warehouse_id = vWarehouse; + END WHILE; + + CLOSE vCursor; + +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 `production_buffer_set_priority` */; +/*!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_buffer_set_priority`() +BEGIN + +DECLARE currentDayOfWeek INT; + +SET currentDayOfWeek = weekday(curdate()); + +-- Sin provincia ni dia de envio +UPDATE tmp.production_buffer pb +LEFT JOIN +( + SELECT agency_id + , warehouse_id + , max_hour + FROM agency_hour ah + WHERE subtract_day < 225 + AND week_day is null + AND province_id is null + +) t on t.agency_id = pb.agency_id + and t.warehouse_id = pb.warehouse_id + +SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,IFNULL(t.max_hour,24), pb.Hora) + ,pb.Departure =IFNULL(t.max_hour,0); + + +-- Agencias sin provincia, machacan lo anterior si coinciden +UPDATE tmp.production_buffer pb +JOIN +( + SELECT agency_id + , warehouse_id + , shipmentDay(week_day, subtract_day) as shipmentDay + , max_hour + FROM agency_hour ah + WHERE subtract_day < 225 + AND agency_id is not null + AND week_day is not null + AND max_hour is not null + AND province_id is null + HAVING shipmentDay = currentDayOfWeek + +) t on t.agency_id = pb.agency_id + and t.warehouse_id = pb.warehouse_id + +SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,t.max_hour, pb.Hora) +,pb.Departure = t.max_hour +; + + +-- Agencias con provincia, se ejecuta para machacar lo anterior, si procede. +UPDATE tmp.production_buffer pb +JOIN +( + SELECT agency_id + , warehouse_id + , shipmentDay(week_day, subtract_day) as shipmentDay + , max_hour + , province_id + FROM agency_hour ah + WHERE subtract_day < 225 + AND agency_id is not null + AND week_day is not null + AND max_hour is not null + AND province_id is not null + HAVING shipmentDay = currentDayOfWeek + +) t on t.agency_id = pb.agency_id + and t.warehouse_id = pb.warehouse_id + and t.province_id = pb.province_id + +SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,t.max_hour, pb.Hora) +,pb.Departure = t.max_hour +; + +-- Pedidos del dia anterior son prioritarios +/* +UPDATE tmp.production_buffer pb +JOIN Tickets t ON t.Id_Ticket = pb.ticket +SET pb.Hora = 1 +WHERE t.Fecha < 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 `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`(vWarehouseId INT, vScopeDays TINYINT) +BEGIN + DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); + DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); + DECLARE SAFE_ALERT_LEVEL INT DEFAULT 3; + DECLARE vLoadingDelay DECIMAL(5) DEFAULT 2; + + CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); + CALL prepare_client_list; + CALL production_buffer_problems; + + DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; + CREATE TEMPORARY TABLE tmp.production_buffer + (PRIMARY KEY(Id_Ticket)) + ENGINE = MEMORY + SELECT t.Id_Ticket + , t.Id_Cliente + , t.warehouse_id + , t.Alias + , t.Bultos + , HOUR(t.Fecha) as Hora + , HOUR(t.Fecha) + vLoadingDelay as Departure + , MINUTE(t.Fecha) as minuto + , t.Id_Ruta + , IF(a.Vista = 2,ap.zona,0) as zona + , CS.Consignatario + , CS.CODPOSTAL + , CS.POBLACION + , p.name PROVINCIA + , IF(a.Vista= 2, CONCAT(LEFT(z.alias,16),' ',IFNULL(RIGHT(t.Id_Ruta,3),'')), a.Agencia) Agencia + , a.agency_id + , 0 AS `lines` + , CAST( 0 AS DECIMAL(5,2)) AS m3 + , 0 AS problems + , " " as problem + , IFNULL(tls.state,2) AS state + , w.Codigotrabajador + , DATE(t.Fecha) AS Fecha + , Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial + , p.province_id + , tls.productionOrder as state_order + , ifnull(tls.alertLevel,0) alert_level + , t.boxed as palletized + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna + LEFT JOIN province p on p.province_id = CS.province_id + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id + LEFT JOIN vn.ticketState tls on tls.ticket = tt.Id_Ticket + LEFT JOIN Trabajadores w on w.Id_Trabajador = tls.worker + LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona + WHERE t.warehouse_id = vWarehouseId + AND a.Vista IN (1,2,3); + + + -- Líneas y volumen por ticket + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT m.Id_Ticket, COUNT(Id_Movimiento) as `lines`, cast( sum( m.Cantidad * r.cm3 / 1000000 ) as decimal(10,2)) as m3 + FROM tmp.ticket_list tt + JOIN Movimientos m on tt.Id_Ticket = m.Id_Ticket + JOIN bi.rotacion r on m.Id_Article = r.Id_Article + WHERE r.warehouse_id = vWarehouseId + GROUP BY m.Id_Ticket + ) m on m.Id_Ticket = pb.Id_Ticket + SET pb.`lines` = m.`lines`, + pb.m3 = m.m3; + + DELETE FROM tmp.production_buffer + WHERE `lines`= 0; + + -- Cajas + + ALTER TABLE tmp.production_buffer + ADD Cajas DOUBLE DEFAULT NULL; + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT t.Id_Ticket, sum(floor(m.Cantidad / c.Packing) * bultoCubico) as Cajas + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket + JOIN cache.last_buy lb on lb.warehouse_id = t.warehouse_id AND lb.item_id = m.Id_Article + JOIN Compres c on c.Id_Compra = lb.buy_id + JOIN Cubos cb on cb.Id_Cubo = c.Id_Cubo + WHERE m.Cantidad > c.Packing + GROUP BY t.Id_Ticket + HAVING Cajas >= 1 + ) sub ON sub.Id_Ticket = pb.Id_Ticket + SET pb.Cajas = sub.Cajas; + + -- Artificial, Seco y Preservado: Reino 4 + + ALTER TABLE tmp.production_buffer + ADD lineasArtificial INT DEFAULT NULL; + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT tt.Id_Ticket, COUNT(m.Id_Movimiento) as Lineas + FROM tmp.ticket_list tt + JOIN Movimientos m ON m.Id_Ticket = tt.Id_Ticket + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN reinos r ON r.id = tp.reino_id + WHERE reino = 'Artificial' + GROUP BY tt.Id_Ticket + HAVING Lineas >= 1 + ) sub ON sub.Id_Ticket = pb.Id_Ticket + SET pb.lineasArtificial = sub.Lineas; + + + -- Problemas por ticket + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT Id_Ticket, COUNT(Id_Ticket) as problems, GROUP_CONCAT(problem) problem + FROM tmp.buffer_problems + GROUP BY Id_Ticket + ) p on p.Id_Ticket = pb.Id_Ticket + SET pb.problems = p.problems, + pb.problem = p.problem; + + -- Hora limite de preparación + + CALL production_buffer_set_priority; + + -- Entradas + + INSERT INTO tmp.production_buffer( + Fecha + , Id_Ticket + , Agencia + , Id_Cliente + , Consignatario + , state + , CodigoTrabajador + , m3 + , `lines` + ) + SELECT DISTINCT c.shipment AS Fecha + , c.Id_Entrada AS Id_Ticket + , warehouse.name + , c.Id_Proveedor + , c.ref AS Consignatario + , IF(BIT_OR(controlado.Id_Compra),6,IF(BIT_OR(preparado.Id_Compra),5,3)) AS state + , c.Id_Trabajador AS CodigoTrabajador + , round(sum(cm3) / 1000000,2) AS m3 + , count(c.Id_Compra) as `lines` + FROM v_compres c + INNER JOIN warehouse ON c.warehouse_id = warehouse.id + LEFT JOIN Compres_ok preparado ON c.Id_Compra = preparado.Id_Compra AND preparado.valor = 1 + LEFT JOIN Compres_ok controlado ON c.Id_Compra = controlado.Id_Compra AND controlado.valor = 2 + WHERE warehouse_id_out = vWarehouseId AND IFNULL(c.Confirmada,FALSE) = FALSE + AND c.shipment >= CURDATE() + GROUP BY Id_Entrada; + + -- Refresca la caché para el cierre dinámico de agencias + + CALL cache.departure_timing(vWarehouseId); + + -- Tickets de recogida + + REPLACE tmp.production_buffer( + Fecha + , Id_Ticket + , Agencia + , Id_Cliente + , Consignatario + , state + , CodigoTrabajador + , alert_level + , warehouse_id + ) + SELECT + DATE(t.Fecha) AS Fecha + , t.Id_Ticket + , a.Agencia + , t.Id_Cliente + , CS.Consignatario + , s.id as state + , w.Codigotrabajador + , ifnull(tls.alertLevel,0) alert_level + , vWarehouseId + FROM vn2008.Tickets t + JOIN vn2008.Consignatarios CS on CS.Id_Consigna = t.Id_Consigna + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN vn2008.warehouse_pickup wp ON wp.agency_id = a.Id_Agencia + LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket + LEFT JOIN vn.state s ON s.id = tls.state + LEFT JOIN vn2008.Trabajadores w on w.Id_Trabajador = tls.worker + WHERE t.Fecha between TIMESTAMPADD(WEEK,-1,CURDATE()) AND dayend(TIMESTAMPADD(DAY,-1,CURDATE())) + AND wp.warehouse_id = vWarehouseId; + + -- DROP TEMPORARY TABLE tmp.ticket_list; + -- DROP TEMPORARY TABLE IF EXISTS tmp.risk; +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 `production_control_source_Beta` */; +/*!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_Beta`(vWarehouseId INT, vScopeDays TINYINT) +BEGIN + DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); + DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); + DECLARE SAFE_ALERT_LEVEL INT DEFAULT 3; + DECLARE vLoadingDelay DECIMAL(5) DEFAULT 2; + + CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); + CALL prepare_client_list; + CALL production_buffer_problems; + + IF vWarehouseId = 0 THEN + + DELETE tt.* + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + WHERE t.warehouse_id NOT IN (1,44); + + ELSE + + DELETE tt.* + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + WHERE t.warehouse_id != vWarehouseId; + + END IF; + + /* + DROP TEMPORARY TABLE IF EXISTS tmp.selectedWarehouses; + + IF vWarehouseId = 0 THEN + + CREATE TEMPORARY TABLE tmp.selectedWarehouses + (PRIMARY KEY(id)) + ENGINE = MEMORY + SELECT id + FROM warehouse + WHERE id = vWarehouseId; + + ELSE + + CREATE TEMPORARY TABLE tmp.selectedWarehouses + (PRIMARY KEY(id)) + ENGINE = MEMORY + SELECT id + FROM warehouse + WHERE id IN (1,44); -- Silla FV y Silla PCA + + END IF; + */ + + + DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; + CREATE TEMPORARY TABLE tmp.production_buffer + (PRIMARY KEY(Id_Ticket)) + ENGINE = MEMORY + SELECT t.Id_Ticket + , t.Id_Cliente + , t.warehouse_id + , t.Alias + , t.Bultos + , HOUR(t.Fecha) as Hora + , HOUR(t.Fecha) + vLoadingDelay as Departure + , MINUTE(t.Fecha) as minuto + , t.Id_Ruta + , IF(a.Vista = 2,ap.zona,0) as zona + , CS.Consignatario + , CS.CODPOSTAL + , CS.POBLACION + , p.name PROVINCIA + , IF(a.Vista= 2, CONCAT(LEFT(z.alias,16),' ',IFNULL(RIGHT(t.Id_Ruta,3),'')), a.Agencia) Agencia + , a.agency_id + , 0 AS `lines` + , CAST( 0 AS DECIMAL(5,2)) AS m3 + , 0 AS problems + , " " as problem + , IFNULL(tls.state,2) AS state + , w.Codigotrabajador + , DATE(t.Fecha) AS Fecha + , Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial + , p.province_id + , tls.productionOrder as state_order + , ifnull(tls.alertLevel,0) alert_level + , t.boxed as palletized + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna + LEFT JOIN province p on p.province_id = CS.province_id + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id + LEFT JOIN vn.ticketState tls on tls.ticket = tt.Id_Ticket + LEFT JOIN Trabajadores w on w.Id_Trabajador = tls.worker + LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona + AND a.Vista IN (1,2,3); + + + -- Líneas y volumen por ticket + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT m.Id_Ticket, COUNT(Id_Movimiento) as `lines`, cast( sum( m.Cantidad * r.cm3 / 1000000 ) as decimal(10,2)) as m3 + FROM tmp.ticket_list tt + JOIN Tickets t ON t.Id_Ticket = tt.Id_Ticket + JOIN Movimientos m on tt.Id_Ticket = m.Id_Ticket + JOIN bi.rotacion r on m.Id_Article = r.Id_Article AND r.warehouse_id = t.warehouse_id + GROUP BY m.Id_Ticket + ) m on m.Id_Ticket = pb.Id_Ticket + SET pb.`lines` = m.`lines`, + pb.m3 = m.m3; + + DELETE FROM tmp.production_buffer + WHERE `lines`= 0; + + -- Cajas + + ALTER TABLE tmp.production_buffer + ADD Cajas DOUBLE DEFAULT NULL; + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT t.Id_Ticket, sum(floor(m.Cantidad / c.Packing) * bultoCubico) as Cajas + FROM tmp.ticket_list tt + JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket + JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket + JOIN cache.last_buy lb on lb.warehouse_id = t.warehouse_id AND lb.item_id = m.Id_Article + JOIN Compres c on c.Id_Compra = lb.buy_id + JOIN Cubos cb on cb.Id_Cubo = c.Id_Cubo + WHERE m.Cantidad > c.Packing + GROUP BY t.Id_Ticket + HAVING Cajas >= 1 + ) sub ON sub.Id_Ticket = pb.Id_Ticket + SET pb.Cajas = sub.Cajas; + + -- Artificial, Seco y Preservado: Reino 4 + + ALTER TABLE tmp.production_buffer + ADD lineasArtificial INT DEFAULT NULL; + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT tt.Id_Ticket, COUNT(m.Id_Movimiento) as Lineas + FROM tmp.ticket_list tt + JOIN Movimientos m ON m.Id_Ticket = tt.Id_Ticket + JOIN Articles a ON a.Id_Article = m.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN reinos r ON r.id = tp.reino_id + WHERE reino = 'Artificial' + GROUP BY tt.Id_Ticket + HAVING Lineas >= 1 + ) sub ON sub.Id_Ticket = pb.Id_Ticket + SET pb.lineasArtificial = sub.Lineas; + + + -- Problemas por ticket + + UPDATE tmp.production_buffer pb + JOIN ( + SELECT Id_Ticket, COUNT(Id_Ticket) as problems, GROUP_CONCAT(problem) problem + FROM tmp.buffer_problems + GROUP BY Id_Ticket + ) p on p.Id_Ticket = pb.Id_Ticket + SET pb.problems = p.problems, + pb.problem = p.problem; + + -- Hora limite de preparación + + CALL production_buffer_set_priority; + + -- Entradas + + INSERT INTO tmp.production_buffer( + Fecha + , Id_Ticket + , Agencia + , Id_Cliente + , Consignatario + , state + , CodigoTrabajador + , m3 + , `lines` + ) + SELECT DISTINCT c.shipment AS Fecha + , c.Id_Entrada AS Id_Ticket + , warehouse.name + , c.Id_Proveedor + , c.ref AS Consignatario + , IF(BIT_OR(controlado.Id_Compra),6,IF(BIT_OR(preparado.Id_Compra),5,3)) AS state + , c.Id_Trabajador AS CodigoTrabajador + , round(sum(cm3) / 1000000,2) AS m3 + , count(c.Id_Compra) as `lines` + FROM v_compres c + INNER JOIN warehouse ON c.warehouse_id = warehouse.id + LEFT JOIN Compres_ok preparado ON c.Id_Compra = preparado.Id_Compra AND preparado.valor = 1 + LEFT JOIN Compres_ok controlado ON c.Id_Compra = controlado.Id_Compra AND controlado.valor = 2 + WHERE (warehouse_id_out = CASE vWarehouseId WHEN 0 THEN 1 ELSE vWarehouseId END + OR + warehouse_id_out = CASE vWarehouseId WHEN 0 THEN 44 ELSE vWarehouseId END) + AND IFNULL(c.Confirmada,FALSE) = FALSE + AND c.shipment >= CURDATE() + GROUP BY Id_Entrada; + + -- Refresca la caché para el cierre dinámico de agencias + + CALL cache.departure_timing; + + -- Tickets de recogida + + REPLACE tmp.production_buffer( + Fecha + , Id_Ticket + , Agencia + , Id_Cliente + , Consignatario + , state + , CodigoTrabajador + , alert_level + , warehouse_id + ) + SELECT + DATE(t.Fecha) AS Fecha + , t.Id_Ticket + , a.Agencia + , t.Id_Cliente + , CS.Consignatario + , s.id as state + , w.Codigotrabajador + , ifnull(tls.alertLevel,0) alert_level + , t.warehouse_id + FROM vn2008.Tickets t + JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket + JOIN vn2008.Consignatarios CS on CS.Id_Consigna = t.Id_Consigna + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN vn2008.warehouse_pickup wp ON wp.agency_id = a.Id_Agencia + LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket + LEFT JOIN vn.state s ON s.id = tls.state + LEFT JOIN vn2008.Trabajadores w on w.Id_Trabajador = tls.worker + WHERE t.Fecha between TIMESTAMPADD(WEEK,-1,CURDATE()) AND dayend(TIMESTAMPADD(DAY,-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 `proveedores_saldo` */; +/*!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 `proveedores_saldo`(IN datFEC DATE) +BEGIN + +SET datFEC = IF(datfec < CURDATE(), CURDATE(), datfec); + +SELECT P.Id_Proveedor + , P.Proveedor + , P.empresa_id + , P.pay_met_id + , P.cuenta + , RED(IFNULL(sub_tot.Saldo,0) + IFNULL(sub_fut.Saldo,0) + IFNULL(sub_hoy.Saldo,0)) Total + , RED(IFNULL(sub_hoy.Saldo,0) + IFNULL(sub_fut.Saldo,0)) Inmediato + , RED(IFNULL(sub_hoy.Saldo,0)) Vencido +FROM +(SELECT Id_Proveedor, Proveedor, id as empresa_id, pay_met_id, P.cuenta FROM Proveedores P INNER JOIN empresa) P + +LEFT JOIN +( +SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo +FROM +( +SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0) / IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id +FROM recibida_vencimiento RV +INNER JOIN recibida R ON RV.recibida_id = R.id +INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id +INNER JOIN reference_rate rr ON rr.date=R.fecha +WHERE RV.fecha > datFEC + AND R.contabilizada +GROUP BY proveedor_id, empresa_id +UNION ALL +SELECT fecha, red(SUM(IFNULL(importe,0))), id_proveedor, empresa_id +FROM pago +WHERE fecha > datFEC +GROUP BY id_proveedor, empresa_id +) sub +GROUP BY Id_Proveedor, empresa_id +) sub_tot USING(Id_Proveedor, empresa_id) + +-- Saldo inmediato + +LEFT JOIN +( +SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo +FROM +( +SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0)/ IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id +FROM recibida_vencimiento RV +INNER JOIN recibida R ON RV.recibida_id = R.id +INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id +INNER JOIN reference_rate rr ON rr.date = R.fecha +WHERE RV.fecha BETWEEN CURDATE() AND datFEC +AND R.contabilizada +GROUP BY proveedor_id, empresa_id +UNION ALL +SELECT fecha, ROUND(SUM(IFNULL(importe,0)),2), id_proveedor, empresa_id +FROM pago +WHERE fecha BETWEEN CURDATE() AND datFEC +GROUP BY id_proveedor, empresa_id +) sub3 +GROUP BY Id_Proveedor, empresa_id +) sub_fut USING(Id_Proveedor, empresa_id) + + + +LEFT JOIN +( +SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo +FROM +( +SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0)/ IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id +FROM recibida_vencimiento RV +INNER JOIN recibida R ON RV.recibida_id = R.id +INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id +INNER JOIN reference_rate rr ON rr.date = R.fecha +WHERE RV.fecha > '2014-12-31' AND RV.fecha < CURDATE() +AND R.contabilizada +GROUP BY proveedor_id, empresa_id +UNION ALL +SELECT fecha, red(SUM(IFNULL(importe,0))), id_proveedor, empresa_id +FROM pago +WHERE fecha > '2014-12-31' AND fecha < CURDATE() +GROUP BY id_proveedor, empresa_id +) sub5 +GROUP BY Id_Proveedor, empresa_id +) sub_hoy USING(Id_Proveedor, empresa_id) +WHERE abs(sub_tot.Saldo) >0.2 + OR ABS(sub_fut.Saldo) >0.2 + OR ABS(sub_hoy.Saldo) >0.2 +; + +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 `proveedores_saldos` */; +/*!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 `proveedores_saldos`() +BEGIN + + DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(MONTH,-3,CURDATE()); + + DROP TEMPORARY TABLE IF EXISTS saldos_iniciales; + + CREATE TEMPORARY TABLE saldos_iniciales + + (proveedor_id INT NOT NULL + , empresa_id INT NOT NULL + , saldo_inicial double NOT NULL + , saldo_final DOUBLE NOT NULL + , moneda_id INT NOT NULL + , PRIMARY KEY(proveedor_id, empresa_id, moneda_id)) + ENGINE = MEMORY; + + -- Calcula el saldo inicial y final de cada proveedor + INSERT INTO saldos_iniciales + SELECT id_proveedor, empresa_id, sum(importe * isBeforeStarting) as saldo_inicial,sum(importe) saldo_final, moneda_id + FROM ( + SELECT + p.id_proveedor, + p.empresa_id, + if(p.id_moneda = 1, p.importe, p.divisa) as importe, + if( p.fecha < startingDate,1,0) isBeforeStarting, + p.id_moneda moneda_id + FROM pago p + WHERE p.fecha > '2014-12-31' + AND p.empresa_id = 442 + AND p.id_proveedor <> 567 + + UNION ALL + + SELECT + r.proveedor_id, + r.empresa_id, + - if(r.moneda_id = 1, rv.cantidad, rv.divisa) AS Total, + if(rv.fecha < startingDate,1,0) isBeforeStarting, + r.moneda_id + FROM + recibida r + INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id + WHERE r.fecha > '2014-12-31' + AND r.contabilizada AND r.empresa_id = 442 + AND r.proveedor_id <> 567 + ) sub + GROUP BY empresa_id, id_proveedor, moneda_id; + + DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes; + + CREATE TEMPORARY TABLE vencimientos_pendientes + (vencimiento_id INT, id INT auto_increment + ,fecha DATE + ,proveedor_id INT NOT NULL + ,empresa_id INT NOT NULL + ,importe DECIMAL(10,2) NOT NULL + ,moneda_id INT NOT NULL + ,pendiente DECIMAL(10,2) DEFAULT 0 + ,saldo DECIMAL(10,2) DEFAULT 0 + ,saldoFinal DECIMAL(10,2) DEFAULT 0 + ,isPago BOOLEAN + ,conciliado BOOLEAN + ,PRIMARY KEY(id), + INDEX(proveedor_id,empresa_id,moneda_id)) + ENGINE = MEMORY; + + INSERT INTO vencimientos_pendientes(vencimiento_id + , fecha + , proveedor_id + , empresa_id + , importe + , moneda_id + , isPago + , conciliado) + SELECT p.id, + p.fecha, + p.id_proveedor, + p.empresa_id, + if(p.id_moneda = 1, p.importe, p.divisa) as importe, + p.id_moneda, + TRUE isPago, + p.conciliado + FROM pago p + WHERE p.fecha >= startingDate AND p.empresa_id = 442 + AND p.id_proveedor <> 567 + UNION ALL + SELECT rv.id + , rv.fecha + , r.proveedor_id + , r.empresa_id + , -if(r.moneda_id = 1, rv.cantidad, rv.divisa) as importe + , r.moneda_id + , FALSE + , TRUE + FROM recibida r + LEFT JOIN saldos_iniciales si ON r.empresa_id = si.empresa_id AND r.proveedor_id = si.proveedor_id AND r.moneda_id = si.moneda_id + INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id + WHERE rv.fecha >= startingDate AND IFNULL(saldo_final,TRUE) <> 0 + and r.contabilizada AND r.empresa_id = 442 + AND r.proveedor_id <> 567 + ORDER BY id_proveedor, empresa_id, id_moneda, fecha, isPago DESC,id; + + -- Ahora, calculamos el importe pendiente para cada recibo en orden descendente + SET @saldo:= 0.0; + SET @prov := 0.0; + SET @emp := 0.0; + set @moneda := 0.0; + SET @pendiente := 0.0; + SET @day := CURDATE(); + + UPDATE vencimientos_pendientes vp LEFT JOIN saldos_iniciales si ON + vp.empresa_id = si.empresa_id AND vp.proveedor_id = si.proveedor_id AND vp.moneda_id = si.moneda_id + SET vp.saldo = @saldo:= (IF(@emp <> vp.empresa_id OR @prov <> vp.proveedor_id OR @moneda <> vp.moneda_id, IFNULL(si.saldo_inicial,0),@saldo) + vp.importe) -- si hay cambio de empresa o proveedor o moneda, el saldo se reinicia + , vp.pendiente = @pendiente:= IF(@emp <> vp.empresa_id OR @prov <> vp.proveedor_id OR @moneda <> vp.moneda_id OR @day <> vp.fecha, vp.importe * (NOT isPago) , @pendiente + vp.importe) + , vp.empresa_id = @emp:= vp.empresa_id + , vp.proveedor_id = @prov:= vp.proveedor_id + , vp.moneda_id = @moneda:= vp.moneda_id + , vp.fecha = @day:= vp.fecha + , vp.saldo = @saldo + , vp.pendiente = @pendiente; + + CREATE TEMPORARY TABLE rowsToDelete + ENGINE = MEMORY + SELECT fecha,proveedor_id,empresa_id,moneda_id + FROM vencimientos_pendientes + WHERE saldo < 0.5 AND saldo > -0.5; + + DELETE vp.* FROM vencimientos_pendientes vp JOIN rowsToDelete rd + ON vp.fecha <= rd.fecha AND vp.proveedor_id = rd.proveedor_id AND vp.empresa_id = rd.empresa_id AND vp.moneda_id = rd.moneda_id + WHERE isPago = FALSE; + + SELECT vp.vencimiento_id + , vp.fecha + , vp.proveedor_id + , vp.empresa_id + , vp.moneda_id + , vp.importe + , vp.pendiente + , vp.saldo + , p.pay_met_id + , vp.isPago + , vp.conciliado + , vp.saldoFinal + FROM vencimientos_pendientes vp + LEFT JOIN Proveedores p ON p.Id_Proveedor = vp.proveedor_id; + + DROP TEMPORARY TABLE vencimientos_pendientes; + DROP TEMPORARY TABLE saldos_iniciales; + DROP TEMPORARY TABLE rowsToDelete; + +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 `proveedores_saldoskk` */; +/*!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 `proveedores_saldoskk`() +BEGIN + + + +DROP TEMPORARY TABLE IF EXISTS proveedores_pendientes; + +CREATE TEMPORARY TABLE proveedores_pendientes +( proveedor_id INT NOT NULL +, empresa_id INT NOT NULL +, saldo double NOT NULL +, moneda_id INT NOT NULL +, PRIMARY KEY(proveedor_id, empresa_id, moneda_id)); + +INSERT INTO proveedores_pendientes +SELECT id_proveedor, empresa_id, sum(importe) as saldo, id_moneda as moneda_id + FROM + ( + SELECT + p.id_proveedor, + p.empresa_id, + - if(p.id_moneda = 1, p.importe, p.divisa) as importe, + p.id_moneda + + FROM + pago p + + WHERE + + p.fecha > '2014-12-31' + + UNION ALL + + SELECT + r.proveedor_id, + r.empresa_id, + if(r.moneda_id = 1, rv.cantidad, rv.divisa) AS Total, + r.moneda_id + + FROM + recibida r + INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id + WHERE r.fecha > '2014-12-31' AND r.contabilizada + ) sub + GROUP BY empresa_id, id_proveedor, moneda_id + having saldo > 0; + + + + DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes_aux; + + CREATE TEMPORARY TABLE vencimientos_pendientes_aux + (vencimiento_id INT, id INT auto_increment + ,fecha DATE + ,proveedor_id INT NOT NULL + ,empresa_id INT NOT NULL + ,importe double NOT NULL + ,moneda_id INT NOT NULL + ,pendiente DOUBLE DEFAULT 0 + ,PRIMARY KEY(id)); + + SET @imp:= 0; + + INSERT INTO vencimientos_pendientes_aux(vencimiento_id + , fecha + , proveedor_id + , empresa_id + , importe + , moneda_id + , pendiente) + + + + SELECT rv.id + , rv.fecha + , r.proveedor_id + , r.empresa_id + , @imp:= if(r.moneda_id = 1, rv.cantidad, rv.divisa) as importe + , r.moneda_id + , pp.saldo + FROM recibida r + INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id + JOIN proveedores_pendientes pp ON pp.proveedor_id = r.proveedor_id AND pp.empresa_id = r.empresa_id AND pp.moneda_id = r.moneda_id + WHERE r.fecha > '2010-12-31' + and rv.fecha > TIMESTAMPADD(MONTH,-3,CURDATE()) + and r.contabilizada; + + + DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes; + + CREATE TEMPORARY TABLE vencimientos_pendientes + (vencimiento_id INT, id INT , id2 INT auto_increment + ,fecha DATE + ,proveedor_id INT NOT NULL + ,empresa_id INT NOT NULL + ,importe double NOT NULL + ,moneda_id INT NOT NULL + ,pendiente DOUBLE DEFAULT 0 + ,saldo DOUBLE + ,PRIMARY KEY(id2)); + + + + INSERT INTO vencimientos_pendientes(vencimiento_id + , id + , fecha + , proveedor_id + , empresa_id + , importe + , moneda_id + , pendiente + , saldo) + + + + SELECT vencimiento_id, id, fecha, proveedor_id, empresa_id, importe, moneda_id, 0, pp.saldo + FROM vencimientos_pendientes_aux vp + JOIN proveedores_pendientes pp USING(proveedor_id, empresa_id, moneda_id) + ORDER BY proveedor_id, empresa_id, moneda_id, fecha DESC, importe; + + DROP TEMPORARY TABLE vencimientos_pendientes_aux; + + + -- Ahora, al fin, calculamos el importe pendiente para cada recibo en orden descendente + + -- Cogemos los valores del primer registro como semilla + SELECT proveedor_id, empresa_id, saldo, moneda_id, 0 + INTO @prov, @emp, @saldo, @moneda, @pend + FROM vencimientos_pendientes WHERE id2 = 1; + + + UPDATE vencimientos_pendientes + SET saldo = @saldo:= IF(@emp <> empresa_id OR @prov <>proveedor_id OR @moneda <> moneda_id,saldo,@saldo) -- si hay cambio de empresa o proveedor o moneda, el saldo se reinicia + , pendiente = @pend:= IF(saldo >= importe AND saldo > 0, importe, saldo) + , saldo = @saldo:= @saldo - @pend + , empresa_id = @emp:= empresa_id + , proveedor_id = @prov:= proveedor_id + , moneda_id = @moneda:= moneda_id; + + SELECT vp.vencimiento_id + , vp.fecha + , vp.proveedor_id + , vp.empresa_id + , vp.moneda_id + , vp.importe + , vp.pendiente + , pp.saldo + FROM vencimientos_pendientes vp + JOIN proveedores_pendientes pp USING(proveedor_id, empresa_id, moneda_id) + WHERE pendiente > 0; + + DROP TEMPORARY TABLE vencimientos_pendientes; + DROP TEMPORARY TABLE proveedores_pendientes; + + +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 `prueba_miguel` */; +/*!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 `prueba_miguel`() +BEGIN +select 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 `quadre_clientes` */; +/*!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 `quadre_clientes`(IN datFEC DATETIME) +BEGIN + + + DECLARE datSTART DATE; + SET datFEC = TIMESTAMP(datFEC,'23:59:59'); + SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; + + SELECT P2.Alias, C.Id_Cliente, C.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, Cliente + + FROM Clientes C + + JOIN pay_met pm ON pm.id = C.pay_met_id + + JOIN + + ( + + SELECT empresa_id, Id_Cliente, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus + + FROM + + ( + SELECT empresa_id, Id_Cliente, Gestion, 0 as Contaplus + + FROM + + ( + SELECT empresa_id, Id_Cliente, -1 * Importe as Gestion + FROM Facturas + WHERE Fecha BETWEEN datSTART AND datFEC + UNION ALL + SELECT empresa_id, Id_Cliente, Entregado + FROM Recibos + WHERE Fechacobro BETWEEN datSTART AND datFEC + ) G + + WHERE empresa_id <> 965 + + UNION ALL + + SELECT empresa_id, Id_Cliente, 0, round(nz(Eurohaber) - nz(Eurodebe),2) as Contaplus + + FROM bi.XDiario_ALL XD + + JOIN Clientes C ON C.Cuenta = XD.SUBCTA + + WHERE Fecha BETWEEN datSTART AND datFEC + + ) sub1 + + GROUP BY empresa_id, Id_Cliente + + ) sub2 USING(Id_Cliente) + + JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id + + WHERE pm.deudaviva -- Cliente de perdidas no vale la pena revisarlo + + HAVING ABS(Diferencia) > 0.05 + + ORDER BY 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 `quadre_clientes_detalle` */; +/*!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 `quadre_clientes_detalle`(IN idC INT, IN idE INT, IN datFEC DATETIME) +BEGIN + +DECLARE datSTART DATE; + +SET datSTART = FIRSTDAYOFYEAR(datFEC); +SET datFEC = TIMESTAMP(datFEC,'23:59:59'); + +-- Creamos una tabla para almacenar las facturas del cliente, junto con el numero de veces que se repite. +DROP TEMPORARY TABLE IF EXISTS qFACTURAS; + +CREATE TEMPORARY TABLE qFACTURAS +(Fecha DATETIME, + TPVcount INT, + Factura DECIMAL(10,2) SIGNED, + Recibo DECIMAL(10,2) SIGNED, + CPcount INT, + Debe DECIMAL(10,2) SIGNED, + Haber DECIMAL(10,2) SIGNED, + Control INT DEFAULT 0, + PRIMARY KEY(Fecha, TPVcount, Factura, Recibo, CPcount, Debe, Haber)) + ENGINE = InnoDB +; + +-- Insertamos las facturas y los recibos de gestion. +INSERT INTO qFACTURAS + + SELECT Fecha, COUNT(*) as TPVcount, round(Importe,2) as Factura, 0 as Recibo, COUNT(*)as CPcount,round(Importe,2) as Debe, 0 as Haber, 1 as Control + FROM Facturas + WHERE Id_Cliente = idC AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC + GROUP BY Fecha, round(Importe,2) + UNION ALL + SELECT Fechacobro as Fecha, COUNT(*) as TPVcount, 0 as Factura, round(Entregado,2) as Recibo,COUNT(*) as CPCount, 0 as Debe, round(Entregado,2) as Haber, 3 as Control + FROM Recibos + WHERE Id_Cliente = idC AND empresa_id = idE AND Fechacobro BETWEEN datSTART AND datFEC + GROUP BY Fechacobro, round(Entregado,2); + +-- Insertamos los asientos de contabilidad, marcando con control = -1 las repetidas. +INSERT INTO qFACTURAS + SELECT * + FROM ( + SELECT Fecha, COUNT(*) as TPVcount, round(Eurodebe,2) as Factura, round(Eurohaber,2) as Recibo, COUNT(*) as CPcount, round(Eurodebe,2) as Debe, round(Eurohaber,2) as Haber, 2 as Control + FROM bi.XDiario_ALL XD + JOIN Clientes C ON C.Cuenta = XD.SUBCTA + WHERE Id_Cliente = idC AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC + AND (Eurodebe <> 0 OR Eurohaber <>0) + GROUP BY Fecha, round(Eurodebe,2), round(Eurohaber,2) + ) sub + + ON DUPLICATE KEY UPDATE Control = -1; + + + +-- Eliminamos las repetidas +-- DELETE FROM qFACTURAS WHERE Control = -1; + +-- Arreglamos las buenas +UPDATE qFACTURAS SET TPVcount = 0, Factura = 0, Recibo = 0 WHERE Control = 2; +UPDATE qFACTURAS SET CPcount = 0, Debe = 0, Haber = 0 WHERE Control IN (1,3); + +-- Mostramos el resultado +SELECT *, @saldo := @saldo + TPVcount * (Factura + Recibo) - CPCount * ( Debe + Haber ) as Saldo +FROM qFACTURAS +JOIN (SELECT @saldo := 0) truqui ; +DROP TEMPORARY TABLE IF EXISTS qFACTURAS; + + +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 `quadre_proveedores` */; +/*!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 `quadre_proveedores`(IN datFEC DATETIME) +BEGIN + + DECLARE datSTART DATE; + SET datFEC = TIMESTAMP(datFEC,'23:59:59'); + + SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; + + SELECT P2.Alias, P.Id_Proveedor, P.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, P.Proveedor + + FROM Proveedores P + + JOIN + + ( + + SELECT empresa_id, Id_Proveedor, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus + + FROM + + ( + SELECT empresa_id, proveedor_id as Id_Proveedor, Gestion, 0 as Contaplus + + FROM + + ( + SELECT empresa_id, proveedor_id, -1 * sum(cantidad) as Gestion + FROM recibida_vencimiento rv + INNER JOIN recibida r ON r.id = rv.recibida_id + WHERE IFNULL(r.bookEntried,r.fecha) BETWEEN datSTART AND datFEC + AND r.contabilizada + GROUP BY r.id + + UNION ALL + + SELECT empresa_id, id_proveedor, importe + FROM pago + WHERE Fecha BETWEEN datSTART AND datFEC + AND conciliado + AND pay_met_id <> 18 -- Saldos iniciales + ) G + + UNION ALL + + SELECT empresa_id, Id_Proveedor, 0, round(nz(Eurodebe) - nz(Eurohaber),2) as Contaplus + + FROM bi.XDiario_ALL XD + + JOIN Proveedores P ON P.cuenta = XD.SUBCTA + + WHERE Fecha BETWEEN datSTART AND datFEC + + + ) sub1 + + + GROUP BY empresa_id, Id_Proveedor + + ) sub2 USING(Id_Proveedor) + + JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id + + HAVING ABS(Diferencia) > 0.05 + + ORDER BY P.Proveedor; + + + + + + + +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 `quadre_proveedores_detalle` */; +/*!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 `quadre_proveedores_detalle`(IN idP INT, IN idE INT, IN datFEC DATETIME) +BEGIN + +DECLARE datSTART DATE; +SET datFEC = TIMESTAMP(datFEC,'23:59:59'); + +SET datSTART = FIRSTDAYOFYEAR(datFEC); + +-- Creamos una tabla para almacenar las facturas del proveedor, junto con el numero de veces que se repite. +DROP TEMPORARY TABLE IF EXISTS qFACTURAS; + +CREATE TEMPORARY TABLE qFACTURAS +(Fecha DATE, + TPVcount INT, + Factura DECIMAL(10,2) SIGNED, + Recibo DECIMAL(10,2) SIGNED, + CPcount INT, + Debe DECIMAL(10,2) SIGNED, + Haber DECIMAL(10,2) SIGNED, + Control INT DEFAULT 0, + PRIMARY KEY(Fecha, TPVcount, Factura, Recibo, CPcount, Debe, Haber)) + ENGINE = InnoDB +; + +-- Insertamos las facturas y los pagos de gestion. +INSERT INTO qFACTURAS + + SELECT Fecha, COUNT(*) as TPVcount, round(Importe,2) as Factura + , 0 as Recibo, COUNT(*)as CPcount,round(Importe,2) as Debe, 0 as Haber, 1 as Control + FROM (SELECT IFNULL(r.dateBooking,r.Fecha) as Fecha, sum(rv.cantidad) as Importe + FROM recibida_vencimiento rv + JOIN recibida r ON r.id = rv.recibida_id + WHERE proveedor_id = idP + AND empresa_id = idE + AND IFNULL(r.dateBooking,r.Fecha) BETWEEN datSTART AND datFEC + AND (r.contabilizada OR r.dateBooking) + GROUP BY r.id) F + GROUP BY Fecha, round(Importe,2) + UNION ALL + SELECT Fecha, COUNT(*) as TPVcount, 0 as Factura, round(importe,2) as Recibo,COUNT(*) as CPCount, 0 as Debe, round(importe,2) as Haber, 3 as Control + FROM pago + WHERE Id_Proveedor = idP AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC + AND conciliado + GROUP BY Fecha, round(importe,2); + +-- Insertamos los asientos de contabilidad, marcando con control = -1 las repetidas +INSERT INTO qFACTURAS + SELECT * + FROM ( + SELECT Fecha, COUNT(*) as TPVcount, round(Eurohaber,2) as Factura, round(Eurodebe,2) as Recibo, COUNT(*) as CPcount, round(Eurohaber,2) as Debe, round(Eurodebe,2) as Haber, 2 as Control + FROM bi.XDiario_ALL XD + JOIN Proveedores P ON P.cuenta = XD.SUBCTA + WHERE Id_Proveedor = idP AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC + AND (Eurodebe <> 0 OR Eurohaber <>0) + GROUP BY Fecha, round(Eurohaber,2), round(Eurodebe,2) + ) sub + + ON DUPLICATE KEY UPDATE Control = -1; + + + +-- Eliminamos las repetidas +DELETE FROM qFACTURAS WHERE Control = -1; + +-- Arreglamos las buenas +UPDATE qFACTURAS SET TPVcount = 0, Factura = 0, Recibo = 0 WHERE Control = 2; +UPDATE qFACTURAS SET CPcount = 0, Debe = 0, Haber = 0 WHERE Control IN (1,3); + +-- Mostramos el resultado +SELECT *, @saldo := @saldo + TPVcount * (Factura + Recibo) - CPcount * (Debe + Haber) as Saldo +FROM qFACTURAS +JOIN (SELECT @saldo := 0) truqui ; + +DROP TEMPORARY TABLE IF EXISTS qFACTURAS; + + +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 `quadre_proveedores_test` */; +/*!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 `quadre_proveedores_test`(IN datFEC DATETIME) +BEGIN + + DECLARE datSTART DATE; + SET datFEC = TIMESTAMP(datFEC,'23:59:59'); + + SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; + + SELECT P2.Alias, P.Id_Proveedor, P.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, P.Proveedor + + FROM Proveedores P + + JOIN + + ( + + SELECT empresa_id, Id_Proveedor, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus + + FROM + + ( + SELECT empresa_id, proveedor_id as Id_Proveedor, Gestion, 0 as Contaplus + + FROM + + ( + SELECT empresa_id, proveedor_id, -1 * sum(cantidad) as Gestion + FROM recibida_vencimiento rv + INNER JOIN recibida r ON r.id = rv.recibida_id + WHERE r.Fecha BETWEEN datSTART AND datFEC + AND r.contabilizada + GROUP BY r.id + + UNION ALL + + SELECT empresa_id, id_proveedor, importe + FROM pago + WHERE Fecha BETWEEN datSTART AND datFEC + AND conciliado + AND pay_met_id <> 18 -- Saldos iniciales + ) G + + UNION ALL + + SELECT empresa_id, Id_Proveedor, 0, round(nz(Eurodebe) - nz(Eurohaber),2) as Contaplus + + FROM bi.XDiario_ALL XD + + JOIN Proveedores P ON P.cuenta = XD.SUBCTA + + WHERE Fecha BETWEEN datSTART AND datFEC + + + ) sub1 + + + GROUP BY empresa_id, Id_Proveedor + + ) sub2 USING(Id_Proveedor) + + JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id + + HAVING ABS(Diferencia) > 0.05 + + ORDER BY P.Proveedor; + + + + + + + +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 `radar` */; +/*!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 `radar`(IN today DATETIME, IN worker INTEGER, IN scopeDays SMALLINT) +BEGIN + + DECLARE todayMidnight DATE DEFAULT TIMESTAMP(today,'23:59:59'); + DECLARE yesterday DATETIME; + DECLARE maxDate DATETIME; + DECLARE datBUF DATETIME; + DECLARE warehouse INTEGER; + DECLARE done BIT DEFAULT 0; + DECLARE visible_calc INTEGER; + DECLARE available_calc INTEGER; + DECLARE dateStart DATE; + + SET dateStart = TIMESTAMPADD(MONTH, -2, CURDATE()); + SELECT TIMESTAMPADD(DAY, -1, today) INTO yesterday; + -- lo quitamos despues de campañaA + SELECT TIMESTAMP(TIMESTAMPADD(DAY, scopeDays, yesterday),'23:59:59') INTO maxDate; + -- SELECT TIMESTAMP(TIMESTAMPADD(DAY, 14, yesterday),'23:59:59') INTO maxDate; + -- Creamos una tabla con los Comerciales de los que se mostraran los tickets + CALL subordinate(worker,TRUE); + + -- Se genera una tabla con los tickets representados + DROP TEMPORARY TABLE IF EXISTS ticketRange; + CREATE TEMPORARY TABLE ticketRange + SELECT T.Id_Ticket, T.Id_Cliente, C.Id_Trabajador + FROM Tickets T + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN Clientes C on C.Id_Cliente = T.Id_Cliente + INNER JOIN subordinate s1 ON C.Id_Trabajador = s1.Id_Trabajador + WHERE Fecha >= yesterday + AND Fecha <= maxDate AND T.Factura Is NULL + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, s.Id_Cliente, s.Id_Trabajador + FROM sharingclient s + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN subordinate s2 ON s.Id_Trabajador = s2.Id_Trabajador + WHERE maxDate >= datSTART + AND datEND >= yesterday + AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) + AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, C.Id_Cliente, s.Id_Suplente + FROM Clientes C + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN sharingcart s ON s.Id_Trabajador = C.Id_Trabajador + INNER JOIN subordinate su on su.Id_Trabajador=Id_Suplente + WHERE maxDate >= datSTART + AND datEND >= yesterday + AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) + AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, C.Id_Cliente, C.Id_Trabajador + FROM Clientes C + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN workerTeamCollegues w ON w.collegueId = C.Id_Trabajador + /* + (SELECT Id_Trabajador + FROM Trabajadores t + JOIN account.user u ON u.id = t.user_id + JOIN workerTeam w on w.user = u.id + JOIN (SELECT team FROM workerTeam wt JOIN Trabajadores tr on tr.user_id = wt.user WHERE Id_Trabajador = worker) sub on sub.team = w.team + ) sub2 ON sub2.Id_Trabajador = C.Id_Trabajador + */ + WHERE Fecha >= yesterday + AND Fecha <= maxDate AND T.Factura Is NULL + AND IFNULL(tls.alertLevel,0) < 3 + AND w.workerId = worker; + + IF (SELECT COUNT(*) FROM ticketRange) THEN + + -- Generamos varias auxiliares (ya podian los de mysql haber solucionado esto) + + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + CREATE TEMPORARY TABLE tmp.client_list + (INDEX (Id_Cliente)) + ENGINE = MEMORY + SELECT DISTINCT Id_Cliente FROM ticketRange; + + DROP TEMPORARY TABLE IF EXISTS cr5; + CREATE TEMPORARY TABLE cr5 + (INDEX (Id_Cliente)) + ENGINE = MEMORY + SELECT Id_Cliente FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + ENGINE = MEMORY + SELECT t.Id_Ticket ticketFk FROM Tickets t + STRAIGHT_JOIN tmp.client_list c ON t.Id_Cliente = c.Id_Cliente + WHERE Fecha BETWEEN dateStart AND maxDate + AND Factura Is NULL; + + CALL vn.ticketGetTotal(); + + -- Generamos otra tabla temporal con los Tickets_iva + + DROP TEMPORARY TABLE IF EXISTS tt3; + CREATE TEMPORARY TABLE tt3 + ENGINE = MEMORY + SELECT * FROM tmp.ticketTotal tt + JOIN ticketRange tr ON tr.Id_Ticket = tt.ticketFk; + + -- Generamos la lista de tickets y sus datos + + DROP TEMPORARY TABLE IF EXISTS Radartest; + + CREATE TEMPORARY TABLE Radartest + + SELECT IF(C.Id_Trabajador = worker, 1, 0) as Propio, + Credito, + CAST(Riesgo AS DECIMAL (10,2)) Riesgo, + -- Greuge, + T.Id_Ticket, + T.warehouse_id as wh, + T.Fecha, + T.Alias, + -- T.Vista, + REPEAT(' ',50) as problem, + T.Agencia Tipo, + -- C.Id_Trabajador, + T.workerId AS Id_Trabajador, + T.Solucion, + T.Localizacion, + IFNULL(state,'LIBRE') as Estado, + alertLevel, + alertCode, + Date(T.Fecha) as Fecha_Simple, + CAST(T.Importe AS DECIMAL (10,2)) Importe, + C.Descuento, + C.calidad, + C.Id_Cliente, + p.`name` provincia + FROM Clientes C + INNER JOIN + + ( + + SELECT T.* , A.Vista, A.Agencia, s.`name` as state, alertLevel, s.`code` AS alertCode, tt3.Id_Trabajador AS workerId, + + tt3.total as Importe, + + 0 AS inacabable + + -- (-1 < ifnull(order_id,-1)) as isbionic + + FROM Tickets T + LEFT JOIN vn.ticketState ts on ts.ticket = T.Id_Ticket + LEFT JOIN vn2008.state s on s.id = ts.state + + INNER JOIN tt3 ON tt3.ticketFk = T.Id_Ticket + + -- LEFT JOIN (SELECT DISTINCT 1 as order_id, Id_Ticket FROM order_Tickets) o on o.Id_Ticket = T.Id_Ticket + + INNER JOIN Agencias A ON A.Id_Agencia = T.Id_Agencia + + -- WHERE T.Etiquetasemitidas = FALSE + GROUP BY T.Id_Ticket + + ) AS T ON T.Id_Cliente = C.Id_Cliente + + LEFT JOIN Consignatarios co ON co.Id_Consigna = T.Id_Consigna + LEFT JOIN province p ON p.province_id = co.province_id + + LEFT JOIN + + ( + + SELECT TOTAL.Id_Cliente, ROUND(SUM(amount),2) as Riesgo FROM + + (SELECT cl.Id_Cliente, amount FROM bi.customer_risk cr + INNER JOIN tmp.client_list cl ON cr.customer_id = cl.Id_Cliente + + UNION ALL + + SELECT t.Id_Cliente, tt.total FROM tmp.ticketTotal tt + INNER JOIN Tickets t ON t.Id_Ticket = tt.ticketFk + INNER JOIN cr5 C ON C.Id_Cliente = t.Id_Cliente + WHERE t.Fecha BETWEEN dateStart AND maxDate + AND t.Factura is null + + ) as TOTAL GROUP BY TOTAL.Id_Cliente + + ) AS Peligros ON Peligros.Id_Cliente = C.Id_Cliente + ; + -- Actualizamos el Riesgo con los tickets futuros + set @cliente:= 0; + SET @riesgo := 0; + + UPDATE Radartest SET Riesgo = + IF(@cliente <> @cliente:= Id_Cliente , - Importe + @riesgo:= - Riesgo + Importe , - Importe + @riesgo:= @riesgo + Importe) + order by Id_Cliente, Fecha_Simple DESC; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; + + CREATE TEMPORARY TABLE tmp.ticket_list + SELECT Id_Ticket, Id_Cliente FROM Radartest; + + CALL prepare_client_list(); + CALL production_buffer_problems; + + UPDATE Radartest r + JOIN ( + SELECT Id_Ticket, GROUP_CONCAT(problem) problem + FROM tmp.buffer_problems + GROUP BY Id_Ticket + ) p on p.Id_Ticket = r.Id_Ticket + SET r.problem = p.problem; + + + + SELECT R.*, Riesgo + Credito as Risk , CodigoTrabajador + FROM Radartest R + INNER JOIN vn2008.Trabajadores trab on R.Id_Trabajador=trab.Id_Trabajador; + + END IF; + + DROP TEMPORARY TABLE IF EXISTS ticketRange; + DROP TABLE IF EXISTS subordinate; + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + DROP TEMPORARY TABLE IF EXISTS cr5; + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + + +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 `radarTest` */; +/*!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 `radarTest`(IN today DATETIME, IN worker INTEGER, IN scopeDays SMALLINT) +BEGIN + + DECLARE todayMidnight DATE DEFAULT TIMESTAMP(today,'23:59:59'); + DECLARE yesterday DATETIME; + DECLARE maxDate DATETIME; + DECLARE datBUF DATETIME; + DECLARE warehouse INTEGER; + DECLARE done BIT DEFAULT 0; + DECLARE visible_calc INTEGER; + DECLARE available_calc INTEGER; + DECLARE dateStart DATE; + + SET dateStart = TIMESTAMPADD(MONTH, -2, CURDATE()); + SELECT TIMESTAMPADD(DAY, -1, today) INTO yesterday; + -- lo quitamos despues de campañaA + SELECT TIMESTAMP(TIMESTAMPADD(DAY, scopeDays, yesterday),'23:59:59') INTO maxDate; + -- SELECT TIMESTAMP(TIMESTAMPADD(DAY, 14, yesterday),'23:59:59') INTO maxDate; + -- Creamos una tabla con los Comerciales de los que se mostraran los tickets + CALL subordinate(worker,TRUE); + select now(),1; + -- Se genera una tabla con los tickets representados + DROP TEMPORARY TABLE IF EXISTS ticketRange; + CREATE TEMPORARY TABLE ticketRange + SELECT T.Id_Ticket, T.Id_Cliente, C.Id_Trabajador + FROM Tickets T + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN Clientes C on C.Id_Cliente = T.Id_Cliente + INNER JOIN subordinate s1 ON C.Id_Trabajador = s1.Id_Trabajador + WHERE Fecha >= yesterday + AND Fecha <= maxDate AND T.Factura Is NULL + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, s.Id_Cliente, s.Id_Trabajador + FROM sharingclient s + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN subordinate s2 ON s.Id_Trabajador = s2.Id_Trabajador + WHERE maxDate >= datSTART + AND datEND >= yesterday + AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) + AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, C.Id_Cliente, s.Id_Suplente + FROM Clientes C + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN sharingcart s ON s.Id_Trabajador = C.Id_Trabajador + INNER JOIN subordinate su on su.Id_Trabajador=Id_Suplente + WHERE maxDate >= datSTART + AND datEND >= yesterday + AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) + AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) + AND IFNULL(tls.alertLevel,0) < 3 + + UNION DISTINCT + + SELECT Id_Ticket, C.Id_Cliente, C.Id_Trabajador + FROM Clientes C + INNER JOIN Tickets T USING(Id_Cliente) + LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket + INNER JOIN workerTeamCollegues w ON w.collegueId = C.Id_Trabajador + /* + (SELECT Id_Trabajador + FROM Trabajadores t + JOIN account.user u ON u.id = t.user_id + JOIN workerTeam w on w.user = u.id + JOIN (SELECT team FROM workerTeam wt JOIN Trabajadores tr on tr.user_id = wt.user WHERE Id_Trabajador = worker) sub on sub.team = w.team + ) sub2 ON sub2.Id_Trabajador = C.Id_Trabajador + */ + WHERE Fecha >= yesterday + AND Fecha <= maxDate AND T.Factura Is NULL + AND IFNULL(tls.alertLevel,0) < 3 + AND w.workerId = worker; + select now(),2; + IF (SELECT COUNT(*) FROM ticketRange) THEN + + -- Generamos varias auxiliares (ya podian los de mysql haber solucionado esto) + + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + CREATE TEMPORARY TABLE tmp.client_list + (INDEX (Id_Cliente)) + ENGINE = MEMORY + SELECT DISTINCT Id_Cliente FROM ticketRange; + + DROP TEMPORARY TABLE IF EXISTS cr5; + CREATE TEMPORARY TABLE cr5 + (INDEX (Id_Cliente)) + ENGINE = MEMORY + SELECT Id_Cliente FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + ENGINE = MEMORY + SELECT t.Id_Ticket ticketFk FROM Tickets t + STRAIGHT_JOIN tmp.client_list c ON t.Id_Cliente = c.Id_Cliente + WHERE Fecha BETWEEN dateStart AND maxDate + AND Factura Is NULL; + select now(),3; + CALL vn.ticketGetTotal(); + select now(),4; + -- Generamos otra tabla temporal con los Tickets_iva + + DROP TEMPORARY TABLE IF EXISTS tt3; + CREATE TEMPORARY TABLE tt3 + ENGINE = MEMORY + SELECT * FROM tmp.ticketTotal tt + JOIN ticketRange tr ON tr.Id_Ticket = tt.ticketFk; + + -- Generamos la lista de tickets y sus datos + + DROP TEMPORARY TABLE IF EXISTS Radartest; + + CREATE TEMPORARY TABLE Radartest + + SELECT IF(C.Id_Trabajador = worker, 1, 0) as Propio, + Credito, + CAST(Riesgo AS DECIMAL (10,2)) Riesgo, + -- Greuge, + T.Id_Ticket, + T.warehouse_id as wh, + T.Fecha, + T.Alias, + -- T.Vista, + REPEAT(' ',50) as problem, + T.Agencia Tipo, + -- C.Id_Trabajador, + T.workerId AS Id_Trabajador, + T.Solucion, + T.Localizacion, + IFNULL(state,'LIBRE') as Estado, + alertLevel, + alertCode, + Date(T.Fecha) as Fecha_Simple, + CAST(T.Importe AS DECIMAL (10,2)) Importe, + C.Descuento, + C.calidad, + C.Id_Cliente, + p.`name` provincia + FROM Clientes C + INNER JOIN + + ( + + SELECT T.* , A.Vista, A.Agencia, s.`name` as state, alertLevel, s.`code` AS alertCode, tt3.Id_Trabajador AS workerId, + + tt3.total as Importe, + + 0 AS inacabable + + -- (-1 < ifnull(order_id,-1)) as isbionic + + FROM Tickets T + LEFT JOIN vn.ticketState ts on ts.ticket = T.Id_Ticket + LEFT JOIN vn2008.state s on s.id = ts.state + + INNER JOIN tt3 ON tt3.ticketFk = T.Id_Ticket + + -- LEFT JOIN (SELECT DISTINCT 1 as order_id, Id_Ticket FROM order_Tickets) o on o.Id_Ticket = T.Id_Ticket + + INNER JOIN Agencias A ON A.Id_Agencia = T.Id_Agencia + + -- WHERE T.Etiquetasemitidas = FALSE + GROUP BY T.Id_Ticket + + ) AS T ON T.Id_Cliente = C.Id_Cliente + + LEFT JOIN Consignatarios co ON co.Id_Consigna = T.Id_Consigna + LEFT JOIN province p ON p.province_id = co.province_id + + LEFT JOIN + + ( + + SELECT TOTAL.Id_Cliente, ROUND(SUM(amount),2) as Riesgo FROM + + (SELECT cl.Id_Cliente, amount FROM bi.customer_risk cr + INNER JOIN tmp.client_list cl ON cr.customer_id = cl.Id_Cliente + + UNION ALL + + SELECT t.Id_Cliente, tt.total FROM tmp.ticketTotal tt + INNER JOIN Tickets t ON t.Id_Ticket = tt.ticketFk + INNER JOIN cr5 C ON C.Id_Cliente = t.Id_Cliente + WHERE t.Fecha BETWEEN dateStart AND maxDate + AND t.Factura is null + + ) as TOTAL GROUP BY TOTAL.Id_Cliente + + ) AS Peligros ON Peligros.Id_Cliente = C.Id_Cliente + ; + -- Actualizamos el Riesgo con los tickets futuros + set @cliente:= 0; + SET @riesgo := 0; + + UPDATE Radartest SET Riesgo = + IF(@cliente <> @cliente:= Id_Cliente , - Importe + @riesgo:= - Riesgo + Importe , - Importe + @riesgo:= @riesgo + Importe) + order by Id_Cliente, Fecha_Simple DESC; + select now(),5; + DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; + + CREATE TEMPORARY TABLE tmp.ticket_list + SELECT Id_Ticket, Id_Cliente FROM Radartest; + select now(),6; + CALL prepare_client_list(); + select now(),7; + CALL production_buffer_problems; + select now(),8; + UPDATE Radartest r + JOIN ( + SELECT Id_Ticket, GROUP_CONCAT(problem) problem + FROM tmp.buffer_problems + GROUP BY Id_Ticket + ) p on p.Id_Ticket = r.Id_Ticket + SET r.problem = p.problem; + select now(),9; + + + SELECT R.*, Riesgo + Credito as Risk , CodigoTrabajador + FROM Radartest R + INNER JOIN vn2008.Trabajadores trab on R.Id_Trabajador=trab.Id_Trabajador; + + END IF; + + DROP TEMPORARY TABLE IF EXISTS ticketRange; + DROP TABLE IF EXISTS subordinate; + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + DROP TEMPORARY TABLE IF EXISTS cr5; + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + + +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 `radar_lostcalls` */; +/*!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 `radar_lostcalls`() +BEGIN + +SELECT Averiguar_ComercialCliente(C.Id_Cliente, calldate) as Comercial, C.Cliente AS Cliente, A2.Telefono +, A.Nombre as Destino, t3.* FROM + +( SELECT * FROM + (SELECT * FROM + ( SELECT dstchannel, disposition, calldate,src,dst,1 as missed, TIMESTAMPADD(SECOND,duration,calldate) as hangupdate, + TIMESTAMPADD(SECOND, (-billsec),TIMESTAMPADD(SECOND,duration,calldate) ) as answerdate, + duration, billsec FROM + (SELECT * FROM + (SELECT * FROM cdr WHERE calldate > timestampadd(day, -4,curdate()) ORDER BY calldate DESC ) t + GROUP BY src + ) cdr_sub + WHERE (dstchannel = '' or disposition <> 'ANSWERED' or lastapp = 'Playback') AND dstchannel <> 'killed' + AND src > 6000 + AND calldate > TIMESTAMPADD(DAY,-4,CURDATE()) + UNION ALL + SELECT dstchannel, disposition, calldate,dst, 0,0,calldate,calldate,0,0 + FROM cdr + WHERE dst > 6000 + AND calldate > TIMESTAMPADD(WEEK,-4,CURDATE()) + ) t + ORDER BY calldate DESC + ) t2 GROUP BY src + HAVING missed + ORDER BY calldate DESC +) t3 + +LEFT JOIN v_Agenda2 A2 ON CAST(A2.Telefono AS SIGNED) = t3.src +LEFT JOIN v_Agenda2 A ON CAST(A.Telefono AS SIGNED) = t3.dst +LEFT JOIN Clientes C ON C.Id_Cliente = A2.Id AND A2.Tipo = 'C' +; + + +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 `radar_negativos` */; +/*!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 `radar_negativos`(IN v_force BOOLEAN, IN intRANGE INT) +BEGIN + +/** + * Calcula una tabla con el máximo negativo visible para cada producto y almacen + * + * @param v_force Fuerza el recalculo del stock + * @param intRANGE Numero de dias a considerar +**/ + + CALL `cache`.stock_refresh(v_force); + SET @aid = NULL; + call article_minacum(NULL,CURDATE(),intRANGE); + + SELECT a.Id_Article, a.Article, sub.warehouse_id, p.`name` producer, a.Medida, a.Categoria + , w.name as Almacen, sum(IFNULL(amount,0)) as Negativo + FROM (SELECT item_id, warehouse_id, amount + FROM cache.stock + WHERE amount > 0 + UNION ALL + SELECT article_id, warehouse_id, amount + FROM article_minacum + ) sub + JOIN warehouse w on w.id = warehouse_id + JOIN Articles a on a.Id_Article = item_id + LEFT JOIN producer p on p.producer_id = a.producer_id + JOIN Tipos t on t.tipo_id = a.tipo_id + JOIN reinos r on r.id = t.reino_id + WHERE w.tpv + AND t.tipo_id NOT IN (61,101,100,99, 180, 7, 21) + AND r.display <> 0 + AND a.Id_Article NOT IN (95,98) + GROUP BY item_id, warehouse_id + HAVING negativo < 0; + + DROP TEMPORARY TABLE IF EXISTS article_minacum; + +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 `raidUpdate` */; +/*!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 `raidUpdate`() +BEGIN + UPDATE travel + SET shipment = CURDATE(), + landing = TIMESTAMPADD(DAY, 1, CURDATE()) + WHERE id = 12505; + + UPDATE Entradas e + JOIN Entradas_Auto ea USING (Id_Entrada) + JOIN travel t ON t.id = e.travel_id + JOIN ( + SELECT * + FROM ( + SELECT id, landing, warehouse_id, warehouse_id_out + FROM travel + JOIN ( + SELECT warehouse_id, warehouse_id_out + FROM Entradas_Auto ea + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + GROUP BY warehouse_id, warehouse_id_out + ) t USING (warehouse_id, warehouse_id_out) + WHERE shipment > CURDATE() AND delivered = FALSE + ORDER BY landing + ) t + GROUP BY warehouse_id, warehouse_id_out + ) t USING (warehouse_id, warehouse_id_out) + SET e.travel_id = t.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 `rateView` */; +/*!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 `rateView`() +BEGIN + + SELECT + t.year as año, + t.month as mes, + pagos.dolares, + pagos.cambioPractico, + CAST(sum(divisa) / sum(bi) as DECIMAL(5,4)) as cambioTeorico, + pagos.cambioOficial + FROM recibida r + JOIN time t ON t.date = r.fecha + JOIN recibida_iva ri ON r.id = ri.recibida_id + JOIN + ( + SELECT + t.year as Año, + t.month as Mes, + cast(sum(divisa) as DECIMAL(10,2)) as dolares, + cast(sum(divisa) / sum(importe) as DECIMAL(5,4)) as cambioPractico, + cast(rr.rate * 0.998 as DECIMAL(5,4)) as cambioOficial + FROM pago p + JOIN time t ON t.date = p.fecha + JOIN reference_rate rr ON rr.date = p.fecha AND moneda_id = 2 + WHERE divisa + AND fecha >= '2015-01-11' + GROUP BY t.year, t.month + ) pagos ON t.year = pagos.Año AND t.month = pagos.Mes + WHERE moneda_id = 2 + AND fecha >= '2015-01-01' + AND divisa + AND bi + GROUP BY t.year, t.month; + +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 `recalculator` */; +/*!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`@`localhost` PROCEDURE `recalculator`(vTicketId INT) +BEGIN + DECLARE vWh INT; + DECLARE vDate DATE; + DECLARE vCustomerId INT; + DECLARE vServiFac INT; + + SELECT warehouse_id, Fecha, Id_Cliente, IFNULL(Factura, 0) != 0 OR Etiquetasemitidas != 0 + INTO vWh, vDate, vCustomerId, vServiFac + FROM Tickets + WHERE Id_Ticket = vTicketId; + + IF NOT vServiFac + THEN + DROP TEMPORARY TABLE IF EXISTS item; + + CREATE TEMPORARY TABLE item + (INDEX (id)) + ENGINE = MEMORY + SELECT Id_Article id, Id_Movimiento + FROM Movimientos + WHERE Preciofijado = FALSE + AND Id_Ticket = vTicketId + AND (Id_Article < 82 OR Id_Article > 100); + + CALL item_buy (vWh, vDate); + CALL item_buy_price (vCustomerId, vDate, vWh); + + UPDATE Movimientos + JOIN item USING (Id_Movimiento) + SET Preu = price, + Descuento = discount; + + SELECT * FROM item; + + DROP TEMPORARY TABLE item; + 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 `recalculator_plus` */; +/*!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`@`localhost` PROCEDURE `recalculator_plus`(vTicketId INT) +BEGIN + CALL recalculator (vTicketId); + + CREATE TEMPORARY TABLE movement + ENGINE = MEMORY + SELECT Id_Movimiento, Id_Article, Preu, Descuento, Cantidad, ABS(Preciofijado) AS PrecioFijado + FROM Movimientos + WHERE Id_Ticket = vTicketId + AND Reservado = FALSE + AND Id_Article NOT BETWEEN 85 AND 100 + AND Id_Movimiento NOT IN + ( + SELECT Id_Movimiento FROM Movimientos + WHERE Id_Ticket = vTicketId + AND Reservado = FALSE + AND Id_Article NOT BETWEEN 71 AND 100 + GROUP BY Id_Article, Preu, Descuento, ABS(PrecioFijado) + HAVING COUNT(*) = 1 + UNION ALL + SELECT Id_Movimiento FROM movement_label + ) FOR UPDATE; + + CREATE TEMPORARY TABLE movement_u + ENGINE = MEMORY + SELECT Id_Movimiento, Id_Article, Preu, Descuento, PrecioFijado, SUM(Cantidad) amount + FROM movement + GROUP BY Id_Article, Preu, Descuento, PrecioFijado; + + UPDATE Movimientos + JOIN movement_u u USING(Id_Movimiento) + JOIN Tickets T ON T.Id_Ticket = vTicketId + SET Cantidad = amount; + + DELETE movement FROM movement JOIN movement_u USING (Id_Movimiento); + DELETE Movimientos FROM Movimientos JOIN movement USING (Id_Movimiento); + + DROP TEMPORARY TABLE movement; + DROP TEMPORARY TABLE movement_u; +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 `recibidaIvaDivisaUpdate` */; +/*!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 `recibidaIvaDivisaUpdate`(IN vRecibidaId INT) +BEGIN + +/* Actualiza el valor de la divisa en función del cambio oficial para el dia de expedicion +*/ + UPDATE recibida_iva + SET bi = NULL + WHERE recibida_id = vRecibidaId + AND divisa IS NOT NULL; + + UPDATE recibida_iva ri + JOIN recibida r ON r.id = ri.recibida_id + JOIN reference_rate rr ON rr.date = r.fecha AND r.moneda_id = rr.moneda_id + SET ri.bi = ri.divisa / rr.rate + WHERE r.id = vRecibidaId; + +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 `recibidaIvaInsert` */; +/*!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 `recibidaIvaInsert`(IN vId INT) +BEGIN + + INSERT INTO recibida_iva(recibida_id, iva_id, bi,gastos_id,divisa) + SELECT r.id, + CASE + WHEN p.cuenta LIKE '___4______' THEN 71 + WHEN p.cuenta LIKE '___1______' THEN 36 + WHEN p.cuenta LIKE '___3______' THEN 63 + END, + SUM(Costefijo * Cantidad) / IFNULL(rr.rate,1), + 6003000000, + IF(r.moneda_id = 1,NULL,SUM(Costefijo * Cantidad )) + FROM recibida r + JOIN recibida_entrada re ON r.id = re.recibida_id + JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor + JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + JOIN reference_rate rr ON rr.moneda_id = r.moneda_id AND rr.date = r.fecha + LEFT JOIN recibida_iva ri ON re.recibida_id=ri.recibida_id + WHERE re.awb_recibida =vId AND ri.bi IS NULL + GROUP BY e.Id_Entrada, re.awb_recibida; + +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 `recibida_select` */; +/*!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 `recibida_select`(IN recibida INT) +BEGIN + DECLARE cta_proveed VARCHAR(10); + DECLARE cta_proveeda VARCHAR(10); + DECLARE v_num_recibida INT; + DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; + + DECLARE NEW_id,NEW_empresa_id,NEW_proveedor_id INT; + DECLARE NEW_serie VARCHAR(1); + DECLARE NEW_fecha DATE; + DECLARE NEW_num_recibida VARCHAR(10); + DECLARE NEW_sref VARCHAR(20); + + SELECT id,empresa_id,proveedor_id,serie,fecha,num_recibida,sref + INTO NEW_id,NEW_empresa_id,NEW_proveedor_id, NEW_serie,NEW_fecha,NEW_num_recibida, NEW_sref + FROM recibida WHERE id = recibida; + + + SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate + WHERE date <= (SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = recibida GROUP BY re.awb_recibida)); + + SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min + WHERE date<=(SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = NEW_id GROUP BY re.awb_recibida)); + + -- IF dblRefMin < dblRefRate THEN + -- SET dblRef = dblRefRate; + -- ELSE + -- SET dblRef =dblRefMin; + -- END IF; + SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r + WHERE r.serie LIKE NEW_serie + AND YEAR(r.fecha) = YEAR(NEW_fecha) + AND r.empresa_id = NEW_empresa_id GROUP BY r.empresa_id; + + SET NEW_num_recibida = IFNULL(v_num_recibida,1); + SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW_proveedor_id; + + +SELECT a,NEW_fecha,subcta,contra,concepto,eurodebe,eurohaber,baseeuro,NEW_serie,NEW_sref,iva, + (SELECT CONCAT(NEW_serie,'/', LPAD(v_num_recibida,5,'0'))),l340,LRECT349,TIPOOPE,AUXILIAR,NEW_empresa_id + FROM + + (SELECT MAX(ASIEN) + 1 as a FROM XDiario) t + + INNER JOIN + + ( + + SELECT *,NEW_serie FROM + + (SELECT CONCAT('s/fra',RIGHT(sref,8),':',LEFT(Proveedor, 10)) concepto FROM Proveedores + + INNER JOIN recibida ON Id_Proveedor = proveedor_id WHERE id = NEW_id) t4 + + INNER JOIN( + -- Linea del proveedor/acreedor + SELECT subcta,'' contra,eurodebe,ROUND(SUM(eurohaber) + 0.0001,2) eurohaber,baseeuro,0 iva, l340,LRECT349,TIPOOPE,'' AUXILIAR + + FROM ( + + SELECT cta_proveed subcta, + + NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi),2) eurohaber, NULL baseeuro,ri.recibida_id, 0 l340,0 LRECT349,' ' TIPOOPE + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE r.id = NEW_id GROUP BY iva) t + + GROUP BY recibida_id + + UNION ALL + -- Linea de iva + SELECT ic.codigo,cta_proveed contra, + + ROUND(iva/100*SUM(ri.bi) + 0.0001,2) eurodebe, NULL eurohaber, + + ROUND(SUM(ri.bi),2) baseeuro,iva, 1 l340,(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2)) LRECT349,TIPOOPE, + IF(pa2.CEE < 2 AND ri2.gastos_id IS NULL,'','*') AUXILIAR -- JGF 30-01-2014 IF(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2),'*','') -- ANTES '' AUXILIAR JGF < 30-01-2014 +-- AND ri.gastos_id LIKE '4751______' + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + LEFT JOIN recibida_iva ri2 ON ri2.recibida_id = r.id AND ri2.gastos_id LIKE '4751______' + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + INNER JOIN Gastos g ON ri.gastos_id = g.Id_Gasto AND g.iva_tipo_id = ic.iva_tipo_id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + + INNER JOIN Paises pa ON p.pais_id = pa.Id + + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + INNER JOIN Paises pa2 ON p2.pais_id = pa2.Id + WHERE r.id = NEW_id AND g.conbase AND link GROUP BY iva + + UNION ALL + -- Linea iva inversor sujeto pasivo + SELECT ic2.codigo,cta_proveed contra, + + NULL eurodebe, ROUND(ic2.iva/100*SUM(bi) + 0.0001,2) eurohaber, + + ROUND(SUM(bi),2) baseeuro,ic2.iva, 1 l340,0 LRECT349,TIPOOPE,'*' AUXILIAR + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id + + INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + WHERE r.id = NEW_id AND ic2.link GROUP BY ic2.iva + + UNION ALL + -- Linea de Gastos + SELECT if(gastos_id LIKE '4751______',LPAD(RIGHT(cta_proveed ,4),10,gastos_id),gastos_id),cta_proveed , + + if(gastos_id LIKE '4751______',NULL,ABS(ROUND(SUM(bi),2))) , + + if(gastos_id LIKE '4751______',ABS(ROUND(SUM(bi),2)),NULL) , + + NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR + + FROM recibida r + + INNER JOIN recibida_iva ri ON ri.recibida_id = r.id + + INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id + + WHERE r.id = NEW_id AND gastos_id <> 5660000002 GROUP BY gastos_id + + ) t2 + + UNION ALL + + + -- Extracomunitarias gasto contra proveedor/acreedor + SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,gastos_id,cuenta, + + ROUND(SUM(bi)/IF(r.serie='W',dblRefRate,1)* (re.percentage / 100),2),NULL ,IF( @a:=@a+1 ,NULL,NULL) ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie + + FROM recibida_entrada re + + INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id + + INNER JOIN recibida r ON r.id = ri.recibida_id + + INNER JOIN Proveedores p ON p.Id_Proveedor = r.proveedor_id + + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + + LEFT JOIN travel t ON t.id = e.travel_id + + INNER JOIN (SELECT @a:=0,@cont:=1,@total:=0,@base:=2) t1 + + WHERE re.awb_recibida = NEW_id AND re.percentage GROUP BY r.id + +UNION ALL + + -- Extracomunitarias proveedor contra gasto + SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,p.cuenta subcta,gastos_id, + + NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi)/IF(r.serie='W',dblRefRate,1)* (re.percentage / 100),2) eurohaber, + + NULL baseeuro,0 iva, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie + -- antes sols iva + FROM recibida_entrada re + + INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id + + INNER JOIN recibida r ON r.id = ri.recibida_id + + INNER JOIN iva_codigo ic ON ri.iva_id = ic.id + + INNER JOIN Proveedores p ON Id_Proveedor = r.proveedor_id + + INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE re.awb_recibida = NEW_id AND re.percentage GROUP BY r.id + +UNION ALL + + -- Linea de iva adquisicion + SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic.codigo,p.cuenta contra, + + ROUND(iva/100*SUM(ri.importe) + 0.0001,2) eurodebe, NULL eurohaber, + + ROUND(SUM(ri.importe),2) baseeuro,iva, 1 l340,1 LRECT349,TIPOOPE,'' AUXILIAR,r.serie + + FROM awb_recibida ar + + JOIN awb a ON ar.awb_id = a.id + + JOIN iva_codigo ic ON a.iva_id = ic.id + + JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor + + JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id + + JOIN recibida r ON r.id = ri.recibida_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE ar.recibida_id = NEW_id AND (p.pais_id <> p2.pais_id) + GROUP BY iva + + UNION ALL + + -- Linea de iva adquisicion + SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic2.codigo,p.cuenta contra, + + NULL eurodebe, ROUND(ic2.iva/100*SUM(ri.importe) + 0.0001,2) eurohaber, + + ROUND(SUM(ri.importe),2) baseeuro,ic2.iva, 1 l340,0 LRECT349, TIPOOPE,'' AUXILIAR,r.serie + + FROM awb_recibida ar + + JOIN awb a ON ar.awb_id = a.id + + JOIN iva_codigo ic ON a.iva_id = ic.id + + JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id + + JOIN iva_tipo it ON ic.iva_tipo_id = it.id + + JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor + + JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id + + JOIN recibida r ON r.id = ar.recibida_id + + JOIN Proveedores p1 ON p1.Id_Proveedor = r.proveedor_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE ar.recibida_id = NEW_id AND (p.pais_id <> p2.pais_id) GROUP BY ic2.iva + + UNION ALL + -- Linea iva importacion + SELECT concepto,subcta,Cuenta, + IF (NOT ((ppais_id <> p2pais_id) AND CEE < 2), + (IF(@cont<@a, + eurodebe, + ROUND(bi-@total,2) + )) + ,NULL)eurodebe,eurohaber,baseeuro,iva, + IF(@total:=@total+eurodebe ,0,0) l340,0 LRECT349, + IF(@cont:=@cont+1,'','') TIPOOPE,'*' AUXILIAR,serie FROM ( + + SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic.codigo subcta,p.Cuenta,ic.iva, + red(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*0.21) eurodebe,NULL eurohaber, + ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,ri.bi,r.serie,pa.CEE,p.pais_id ppais_id,p2.pais_id p2pais_id + + FROM awb_recibida ar + + JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida + + JOIN Compres c ON c.Id_Entrada = re.Id_Entrada + + INNER JOIN Articles a ON a.Id_Article = c.Id_Article + + INNER JOIN ( + + SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal + + FROM Compres c + + JOIN Articles a ON a.Id_Article = c.Id_Article + + JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada + + JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida + + JOIN awb aw ON ar.awb_id = aw.id + + WHERE ar.recibida_id = NEW_id AND re.percentage + + GROUP BY a.Codintrastat + + ) sub1 USING(Codintrastat) + + INNER JOIN ( + + SELECT Codintrastat,ri.importe + + FROM recibida_intrastat ri + + WHERE ri.recibida_id = NEW_id + + ) sub2 USING(Codintrastat) + + -- JOIN recibida_intrastat ri ON ar.awb_recibida = ri.recibida_id and ri.Codintrastat = sub1.Codintrastat + + JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + + JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor + + JOIN Paises pa ON p.pais_id = pa.Id + + JOIN recibida_iva ri ON ri.recibida_id = re.awb_recibida + + JOIN recibida_iva ri2 ON ri2.recibida_id = re.recibida_id + + JOIN iva_codigo ic ON ic.id = ri2.iva_id + + JOIN recibida r ON r.id = re.recibida_id + + JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE re.awb_recibida = NEW_id AND re.percentage AND IF(cta_proveed like '___0______',ri.gastos_id = 5660000002,TRUE) + -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put + + GROUP BY p.Id_Proveedor + + + -- antes GROUP BY a.Codintrastat,Id_Entrada + +) t3)t4; + +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 `recibida_select2` */; +/*!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 `recibida_select2`(IN recibida INT) +BEGIN + DECLARE cta_proveed VARCHAR(10); + DECLARE cta_proveeda VARCHAR(10); + DECLARE v_num_recibida INT; + DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; + + DECLARE NEW_id,NEW_empresa_id,NEW_proveedor_id INT; + DECLARE NEW_serie VARCHAR(1); + DECLARE NEW_fecha DATE; + DECLARE NEW_num_recibida VARCHAR(10); + DECLARE NEW_sref VARCHAR(20); + + SELECT id,empresa_id,proveedor_id,serie,fecha,num_recibida,sref + INTO NEW_id,NEW_empresa_id,NEW_proveedor_id, NEW_serie,NEW_fecha,NEW_num_recibida, NEW_sref + FROM recibida WHERE id = recibida; + + + SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate + WHERE date <= (SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = recibida GROUP BY re.awb_recibida)); + + SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min + WHERE date<=(SELECT t.shipment FROM + recibida_entrada re + INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada + LEFT JOIN travel t ON t.id = e.travel_id + WHERE re.awb_recibida = NEW_id GROUP BY re.awb_recibida)); + + -- IF dblRefMin < dblRefRate THEN + -- SET dblRef = dblRefRate; + -- ELSE + -- SET dblRef =dblRefMin; + -- END IF; + SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r + WHERE r.serie LIKE NEW_serie + AND YEAR(r.fecha) = YEAR(NEW_fecha) + AND r.empresa_id = NEW_empresa_id GROUP BY r.empresa_id; + + SET NEW_num_recibida = IFNULL(v_num_recibida,1); + + + SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW_proveedor_id; + + +SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic.codigo subcta,p.Cuenta,ic.iva, + red(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*0.21) eurodebe,NULL eurohaber, + ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,ri.bi,r.serie,pa.CEE,p.pais_id ppais_id,p2.pais_id p2pais_id + + FROM awb_recibida ar + + left JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida + + left JOIN Compres c ON c.Id_Entrada = re.Id_Entrada + + left JOIN Articles a ON a.Id_Article = c.Id_Article + + left JOIN ( + + SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal + + FROM Compres c + + left JOIN Articles a ON a.Id_Article = c.Id_Article + + left JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada + + left JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida + + left JOIN awb aw ON ar.awb_id = aw.id + + WHERE ar.recibida_id = NEW_id AND re.percentage/*JGF 27/08/14*/ + + GROUP BY a.Codintrastat + + ) sub1 USING(Codintrastat) + + left JOIN ( + + SELECT Codintrastat,ri.importe + + FROM recibida_intrastat ri + + WHERE ri.recibida_id = NEW_id + + ) sub2 USING(Codintrastat) + + -- JOIN recibida_intrastat ri ON ar.awb_recibida = ri.recibida_id and ri.Codintrastat = sub1.Codintrastat + + left JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + + left JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor + + left JOIN Paises pa ON p.pais_id = pa.Id + + left JOIN recibida_iva ri ON ri.recibida_id = re.awb_recibida + + left JOIN recibida_iva ri2 ON ri2.recibida_id = re.recibida_id + + left JOIN iva_codigo ic ON ic.id = ri2.iva_id + + left JOIN recibida r ON r.id = re.recibida_id + + left JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id + + WHERE re.awb_recibida = NEW_id AND re.percentage/*JGF 27/08/14*/ AND IF(cta_proveed like '___0______',ri.gastos_id = 5660000002,TRUE) + -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put + GROUP BY p.Id_Proveedor; + + + + +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 `recobro_credito` */; +/*!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 `recobro_credito`() +BEGIN + +INSERT INTO vn2008.daily_task_log(consulta) VALUES('recobro_credito'); + +DROP TEMPORARY TABLE IF EXISTS clientes_credit; +CREATE TEMPORARY TABLE clientes_credit +SELECT Id_Cliente, if (Credito > Recobro ,Credito - Recobro,0) as newCredit +from +( +SELECT r.Id_Cliente, r.amount as Recobro, timestampadd(DAY, period, UltimaFecha) as Deadline, sub2.amount as Credito +FROM vn2008.recovery r +join + ( + select Id_Cliente, amount , odbc_date as UltimaFecha + from + ( + select * from credit + order by odbc_date desc + ) sub + group by Id_Cliente + ) sub2 using(Id_Cliente) + +where dend is null or dend >= curdate() +group by Id_Cliente +having Deadline <= curdate() +) sub3 +where Credito > 0; + +UPDATE Clientes +JOIN +clientes_credit using(Id_Cliente) +SET Clientes.Credito = newCredit; + +/* +Lo hace el trigger JGF 2017/10/18 +INSERT INTO credit(Id_Cliente, amount, Id_Trabajador) +SELECT Id_Cliente, newCredit, 20 +FROM clientes_credit; +*/ +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 `reinvoice` */; +/*!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 `reinvoice`(Id_Factura VARCHAR(15)) +BEGIN + DECLARE date_invoice DATE; + DECLARE customer_id INTEGER; + DECLARE serie CHAR(1); + DECLARE bi DOUBLE; + DECLARE bi_diff DOUBLE; + DECLARE base_max DOUBLE; + DECLARE day_vec INT; + DECLARE bi_r DOUBLE DEFAULT 0; + DECLARE bi_g DOUBLE DEFAULT 0; + DECLARE bi_n DOUBLE DEFAULT 0; + DECLARE iva_r DOUBLE DEFAULT 0; + DECLARE iva_g DOUBLE DEFAULT 0; + DECLARE re_r DOUBLE DEFAULT 0; + DECLARE re_g DOUBLE DEFAULT 0; + DECLARE dblImporte DOUBLE DEFAULT 0; + DECLARE intpais_id TINYINT DEFAULT 1; + DECLARE intFac INTEGER; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION + BEGIN + ROLLBACK; + RESIGNAL; + END; + + DROP TEMPORARY TABLE IF EXISTS `iva_base`; + CREATE TEMPORARY TABLE `iva_base` + ( + `id` VARCHAR(3) NOT NULL, + `base` DOUBLE NOT NULL DEFAULT 0, + PRIMARY KEY (`id`) + ) + ENGINE = MEMORY; + + DROP TEMPORARY TABLE IF EXISTS `ticket_invoice`; + CREATE TEMPORARY TABLE `ticket_invoice` + ( + `ticket_id` INT NOT NULL, + PRIMARY KEY (`ticket_id`) + ) + ENGINE = MEMORY; + + START TRANSACTION; + + SELECT pais_id,Fecha,f.Id_Factura,Id_Cliente INTO intpais_id,date_invoice,Id_Factura,customer_id FROM Proveedores p + JOIN Facturas f ON p.Id_Proveedor = f.empresa_id + WHERE f.Id_Factura = Id_Factura; + + INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets t + WHERE Factura = Id_Factura; + + -- Eliminem els tickets que no han de ser facturats + + IF (SELECT COUNT(*) FROM ticket_invoice) > 0 + THEN + INSERT INTO iva_base (id) SELECT tipoiva FROM tblIVA; + + UPDATE iva_base + INNER JOIN + (SELECT tipo, SUM(base) base + FROM + (SELECT t.tipo, red(m.Cantidad * m.Preu * (100 - Descuento) / 100) AS base + FROM + Movimientos m + INNER JOIN ticket_invoice ti ON m.Id_Ticket = ti.ticket_id + INNER JOIN (SELECT t.tipo, Id_Article + FROM + (SELECT + date, iva_codigo_id, ic.tipo, iva_group_id + FROM + iva_group_codigo gi + INNER JOIN iva_codigo ic ON gi.iva_codigo_id = ic.id + INNER JOIN iva_tipo itp ON itp.id = ic.iva_tipo_id + WHERE + date <= date_invoice + AND Id_Pais = intpais_id + ORDER BY date DESC) t + INNER JOIN Articles USING (iva_group_id) + GROUP BY Id_Article) t USING (Id_Article)) sub + GROUP BY tipo) iva_movement ON iva_base.id = iva_movement.tipo + SET + iva_base.base = iva_movement.base; + + IF (serie = 'H' OR serie = 'V' OR serie = 'E' OR serie = 'X') THEN + SELECT SUM(base) into dblImporte from iva_base; + ELSE + + SET bi_r = (SELECT base FROM iva_base WHERE id = 'R'); + + SET bi_g = (SELECT base FROM iva_base WHERE id = 'G'); + SET bi_n = (SELECT base FROM iva_base WHERE id = '0'); + SET iva_r = red(bi_r * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + SET iva_g = red(bi_g * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + + IF (SELECT IF(RE = 0, FALSE, TRUE) FROM Clientes WHERE Clientes.Id_cliente = customer_id) + THEN + SET re_r = red(bi_r * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + SET re_g = red(bi_g * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id + WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); + END IF; + + SET dblImporte = bi_r + bi_g + bi_n + iva_r + iva_g + re_r + re_g ; + END IF; + END IF; + + IF (SELECT SUM(base) FROM iva_base) != 0 + THEN + UPDATE Facturas + SET + BI7 = bi_r, + BI16 = bi_g, + IVA7 = iva_r, + IVA16 = iva_g, + RE1 = re_r, + RE4 = re_g, + Importe = dblImporte + WHERE Facturas.Id_Factura = Id_Factura; + END IF; + + DROP TEMPORARY TABLE `iva_base`; + DROP TEMPORARY TABLE `ticket_invoice`; + + 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 `resumen_produccion` */; +/*!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 `resumen_produccion`(IN datSTART DATE, IN datEND DATE) +BEGIN + +DECLARE datENDFIN DATETIME; +DECLARE datSTART_LY DATETIME; +DECLARE datEND_LY DATETIME; + +SET datENDFIN = DAYEND(datEND); +SET datSTART_LY = TIMESTAMPADD(YEAR,-1,datSTART); +SET datSTART_LY = TIMESTAMPADD(DAY,-1,datSTART_LY); + +SET datEND_LY = TIMESTAMPADD(YEAR,-1,datEND); +SET datEND_LY = TIMESTAMPADD(DAY,-1,datEND_LY); + +DROP TEMPORARY TABLE IF EXISTS tblRESUMEN; + +CREATE TEMPORARY TABLE tblRESUMEN + (Agencia VARCHAR(30), + Vista INT(2), + Dia DATE, + Tickets INT(4), + unidades INT(11), + m3 INT(6), + bultos INT(6), + linea INT(11), + almacen VARCHAR(25), + importe DOUBLE, + año INT +); + +INSERT INTO tblRESUMEN + +select Agencia, Vista, Dia, count(Id_Ticket) as Tickets, sum(unidades) as unidades, sum(Volumen) / 1000000 as m3 + , sum(Bul1) as bultos, sum(lineas) as linea, almacen, SUM(importe) as importe, año +from +( +select Agencia, Vista, date(Fecha) as Dia, sum(Cantidad) as unidades , sum(Cantidad * cm3) as Volumen + ,sum(IF (M.Id_Article IN (71,68,83,79, 85,89,91,92,93), Cantidad, 0)) as Bul1 + , Id_Ticket, count(*) as lineas, IFNULL(T.Bultos,0) as Bul2, w.name as almacen, SUM(Cantidad * Preu * (100 - M.Descuento) / 100) importe, year(T.Fecha) as año + from Movimientos M + inner join Tickets T USING(Id_Ticket) + join warehouse w on T.warehouse_id = w.id + join bi.rotacion r on r.Id_Article = M.Id_Article and r.warehouse_id = T.warehouse_id + inner join Clientes C USING(Id_Cliente) + inner join Articles A on A.Id_Article = M.Id_Article + inner join Tipos TP USING(tipo_id) + join reinos re on re.id = TP.reino_id + inner join Agencias USING(Id_Agencia) + where (Fecha BETWEEN datSTART AND datENDFIN or Fecha BETWEEN datSTART_LY AND datEND_LY) + and re.display <> 0 + and (invoice or Id_Cliente = 31) and C.Id_Cliente NOT IN (2066,2067,2068) + group by Id_Ticket) sub + +group by Agencia, Vista, Dia, almacen, año +; + +SET lc_time_names = 'es_ES'; + +SELECT *, + CASE Vista + WHEN 1 THEN 'Agencias' + WHEN 2 THEN 'Rutas' + WHEN 3 THEN 'Mercado' + ELSE 'Otras' + END as Sector + ,dayname(Dia) as Nombre_Dia + , week + , year + + + FROM tblRESUMEN + JOIN time t on t.date = Dia; + +DROP TEMPORARY TABLE IF EXISTS tblRESUMEN; + + +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 `riskkk` */; +/*!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 `riskkk`(v_date DATE, v_customer INT) +BEGIN +/** + * Calcula el riesgo para uno o todos los clientes activos. + * + * @deprecated usar vn.clientGetDebt + * @param v_date Fecha maxima de los registros + * @param v_customer Cliente a mostrar su riesgo, %NULL para todos + * @return table tmp.risk + */ + DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -33, CURDATE()); + DECLARE v_date_end DATETIME; + + SET v_date = IFNULL(v_date, CURDATE()); + SET v_date_end = TIMESTAMP(v_date, '23:59:59'); + + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + CREATE TEMPORARY TABLE ticket_tmp + ENGINE = MEMORY + SELECT Id_Ticket ticket_id FROM Tickets t + WHERE (v_customer IS NULL OR Id_Cliente = v_customer) + AND t.Factura IS NULL + AND t.Fecha BETWEEN v_date_start AND v_date_end; + + CALL ticket_total(); + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + ENGINE = MEMORY + SELECT Id_Cliente, SUM(amount) risk + FROM Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk + WHERE (v_customer IS NULL OR customer_id = v_customer) + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM Recibos + WHERE (v_customer IS NULL OR Id_Cliente = v_customer) + AND Fechacobro > v_date_end + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, SUM(total) + FROM ticket_total tt + JOIN Tickets t ON tt.ticket_id = t.Id_Ticket + GROUP BY t.Id_Cliente + UNION ALL + SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + WHERE (v_customer IS NULL OR t.clientFk = v_customer) + AND t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + DROP TEMPORARY TABLE + ticket_total, + ticket_tmp; +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 `risk_vs_client_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 `risk_vs_client_list`(maxRiskDate DATE) +BEGIN +/** + * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list + * + * @deprecated usar vn.clientGetDebt + * @param maxRiskDate Fecha maxima de los registros + * @return table tmp.risk + */ + DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 30, CURDATE()); + DECLARE endingDate DATETIME; + DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; + + SET maxRiskDate = IFNULL(maxRiskDate, CURDATE()); + SET endingDate = TIMESTAMP(maxRiskDate, '23:59:59'); + + DROP TEMPORARY TABLE IF EXISTS tmp.client_list_2; + CREATE TEMPORARY TABLE tmp.client_list_2 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.client_list_3; + CREATE TEMPORARY TABLE tmp.client_list_3 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.tickets_sin_facturar; + CREATE TEMPORARY TABLE tmp.tickets_sin_facturar + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT t.Id_Cliente, floor(IF(cl.isVies, 1, 1.1) * sum(Cantidad * Preu * (100 - Descuento) / 100)) as total + FROM Movimientos m + JOIN Tickets t on m.Id_Ticket = t.Id_Ticket + JOIN tmp.client_list c on c.Id_Cliente = t.Id_Cliente + JOIN vn.client cl ON cl.id = t.Id_Cliente + WHERE Factura IS NULL + AND Fecha BETWEEN startingDate AND endingDate + GROUP BY t.Id_Cliente; + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT Id_Cliente, SUM(amount) risk, sum(saldo) saldo + FROM Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount,SUM(amount) saldo + FROM bi.customer_risk + JOIN tmp.client_list on Id_Cliente = customer_id + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado),SUM(Entregado) + FROM Recibos + JOIN tmp.client_list_2 using(Id_Cliente) + WHERE Fechacobro > endingDate + GROUP BY Id_Cliente + UNION ALL + SELECT Id_Cliente, total,0 + FROM tmp.tickets_sin_facturar + UNION ALL + SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)), CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + JOIN tmp.client_list_3 on Id_Cliente = t.clientFk + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + DELETE r.* + FROM tmp.risk r + JOIN vn2008.Clientes c on c.Id_Cliente = r.Id_Cliente + JOIN vn2008.pay_met pm on pm.id = c.pay_met_id + WHERE IFNULL(r.saldo,0) < 10 + AND r.risk <= MAX_RISK_ALLOWED + AND pm.`name` = 'TARJETA'; +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_Graph` */; +/*!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_Graph`() +BEGIN + +DECLARE datSTART DATE DEFAULT TIMESTAMPADD(DAY,-3,CURDATE()); +DECLARE datEND DATE; + +SET datEND = vn2008.dayend(timestampadd(day,3,CURDATE())); + +CALL item_last_buy_(NULL,datSTART); + +Select cast(sum(Cantidad * vn2008.cm3_unidad(buy_id)) / 1000000 as DECIMAL(5,1)) as m3, Agencia, w.name as Almacen, date(R.Fecha) as Fecha_Ruta + from vn2008.Rutas R + JOIN vn2008.Agencias a on a.Id_Agencia = R.Id_Agencia + join vn2008.Tickets t using(Id_Ruta) + JOIN vn2008.warehouse w on w.id = t.warehouse_id + join vn2008.Movimientos m using(Id_Ticket) + JOIN cache.last_buy b ON m.Id_Article = b.item_id AND t.warehouse_id = b.warehouse_id + where R.Fecha between datSTART and datEND + group by Agencia, Almacen, Fecha_Ruta + +UNION ALL +Select cast(sum(Cantidad * vn2008.cm3_unidad(buy_id)) / 1000000 as decimal(5,1)) as m3 ,Agencia, w.name as Almacen, timestampadd(day,1,t.Fecha) Fecha + from vn2008.Tickets t + join warehouse w on w.id = warehouse_id + join Agencias a using(Id_Agencia) + join vn2008.Movimientos m using(Id_Ticket) + JOIN cache.last_buy b ON m.Id_Article = b.item_id AND t.warehouse_id = b.warehouse_id + LEFT JOIN warehouse_pickup wp ON wp.agency_id = t.Id_Agencia and wp.warehouse_id = t.warehouse_id + JOIN warehouse_pickup is_rec ON is_rec.agency_id = t.Id_Agencia + where t.Fecha between TIMESTAMPADD(DAY,-1,datSTART) and TIMESTAMPADD(DAY,-1,datEND) + AND wp.agency_id IS NULL + group by Agencia, Almacen, Fecha + -- JGF 2016-05-05 +UNION ALL + Select cast(sum(Cantidad * vn2008.cm3_unidad(Id_Compra)) / 1000000 as decimal(5,1)) as m3 ,a.Agencia, w.name as Almacen, + timestampadd(day,1,t.shipment) Fecha + from Compres c JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada + JOIN travel t ON t.id = e.travel_id + JOIN Agencias a on a.Id_Agencia = t.agency_id + JOIN warehouse w on w.id = t.warehouse_id_out + JOIN warehouse_pickup wp ON wp.warehouse_id = t.warehouse_id_out + where t.shipment between TIMESTAMPADD(DAY,-1,datSTART) and TIMESTAMPADD(DAY,-1,datEND) + group by a.Agencia, Almacen, Fecha; + +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_monitor_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 `Rutas_monitor_update`(vDate DATE) +BEGIN + +DECLARE vDateEND DATETIME; + +SET vDateEND = util.dayend(vDate); +SET vDate = TIMESTAMPADD(DAY,-1,vDate); + +INSERT IGNORE INTO Rutas_monitor(Id_Ruta) + SELECT DISTINCT Id_Ruta + FROM Tickets + WHERE Fecha BETWEEN vDate AND vDateEND + AND Id_Ruta; + +UPDATE Rutas_monitor rm +JOIN Rutas r ON r.Id_Ruta = rm.Id_Ruta +JOIN Agencias a ON a.Id_Agencia = r.Id_Agencia +SET rm.`name` = a.Agencia, rm.fecha = r.Fecha, + rm.pedidosLibres = 0, + rm.pedidosProduccion = 0, + rm.pedidosEncajados = 0, + rm.Fecha = r.Fecha; +/* +UPDATE Rutas_monitor rm +JOIN ( + SELECT Id_Ruta, max(landing) as landing + FROM Tickets t + WHERE t.Fecha BETWEEN vDate AND vDateEND + GROUP BY Id_Ruta + ) t ON t.Id_Ruta = rm.Id_Ruta +SET rm.Fecha = t.landing; +*/ +UPDATE Rutas_monitor rm +JOIN +( SELECT Id_Ruta, count(*) AS pedidosLibres + FROM Tickets t + JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket + JOIN vncontrol.inter i ON i.inter_id = ts.inter_id + JOIN state s ON i.state_id = s.id AND s.alert_level = 0 + WHERE t.Fecha BETWEEN vDate AND vDateEND + AND Id_Ruta + GROUP BY Id_Ruta +) t ON t.Id_Ruta = rm.Id_Ruta +SET rm.pedidosLibres = t.pedidosLibres; + +UPDATE Rutas_monitor rm +JOIN +( SELECT Id_Ruta, count(*) AS pedidosProduccion + FROM Tickets t + JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket + JOIN vncontrol.inter i ON i.inter_id = ts.inter_id + JOIN state s ON i.state_id = s.id AND s.alert_level = 1 + WHERE t.Fecha BETWEEN vDate AND vDateEND + AND Id_Ruta + GROUP BY Id_Ruta +) t ON t.Id_Ruta = rm.Id_Ruta +SET rm.pedidosProduccion = t.pedidosProduccion; + +UPDATE Rutas_monitor rm +JOIN +( SELECT Id_Ruta, count(*) AS pedidosEncajados + FROM Tickets t + JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket + JOIN vncontrol.inter i ON i.inter_id = ts.inter_id + JOIN state s ON i.state_id = s.id AND s.alert_level >= 2 + WHERE t.Fecha BETWEEN vDate AND vDateEND + AND Id_Ruta + GROUP BY Id_Ruta +) t ON t.Id_Ruta = rm.Id_Ruta +SET rm.pedidosEncajados = t.pedidosEncajados; + +UPDATE Rutas_monitor rm +JOIN +( SELECT Id_Ruta, count(*) AS bultos + FROM Tickets t + JOIN expeditions e ON e.ticket_id = t.Id_Ticket + WHERE t.Fecha BETWEEN vDate AND vDateEND + AND Id_Ruta + GROUP BY Id_Ruta +) t ON t.Id_Ruta = rm.Id_Ruta +SET rm.bultos = t.bultos; + +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 `saldos_bancos` */; +/*!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 `saldos_bancos`() +BEGIN + +declare datEND DATE; + +SET datEND = CURDATE() + INTERVAL 2 MONTH; + +drop table if exists bi.saldos_bancos; + + +create table bi.saldos_bancos + + select Semana, Mes, Año, Entrada + , Salida + , @saldo := IF(@banco = Id_Banco and @emp = empresa_id, @saldo,0) + ifnull(Entrada,0)-ifnull(Salida,0) as Saldo + , @banco := Id_Banco as Id_Banco + , @emp := empresa_id as empresa_id + , 'NUL' as Empresa + + from + ( + select * from + ( + select t.week as Semana, t.year as Año, t.month as Mes, b.Id_Banco, sum(Entrada) as Entrada, sum(Salida) as Salida, @banco := 0, @saldo := 0, @emp := 0, e.id as empresa_id + from time t + join Bancos b on b.entity_id = 1 + join empresa e on e.id IN (791,442) + left join + ( + Select Id_Banco, Entrada, Salida, Cajafecha,empresa_id + from Cajas + where Cajafecha >= '2015-01-01' + and Serie = 'MB' + union all + Select Id_Banco, NULL, importe, greatest(fecha,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id + from pago + where conciliado = FALSE /*fecha between CURDATE() and datEND*/ + union all + Select Id_Banco, Entregado, NULL, greatest(Fechacobro,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id + from Recibos + where Fechacobro between CURDATE() and datEND + union all + Select IFNULL(Id_Banco,9999), Importe, NULL, Fecha,empresa_id + from Saldos_Prevision + where Fecha between CURDATE() and datEND + ) sub2 on t.date = sub2.Cajafecha and b.Id_Banco = sub2.Id_Banco and e.id = sub2.empresa_id + + where t.date between '2015-01-01' and datEND + and b.cash != 1 + group by b.Id_Banco, e.id, t.year, t.week + ) sub3 + order by Id_Banco, empresa_id, Año, Mes, Semana + ) sub +; + +update bi.saldos_bancos s +join empresa e on e.id = s.empresa_id +set s.Empresa = abbreviation; + +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 `saldos_bancos_pordia` */; +/*!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 `saldos_bancos_pordia`() +BEGIN + +declare datEND DATE; + +SET datEND = CURDATE() + INTERVAL 2 MONTH; + +drop table if exists bi.saldos_bancos_pordia; + + +create table bi.saldos_bancos_pordia + + select Fecha, Entrada + , Salida + , @saldo := IF(@banco = Id_Banco and @emp = empresa_id, @saldo,0) + ifnull(Entrada,0)-ifnull(Salida,0) as Saldo + , @banco := Id_Banco as Id_Banco + , @emp := empresa_id as empresa_id + , 'NUL' as Empresa + , Año, Mes, Dia + + from + ( + select * from + ( + select t.day as Dia, t.month as Mes,t.year as Año, t.date as Fecha, b.Id_Banco, sum(Entrada) as Entrada, sum(Salida) as Salida, @banco := 0, @saldo := 0, @emp := 0, e.id as empresa_id + from time t + join Bancos b on b.entity_id = 1 + join empresa e on e.id IN (791,442) + left join + ( + Select Id_Banco, Entrada, Salida, Cajafecha,empresa_id + from Cajas + where Cajafecha >= '2015-01-01' + and Serie = 'MB' + union all + Select Id_Banco, NULL, importe, greatest(fecha,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id + from pago + where conciliado = FALSE /*fecha between CURDATE() and datEND*/ + union all + Select Id_Banco, Entregado, NULL, greatest(Fechacobro,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id + from Recibos + where conciliado = FALSE -- Fechacobro between CURDATE() and datEND + union all + Select IFNULL(Id_Banco,9999), Importe, NULL, Fecha,empresa_id + from Saldos_Prevision + where Fecha between CURDATE() and datEND + ) sub2 on t.date = sub2.Cajafecha and b.Id_Banco = sub2.Id_Banco and e.id = sub2.empresa_id + + where t.date between '2015-01-01' and datEND + and b.cash != 1 + group by b.Id_Banco, e.id, t.date + ) sub3 + order by Id_Banco, empresa_id, Fecha + ) sub +; + +update bi.saldos_bancos_pordia s +join empresa e on e.id = s.empresa_id +set s.Empresa = abbreviation; + +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 `scan_rutas_view` */; +/*!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 `scan_rutas_view`() +BEGIN + + +/* muestra las rutas agrupadas de los ultimos tres dias, así como una lista de los tickets sin enrutar, agrpados por agencia y fecha*/ + +select Fecha, Id_Ruta, Matricula, sub.m3, CodigoTrabajador, Agencia, Bultos, w.name as Almacen +from +( +select r.Fecha, Id_Ruta, r.Id_Trabajador, r.Id_Agencia, Id_Vehiculo, sum(m3) m3, sum(Bultos) Bultos, warehouse_id +from Rutas r +join Tickets t using(Id_Ruta) +where r.Fecha >= timestampadd(day,-3,curdate()) +group by Id_Ruta, warehouse_id + +union all + +select ifnull(landing,Fecha), dayofmonth(Fecha) * 100000 + Id_Agencia ruta , count(*) as m3, Id_Agencia, null, null, sum(Bultos), warehouse_id +from Tickets +where Id_Ruta is null +and Fecha between timestampadd(day,-3,curdate()) and dayend(curdate()) +group by ruta, warehouse_id +) sub +left join Vehiculos using(Id_Vehiculo) +left join Agencias using(Id_Agencia) +left join Trabajadores using(Id_Trabajador) +left join warehouse w on w.id = sub.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 `sendTicket` */; +/*!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 `sendTicket`(vDate DATE) +BEGIN + IF vDate IS NULL THEN + SET vDate = AYER(); + END IF; + + INSERT INTO mail (`to`, `reply_to`, subject,text) + SELECT IFNULL(c.`e-mail`,CONCAT(u.name,'@verdnatura.es')), + CONCAT(u.name,'@verdnatura.es'), + CONCAT('Albaran ',Id_Ticket), +CONCAT('Estimado cliente: + +Aquí tiene el enlace a su albarán. + +https://www.verdnatura.es/#!form=ecomerce/ticket&ticket=',Id_Ticket, +' + +Estamos en periodo de pruebas para este nuevo método. En el caso de que tenga problemas para acceder a su albarán, responda a este correo explicando los detalles. + +Estamos trabajando para mejorar el acceso a sus documentos.Le agradecemos su colaboración. + +Reciba un muy cordial saludo, + +',tr.nombre, ' ', tr.apellidos,' +',u.name,'@verdnatura.es + +Dpto. Comercial') + FROM Tickets t + JOIN Clientes c USING(Id_Cliente) + JOIN Trabajadores tr ON tr.Id_Trabajador = c.Id_Trabajador + JOIN account.user u ON tr.user_id = u.id + WHERE vDate = DATE(t.Fecha); +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 `splitAnthuriums2016` */; +/*!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 `splitAnthuriums2016`() +BEGIN + +DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; +DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; +DECLARE vMyTicket INT; +DECLARE vNewTicket INT; +DECLARE SILLA_PCA INT DEFAULT 44; +DECLARE done INT DEFAULT 0; + +DECLARE rs CURSOR FOR +SELECT DISTINCT Id_Ticket +FROM Movimientos m +JOIN Tickets t using(Id_Ticket) +JOIN Articles a using(Id_Article) +JOIN Tipos tp using(tipo_id) +WHERE t.Fecha between vStartingDate and vEndingDate +AND warehouse_id = 1 +AND + ( + Id_Tipo = 'ANT' + OR + ( Id_Article = 100 + AND + Concepte LIKE 'ANT%') + ); + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN rs; + +FETCH rs INTO vMyTicket; + + + +WHILE NOT done DO + + + INSERT INTO Tickets(Id_Cliente + , warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing) + SELECT Id_Cliente + , SILLA_PCA as warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing + FROM Tickets + WHERE Id_Ticket = vMyTicket; + + SELECT LAST_INSERT_ID() INTO vNewTicket; + + -- SELECT vMyTicket, vNewTicket; SET done = 1; + UPDATE Movimientos m + JOIN Articles a using(Id_Article) + JOIN Tipos tp using(tipo_id) + SET Id_Ticket = vNewTicket + WHERE Id_Ticket = vMyTicket + AND ( + Id_Tipo = 'ANT' + OR + ( m.Id_Article = 100 + AND + Concepte LIKE 'ANT%') + ); + + FETCH rs INTO vMyTicket; + +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 `splitHeliconias2016` */; +/*!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 `splitHeliconias2016`() +BEGIN + +DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; +DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; +DECLARE vMyTicket INT; +DECLARE vNewTicket INT; +DECLARE SILLA_PCA INT DEFAULT 44; +DECLARE done INT DEFAULT 0; + +DECLARE rs CURSOR FOR +SELECT DISTINCT Id_Ticket +FROM Movimientos m +JOIN Compres c ON Id_Entrada IN (100461, 100929) AND c.Id_Article = m.Id_Article +JOIN Tickets t using(Id_Ticket) +WHERE t.Fecha between vStartingDate and vEndingDate +AND warehouse_id = 1; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN rs; + +FETCH rs INTO vMyTicket; + + + +WHILE NOT done DO + + + INSERT INTO Tickets(Id_Cliente + , warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing) + SELECT Id_Cliente + , SILLA_PCA as warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing + FROM Tickets + WHERE Id_Ticket = vMyTicket; + + SELECT LAST_INSERT_ID() INTO vNewTicket; + + -- SELECT vMyTicket, vNewTicket; SET done = 1; + UPDATE Movimientos m + JOIN Compres c ON Id_Entrada IN (100461, 100929) AND c.Id_Article = m.Id_Article + SET Id_Ticket = vNewTicket + WHERE Id_Ticket = vMyTicket + ; + + FETCH rs INTO vMyTicket; + +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 `splitOrquideas2016` */; +/*!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 `splitOrquideas2016`() +BEGIN + +DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; +DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; +DECLARE vMyTicket INT; +DECLARE vNewTicket INT; +DECLARE SILLA_PCA INT DEFAULT 44; +DECLARE done INT DEFAULT 0; + +DECLARE rs CURSOR FOR +SELECT DISTINCT Id_Ticket +FROM Movimientos m +JOIN Tickets t using(Id_Ticket) +JOIN Articles a using(Id_Article) +JOIN Tipos tp using(tipo_id) +WHERE t.Fecha between vStartingDate and vEndingDate +AND warehouse_id = 1 +AND + ( + Id_Tipo = 'CYM' + OR + Id_Tipo = 'ORQ' + OR + ( Id_Article = 100 + AND + Concepte LIKE 'CYM%') + ); + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN rs; + +FETCH rs INTO vMyTicket; + + + +WHILE NOT done DO + + + INSERT INTO Tickets(Id_Cliente + , warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing) + SELECT Id_Cliente + , SILLA_PCA as warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing + FROM Tickets + WHERE Id_Ticket = vMyTicket; + + SELECT LAST_INSERT_ID() INTO vNewTicket; + + -- SELECT vMyTicket, vNewTicket; SET done = 1; + UPDATE Movimientos m + JOIN Articles a using(Id_Article) + JOIN Tipos tp using(tipo_id) + SET Id_Ticket = vNewTicket + WHERE Id_Ticket = vMyTicket + AND ( + Id_Tipo = 'CYM' + OR + Id_Tipo = 'ORQ' + OR + ( Id_Article = 100 + AND + Concepte LIKE 'CYM%') + ); + + FETCH rs INTO vMyTicket; + +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 `splitRamos2016` */; +/*!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 `splitRamos2016`() +BEGIN + +DECLARE vStartingDate DATETIME DEFAULT '2016-10-21'; +DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; +DECLARE vMyTicket INT; +DECLARE vNewTicket INT; +DECLARE SILLA_PCA INT DEFAULT 44; +DECLARE done INT DEFAULT 0; +DECLARE vLinesNotToChange INT; + +DECLARE rs CURSOR FOR +SELECT DISTINCT Id_Ticket + FROM Movimientos m + JOIN + ( + SELECT DISTINCT Id_Article + FROM Compres c + JOIN Entradas e on c.Id_Entrada = e.Id_Entrada + JOIN travel tr on tr.id = travel_id + WHERE landing between vStartingDate and vEndingDate + AND warehouse_id = 44 + AND Id_Proveedor = 850 + ) c on c.Id_Article = m.Id_Article + JOIN Tickets t using(Id_Ticket) + WHERE t.Fecha between vStartingDate and vEndingDate + AND warehouse_id = 1 + ; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN rs; + +FETCH rs INTO vMyTicket; + + + +WHILE NOT done DO + + SELECT COUNT(*) + INTO vLinesNotToChange + FROM Movimientos m + LEFT JOIN + ( + SELECT DISTINCT Id_Article + FROM Compres c + JOIN Entradas e on c.Id_Entrada = e.Id_Entrada + JOIN travel tr on tr.id = travel_id + WHERE landing between vStartingDate and vEndingDate + AND warehouse_id = 44 + AND Id_Proveedor = 850 + ) c on c.Id_Article = m.Id_Article + WHERE Id_Ticket = vMyTicket + AND c.Id_Article IS NULL; + + IF vLinesNotToChange THEN + + INSERT INTO Tickets(Id_Cliente + , warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing) + SELECT Id_Cliente + , SILLA_PCA as warehouse_id + , Fecha + , Alias + , Id_Consigna + , Id_Trabajador + , Id_Ruta + , empresa_id + , Id_Agencia + , landing + FROM Tickets + WHERE Id_Ticket = vMyTicket; + + SELECT LAST_INSERT_ID() INTO vNewTicket; + + -- SELECT vMyTicket, vNewTicket; SET done = 1; + UPDATE Movimientos m + JOIN + ( + SELECT DISTINCT Id_Article + FROM Compres c + JOIN Entradas e on c.Id_Entrada = e.Id_Entrada + JOIN travel tr on tr.id = travel_id + WHERE landing between vStartingDate and vEndingDate + AND warehouse_id = 44 + AND Id_Proveedor = 850 + ) c on c.Id_Article = m.Id_Article + SET Id_Ticket = vNewTicket + WHERE Id_Ticket = vMyTicket; + + ELSE + + UPDATE Tickets + SET warehouse_id = 44 + WHERE Id_Ticket = vMyTicket; + + END IF; + + + FETCH rs INTO vMyTicket; + +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 `sql_query` */; +/*!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 `sql_query`(IN v_sql TEXT) +BEGIN + SET @v_sql = v_sql; + + PREPARE stmt FROM @v_sql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +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 `subordinate` */; +/*!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 `subordinate`( IN idWORKER INTEGER,IN CasoBase BOOL) +BEGIN + DECLARE auxWorker INT; + DECLARE vCompanyId INT; + + SELECT empresa_id + INTO vCompanyId + FROM Trabajadores + WHERE Id_Trabajador = idWORKER; + + IF vCompanyId = 1381 THEN -- ORNAMENTALES + + DROP TABLE IF EXISTS subordinate; + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT Id_Trabajador,TRUE visited,0 boss + FROM Trabajadores + WHERE empresa_id = vCompanyId; + + ELSE + + + /* PAK 23/05/2016 + + Guardia de domingos + + Los domingos viene Fran a hacer de comercial y necesita ver todos los radares + + + + IF dayofweek(curdate()) = 1 and idWORKER = 43 then -- Domingo y Fran Natek + + DROP TABLE IF EXISTS subordinate; + + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT Id_Trabajador,TRUE visited,0 boss + FROM Trabajadores; + + + else + */ + + IF CasoBase THEN + SET @@max_sp_recursion_depth = 5 ; + DROP TABLE IF EXISTS subordinate; + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT idWORKER Id_Trabajador,TRUE visited,0 boss; + END IF; + + INSERT INTO subordinate + SELECT Id_Trabajador,0,idWORKER FROM Trabajadores WHERE boss = idWORKER; + IF (SELECT COUNT(*) FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1) > 0 THEN + SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; + REPEAT + CALL subordinate(auxWorker,FALSE); + UPDATE subordinate SET visited = TRUE WHERE Id_Trabajador = auxWorker; + SET auxWorker = 0; + SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; + UNTIL auxWorker = 0 + END REPEAT; + END IF; + + /* + end if; + */ + + END IF; + + IF idWorker = 2 THEN + INSERT INTO subordinate(Id_Trabajador,visited,boss) VALUES (2,TRUE,2); + -- INSERT INTO subordinate(Id_Trabajador,visited,boss) VALUES (43,TRUE,2); + END IF; + + /* + IF CasoBase THEN + SELECT * FROM subordinate; + 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 `subordinate2` */; +/*!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 `subordinate2`( IN idWORKER INTEGER,IN CasoBase BOOL) +BEGIN + DECLARE auxWorker INT; + DECLARE vCompanyId INT; + + SELECT empresa_id + INTO vCompanyId + FROM Trabajadores + WHERE Id_Trabajador = idWORKER; + + IF vCompanyId = 1381 THEN -- ORNAMENTALES + + DROP TABLE IF EXISTS subordinate; + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT Id_Trabajador,TRUE visited,0 boss + FROM Trabajadores + WHERE empresa_id = vCompanyId; + + ELSE + + + /* PAK 23/05/2016 + + Guardia de domingos + + Los domingos viene Fran a hacer de comercial y necesita ver todos los radares + + + + IF dayofweek(curdate()) = 1 and idWORKER = 43 then -- Domingo y Fran Natek + + DROP TABLE IF EXISTS subordinate; + + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT Id_Trabajador,TRUE visited,0 boss + FROM Trabajadores; + + + else + */ + + IF CasoBase THEN + SET @@max_sp_recursion_depth = 5 ; + DROP TABLE IF EXISTS subordinate; + CREATE TABLE subordinate + (INDEX (Id_Trabajador)) ENGINE = MEMORY + SELECT idWORKER Id_Trabajador,TRUE visited,0 boss; + END IF; + + INSERT INTO subordinate + SELECT Id_Trabajador,0,idWORKER FROM Trabajadores WHERE boss = idWORKER; + IF (SELECT COUNT(*) FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1) > 0 THEN + SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; + REPEAT + CALL subordinate(auxWorker,FALSE); + UPDATE subordinate SET visited = TRUE WHERE Id_Trabajador = auxWorker; + SET auxWorker = 0; + SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; + UNTIL auxWorker = 0 + END REPEAT; + END IF; + + /* + end if; + */ + + END IF; + + IF idWorker = 2 THEN + INSERT INTO subordinate(Id_Trabajador) VALUES (2); + END IF; + + /* + IF CasoBase THEN + SELECT * FROM subordinate; + 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 `suppliersDebt` */; +/*!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 `suppliersDebt`() +BEGIN + + SELECT abbreviation as Empresa, Proveedor, Euros, empresa_id, proveedor_id + FROM + ( + SELECT empresa_id, proveedor_id, cast(sum(Euros) AS DECIMAL(10,2)) as Euros + FROM + ( + SELECT empresa_id, proveedor_id, -1 * cantidad as Euros + FROM recibida_vencimiento rv + INNER JOIN recibida r ON r.id = rv.recibida_id + WHERE r.fecha > '2014-12-31' + + UNION ALL + + SELECT empresa_id, id_proveedor, importe + FROM pago + WHERE fecha > '2014-12-31' + ) sub + GROUP BY empresa_id, proveedor_id + ) sub2 + JOIN Proveedores p ON p.Id_Proveedor = sub2.proveedor_id + JOIN empresa e ON e.id = sub2.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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `supplierStatement` */; +/*!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 `supplierStatement`(vSupplierFk INT, vCurrencyFk INT, vCompanyFk INT, vOrderBy VARCHAR(15)) +BEGIN + SET @saldo_eur:= 0; + SET @saldo_div:= 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.supplierStatement; + + CREATE TEMPORARY TABLE tmp.supplierStatement ENGINE = MEMORY + SELECT + *, + @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, + @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div + FROM + (SELECT * FROM + (SELECT + NULL as banco_id, + r.empresa_id, + r.serie, + r.id, + CASE + WHEN vOrderBy = 'issued' THEN r.fecha + WHEN vOrderBy = 'bookEntried' THEN r.bookEntried + WHEN vOrderBy = 'booked' THEN r.dateBooking + WHEN vOrderBy = 'dueDate' THEN rv.fecha + END AS fecha, + CONCAT('S/Fra ', r.sref) sref, + if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, + CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, + CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, + NULL AS Pago_Euros, + NULL AS Pago_Divisas, + r.moneda_id, + r.contabilizada, + Moneda, + NULL as pago_sdc_id + FROM + recibida r + JOIN recibida_vencimiento rv on rv.recibida_id = r.id + JOIN Monedas m on m.Id_Moneda = r.moneda_id + WHERE + r.fecha > '2014-12-31' + AND r.proveedor_id = vSupplierFk + AND vCurrencyFk IN (r.moneda_id, 0) + AND vCompanyFk IN (r.empresa_id,0) + GROUP BY rv.id + + UNION ALL SELECT + p.id_banco, + p.empresa_id, + NULL, + p.id, + Fecha, + CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), + if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, + NULL, + NULL, + p.importe, + p.divisa, + p.id_moneda, + IFNULL(conciliado, 0), + Moneda, + pago_sdc_id + FROM + pago p + LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda + LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco + LEFT JOIN pay_met pm ON p.pay_met_id = pm.id + LEFT JOIN Pagares pre ON pre.pago_id = p.id + WHERE + Fecha > '2014-12-31' + AND p.Id_Proveedor = vSupplierFk + AND vCurrencyFk IN (p.id_moneda,0) + AND vCompanyFk IN (p.empresa_id,0) + ) AS SUB + ORDER BY fecha, IF(vOrderBy = 'dueDate', id, NULL)) t; +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 `tarjetas_credito_0` */; +/*!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 `tarjetas_credito_0`() +BEGIN + + DECLARE MyMaxID INT; + + SELECT MAX(id) FROM credit INTO MyMaxID; + + UPDATE Clientes + SET Credito = 0 + WHERE pay_met_id = 5 -- TARJETA + ; + + UPDATE credit + SET Id_Trabajador = 20 + WHERE id > MyMaxID; + +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 `tickets_in_a_week` */; +/*!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 `tickets_in_a_week`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWH INT(2)) +BEGIN + DECLARE period INT(6) DEFAULT intYEAR * 100 + intWEEK; + DECLARE datINI DATE; + DECLARE datFIN DATE; + + -- Seleccionamos la fecha minima/maxima del periodo que vamos a consultar + SELECT MIN(`date`) INTO datINI FROM vn2008.`time` t WHERE t.period = period; + SELECT TIMESTAMP(MAX(`date`),'23:59:59') INTO datFIN FROM vn2008.`time` t WHERE t.period = period; + + SELECT T.Fecha, + T.Id_Ticket, + M.Cantidad, + M.Id_Article, + T.Alias, + M.PrecioFijado, + M.Preu, + M.Id_Movimiento, + T.warehouse_id, + W.name, + ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, + M.Descuento + FROM Movimientos M + INNER JOIN Tickets T using(Id_Ticket) + LEFT JOIN warehouse W ON W.id = T.warehouse_id + WHERE M.Id_Article = idART AND T.Fecha BETWEEN datINI and datFIN + AND IF(intWH = 0, W.comisionantes, intWH =T.warehouse_id) + ORDER BY T.Fecha, T.Id_Ticket; +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 `tickets_in_a_week_by_type` */; +/*!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 `tickets_in_a_week_by_type`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWH INT(2)) +BEGIN + + DECLARE intTIPO INT; + DECLARE period INT(6) DEFAULT intYEAR * 100 + intWEEK; + DECLARE datINI DATE; + DECLARE datFIN DATE; + + SELECT tipo_id INTO intTIPO FROM Articles WHERE Id_Article = idART; + + -- Seleccionamos la fecha minima/maxima del periodo que vamos a consultar + SELECT MIN(`date`) INTO datINI FROM vn2008.`time` t WHERE t.period = period; + SELECT TIMESTAMP(MAX(`date`),'23:59:59') INTO datFIN FROM vn2008.`time` t WHERE t.period = period; + + SELECT T.Fecha, + T.Id_Ticket, + M.Cantidad, + M.Id_Article, + T.Alias, + M.PrecioFijado, + M.Preu, + M.Id_Movimiento, + T.warehouse_id, + W.name, + ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, + M.Descuento + FROM Movimientos M + JOIN Articles A using(Id_Article) + INNER JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket + LEFT JOIN warehouse W ON W.id = T.warehouse_id + WHERE A.tipo_id = intTIPO + AND T.Fecha between datINI and datFIN + AND IF(intWH = 0, W.comisionantes, intWH =T.warehouse_id) + ORDER BY T.Fecha, T.Id_Ticket; + +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 `tickets_week_joined` */; +/*!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 `tickets_week_joined`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWhJoined INT(2)) +BEGIN + + + DECLARE datSTART date; + DECLARE datEND date; + + + SET datSTART = TIMESTAMPADD(YEAR,intYEAR,'0000-01-01'); + SET datSTART = TIMESTAMPADD(WEEK, intWEEK-1,datSTART); + SET datSTART = TIMESTAMPADD(DAY,-1 * WEEKDAY(datSTART),datSTART); + + + +-- Año 2014 +/* +IF datSTART = '2013-12-31' THEN + + SET datSTART = '2013-12-30' ; + +END IF; +*/ + + + SET datEND = TIMESTAMPADD(DAY,7,datSTART); + + + + SELECT T.Fecha, + T.Id_Ticket, + M.Cantidad, + M.Id_Article, + T.Alias, + M.PrecioFijado, + M.Preu, + M.Id_Movimiento, + T.warehouse_id, + wa.alias `name`, + ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, + M.Descuento + FROM Movimientos M + JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket + JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id + JOIN warehouse_alias wa ON wa.warehouse_alias_id = wj.warehouse_alias_id + WHERE M.Id_Article = idART + AND T.Fecha between datSTART and datEND + AND intWhJoined IN (0,wj.warehouse_alias_id) + ORDER BY T.Fecha, T.Id_Ticket; + +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 `tickets_week_type_joined` */; +/*!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 `tickets_week_type_joined`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWhJoined INT(2)) +BEGIN + + DECLARE intTIPO INT; + DECLARE datSTART date; + DECLARE datEND date; + + SELECT tipo_id INTO intTIPO FROM Articles WHERE Id_Article = idART; + + SET datSTART = TIMESTAMPADD(YEAR,intYEAR,'0000-01-01'); + SET datSTART = TIMESTAMPADD(WEEK, intWEEK-1,datSTART); + SET datSTART = TIMESTAMPADD(DAY,-1 * WEEKDAY(datSTART),datSTART); + + SET datEND = TIMESTAMPADD(DAY,7,datSTART); + + + + SELECT T.Fecha, + T.Id_Ticket, + M.Cantidad, + M.Id_Article, + T.Alias, + M.PrecioFijado, + M.Preu, + M.Id_Movimiento, + T.warehouse_id, + wa.alias `name`, + ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, + M.Descuento + FROM Movimientos M + JOIN Articles A using(Id_Article) + INNER JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket + JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id + JOIN warehouse_alias wa ON wa.warehouse_alias_id = wj.warehouse_alias_id + WHERE A.tipo_id = intTIPO + AND T.Fecha between datSTART and datEND + AND intWhJoined IN (0,wj.warehouse_alias_id) + ORDER BY T.Fecha, T.Id_Ticket; + +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_canarias` */; +/*!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_canarias`(IN v_entrada BIGINT, IN v_ticket BIGINT) +BEGIN + + +set @w := 1; +set @tr := 0; +set @e := v_entrada; +set @t := v_ticket; + +select id, IF(warehouse_id_out = 13, @w, warehouse_id_out) into @tr, @w from travel join Entradas on id = travel_id where Id_Entrada = @e; + +update travel tr join Entradas e on tr.id = e.travel_id set warehouse_id_out = 13 where Id_Entrada = @e and warehouse_id_out <> 13; + +update Tickets set warehouse_id = @w where Id_Ticket = @t; + +REPLACE order_Tickets(order_id, Id_Ticket) VALUES(48,@t); + +delete mc.* from Movimientos_componentes mc join Movimientos m using(Id_Movimiento) where Id_Ticket = @t; + +insert into Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) +select Id_Movimiento, 28, nz(Costefijo) +from Movimientos m +join Compres c on Id_Entrada = @e and c.Id_Article = m.Id_Article +where Id_Ticket = @t +on DUPLICATE KEY UPDATE Valor = nz(Costefijo) ; + +insert into Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) +select Id_Movimiento, 29, Preu - nz(Costefijo) +from Movimientos m +join Compres c on Id_Entrada = @e and c.Id_Article = m.Id_Article +where Id_Ticket = @t +on DUPLICATE KEY UPDATE Valor = Preu - nz(Costefijo) ; + +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_componentes` */; +/*!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_componentes`(IN idTICKET BIGINT) +BEGIN + +SET @a:=0; + +SELECT IF(@a = Id_Movimiento, NULL, Concepte) as Concepte + ,IF(@a = Id_Movimiento, NULL, Cantidad) as Cantidad + ,IF(@a = Id_Movimiento, NULL, Id_Article) as Id_Article + , @a:= Id_Movimiento as IdM + , Id_Article as IdA + , Componente + , Valor + , Importe + , base + , margen +FROM +( +SELECT m.Id_Movimiento + , m.Concepte + , tc.Componente + , m.Cantidad + , mc.Valor + , round(m.Cantidad * mc.Valor,3) as Importe + , Id_Article + , base + , margen +FROM vn2008.Movimientos m +JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento) +INNER JOIN bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente +INNER JOIN bi.tarifa_componentes_series tcs using(tarifa_componentes_series_id) +WHERE m.Id_Ticket = idTICKET +ORDER BY Id_Movimiento +) sub; + + + + + + + +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_from_Entry` */; +/*!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_from_Entry`(IN IdEntrada INT(11), IN IdCliente INT(6), IN IdEmpresa INT(4), IN buying_quote DOUBLE, IN Ratio DOUBLE) +BEGIN + + DECLARE idTICKET INT(11); + + INSERT INTO Tickets(Id_Cliente, warehouse_id, Fecha, Alias, Id_Agencia, Id_Consigna, Id_Trabajador, empresa_id, Etiquetasemitidas, Localizacion) + SELECT IdCliente, 13, shipment, Consignatario, TR.agency_id, Id_Consigna, 20, IdEmpresa, TRUE, IdEntrada + FROM Entradas E + JOIN travel TR ON TR.id = E.travel_id + JOIN (SELECT Consignatario, Id_Consigna FROM Consignatarios WHERE Id_Cliente = IdCliente AND Predeterminada LIMIT 1) Consigna + WHERE Id_Entrada = IdEntrada; + -- JOIN Agencias AG ON AG.Id_Agencia = TR.agency_id + + SELECT LAST_INSERT_ID() INTO idTICKET; + + INSERT INTO Movimientos(Id_Ticket, Id_Article, Concepte, Cantidad, Preu, PrecioFijado) + SELECT idTICKET, Id_Article, Article, round(Cantidad * IF(Cantidad > round(1+ (1/buying_quote),0),buying_quote,1), 0), ROUND(Costefijo * Ratio,2), TRUE + FROM Compres c + JOIN Articles a using(Id_Article) + JOIN Tipos t on t.tipo_id = a.tipo_id + JOIN reinos r on r.id = t.reino_id + WHERE Id_Entrada = idEntrada + AND r.display <> 0 + AND Cantidad * buying_quote > 1; + + SELECT idTICKET; + +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_from_Entry_cursor` */; +/*!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 `Ticket_from_Entry_cursor`(IN IdEmpresa INt(4), IN IdCliente INT(5), IN buying_quote DOUBLE, IN Ratio DOUBLE) +BEGIN + +DECLARE done BIT DEFAULT 0; +DECLARE IdEntrada INT(10); + +-- Declaro el cursor para las entradas +DECLARE cursor_entradas CURSOR FOR +SELECT Id_Entrada +FROM Entradas E +JOIN travel TR ON TR.id = E.travel_id +WHERE shipment BETWEEN '2013-04-01' AND '2013-04-30' +AND warehouse_id = 17 +and warehouse_id_out = 1; + + + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +OPEN cursor_entradas; + +REPEAT + + FETCH cursor_entradas INTO IdEntrada; + + CALL Ticket_from_Entry(IdEntrada, IdCliente, IdEmpresa, buying_quote, Ratio); + + +UNTIL done END REPEAT; + +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_iva` */; +/*!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_iva`(vBillingDate DATE) + READS SQL DATA +BEGIN +/** + * Calcula la base imponible, el IVA y el recargo de equivalencia para + * un conjunto de tickets. + * + * @deprecated Use procedure vn.ticketGetTax() instead + * + * @table ticket_tmp(ticket_id) Tabla con el listado de tickets + * @param billing_date Fecha de facturación + * @treturn ticket_iva + */ + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT ticket_id ticketFk FROM ticket_tmp; + + CALL vn.ticketGetTax (vBillingDate); + + CREATE TEMPORARY TABLE ticket_iva + (INDEX (ticket_id)) + ENGINE = MEMORY + SELECT ticketFk ticket_id, type tipo, taxBase bi, tax iva, equalizationTax re + FROM tmp.ticketTax; + + DROP TEMPORARY TABLE + tmp.ticketTax, + tmp.ticket; +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_locatorbetaKk` */; +/*!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_locatorbetaKk`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) +BEGIN + DECLARE DATEFEC DATE DEFAULT CURDATE(); + DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); + DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); + DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); + + DROP TEMPORARY TABLE IF EXISTS `Locator`; + +-- usar ticket_total crear ticket_tmp(ticket_id) + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + CREATE TEMPORARY TABLE `ticket_tmp` + ENGINE = MEMORY + SELECT Id_Ticket ticket_id FROM Tickets t + WHERE t.Factura IS NULL + AND t.Fecha BETWEEN v_date_start AND v_date_future; + + CALL ticket_total(); + /* + DROP TEMPORARY TABLE IF EXISTS ticket_total2; + CREATE TEMPORARY TABLE `ticket_total2` + ENGINE = MEMORY + SELECT t.* FROM ticket_total t + LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id + LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket + LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id + LEFT JOIN state s ON s.id = i.state_id + LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id + LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + -- para pte recogida + LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id + LEFT JOIN warehouse w ON w.id = wh_ + LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ + + WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) + AND IFNULL(aw.Vista,a.Vista) > 0 + AND ((t1.Anotadoencaja = FALSE + AND t1.Etiquetasemitidas = FALSE + AND e.ticket_id IS NULL + AND t1.warehouse_id = wh_ + AND IFNULL(s.order,0) < 2) + OR (ts.state_name = 'Pte Recogida' + AND wp.warehouse_id IS NOT NULL)); + */ + SELECT t.* FROM ticket_total t + LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id + LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket + LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id + LEFT JOIN state s ON s.id = i.state_id + LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id + LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + -- para pte recogida + LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id + LEFT JOIN warehouse w ON w.id = wh_ + LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ + + WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) + AND IFNULL(aw.Vista,a.Vista) > 0 + AND ((t1.Anotadoencaja = FALSE + AND t1.Etiquetasemitidas = FALSE + AND e.ticket_id IS NULL)); + /* AND t1.warehouse_id = wh_ + AND IFNULL(s.order,0) < 2) + OR (ts.state_name = 'Pte Recogida' + AND wp.warehouse_id IS NOT NULL))*/ + /* + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + SELECT Id_Cliente, SUM(amount) risk + FROM Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM Recibos + WHERE Fechacobro > v_date_end + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, SUM(total) + FROM ticket_total tt + JOIN Tickets t ON tt.ticket_id = t.Id_Ticket + WHERE t.Fecha <= v_date_end + GROUP BY t.Id_Cliente + UNION ALL + SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + CREATE TEMPORARY TABLE `Locator` + ENGINE = MEMORY + SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,IFNULL(state_name,'libre') AS Estado, + Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad,UCASE(LEFT(w_out.`name`,5)) w_out + FROM Clientes C + INNER JOIN + ( + SELECT + t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, + NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, + t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, + t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, + t.empresa_id, t.Id_Agencia, + CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , + SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, + tt.total AS Importe, + IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, + 0 AS inacabable, + CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone + + FROM Tickets t + JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket + INNER JOIN Consignatarios CS USING(Id_Consigna) + LEFT JOIN province p USING(province_id) + LEFT JOIN Movimientos USING(Id_Ticket) + LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article + LEFT JOIN Tipos using(tipo_id) + LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + + GROUP BY t.Id_Ticket + ) T USING(Id_Cliente) + LEFT JOIN Tickets_state ts ON ts.Id_Ticket = T.Id_Ticket + LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador + LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) + JOIN warehouse w_out on w_out.id = T.warehouse_id + LEFT JOIN + ( + SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges + GROUP BY Id_Cliente + ) AS Agravios USING(Id_Cliente); + + + ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); + + UPDATE `Locator` JOIN + ( + SELECT d.Id_Ticket from Tickets_dits d + JOIN Tickets t using(Id_Ticket) + LEFT JOIN Agencias a using(Id_Agencia) + LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket + WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') + AND idaccion_dits = 18 AND ticket_id is null + AND t.warehouse_id = 1 + AND NOT Etiquetasemitidas + AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) + AND Vista in (1,2)) sub using(Id_Ticket) + SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); + + + -- ENTRADAS + INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) + SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, + v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 + FROM v_compres + INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id + WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False + AND v_compres.shipment >= date_; + + + +*/ + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + DROP TEMPORARY TABLE IF EXISTS ticket_total; + DROP TEMPORARY TABLE IF EXISTS ticket_total2; + DROP TEMPORARY TABLE IF EXISTS tmp.risk; +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_locatorkk` */; +/*!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_locatorkk`(date_ DATETIME, IN wh_ INT, IN days TINYINT) +BEGIN + DECLARE DATEFEC DATE DEFAULT CURDATE(); + DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); + DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); + DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); + + DROP TEMPORARY TABLE IF EXISTS `Locator`; + +-- usar ticket_total crear ticket_tmp(ticket_id) + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + CREATE TEMPORARY TABLE `ticket_tmp` + ENGINE = MEMORY + SELECT Id_Ticket ticket_id FROM Tickets t + WHERE t.Factura IS NULL + AND t.Fecha BETWEEN v_date_start AND v_date_future; + + CALL ticket_total(); + + DROP TEMPORARY TABLE IF EXISTS ticket_total2; + CREATE TEMPORARY TABLE `ticket_total2` + ENGINE = MEMORY + SELECT t.*,s.`order` state_order + FROM ticket_total t + LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id + LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket + LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id + LEFT JOIN state s ON s.id = i.state_id + LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id + LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + -- para pte recogida + LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id + LEFT JOIN warehouse w ON w.id = wh_ + LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ + + WHERE /*t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) + AND */IFNULL(aw.Vista,a.Vista) > 0 + AND ((t1.Anotadoencaja = FALSE + AND t1.Etiquetasemitidas = FALSE + AND e.ticket_id IS NULL + AND t1.warehouse_id = wh_ + AND IFNULL(s.alert_level,0) <= 3 + ) + OR (ts.state_name = 'Pte Recogida' + AND wp.warehouse_id IS NOT NULL)); + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + SELECT Id_Cliente, SUM(amount) risk + FROM Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM Recibos + WHERE Fechacobro > v_date_end + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, SUM(total) + FROM ticket_total tt + JOIN Tickets t ON tt.ticket_id = t.Id_Ticket + WHERE t.Fecha <= v_date_end + GROUP BY t.Id_Cliente + UNION ALL + SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + CREATE TEMPORARY TABLE `Locator` + ENGINE = MEMORY + SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,IFNULL(state_name,'libre') AS Estado, + Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad,UCASE(LEFT(w_out.`name`,5)) w_out + FROM Clientes C + INNER JOIN + ( + SELECT + t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, + NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, + t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, + t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, + t.empresa_id, t.Id_Agencia, + CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , + SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, + tt.total AS Importe, + IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, + 0 AS inacabable,state_order, + CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone + + FROM Tickets t + JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket + INNER JOIN Consignatarios CS USING(Id_Consigna) + LEFT JOIN province p USING(province_id) + LEFT JOIN Movimientos USING(Id_Ticket) + LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article + LEFT JOIN Tipos using(tipo_id) + LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + + GROUP BY t.Id_Ticket + ) T USING(Id_Cliente) + LEFT JOIN Tickets_state ts ON ts.Id_Ticket = T.Id_Ticket + LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador + LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) + JOIN warehouse w_out on w_out.id = T.warehouse_id + LEFT JOIN + ( + SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges + GROUP BY Id_Cliente + ) AS Agravios USING(Id_Cliente); + + + ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); + + UPDATE `Locator` JOIN + ( + SELECT d.Id_Ticket from Tickets_dits d + JOIN Tickets t using(Id_Ticket) + LEFT JOIN Agencias a using(Id_Agencia) + LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket + WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') + AND idaccion_dits = 18 AND ticket_id is null + AND t.warehouse_id = 1 + AND NOT Etiquetasemitidas + AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) + AND Vista in (1,2)) sub using(Id_Ticket) + SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); + + + -- CODIGO 100 + UPDATE `Locator` + JOIN Movimientos using(Id_Ticket) + SET Observaciones = 'CODIGO 100' + WHERE Id_Article = 100; + + + -- ENTRADAS + INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) + SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, + v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 + FROM v_compres + INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id + WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False + AND v_compres.shipment >= date_; + + + + + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + DROP TEMPORARY TABLE IF EXISTS ticket_total; + DROP TEMPORARY TABLE IF EXISTS ticket_total2; + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + + + +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_locator_experimentalKk` */; +/*!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_locator_experimentalKk`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) +BEGIN + DECLARE DATEFEC DATE DEFAULT CURDATE(); + DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); + DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); + DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); + DECLARE timeSTART DATETIME DEFAULT NOW(); + + SELECT timeSTART, 'ARRANCA'; + + DROP TEMPORARY TABLE IF EXISTS `Locator`; +/* +-- usar ticket_total crear ticket_tmp(ticket_id) + DROP TEMPORARY TABLE IF EXISTS ticket_tmp; + CREATE TEMPORARY TABLE `ticket_tmp` + (INDEX idx USING HASH (ticket_id)) + ENGINE = MEMORY + SELECT Id_Ticket ticket_id FROM Tickets t + WHERE t.Factura IS NULL + AND t.Fecha BETWEEN v_date_start AND v_date_future; + + CALL ticket_total(); + */ + DROP TEMPORARY TABLE IF EXISTS ticket_total; + + CREATE TEMPORARY TABLE ticket_total + (INDEX idx USING HASH (ticket_id)) + ENGINE = MEMORY + SELECT m.Id_Ticket as ticket_id, red(SUM(Cantidad * Preu * (100 - Descuento)/100)) AS total + FROM Movimientos m + JOIN Tickets t using(Id_Ticket) + WHERE t.Factura IS NULL + AND t.Fecha BETWEEN v_date_start AND v_date_future + GROUP BY ticket_id; + + + + SELECT TIMEDIFF(NOW(), timeSTART), 'TICKET_TOTAL'; + + DROP TEMPORARY TABLE IF EXISTS ticket_total2; + CREATE TEMPORARY TABLE `ticket_total2` + ENGINE = MEMORY + SELECT t.* FROM ticket_total t + LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id + LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id + LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) + AND t1.Anotadoencaja = FALSE + AND t1.Etiquetasemitidas = FALSE + AND e.ticket_id IS NULL + AND IFNULL(aw.Vista,a.Vista) > 0 + AND t1.warehouse_id = wh_; + + SELECT TIMEDIFF(NOW(), timeSTART), 'TICKET_TOTAL2'; + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + SELECT Id_Cliente, SUM(amount) risk + FROM Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM Recibos + WHERE Fechacobro > v_date_end + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, SUM(total) + FROM ticket_total tt + JOIN Tickets t ON tt.ticket_id = t.Id_Ticket + WHERE t.Fecha <= v_date_end + GROUP BY t.Id_Cliente + UNION ALL + SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + SELECT TIMEDIFF(NOW(), timeSTART), 'RISK'; + + + CREATE TEMPORARY TABLE `Locator` + ENGINE = MEMORY + SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,ticket_state(T.factura_id, T.PedidoImpreso, T.Etiquetasemitidas, T.Blocked) AS Estado, + Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad + FROM Clientes C + INNER JOIN + ( + SELECT + t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, + NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, + t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, + t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, + t.empresa_id, t.Id_Agencia, + CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , + SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, + tt.total AS Importe, + IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, + 0 AS inacabable, + CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone + + FROM Tickets t + JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket + INNER JOIN Consignatarios CS USING(Id_Consigna) + LEFT JOIN province p USING(province_id) + LEFT JOIN Movimientos USING(Id_Ticket) + LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article + LEFT JOIN Tipos using(tipo_id) + LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN agency ag ON ag.agency_id = a.agency_id + LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ + GROUP BY t.Id_Ticket + ) T USING(Id_Cliente) + LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador + LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) + LEFT JOIN + ( + SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges + GROUP BY Id_Cliente + ) AS Agravios USING(Id_Cliente); + + SELECT TIMEDIFF(NOW(), timeSTART), 'LOCATOR'; +ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); + + SELECT TIMEDIFF(NOW(), timeSTART), 'LOCATOR INDEX'; + +UPDATE `Locator` JOIN +( +SELECT d.Id_Ticket from Tickets_dits d +JOIN Tickets t using(Id_Ticket) +LEFT JOIN Agencias a using(Id_Agencia) +LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket +WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') +AND idaccion_dits = 18 AND ticket_id is null +AND t.warehouse_id = 1 +AND NOT Etiquetasemitidas +AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) +AND Vista in (1,2)) sub using(Id_Ticket) +SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); + + SELECT TIMEDIFF(NOW(), timeSTART), 'UPDATE'; + +-- ENTRADAS +INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) +SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, +v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 +FROM v_compres +INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id +WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False +AND v_compres.shipment >= date_; + + SELECT TIMEDIFF(NOW(), timeSTART), 'ENTRADAS'; +-- TICKET PTE RECOGIDA +INSERT INTO `Locator`(Fecha_Simple + , Id_Ticket + , Agencia + , Id_Cliente + , Alias + , PedidoImpreso + , CodigoTrabajador + , Fecha + , Estado + , Consignatario + , Vista + , PROVINCIA + , Riesgo + , Comercial + ,calidad + ,Bultos) + +SELECT date(t.Fecha) + , t.Id_Ticket + , a.Agencia + , t.Id_Cliente + , t.Alias + , t.PedidoImpreso + , UCASE(LEFT(w_out.name,5)) as CodigoTrabajador -- es el almacen de origen + , t.Fecha + , 0 as Estado + , t.Alias + ,3 + , w.name + , NULL + ,Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial + ,c.calidad + ,t.Bultos +FROM Tickets t +JOIN Clientes c using(Id_Cliente) +JOIN warehouse w_out on w_out.id = t.warehouse_id +JOIN warehouse w ON w.id = wh_ +JOIN Agencias a using(Id_Agencia) +JOIN warehouse_pickup wp on wp.agency_id = t.Id_Agencia and wp.warehouse_id = wh_ +JOIN + (select Id_Ticket, state_id from + ( + select Id_Ticket, odbc_date, state_id + from vncontrol.inter + where odbc_date >= timestampadd(day,-3,curdate()) + order by odbc_date desc, state_id desc + ) sub + group by Id_Ticket + having state_id = 15 -- Pendiente de entrega + ) sub2 using(Id_Ticket); + + SELECT TIMEDIFF(NOW(), timeSTART), 'PTE RECOGIDA'; + +DROP TEMPORARY TABLE IF EXISTS ticket_tmp; +DROP TEMPORARY TABLE IF EXISTS ticket_total; +DROP TEMPORARY TABLE IF EXISTS ticket_total2; +DROP TEMPORARY TABLE IF EXISTS tmp.risk; +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_new` */; +/*!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_new`( + IN idC INT + , IN newFEC DATE + , IN idWH INT + , IN idUSER INT + , IN idEMP INT + , IN idCON INT + , IN intTIPO INT + , IN idRUTA INT + , IN datLANDING DATE + , OUT newTICKET INT) +BEGIN +-- DEPRECATED usar ticketCreate + DECLARE boolaux TINYINT; + + SET boolaux = If(IdC = 200 Or IdC = 400 Or intTIPO = 23, True, False); + + INSERT INTO Tickets ( + Id_Cliente, + Fecha, + Id_Consigna, + Id_Trabajador, + Id_Agencia, + Alias, + Etiquetasemitidas, + Firmado, + warehouse_id, + Id_Ruta, + empresa_id, + landing) + SELECT + IdC, + newFEC, + Id_Consigna, + idUSER, + IF(intTIPO,intTIPO,Id_Agencia), + consignatario, + boolaux, + boolaux, + idWH, + IF(idRUTA,idRuta,NULL), + idEMP, + datLANDING + FROM Consignatarios c + INNER JOIN Agencias a USING(Id_Agencia) + WHERE IF(IdCON, Id_Consigna = IdCON, Predeterminada != 0) + AND Id_Cliente = idC + LIMIT 1; + + SELECT LAST_INSERT_ID() INTO newTICKET; + +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_new_complet` */; +/*!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_new_complet`( + IN idC INT + , IN newFEC DATE + , IN idWH INT + , IN idUSER INT + , IN idEMP INT + , IN idCON INT + , IN intTIPO INT + , IN idRUTA INT + , OUT newTICKET INT) +BEGIN +-- DEPRECATED usar ticketCreate + DECLARE boolaux TINYINT; + + + SET boolaux = If(IdC = 200 Or IdC = 400 Or intTIPO = 23, True, False); + + INSERT INTO Tickets ( + Id_Cliente, + Fecha, + Id_Consigna, + Id_Trabajador, + Id_Agencia, + Alias, + Etiquetasemitidas, + Firmado, + warehouse_id, + Id_Ruta, + empresa_id) + SELECT + IdC, + newFEC, + Id_Consigna, + idUSER, + IF(intTIPO,intTIPO,Id_Agencia), + consignatario, + boolaux, + boolaux, + idWH, + IF(idRUTA,idRuta,NULL), + idEMP + FROM Consignatarios c + INNER JOIN Agencias a USING(Id_Agencia) + WHERE IF(IdCON, Id_Consigna = IdCON, Predeterminada != 0) + AND Id_Cliente = idC + LIMIT 1; + + SELECT LAST_INSERT_ID() INTO newTICKET; + +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_portes_cobrados` */; +/*!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 `ticket_portes_cobrados`(IN idTICKET BIGINT) +BEGIN + +SELECT m.Id_Article, m.Concepte, m.Cantidad, mc.Valor, round(m.Cantidad * mc.Valor,2) as Porte +FROM vn2008.Movimientos m +JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento) +INNER JOIN bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente +WHERE m.Id_Ticket = idTICKET +AND tc.tarifa_componentes_series_id = 6; -- agencia + + + + + +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_portes_estimados` */; +/*!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_portes_estimados`(IN vTicketId BIGINT) +BEGIN + +SELECT + TICKET_FREIGHT(vTicketId) AS Porte_Volumen, + SUM(CAST(es.shipping_charge AS DECIMAL (10 , 2 ))) AS Porte_Bultos, + IFNULL(is_volumetric,0) AS is_volumetric +FROM + vn2008.v_expeditions_shipping_charge2 es +JOIN + vn2008.Tickets t on es.Id_Ticket = t.Id_Ticket +LEFT JOIN + vn2008.Rutas r on r.Id_Ruta = t.Id_Ruta +LEFT JOIN + vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia +WHERE + es.Id_Ticket = vTicketId; +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_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`@`%` PROCEDURE `ticket_total`() +BEGIN +/** + * Calcula el total con IVA de un conjunto de tickets. + * + * @deprecated Use procedure vn.ticketGetTotal() instead + * + * @table ticket_tmp(ticket_id) Tabla con el listado de tickets + * @return table ticket_total + */ + CALL ticket_iva (NULL); + + DROP TEMPORARY TABLE IF EXISTS ticket_total; + CREATE TEMPORARY TABLE ticket_total + (INDEX (ticket_id)) + ENGINE = MEMORY + SELECT ticket_id, red(SUM(bi + iva + re)) AS total + FROM ticket_iva GROUP BY ticket_id; + + DROP TEMPORARY TABLE ticket_iva; +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_volumen` */; +/*!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_volumen`(IN idT INT) +BEGIN + DECLARE intWh INTEGER; + DECLARE datFecha DATE; + + DROP TEMPORARY TABLE IF EXISTS ticket_volumen; + SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; + + CREATE TEMPORARY TABLE IF NOT EXISTS ticket_volumen ENGINE MEMORY + SELECT Id_Article,Cantidad, Concepte, VolUd as m3_uni, Volumen as m3, @m3:= @m3 + ifnull(Volumen,0) as m3_total + FROM + ( + SELECT round(r.cm3 / 1000000,3) as VolUd ,M.Cantidad, round(r.cm3 * M.Cantidad / 1000000,3) as Volumen, + M.Id_Article, Concepte, @m3:= 0, @vol:=0, Id_Agencia + FROM Movimientos M + JOIN Tickets T on T.Id_Ticket = M.Id_Ticket + JOIN bi.rotacion r ON r.Id_Article = M.Id_Article AND r.warehouse_id = T.warehouse_id + WHERE M.Id_Ticket = idT + ) sub; + +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 `top_seller` */; +/*!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 `top_seller`() +BEGIN + + drop table if exists top_sellers_min; + create temporary table top_sellers_min ENGINE = MEMORY + select a.Id_Article , tip.reino_id as Reino, count(m.Id_Article) as contados + from Movimientos m + inner join Tickets t + on m.Id_Ticket = t.Id_Ticket + inner join Articles a + on a.Id_Article = m.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tip.reino_id + where t.Fecha between timestampadd(day,-7,curdate()) and curdate() + group by m.Id_Article; + + drop table if exists top_seller; + create temporary table top_seller ENGINE = MEMORY + select a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 1 + order by contados desc + limit 5; + + insert into top_seller + select + a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 2 + order by contados desc + limit 5; + + insert into top_seller + select + a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 3 + order by contados desc + limit 5; + + insert into top_seller + select + a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 4 + order by contados desc + limit 5; + + insert into top_seller + select + a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 5 + order by contados desc + limit 5; + + insert into top_seller + select + a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, + tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados + from top_sellers_min tmp + inner join Articles a + on a.Id_Article = tmp.Id_Article + inner join Tipos tip + on a.tipo_id = tip.tipo_id + inner join reinos r + on r.id = tmp.Reino + where tmp.Reino = 7 + order by contados desc + limit 5; + + drop table if exists top_sellers_min; + +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 `Trabuque` */; +/*!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 `Trabuque`(IN intIDTICKET BIGINT, IN dblINCREMENTO DOUBLE ) +BEGIN + + + +#Vamos a calcular el porcentaje a incrementar las cantidades de las lineas de movimiento para inflar / desinflar la base final + +DECLARE dblBASE_INICIAL DOUBLE DEFAULT 0; +DECLARE dblBASE_FINAL DOUBLE DEFAULT 0; +DECLARE dblAUMENTO DOUBLE DEFAULT 1; + + +SELECT SUM(Cantidad * Preu * (100 - Descuento) / 100) +INTO dblBASE_INICIAL +FROM Movimientos +WHERE Id_Ticket = intIDTICKET; + +SET dblBASE_FINAL = dblBASE_INICIAL; + + +#Eliminamos lineas a 0 + +DELETE FROM Movimientos WHERE Cantidad = 0 AND Id_Ticket = intIDTICKET; + +# Vamos a ir probando incrementos paulatinos hasta que encontremos el que supera lo pedido, teniendo en cuenta el sentido del incremento + +IF dblINCREMENTO < 0 THEN + + + + WHILE (dblBASE_FINAL > dblBASE_INICIAL + dblINCREMENTO) or (dblAUMENTO < 0 ) DO + + SET dblAUMENTO = dblAUMENTO - 0.01; + + SELECT SUM(IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) * Preu * (100 - Descuento) / 100) + INTO dblBASE_FINAL + FROM Movimientos + WHERE Id_Ticket = intIDTICKET; + + END WHILE; + +ELSE + + WHILE dblBASE_FINAL < dblBASE_INICIAL + dblINCREMENTO DO + + SET dblAUMENTO = dblAUMENTO + 0.01; + + SELECT SUM(IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) * Preu * (100 - Descuento) / 100) + INTO dblBASE_FINAL + FROM Movimientos + WHERE Id_Ticket = intIDTICKET; + + END WHILE; + +END IF; + +UPDATE Movimientos +SET Cantidad = IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) +WHERE Id_Ticket = intIDTICKET; + +SELECT tipoiva + , ROUND(SUM(Cantidad * Preu * (100 - Descuento) / 100),2) as Base + , ROUND(ROUND(SUM(Cantidad * Preu * (100 - Descuento) / 100),2) * iva / 100,2) as Cuota +FROM Movimientos M +INNER JOIN Articles A USING(Id_Article) +INNER JOIN tblIVA USING(tipoiva) +WHERE Id_Ticket = intIDTICKET +GROUP BY tipoiva; + +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 `traslado` */; +/*!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 `traslado`(IN i_entrada INTEGER) +BEGIN + DECLARE dateShipment DATE; + DECLARE dateLanding DATE; + DECLARE warehouseShipment INTEGER; + DECLARE warehouseLanding INTEGER; + DECLARE v_calc_available INTEGER; + DECLARE v_calc_visible INTEGER; + + SELECT shipment, landing, warehouse_id_out, warehouse_id + INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding + FROM travel t JOIN Entradas e ON t.id = e.travel_id + WHERE Id_Entrada = i_entrada; + + CALL buy_tarifas_table(i_entrada); + + -- Traslado en almacen origen + + DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; + + CREATE TEMPORARY TABLE buy_edi_temp + (KEY (Id_Article)) ENGINE = MEMORY + + SELECT * + FROM (SELECT c.Id_Article, c.Id_Compra + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv() AND dateShipment + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 + ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t + GROUP BY Id_Article; + + IF dateShipment >= CURDATE() THEN + + CALL availableTraslate(warehouseShipment, dateShipment,NULL); + CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY + SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; + INSERT INTO tmp_item(item_id, available) + SELECT a.item_id, a.available FROM availableTraslate a + ON DUPLICATE KEY UPDATE available = a.available; + ELSE + CALL item_stock(warehouseShipment, dateShipment,NULL); + END IF; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + CREATE TEMPORARY TABLE Traslados ENGINE MEMORY + SELECT tp.Id_Tipo AS Tipo, + + tp.reino_id, + + ar.tipo_id, + + ar.Id_Article AS article_id, + + ar.Article, + + ar.Medida, + + ar.Categoria, + + ar.Color, + + Origen.abreviatura as Origen, + + CE.Cantidad, + + ar.Tallos, + + CAST(AIM.visible AS DECIMAL(10,0)) as vis1, + + CAST(AIM.available AS DECIMAL(10,0)) as dis1, + + 0 as vis2, + + 0 as dis2, + + IFNULL(CE.grouping,C.grouping) as grouping, + + IFNULL(CE.Packing,C.Packing) as Packing, + + IFNULL(CE.caja,C.caja) as caja, + + IFNULL(C.Productor, P2.Alias) AS Productor, + + C.Id_Cubo, + + 1 Tinta, + + CE.Id_Compra, + + CE.Etiquetas, + + C.buy_edi_id, + + tp.Id_Trabajador, + + CB.Volumen, + + CB.x, CB.y, CB.z, + + IFNULL(C.Costefijo,0) Costefijo, + + IFNULL(C.Comisionfija,0) Comisionfija, + + IFNULL(C.Portefijo,0) Portefijo, + + A.m3, + + E.comision, + + CB.Retornable, + + IFNULL(CEB.Valor,CB.Valor) Valor, + + t3, t2, tp.promo, + + C.grouping groupingOrigin, + + C.Packing PackingOrigin, + + C.Id_Compra CompraOrigin, + + CB.costeRetorno + + FROM Articles ar + LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article + LEFT JOIN Tipos tp ON tp.tipo_id = ar.tipo_id + LEFT JOIN Origen ON Origen.id = ar.id_origen + LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article + LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra + LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo + LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada + LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor + LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada + LEFT JOIN travel TR ON TR.id = E.travel_id + LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id + LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada + LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo + LEFT JOIN tblTARIFAS ON TRUE + WHERE tp.reino_id <> 6 AND tp.reino_id <> 8 + AND E.Redada = FALSE; + + CREATE INDEX tindex USING HASH ON Traslados (article_id); + +-- Inventario en el warehouse destino + IF dateShipment >= CURDATE() THEN + + CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); + CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); + + UPDATE Traslados t + LEFT JOIN availableTraslate a ON t.article_id = a.item_id + LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id + SET vis2 = v.visible, dis2 = a.available; + + END IF; +-- --------------------------------------------- + + SELECT t.*, + + Cantidad - MOD(Cantidad , grouping) as Subcantidad, + + MOD(Cantidad , grouping) as Soll, + + ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing,0) as cm3, + + Costefijo + Comisionfija + Portefijo AS Cost, + + @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, + + @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, + + ROUND(@embalaje := (costeRetorno + IF(Retornable != 0, 0, Valor)) / packing ,3) AS Embalaje, + + @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, + + @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, + + ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, + + 0 selected + + FROM Traslados t + WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 + ORDER BY tipo_id, Article, Medida, Categoria, Origen; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + DROP TEMPORARY TABLE IF EXISTS 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `trasladoBeta` */; +/*!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 `trasladoBeta`(IN i_entrada INTEGER) +BEGIN + DECLARE dateShipment DATE; + DECLARE dateLanding DATE; + DECLARE warehouseShipment INTEGER; + DECLARE warehouseLanding INTEGER; + DECLARE v_calc_available INTEGER; + DECLARE v_calc_visible INTEGER; + + SELECT shipment, landing, warehouse_id_out, warehouse_id + INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding + FROM travel t JOIN Entradas e ON t.id = e.travel_id + WHERE Id_Entrada = i_entrada; + + CALL buy_tarifas_table(i_entrada); + + -- Traslado en almacen origen + + DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; + + CREATE TEMPORARY TABLE buy_edi_temp + (KEY (Id_Article)) ENGINE = MEMORY + + SELECT * FROM (SELECT c.Id_Article, c.Id_Compra + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv() AND dateShipment + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 + ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t + GROUP BY Id_Article; + + IF dateShipment >= CURDATE() THEN + + -- CALL `cache`.available_refresh(v_calc_available, TRUE, warehouseShipment, dateShipment); + CALL availableTraslate(warehouseShipment, dateShipment,NULL); + CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY + SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; + INSERT INTO tmp_item(item_id, available) + SELECT a.item_id, a.available FROM availableTraslate a + ON DUPLICATE KEY UPDATE available = a.available; + ELSE + CALL item_stock(warehouseShipment, dateShipment,NULL); + END IF; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + CREATE TEMPORARY TABLE Traslados ENGINE MEMORY + SELECT TP.Id_Tipo AS Tipo, + + TP.reino_id, + + ar.tipo_id, + + ar.Id_Article AS article_id, + + ar.Article, + + ar.Medida, + + ar.Categoria, + + ar.Color, + + Origen.abreviatura as Origen, + + CE.Cantidad, + + ar.Tallos, + + CAST(AIM.visible AS DECIMAL(10,0)) as vis1, + + CAST(AIM.available AS DECIMAL(10,0)) as dis1, + + 0 as vis2, + + 0 as dis2, + + IFNULL(CE.grouping,C.grouping) as grouping, + + IFNULL(CE.Packing,C.Packing) as Packing, + + IFNULL(CE.caja,C.caja) as caja, + + IFNULL(C.Productor, P2.Alias) AS Productor, + + C.Id_Cubo, + + 1 Tinta, + + CE.Id_Compra, + + CE.Etiquetas, + + C.buy_edi_id, + + TP.Id_Trabajador, + + CB.Volumen, + + CB.x, CB.y, CB.z, + + IFNULL(C.Costefijo,0) Costefijo, + + IFNULL(C.Comisionfija,0) Comisionfija, + + IFNULL(C.Portefijo,0) Portefijo, + + A.m3, + + E.comision, + + CB.Retornable, + + IFNULL(CEB.Valor,CB.Valor) Valor, + + t3, t2, TP.promo + + FROM Articles ar + LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article + LEFT JOIN Tipos TP USING(tipo_id) + LEFT JOIN Origen ON Origen.id = ar.id_origen + LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article + LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra + LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo + LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada + LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor + LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada + LEFT JOIN travel TR ON TR.id = E.travel_id + LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id + LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada + LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo + LEFT JOIN tblTARIFAS ON TRUE + WHERE TP.reino_id <> 6 AND TP.reino_id <> 8 + AND E.Redada = FALSE; + + + CREATE INDEX tindex USING HASH ON Traslados (article_id); + +-- Inventario en el warehouse destino + IF dateShipment >= CURDATE() THEN + + CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); + SELECT warehouseLanding, dateLanding,warehouseShipment; + CALL availableTraslateTesting(warehouseLanding, dateLanding,warehouseShipment); + + SELECT * FROM availableTraslate; + + UPDATE Traslados t + LEFT JOIN availableTraslate a ON t.article_id = a.item_id + LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id + SET vis2 = v.visible, dis2 = a.available; + + END IF; +-- --------------------------------------------- + + SELECT t.*, + + Cantidad - MOD(Cantidad , grouping) as Subcantidad, + + MOD(Cantidad , grouping) as Soll, + + (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, + + Costefijo + Comisionfija + Portefijo AS Cost, + + @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, + + @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, + + @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, + + @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, + + @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, + + ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, + + 0 selected + + FROM Traslados t + WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 + ORDER BY tipo_id, Article, Medida, Categoria, Origen; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + +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 `trasladoKK` */; +/*!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 `trasladoKK`(IN i_entrada INTEGER) +BEGIN + DECLARE dateShipment DATE; + DECLARE dateLanding DATE; + DECLARE warehouseShipment INTEGER; + DECLARE warehouseLanding INTEGER; + DECLARE v_calc_available INTEGER; + DECLARE v_calc_visible INTEGER; + + + SELECT shipment, landing, warehouse_id_out, warehouse_id + INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding + FROM travel t JOIN Entradas e ON t.id = e.travel_id + WHERE Id_Entrada = i_entrada; + + CALL buy_tarifas_table(i_entrada); + + -- Traslado en almacen origen + + DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; + + CREATE TEMPORARY TABLE buy_edi_temp + (KEY (Id_Article)) ENGINE = MEMORY + + SELECT * + FROM (SELECT c.Id_Article, c.Id_Compra + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv() AND dateShipment + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 + ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t + GROUP BY Id_Article; + + IF dateShipment >= CURDATE() THEN + + CALL availableTraslate(warehouseShipment, dateShipment,NULL); + CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY + SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; + INSERT INTO tmp_item(item_id, available) + SELECT a.item_id, a.available FROM availableTraslate a + ON DUPLICATE KEY UPDATE available = a.available; + ELSE + CALL item_stock(warehouseShipment, dateShipment,NULL); + END IF; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + CREATE TEMPORARY TABLE Traslados ENGINE MEMORY + SELECT tp.Id_Tipo AS Tipo, + + tp.reino_id, + + ar.tipo_id, + + ar.Id_Article AS article_id, + + ar.Article, + + ar.Medida, + + ar.Categoria, + + ar.Color, + + Origen.abreviatura as Origen, + + CE.Cantidad, + + ar.Tallos, + + CAST(AIM.visible AS DECIMAL(10,0)) as vis1, + + CAST(AIM.available AS DECIMAL(10,0)) as dis1, + + 0 as vis2, + + 0 as dis2, + + IFNULL(CE.grouping,C.grouping) as grouping, + + IFNULL(CE.Packing,C.Packing) as Packing, + + IFNULL(CE.caja,C.caja) as caja, + + IFNULL(C.Productor, P2.Alias) AS Productor, + + C.Id_Cubo, + + 1 Tinta, + + CE.Id_Compra, + + CE.Etiquetas, + + C.buy_edi_id, + + tp.Id_Trabajador, + + CB.Volumen, + + CB.x, CB.y, CB.z, + + IFNULL(C.Costefijo,0) Costefijo, + + IFNULL(C.Comisionfija,0) Comisionfija, + + IFNULL(C.Portefijo,0) Portefijo, + + A.m3, + + E.comision, + + CB.Retornable, + + IFNULL(CEB.Valor,CB.Valor) Valor, + + t3, t2, tp.promo, + + C.grouping groupingOrigin, + + C.Packing PackingOrigin, + + C.Id_Compra CompraOrigin + + FROM Articles ar + LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article + LEFT JOIN Tipos tp ON tp.tipo_id = ar.tipo_id + LEFT JOIN Origen ON Origen.id = ar.id_origen + LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article + LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra + LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo + LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada + LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor + LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada + LEFT JOIN travel TR ON TR.id = E.travel_id + LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id + LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada + LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo + LEFT JOIN tblTARIFAS ON TRUE + WHERE tp.reino_id <> 6 AND tp.reino_id <> 8 + AND E.Redada = FALSE; + + CREATE INDEX tindex USING HASH ON Traslados (article_id); + +-- Inventario en el warehouse destino + IF dateShipment >= CURDATE() THEN + + CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); + CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); + + UPDATE Traslados t + LEFT JOIN availableTraslate a ON t.article_id = a.item_id + LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id + SET vis2 = v.visible, dis2 = a.available; + + END IF; +-- --------------------------------------------- + + SELECT t.*, + + Cantidad - MOD(Cantidad , grouping) as Subcantidad, + + MOD(Cantidad , grouping) as Soll, + + (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, + + Costefijo + Comisionfija + Portefijo AS Cost, + + @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, + + @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, + + @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, + + @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, + + @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, + + ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, + + 0 selected + + FROM Traslados t + WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 + ORDER BY tipo_id, Article, Medida, Categoria, Origen; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + DROP TEMPORARY TABLE IF EXISTS 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `trasladoTesting` */; +/*!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 `trasladoTesting`(IN i_entrada INTEGER) +BEGIN + DECLARE dateShipment DATE; + DECLARE dateLanding DATE; + DECLARE warehouseShipment INTEGER; + DECLARE warehouseLanding INTEGER; + DECLARE v_calc_available INTEGER; + DECLARE v_calc_visible INTEGER; + + SELECT shipment, landing, warehouse_id_out, warehouse_id + INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding + FROM travel t JOIN Entradas e ON t.id = e.travel_id + WHERE Id_Entrada = i_entrada; + + CALL buy_tarifas_table(i_entrada); + + -- Traslado en almacen origen + + DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; + + CREATE TEMPORARY TABLE buy_edi_temp + (KEY (Id_Article)) ENGINE = MEMORY + + SELECT * FROM (SELECT c.Id_Article, c.Id_Compra + FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) + INNER JOIN travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN date_inv() AND dateShipment + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 + ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t + GROUP BY Id_Article; + + IF dateShipment >= CURDATE() THEN + + CALL `cache`.available_refresh(v_calc_available, TRUE, warehouseShipment, dateShipment); + -- CALL `cache`.availableTraslate(warehouseShipment, dateShipment,NULL); + CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY + SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; + INSERT INTO tmp_item(item_id, available) + SELECT a.item_id, a.available FROM `cache`.available a WHERE a.calc_id = v_calc_available + ON DUPLICATE KEY UPDATE available = a.available; + ELSE + CALL item_stock(warehouseShipment, dateShipment,NULL); + END IF; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + CREATE TEMPORARY TABLE Traslados ENGINE MEMORY + SELECT TP.Id_Tipo AS Tipo, + + TP.reino_id, + + ar.tipo_id, + + ar.Id_Article AS article_id, + + ar.Article, + + ar.Medida, + + ar.Categoria, + + ar.Color, + + Origen.abreviatura as Origen, + + CE.Cantidad, + + ar.Tallos, + + CAST(AIM.visible AS DECIMAL(10,0)) as vis1, + + CAST(AIM.available AS DECIMAL(10,0)) as dis1, + + 0 as vis2, + + 0 as dis2, + + IFNULL(CE.grouping,C.grouping) as grouping, + + IFNULL(CE.Packing,C.Packing) as Packing, + + IFNULL(CE.caja,C.caja) as caja, + + IFNULL(C.Productor, P2.Alias) AS Productor, + + C.Id_Cubo, + + 1 Tinta, + + CE.Id_Compra, + + CE.Etiquetas, + + C.buy_edi_id, + + TP.Id_Trabajador, + + CB.Volumen, + + CB.x, CB.y, CB.z, + + IFNULL(C.Costefijo,0) Costefijo, + + IFNULL(C.Comisionfija,0) Comisionfija, + + IFNULL(C.Portefijo,0) Portefijo, + + A.m3, + + E.comision, + + CB.Retornable, + + IFNULL(CEB.Valor,CB.Valor) Valor, + + t3, t2, TP.promo + + FROM Articles ar + LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article + LEFT JOIN Tipos TP USING(tipo_id) + LEFT JOIN Origen ON Origen.id = ar.id_origen + LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article + LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra + LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo + LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada + LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor + LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada + LEFT JOIN travel TR ON TR.id = E.travel_id + LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id + LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada + LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo + LEFT JOIN tblTARIFAS ON TRUE + WHERE TP.reino_id <> 6 AND TP.reino_id <> 8 + AND E.Redada = FALSE; + + + CREATE INDEX tindex USING HASH ON Traslados (article_id); + +-- Inventario en el warehouse destino + IF dateShipment >= CURDATE() THEN + + CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); + CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); + + UPDATE Traslados t + LEFT JOIN availableTraslate a ON t.article_id = a.item_id + LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id + SET vis2 = v.visible, dis2 = a.available; + + END IF; +-- --------------------------------------------- + + SELECT t.*, + + Cantidad - MOD(Cantidad , grouping) as Subcantidad, + + MOD(Cantidad , grouping) as Soll, + + (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, + + Costefijo + Comisionfija + Portefijo AS Cost, + + @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, + + @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, + + @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, + + @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, + + @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, + + ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, + + 0 selected + + FROM Traslados t + WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 + ORDER BY tipo_id, Article, Medida, Categoria, Origen; + + DROP TEMPORARY TABLE IF EXISTS Traslados; + +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 `traslado_label` */; +/*!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 `traslado_label`(IN intArticle INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER) +BEGIN + +DECLARE intEntrada INTEGER; +DECLARE i_FV INTEGER; + +SELECT FV INTO i_FV +FROM Articles a +JOIN Tipos tp ON tp.tipo_id = a.tipo_id +WHERE a.Id_Article = intArticle; + +SET intEntrada = IF(i_FV, i_entrada_FV,i_entrada_PCA); + +SET intEntrada = IF(intEntrada = 0, i_entrada_PCA + i_entrada_FV, intEntrada); + + + IF intEntrada > 0 THEN + + CALL buy_tarifas_table(intEntrada); + + INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, + Costefijo, Portefijo, Embalajefijo, Comisionfija, novincular,buy_edi_id) + SELECT + land.Id_Article, + land.Etiquetas - IFNULL(ship.Etiquetas,0) - (IFNULL(Ventas,0) / land.Packing), + land.Cantidad - IFNULL(ship.Cantidad,0) - IFNULL(Ventas,0), + intEntrada, + land.Id_Cubo, + land.Packing, + land.grouping, + land.caja, + @cost := ROUND(IFNULL(land.Costefijo, 0) + IFNULL(land.Comisionfija, 0) + IFNULL(land.Portefijo, 0), + 3) Costefij, + @porte := ROUND((@cm3:= cm3_2(land.Id_Cubo, land.Id_Article)) * a.m3 / 1000000 / land.Packing, + 3) Porte, + land.EmbalajeFijo AS Embalaje, + @comision := ROUND(land.Costefijo * e2.comision / 100, 3) Comision, + land.novincular,land.buy_edi_id + FROM ( + select c_land.Id_Cubo,c_land.Packing,c_land.grouping,c_land.Costefijo,c_land.Comisionfija,c_land.Portefijo,c_land.caja,SUM(c_land.Etiquetas) Etiquetas,c_land.EmbalajeFijo, + c_land.novincular,c_land.buy_edi_id,c_land.Id_Article,SUM(c_land.Cantidad) Cantidad + from + -- Entradas que llegan a vnh + Compres c_land + JOIN + Entradas e_land ON c_land.Id_Entrada = e_land.Id_Entrada AND c_land.Id_Article = intArticle + JOIN + travel t_land ON t_land.id = e_land.travel_id + JOIN + Cubos cu ON cu.Id_Cubo = c_land.Id_Cubo + WHERE + -- Entradas que llegan a vnh + (t_land.warehouse_id = 7 AND t_land.landing = CURDATE()) + ) land + LEFT JOIN -- Entradas que salen de vnh + (SELECT SUM(c_ship.Etiquetas) Etiquetas,c_ship.Packing,SUM(c_ship.Cantidad) Cantidad + FROM Compres c_ship + LEFT JOIN Entradas e_ship ON c_ship.Id_Entrada = e_ship.Id_Entrada AND c_ship.Id_Article = intArticle + LEFT JOIN travel t_ship ON t_ship.id = e_ship.travel_id + WHERE t_ship.warehouse_id_out = 7 AND t_ship.shipment = CURDATE() + -- Entrada destino + ) ship ON TRUE + JOIN Entradas e2 ON e2.Id_Entrada = intEntrada + JOIN travel t ON t.id = e2.travel_id + JOIN Agencias a ON t.agency_id = a.Id_Agencia + -- Ventas ese dia en VNH + LEFT JOIN + (SELECT sum(Cantidad) as Ventas + FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket + WHERE t.Fecha = CURDATE() AND m.Id_Article = intArticle AND t.warehouse_id = 7) v on true + GROUP BY land.Id_Article; + CALL buy_tarifas(LAST_INSERT_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 `traslado_label_2` */; +/*!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 `traslado_label_2`(IN i_compra INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER, i_cantidad INTEGER) +BEGIN + +-- PAK 2015-09-15 +DECLARE idARTICLE INT; + +SELECT Id_Article INTO idARTICLE FROM Compres WHERE Id_Compra = i_compra; + +call traslado_label_3(idARTICLE,i_entrada_FV,i_entrada_PCA); + +/* +DECLARE i_entrada_shipment INTEGER; +DECLARE i_entrada_landing INTEGER; +DECLARE i_FV INTEGER; + +SELECT c.Id_Entrada, FV INTO i_entrada_shipment, i_FV +FROM Compres c +JOIN Articles a ON a.Id_Article = c.Id_Article +JOIN Tipos tp ON tp.tipo_id = a.tipo_id +WHERE Id_Compra = i_compra; + +SET i_entrada_landing = IF(i_FV, i_entrada_FV,i_entrada_PCA); + +SET i_entrada_landing = IF(i_entrada_landing = 0, i_entrada_PCA + i_entrada_FV, i_entrada_landing); + +IF i_entrada_landing > 0 THEN + + CALL buy_tarifas_table(i_entrada_landing); + + INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, + Costefijo, Portefijo, Embalajefijo, Comisionfija, Productor, S3, S4, S2, novincular,k01,k02,k03,k04,buy_edi_id) + SELECT + Id_Article, + i_cantidad / Packing, + i_cantidad, + i_entrada_landing, + Id_Cubo, + Packing, + c.grouping, + c.caja, + @cost := ROUND(IFNULL(Costefijo, 0) + IFNULL(Comisionfija, 0) + IFNULL(Portefijo, 0), + 3) Costefij, + @porte := ROUND((@cm3:= cm3_2(Id_Cubo, Id_Article)) * a.m3 / 1000000 / Packing, + 3) Porte, + EmbalajeFijo AS Embalaje, + @comision := ROUND(Costefijo * e2.comision / 100, 3) Comision, + Productor, + S3, + S4, + S2, + novincular,c.k01,c.k02,c.k03,c.k04,c.buy_edi_id + FROM + Compres c + JOIN + Entradas e USING (Id_Entrada) + JOIN + Cubos cu USING (Id_Cubo) + JOIN + Entradas e2 ON e2.Id_Entrada = i_entrada_landing + JOIN + travel t ON t.id = e2.travel_id + JOIN + Agencias a ON t.agency_id = a.Id_Agencia + WHERE + Id_Compra = i_compra and i_cantidad; + + +CALL buy_tarifas(LAST_INSERT_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 `traslado_label_3` */; +/*!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 `traslado_label_3`(IN intArticle INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER) +BEGIN +-- DEPRECATED usar traslado_label +DECLARE intEntrada INTEGER; +DECLARE i_FV INTEGER; + +SELECT FV INTO i_FV +FROM Articles a +JOIN Tipos tp ON tp.tipo_id = a.tipo_id +WHERE a.Id_Article = intArticle; + +SET intEntrada = IF(i_FV, i_entrada_FV,i_entrada_PCA); + +SET intEntrada = IF(intEntrada = 0, i_entrada_PCA + i_entrada_FV, intEntrada); + + + IF intEntrada > 0 THEN + + CALL buy_tarifas_table(intEntrada); + + INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, + Costefijo, Portefijo, Embalajefijo, Comisionfija, novincular,buy_edi_id) + SELECT + land.Id_Article, + land.Etiquetas - IFNULL(ship.Etiquetas,0) - (IFNULL(Ventas,0) / land.Packing), + land.Cantidad - IFNULL(ship.Cantidad,0) - IFNULL(Ventas,0), + intEntrada, + land.Id_Cubo, + land.Packing, + land.grouping, + land.caja, + @cost := ROUND(IFNULL(land.Costefijo, 0) + IFNULL(land.Comisionfija, 0) + IFNULL(land.Portefijo, 0), + 3) Costefij, + @porte := ROUND((@cm3:= cm3_2(land.Id_Cubo, land.Id_Article)) * a.m3 / 1000000 / land.Packing, + 3) Porte, + land.EmbalajeFijo AS Embalaje, + @comision := ROUND(land.Costefijo * e2.comision / 100, 3) Comision, + land.novincular,land.buy_edi_id + FROM ( + select c_land.Id_Cubo,c_land.Packing,c_land.grouping,c_land.Costefijo,c_land.Comisionfija,c_land.Portefijo,c_land.caja,SUM(c_land.Etiquetas) Etiquetas,c_land.EmbalajeFijo, + c_land.novincular,c_land.buy_edi_id,c_land.Id_Article,SUM(c_land.Cantidad) Cantidad + from + -- Entradas que llegan a vnh + Compres c_land + JOIN + Entradas e_land ON c_land.Id_Entrada = e_land.Id_Entrada AND c_land.Id_Article = intArticle + JOIN + travel t_land ON t_land.id = e_land.travel_id + JOIN + Cubos cu ON cu.Id_Cubo = c_land.Id_Cubo + WHERE + -- Entradas que llegan a vnh + (t_land.warehouse_id = 7 AND t_land.landing = CURDATE()) + ) land + LEFT JOIN -- Entradas que salen de vnh + (SELECT SUM(c_ship.Etiquetas) Etiquetas,c_ship.Packing,SUM(c_ship.Cantidad) Cantidad + FROM Compres c_ship + LEFT JOIN Entradas e_ship ON c_ship.Id_Entrada = e_ship.Id_Entrada AND c_ship.Id_Article = intArticle + LEFT JOIN travel t_ship ON t_ship.id = e_ship.travel_id + WHERE t_ship.warehouse_id_out = 7 AND t_ship.shipment = CURDATE() + -- Entrada destino + ) ship ON TRUE + JOIN Entradas e2 ON e2.Id_Entrada = intEntrada + JOIN travel t ON t.id = e2.travel_id + JOIN Agencias a ON t.agency_id = a.Id_Agencia + -- Ventas ese dia en VNH + LEFT JOIN + (SELECT sum(Cantidad) as Ventas + FROM Movimientos m + JOIN Tickets t on t.Id_Ticket = m.Id_Ticket + WHERE t.Fecha = CURDATE() AND m.Id_Article = intArticle AND t.warehouse_id = 7) v on true + GROUP BY land.Id_Article; + CALL buy_tarifas(LAST_INSERT_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 `traslado_ticket` */; +/*!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`@`localhost` PROCEDURE `traslado_ticket`(IN i_entrada INTEGER, IN i_ticket INTEGER) +BEGIN + + DECLARE intWarehouse INT; + DECLARE datTicket DATE; + + SELECT warehouse_id, Fecha INTO intWarehouse,datTicket FROM Tickets WHERE Id_Ticket = i_ticket; + + CALL buy_tarifas_table(i_entrada); + + CALL item_last_buy_(intWarehouse,datTicket); + + + INSERT INTO Compres( Id_Article, + Cantidad, + Novincular, + Id_Entrada, + Id_Cubo, + Packing, + grouping, + caja, + Portefijo, + Comisionfija, + Embalajefijo, + Costefijo, + Productor, + Tarifa2, + Tarifa3 + ) + + SELECT M.Id_Article, + IF(T.Id_Cliente IN (1625, 1118, 400), -1, 1) * M.Cantidad, + + IF(T.Id_Cliente IN (1625, 1118, 400), TRUE, FALSE), + i_entrada, + IFNULL(C.Id_Cubo,'--'), + C.Packing, + C.grouping, + C.caja, + @pf := ROUND(@cm3:=cm3_2(IFNULL(C.Id_Cubo,'--'), b.item_id) * AG.m3 / 1000000 / C.Packing ,3) AS Porte, + @cf := IFNULL(ROUND(C.Costefijo * E.comision / 100 ,3),0) AS Comision, + @ef := ROUND(IF(CB.Retornable = FALSE,CB.Valor/ C.Packing,0) ,3) AS Embalaje, + @cost := ROUND(IFNULL(C.Costefijo,0) + @cf + @ef + @pf,3), + C.Productor, + @t3 := ROUND(@cost / ((100 - TC.t3)/100),2) Tarifa3, + @t2 := IF(@cost / ((100 - TC.t2)/100) <= @t3,@t3+0.01,@cost / ((100 - TC.t2)/100)) Tarifa2 + + FROM Movimientos M + LEFT JOIN Tickets T USING(Id_Ticket) + LEFT JOIN t_item_last_buy b ON M.Id_Article = b.item_id AND T.warehouse_id = b.warehouse_id + LEFT JOIN Compres C ON C.Id_Compra = b.buy_id + LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo + LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada + LEFT JOIN travel TR ON TR.id = E.travel_id + LEFT JOIN Agencias AG ON AG.Id_Agencia = TR.agency_id + LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor + JOIN tblTARIFAS TC + LEFT JOIN tblContadores ON TRUE + JOIN (SELECT m3 as ZEL_PORT FROM Agencias WHERE Id_Agencia = 618) Z + WHERE M.Id_Ticket = i_ticket; + + + DROP TEMPORARY TABLE t_item_last_buy; + + +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 `travelDetail` */; +/*!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 `travelDetail`() +BEGIN + +DECLARE vGap VARCHAR(10) DEFAULT ' '; +DECLARE vDateFrom DATE DEFAULT TIMESTAMPADD(WEEK,-1,CURDATE()); + +SELECT * FROM +( +SELECT + 1 as IsTravel, + tr.id as travel, + NULL as Entrada, + ag.Agencia, + tr.ref, + tr.shipment, + wo.name as OrigenCajas, + tr.landing, + w.name as Destino, + sum(c.Etiquetas) as Etiquetas, + NULL as Notas_Eva, + kg, + cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedKg, + NULL as loadPriority, + NULL as Notas, + pc.Alias as Carguera + FROM travel tr + LEFT JOIN Proveedores pc ON pc.Id_Proveedor = tr.cargoSupplierFk + LEFT JOIN Entradas e ON e.travel_id = tr.id + LEFT JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + LEFT JOIN Cubos cb ON cb.Id_Cubo = c.Id_Cubo + LEFT JOIN Articles a ON a.Id_Article = c.Id_Article + LEFT JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN warehouse w ON w.id = tr.warehouse_id + JOIN warehouse wo ON wo.id = tr.warehouse_id_out + JOIN Agencias ag ON ag.Id_Agencia = tr.agency_id + WHERE tr.landing >= vDateFrom + GROUP BY tr.id + +UNION ALL + +SELECT + 0 as IsTravel, + e.travel_id as travel, + e.Id_Entrada, + CONCAT(vGap,p.Proveedor), + e.Referencia, + tr.shipment, + wo.name as OrigenCajas, + tr.landing, + w.name as Destino, + sum(Etiquetas) as Etiquetas, + e.Notas_Eva, + NULL as kg, + cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedkg, + loadPriority, + -- CAST(awb.codigo AS DECIMAL(11,0)) as awb, + e.Notas, + pc.Proveedor as carguera + + FROM Entradas e + /* LEFT JOIN recibida_entrada re ON re.Id_Entrada = e.Id_Entrada + LEFT JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida + LEFT JOIN awb ON awb.id = ar.awb_id + */ JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + JOIN Cubos cb ON cb.Id_Cubo = c.Id_Cubo + JOIN Articles a ON a.Id_Article = c.Id_Article + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor + JOIN travel tr ON tr.id = e.travel_id + LEFT JOIN Proveedores pc ON pc.Id_Proveedor = tr.cargoSupplierFk + JOIN warehouse w ON w.id = tr.warehouse_id + JOIN warehouse wo ON wo.id = tr.warehouse_id_out + WHERE tr.landing >= vDateFrom + GROUP BY e.Id_Entrada +) sub +ORDER BY landing, travel, IsTravel DESC, (loadPriority > 0) DESC,loadPriority, Agencia, Notas_Eva ; + +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 `travel_tree` */; +/*!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 `travel_tree`(vDate DATE, vAddress INT, vAgency INT) +BEGIN +/** + * Devuelve la lista de almacenes disponibles y la fecha de + * envío desde cada uno. + * + * @param vDate Fecha de recepción de mercancía + * @param vAddress Id consignatario, %NULL para recogida + * @param vAgency Id de subagencia + * @table travel_tree Lista de almacenes disponibles + */ + DECLARE vDone BOOL; + DECLARE vWh SMALLINT; + + DECLARE vCur CURSOR FOR + SELECT w.id warehouse_id + FROM warehouse w + WHERE reserve; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DROP TEMPORARY TABLE IF EXISTS travel_tree; + CREATE TEMPORARY TABLE travel_tree + ( + warehouse_id TINYINT NOT NULL PRIMARY KEY, + Fecha_envio DATE NOT NULL, + Fecha_recepcion DATE NOT NULL + ) + ENGINE = MEMORY; + + -- Establecemos los almacenes y las fechas que van a entrar + + OPEN vCur; + + l: LOOP + SET vDone = FALSE; + FETCH vCur INTO vWh; + + IF vDone THEN + LEAVE l; + END IF; + + INSERT INTO travel_tree (warehouse_id, Fecha_envio, Fecha_recepcion) + SELECT vWh, shipping, vDate FROM ( + SELECT TIMESTAMPADD(DAY, -ah.subtract_day, vDate) shipping, ah.max_hour + FROM agency_hour ah + LEFT JOIN Consignatarios c ON c.Id_Consigna = vAddress + WHERE ah.warehouse_id = vWh + AND (week_day = WEEKDAY(vDate) + OR week_day IS NULL) + AND (ah.agency_id = vAgency + OR ah.agency_id IS NULL) + AND (ah.province_id = c.province_id + OR ah.province_id IS NULL + OR vAddress IS NULL) + ORDER BY ( + (ah.week_day IS NOT NULL) + + (ah.agency_id IS NOT NULL) + + ((ah.province_id IS NOT NULL) * 3) + ) DESC + LIMIT 1 + ) t + WHERE shipping >= CURDATE() + AND IF(shipping = CURDATE(), max_hour > HOUR(NOW()), TRUE); + END LOOP; + + CLOSE vCur; +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 `travel_tree_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 `travel_tree_list`(vAddress INT, vDate DATE) +BEGIN +/** + * Devuelve el listado de agencias disponibles para la fecha + * y dirección pasadas. + * + * @param vAddress Id de dirección de envío, %NULL si es recogida + * @param vDate Fecha de recogida + * @table agency_list Listado de agencias disponibles + */ + DECLARE vAgency INT; + DECLARE vDone BOOL DEFAULT FALSE; + + DECLARE vCur CURSOR FOR + SELECT DISTINCT agency_id + FROM agency + JOIN agency_hour USING(agency_id); + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + DROP TEMPORARY TABLE IF EXISTS agency_list; + CREATE TEMPORARY TABLE agency_list ( + Id_Agencia INT NOT NULL, + Agencia VARCHAR(20), + description VARCHAR(45), + Vista VARCHAR(45), + shipment DATE, + Descripcion VARCHAR(45), + PRIMARY KEY(Id_Agencia) + ) + ENGINE = MEMORY; + + OPEN vCur; + FETCH vCur INTO vAgency; + + WHILE NOT vDone + DO + CALL travel_tree (vDate, vAddress, vAgency); + + INSERT INTO agency_list + SELECT a.Id_Agencia, a.Agencia, a.description, + a.Vista, t.Fecha_Envio, w.name as Descripcion + FROM Agencias a + JOIN travel_tree t + JOIN warehouse w on w.id = t.warehouse_id + WHERE agency_id = vAgency + AND a.web + ON DUPLICATE KEY UPDATE + Descripcion = CONCAT(Descripcion, ', ', w.name); + + FETCH vCur INTO vAgency; + END WHILE; + + CLOSE vCur; + + SELECT * FROM agency_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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `travel_tree_shipment` */; +/*!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 `travel_tree_shipment`(v_date DATE, v_consigna INT, v_agency INT, v_warehouse INT) +BEGIN +/** + * Devuelve una tabla temporal con el dia de recepcion para v_date. + * + * @param v_date Fecha de preparacion de mercancia + * @param v_consigna Id de consignatario, %NULL para recogida + * @param v_agency Id agencia + * @table travel_tree_shipment Datos de recepción + */ + DROP TEMPORARY TABLE IF EXISTS travel_tree_shipment; + CREATE TEMPORARY TABLE travel_tree_shipment + ENGINE = MEMORY + SELECT v_warehouse warehouse_id, v_envio landing FROM ( + SELECT * FROM ( + SELECT v_warehouse, TIMESTAMPADD(DAY, subtract_day, v_date) v_envio, subtract_day, ah.max_hour + FROM agency_hour ah + LEFT JOIN Consignatarios c ON c.Id_Consigna = v_consigna + WHERE (week_day = weekday(TIMESTAMPADD(DAY, subtract_day, v_date)) OR week_day IS NULL) + AND (ah.agency_id = v_agency OR ah.agency_id IS NULL) + AND ah.warehouse_id = v_warehouse + AND (ah.province_id = c.province_id OR ah.province_id IS NULL OR v_consigna IS NULL) + ORDER BY ( + (ah.week_day IS NOT NULL) + + (ah.agency_id IS NOT NULL) + + ((ah.province_id IS NOT NULL)*3) + ) DESC + ) t + LIMIT 1 + ) t + WHERE IF(v_date = CURDATE(), max_hour > HOUR(NOW()), TRUE) AND subtract_day < 225; +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 `turnoClon` */; +/*!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 `turnoClon`(IN vWeek INT, IN vYear INT) +BEGIN + +DECLARE done BIT DEFAULT 0; +DECLARE myEntrada INT; +DECLARE myWeekday INT; +DECLARE myLanding DATE; +DECLARE myShipment DATE; +DECLARE myDateDiff INT; +DECLARE myTravel INT; +DECLARE myNuevaEntrada INT; +DECLARE myWH_IN INT; +DECLARE myWH_OUT INT; + +DECLARE rs CURSOR FOR +SELECT Id_Entrada, weekDay FROM Entradas_turno; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + +IF vWeek = 0 THEN + + SET vWeek = WEEK(TIMESTAMPADD(WEEK,1,CURDATE())); + SET vYear = YEAR(TIMESTAMPADD(WEEK,1,CURDATE())); + +END IF; + + +OPEN rs; + +FETCH rs INTO myEntrada, myWeekday; + +WHILE NOT done DO + + SELECT DATEDIFF(landing,shipment), warehouse_id, warehouse_id_out INTO myDateDiff, myWH_IN, myWH_OUT + FROM travel t + JOIN Entradas e on e.travel_id = t.id + WHERE Id_Entrada = myEntrada; + + SELECT date, TIMESTAMPADD(DAY, - myDateDiff, date) + INTO myLanding , myShipment + FROM time + WHERE year = vYear AND week = vWeek + AND WEEKDAY(date) = myWeekday; + + SELECT t.id INTO myTravel + FROM travel t + WHERE shipment = myShipment + AND landing = myLanding + AND warehouse_id = myWH_IN + AND warehouse_id_out = myWH_OUT + LIMIT 1; + + IF IFNULL(myTravel,0) = 0 THEN + + INSERT INTO travel(shipment, shipment_hour, landing,landing_hour, warehouse_id, warehouse_id_out,agency_id, ref) + SELECT myShipment, shipment_hour, myLanding ,landing_hour, warehouse_id, warehouse_id_out,agency_id, ref + FROM travel t + JOIN Entradas e on e.travel_id = t.id + WHERE Id_Entrada = myEntrada; + + SELECT LAST_INSERT_ID() INTO myTravel; + + + END IF; + + INSERT INTO Entradas(Id_Proveedor,Referencia, Notas, Id_Moneda, empresa_id, travel_id) + SELECT Id_Proveedor, Referencia, Notas, Id_Moneda, empresa_id, myTravel + FROM Entradas + WHERE Id_Entrada = myEntrada; + + SELECT LAST_INSERT_ID() INTO myNuevaEntrada; + + INSERT INTO Compres(Id_Entrada, Id_Article, Cantidad, Costefijo, Portefijo, Embalajefijo, Novincular, Comisionfija, Etiquetas, Packing + ,grouping, caja, /*container_id, */Nicho, Id_Cubo, Tarifa1,Tarifa2,Tarifa3, PVP, Productor) + SELECT myNuevaEntrada, Id_Article, Cantidad, Costefijo, Portefijo, Embalajefijo, Novincular, Comisionfija, Etiquetas, Packing + ,grouping, caja,/* container_id, */Nicho, Id_Cubo, Tarifa1,Tarifa2,Tarifa3, PVP, Productor + FROM Compres + WHERE Id_Entrada = myEntrada; + + + FETCH rs INTO myEntrada, myWeekday; + +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 `turn_calculartiempomedio` */; +/*!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 `turn_calculartiempomedio`() +BEGIN + +DECLARE strTiempoAprox NVARCHAR(255); + +SELECT +CASE WHEN @min>45 THEN concat(@hora:=@hora+1,' horas ') +WHEN @hora >0 THEN concat(@hora,' horas ') +WHEN @min>=0 and @min<15 THEN '15 Minutos' +WHEN @min<30 THEN '30 Minutos' +WHEN @min<45 THEN '45 Minutos' +ELSE '' and @hora=@hora+1 END AS tiempoaprox +INTO strTiempoAprox +FROM ( + select min(sub1.adate) as adate,max(sub1.bdate) as bdate, + @hora:=ROUND((TIMESTAMPDIFF(HOUR,min(sub1.adate),max(sub1.bdate)) /10),0), + @min:=ROUND((TIMESTAMPDIFF(MINUTE,min(sub1.adate),max(sub1.bdate)) mod 60)/10,0) + from ( + select a.odbc_date as adate,b.odbc_date as bdate + from turn a + INNER JOIN turn b on a.number=(b.number-1) + WHERE TIMESTAMPDIFF(HOUR,b.odbc_date,a.odbc_date)<1 + ORDER BY a.odbc_date DESC,b.odbc_date DESC + LIMIT 10) sub1) sub2; + +SELECT strTiempoAprox as TiempoAprox; +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 `ubicator` */; +/*!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 `ubicator`(IN i_wh TINYINT, IN d_fecha DATE,IN filtro VARCHAR(255)) +BEGIN + + + DECLARE date_inv DATE; + + +DROP TEMPORARY TABLE IF EXISTS stock_actual; +DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_ubicator_stock; + + +SELECT FechaInventario INTO date_inv + FROM tblContadores LIMIT 1; + + +CREATE TEMPORARY TABLE stock_actual +SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( + SELECT Id_Article,Cantidad + FROM Compres c + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE landing BETWEEN date_inv AND d_fecha + AND warehouse_id = i_wh AND NOT Redada + + UNION ALL + + -- JGF Error cuando se pedia para una fecha futura 30/06/14 + /*SELECT Id_Article,-Cantidad + FROM Compres c + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE shipment BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) + AND warehouse_id_out = i_wh AND NOT Redada*/ + SELECT Id_Article,-Cantidad + FROM Compres c + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE shipment BETWEEN date_inv AND CURDATE() + AND warehouse_id_out = i_wh AND NOT Redada AND delivered + UNION ALL + + -- JGF Error cuando se pedia para una fecha futura 30/06/14 + + /*SELECT Id_Article, -Cantidad + FROM Movimientos m + JOIN Tickets t USING(Id_Ticket) + WHERE Fecha BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) + AND warehouse_id = i_wh */ + SELECT Id_Article, -Cantidad + FROM Movimientos m + JOIN Tickets t USING(Id_Ticket) + WHERE Fecha BETWEEN date_inv AND CURDATE() + AND warehouse_id = i_wh AND Etiquetasemitidas + + +) t GROUP BY article_id; + +/* +SELECT * from stock_actual;*/ + +-- TEMPORARY +CALL util.exec (sql_printf(' + CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.tmp_ubicator_stock AS + SELECT A.Id_Article,A.Article, T.Id_Cubo,IF(Z > 0,Z,0) as z,x,y, + CEIL(S.Suma/T.packing) as etiquetas,A.Medida,A.Nicho + FROM vn2008.Articles A + INNER JOIN + (SELECT article_id, amount as SUMA + FROM vn2008.stock_actual + WHERE amount > 0 + ) as S ON S.article_id = A.Id_Article + LEFT JOIN ( + SELECT * FROM ( + SELECT c.Id_Article item_id, c.Id_Compra id, c.Id_Cubo,c.packing + FROM vn2008.Compres c INNER JOIN vn2008.Entradas e USING(Id_Entrada) + INNER JOIN vn2008.travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN vn2008.date_inv() AND %v + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 AND Id_Cubo IS NOT NULL + ORDER BY 1 = t.warehouse_id DESC, t.landing DESC + ) t1 GROUP BY item_id + ) as T ON T.item_id = A.Id_Article + LEFT JOIN vn2008.Cubos C USING(Id_Cubo) + WHERE %s AND CEIL(S.Suma/T.packing) > 0',d_fecha,filtro)); + + + +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 `ubicator_calcularhuecosvacios` */; +/*!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 `ubicator_calcularhuecosvacios`(int_H int,int_X int,int_Y int,int_Z int,intId_Estanterias int,intId_Baldas int,contId_Estanterias int) +BEGIN +DECLARE intnumcubostotal,intnumcubosocup SMALLINT DEFAULT 0; +DECLARE posX,posY,posZ,intId_Article,x_cubo,y_cubo INT DEFAULT 0; +DECLARE strId_Cubo VARCHAR(10); +DECLARE strArticle,strmodelo VARCHAR(50) DEFAULT '---'; +DECLARE intContador INT DEFAULT 1; + + SELECT COUNT(*) INTO intnumcubosocup FROM Ubicator_Cajas + WHERE W=int_X and D=int_Y and Id_Estanterias=intId_Estanterias and Id_Baldas=intId_Baldas and NumEstanterias=contId_Estanterias; + + SELECT W,D,H,Id_Cubo,Id_Article,modelo,Article,x,y + INTO posX,posY,posZ,strId_Cubo,intId_Article,strmodelo,strArticle,x_cubo,y_cubo + FROM Ubicator_Cajas + WHERE W=int_X and D=int_Y and Id_Estanterias=intId_Estanterias and Id_Baldas=intId_Baldas and NumEstanterias=contId_Estanterias + ORDER BY H DESC LIMIT 1; + + WHILE (int_Z*intContador0) DO + SET posZ=posZ+int_Z; + -- INSERT INTO Ubicator_Cajas + -- (Id_Estanterias,NumEtiquetas,W ,D,H ,Id_Cubo ,Id_Article,POSX,POSY,POSZ,Id_Article_aux ,Id_Baldas,modelo,Article,Medida) + -- VALUES (intId_Estanterias ,1,posX,posY,posZ,strId_Cubo ,intId_Article,0,0,0,0,intId_Baldas,strmodelo,'',int_Z); + INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,numEstanterias) + VALUES (intId_Estanterias,intId_Baldas,strmodelo,posX,posY,posZ,strId_Cubo,x_cubo,y_cubo,int_Z,null,intId_Article,'',contId_Estanterias); + SET intnumcubosocup=intnumcubosocup+1; + 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 `ubicator_ordenacion` */; +/*!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 `ubicator_ordenacion`(date DATE,boolORDALFA TINYINT(1), intWAREHOUSE INT,strFILTRO NVARCHAR(255), boolESAPILABLE TINYINT(1),boolESABIERTO TINYINT(1),intCmNichoExtra SMALLINT,inEstanteria SMALLINT,strOrdenacion varchar(255)) +BEGIN +-- Inicializo variables +-- boolESABIERTO --> permite apilar las cajas de diferentes articulos (cerrada) para aprovechar el espacio. +DECLARE intPOSX,intPOSY,intPOSZ,intSUMAH,intCMNICHO_EXTRA INT DEFAULT 0; +DECLARE intId_Estanterias,intW,intD,intId_Baldas,intH,intEtiquetas, + intX,intY,intZ,ReturnX,ReturnY,ReturnZ,Cantidad,intId_Baldas_aux INT DEFAULT 0; +DECLARE strId_Cubo VARCHAR(10) DEFAULT '---'; +DECLARE intId_Article,Id_Article_aux,alturabalda,intZ_aux INT DEFAULT 0; +DECLARE contId_Estanterias INT DEFAULT 1; +DECLARE strmodelo VARCHAR(255) DEFAULT '---'; +DECLARE done BIT DEFAULT 0; +DECLARE strArticle VARCHAR(50); +DECLARE boolCabeCaja,boolPasarZ,boolPasarX,boolNoNextRecord,fin BOOLEAN DEFAULT FALSE; +DECLARE intMedida,intX_ant,intY_ant,IntZ_ant INT(10) DEFAULT 0; + +-- ejemplo: call ubicator_ordenacion(CURDATE(),false,1,'tipo_id = 2',TRUE,FALSE,2,1) + +-- Declaro el cursor para leer las estanterias y las baldas ordenadas por las baldas. (La primera es la de arriba). +DECLARE cursor_estanterias CURSOR FOR SELECT Id_Estanterias,w,d,modelo,Id_Baldas,h FROM Estanterias + INNER JOIN Baldas USING (Id_Estanterias) WHERE Id_Estanterias=inEstanteria ORDER BY Id_Estanterias,Id_Baldas; + +-- Declaro el cursor para leer el recorset de los cubos a colocar en las estanterias obteniendo las variables X,Y,Z del cubo. +DECLARE cursor_ubicator CURSOR FOR SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock; + -- Creo la tabla temporal donde devuelvo la ordenación de las cajas. + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -- handler para el cursor de las estanterias y baldas + +DROP TEMPORARY TABLE IF EXISTS Ubicator_Cajas; +/* + CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas (Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), + W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT,Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT); +*/ + + CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas(Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), + W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT, + Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT,NumEtiquetas INT,POSX INT (11),POSY INT(11), + POSZ INT(11),Id_Article_aux int(11)); + +-- Creo la tabla temporal donde voy a insertar las cajas que no caben en las estanterias. +DROP TEMPORARY TABLE IF EXISTS Ubicator_CajasNoCaben; +CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_CajasNoCaben (Id_Cubo VARCHAR(10),Id_Estanteria SMALLINT); + +CALL ubicator (intWAREHOUSE,date,strFILTRO); -- Ejecuto el procedimiento de stock para recorrer los articulos con las cajas. + +DROP TEMPORARY TABLE IF EXISTS ubicator_stock; + +SET @SQL=CONCAT('CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida,IF(LOWER(Article) like "%mix%",1,0) AS MIX FROM tmp_ubicator_stock + ORDER BY MIX,',strOrdenacion); + +PREPARE stmt1 FROM @SQL; +EXECUTE stmt1; +DEALLOCATE PREPARE stmt1; + + -- IF (boolORDALFA) THEN + -- CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida FROM tmp_ubicator_stock + -- ORDER BY Article,Medida; + -- ELSE + -- CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida FROM tmp_ubicator_stock + -- ORDER BY Id_Article; + -- END IF; + +-- Open Recordsets +OPEN cursor_estanterias; +OPEN cursor_ubicator; + +REPEAT + FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH; + + IF (done) THEN -- Si llega a la ultima balda, empieza de nuevo. + CLOSE cursor_estanterias; + SET done=FALSE; + OPEN cursor_estanterias; + SET contId_Estanterias=contId_Estanterias+1; + FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH; + END IF; + + -- Obtengo la altura absoluta de la balda. + SELECT CASE WHEN (SUM(H)>=0) THEN SUM(H) ELSE 0 END As suma INTO intSUMAH + FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas>intId_Baldas; + + SELECT H INTO alturabalda + FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas=intId_Baldas; + + SET intPOSX=0,intPOSY=0,intPOSZ=0,intId_Baldas_aux=0; + + ITERACION:WHILE NOT done DO + IF (NOT boolNoNextRecord) THEN + FETCH cursor_ubicator INTO strId_Cubo,intEtiquetas,intId_Article,intX,intY,intZ,strArticle,intMedida; + IF (DONE) THEN + LEAVE ITERACION; + END IF; + SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock ORDER BY Id_Article; + SET Cantidad=0; + END IF; + -- SET Medida=intZ; + -- 1. Compruebo que cabe la caja en la estanteria + + SELECT ubicator_cabecaja(intX,intY,intZ,intW,intD,intH) INTO boolCabeCaja; + IF (NOT boolCabeCaja) THEN -- Compruebo si la caja cabe en la estanteria sino la coloco en una tabla temporal. + INSERT INTO Ubicator_CajasNoCaben (Id_Cubo,Id_Estanteria) VALUES (strId_Cubo,intId_Estanterias); + SET Id_Article_aux=intId_Article,boolNoNextRecord=FALSE; + ITERATE ITERACION; + END IF; + + SET boolPasarX=FALSE,boolPasarZ=FALSE; + -- Inicializo el contador + REPEAT + SET Cantidad=Cantidad+1; -- Incremento el contador en 1 + IF (intId_Baldas_aux<>intId_Baldas) THEN + SET intId_Baldas_aux=intId_Baldas; + SET intPOSX=0,intPOSY=0,intPOSZ=0; + END IF; + IF (boolESAPILABLE AND intPOSZ>0 AND intZ>0) THEN -- Es Apilable + IF (boolESABIERTO) THEN -- abierto + -- SET intPOSX=intPOSX+intCmNichoExtra,intPOSZ=0,intPOSY=0,Id_Article_aux=intId_Article; + IF (intId_Article=Id_Article_aux) THEN -- mismo articulo + SET boolPasarX=FALSE,boolPasarZ=TRUE; + SET intPOSX=intPOSX-intX; + ELSE -- distinto articulo + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSY=intY,intPOSZ=intZ; + SET Id_Article_aux=intId_Article; + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; + ELSE -- cerrado + IF ((intZ=intZ_ant) AND (intY=intY_ant) AND (intX=intX_ant)) THEN -- tienen que ser del mismo tamaño + SET intPOSX=intPOSX-intX; + SET boolPasarX=FALSE,boolPasarZ=FALSE; + ELSE + CALL ubicator_calcularhuecosvacios (alturabalda,ReturnX,ReturnY,intZ_aux,intId_Estanterias,intId_Baldas,contId_Estanterias); -- Calculo las cajas vacias + SET intPOSY=intY,intPOSZ=intZ; + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; -- article + END IF; + ELSE -- No apilable or posz<>0 + IF (NOT boolESAPILABLE AND boolESABIERTO) THEN + SET boolPasarX=FALSE,boolPasarZ=FALSE; + -- @@@ cambio abierto no apilable + SET intPOSZ=0; -- no se puede subir en altura + IF (intId_Article<>Id_Article_aux and Id_Article_aux<>0) THEN -- cambio @@@vicente, añado id_Article_aux<>0 + SET intPOSY=0; + END IF; + ELSE + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSY=intY,intPOSZ=intZ; + END IF; + + -- @@@@ cambio + IF (intPOSX>0) THEN -- SI ES EL PRIMER ELEMENTO (X=0) NO LE INCREMENTE LOS CM EXTRA DEL NICHO si la profundidad es menor no lo incrementa + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; + END IF; -- apilable + + Condicional:loop + IF (NOT boolPasarX) THEN + IF (NOT boolPasarZ) THEN + IF (intD-intPOSY>intY) THEN -- cabe de profundo + SET intPOSY=intPOSY+intY; + -- @@@@ULTIMO CAMBIO + IF (intPOSX>0) and (intId_Article=Id_Article_aux) THEN + IF (intPOSX-intX-intCmNichoExtra<0) THEN + SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; + LEAVE ITERACION; + END IF; + SET intPOSX=intPOSX-intX-intCmNichoExtra; -- cambio @@@vicente quito descomentando + END IF; + -- @@@@ fin ultimo cambio + ELSE + SET intPOSY=intY; + END IF; + END IF; -- boolpasarz (depth) + + IF (intH-intPOSZ>intZ) THEN + SET intPOSZ=intPOSZ+intZ; + ELSE + IF (intD-intPOSY>intY) THEN + SET boolPasarZ=FALSE,boolPasarX=FALSE,intPOSZ=intZ; + ITERATE Condicional; + END IF; + SET intPOSZ=intZ; + SET intPOSY=intY; + SET intPOSX=intPOSX+intX+intCmNichoExtra; + END IF; + END IF; -- boolpasarx + + IF (intW-intPOSX>intX) THEN + SET intPOSX=intPOSX+intX; + ELSE + SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; + LEAVE ITERACION; + END IF; + LEAVE Condicional; + END loop Condicional; + + SET ReturnX=intPOSX-intX; -- Anchura absoluta x del artículo + SET ReturnZ=intSUMAH+intPOSZ-intZ; -- Altura absoluta del cubo + SET ReturnY=intPOSY-intY; -- Profundidad absoluta del artículo + + SET boolPasarZ=FALSE,boolPasarX=FALSE; + + /* + INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias) + VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias); + */ + + INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias, + NumEtiquetas,POSX,POSY,POSZ,Id_Article_aux) + VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias, + intEtiquetas,intPOSX,intPOSY,intPOSZ,Id_Article_aux); + + SET Id_Article_aux=intId_Article,intZ_aux=intZ,boolNoNextRecord=FALSE; + -- Cambio + SET intZ_ant=intZ,intY_ant=intY,intX_ant=intX; + UNTIL Cantidad=intEtiquetas END REPEAT; + END WHILE ITERACION; + + IF (done) THEN + SET fin=TRUE; + END IF; +UNTIL fin END REPEAT; +CLOSE cursor_ubicator; +CLOSE cursor_estanterias; + +-- select * from Ubicator_Cajas; +-- select * from ubicator_stock; +-- select * from Ubicator_CajasNoCaben; + + +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 `ubicator_ordenacion_distrib` */; +/*!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 `ubicator_ordenacion_distrib`(date DATE,boolORDALFA TINYINT(1), intWAREHOUSE INT,strFILTRO NVARCHAR(255), boolESAPILABLE TINYINT(1),boolESABIERTO TINYINT(1),intCmNichoExtra SMALLINT,inEstant_distrib SMALLINT) +BEGIN +-- Inicializo variables +-- boolESABIERTO --> permite apilar las cajas de diferentes articulos (cerrada) para aprovechar el espacio. +DECLARE intPOSX,intPOSY,intPOSZ,intSUMAH,intCMNICHO_EXTRA INT DEFAULT 0; +DECLARE intId_Estanterias,intW,intD,intId_Baldas,intH,intEtiquetas, + intX,intY,intZ,ReturnX,ReturnY,ReturnZ,Cantidad,intId_Baldas_aux INT DEFAULT 0; +DECLARE strId_Cubo VARCHAR(10) DEFAULT '---'; +DECLARE intId_Article,Id_Article_aux,alturabalda,intZ_aux INT DEFAULT 0; +DECLARE contId_Estanterias INT DEFAULT 0; +DECLARE strmodelo VARCHAR(255) DEFAULT '---'; +DECLARE done BIT DEFAULT 0; +DECLARE strArticle VARCHAR(50); +DECLARE boolCabeCaja,boolPasarZ,boolPasarX,boolNoNextRecord,fin BOOLEAN DEFAULT FALSE; +DECLARE intMedida,intX_ant,intY_ant,IntZ_ant ,intposinicial,intposfinal,auxintId_Estanterias,auxintposinicial,auxintposfinal,intnumdistrib,nestanterias INT(11) DEFAULT 0; + +-- ejemplo: call ubicator_ordenacion(CURDATE(),false,1,'tipo_id = 2',TRUE,FALSE,2,1) + +-- Declaro el cursor para leer las estanterias y las baldas ordenadas por las baldas. (La primera es la de arriba). +DECLARE cursor_estanterias CURSOR FOR SELECT Id_Estanterias,w,d,modelo,Id_Baldas,h,posinicial,posfinal FROM Estanterias + INNER JOIN Baldas USING (Id_Estanterias) + INNER JOIN Estanterias_distri using (Id_Estanterias) + WHERE IdEstanterias_distri=inEstant_distrib + -- AND Id_Estanterias>nestanterias + AND posinicial>auxintposinicial + ORDER BY posinicial; + +-- Declaro el cursor para leer el recorset de los cubos a colocar en las estanterias obteniendo las variables X,Y,Z del cubo. +DECLARE cursor_ubicator CURSOR FOR SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock; + -- Creo la tabla temporal donde devuelvo la ordenación de las cajas. + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -- handler para el cursor de las estanterias y baldas + +DROP TEMPORARY TABLE IF EXISTS Ubicator_Cajas; +CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas (Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), +W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT,Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT); + + /* + CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas(Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), + W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT, + Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT,NumEtiquetas INT,POSX INT (11),POSY INT(11), + POSZ INT(11),Id_Article_aux int(11)); + */ + +-- Creo la tabla temporal donde voy a insertar las cajas que no caben en las estanterias. +DROP TEMPORARY TABLE IF EXISTS Ubicator_CajasNoCaben; +CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_CajasNoCaben (Id_Cubo VARCHAR(10),Id_Estanteria SMALLINT); + +CALL ubicator (intWAREHOUSE,date,strFILTRO); -- Ejecuto el procedimiento de stock para recorrer los articulos con las cajas. + +DROP TEMPORARY TABLE IF EXISTS ubicator_stock; +IF (boolORDALFA) THEN + CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM tmp_ubicator_stock + ORDER BY Article,Medida; +ELSE + CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM tmp_ubicator_stock + ORDER BY Id_Article; + END IF; + +-- Open Recordsets +OPEN cursor_estanterias; +OPEN cursor_ubicator; +SET contId_Estanterias=0; +REPEAT + FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH,intposinicial,intposfinal; + + IF (contId_Estanterias=0) THEN + SET contId_Estanterias=1; + SET auxintId_Estanterias=intId_Estanterias; + SELECT (intposfinal-intposinicial+1)*Id_Baldas into auxintposfinal from Baldas where Id_Estanterias=intId_Estanterias order by Id_Baldas DESC limit 1; + END IF; + + IF (done) THEN + SELECT DISTINCT posinicial-1 INTO auxintposinicial + FROM Estanterias_distri + WHERE Id_Estanterias=auxintId_Estanterias; + -- SET nestanterias=auxintId_Estanterias-1; + + CLOSE cursor_estanterias; + OPEN cursor_estanterias; + FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH,intposinicial,intposfinal; + END IF; + + IF (auxintId_Estanterias<>IFNULL(intId_Estanterias,auxintId_Estanterias)) THEN + SET done=TRUE; + END IF; + SET intnumdistrib=intnumdistrib+1; + + IF (done) THEN -- Si llega a la ultima balda, empieza de nuevo. + IF (intnumdistrib=0) THEN SUM(H) ELSE 0 END As suma INTO intSUMAH + FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas>intId_Baldas; + + SELECT H INTO alturabalda + FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas=intId_Baldas; + + SET intPOSX=0,intPOSY=0,intPOSZ=0,intId_Baldas_aux=0; + + ITERACION:WHILE NOT done DO + IF (NOT boolNoNextRecord) THEN + FETCH cursor_ubicator INTO strId_Cubo,intEtiquetas,intId_Article,intX,intY,intZ,strArticle,intMedida; + IF (DONE) THEN + LEAVE ITERACION; + END IF; + SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock ORDER BY Id_Article; + SET Cantidad=0; + END IF; + -- SET Medida=intZ; + -- 1. Compruebo que cabe la caja en la estanteria + + SELECT ubicator_cabecaja(intX,intY,intZ,intW,intD,intH) INTO boolCabeCaja; + IF (NOT boolCabeCaja) THEN -- Compruebo si la caja cabe en la estanteria sino la coloco en una tabla temporal. + INSERT INTO Ubicator_CajasNoCaben (Id_Cubo,Id_Estanteria) VALUES (strId_Cubo,intId_Estanterias); + SET Id_Article_aux=intId_Article,boolNoNextRecord=FALSE; + ITERATE ITERACION; + END IF; + + SET boolPasarX=FALSE,boolPasarZ=FALSE; + -- Inicializo el contador + REPEAT + SET Cantidad=Cantidad+1; -- Incremento el contador en 1 + IF (intId_Baldas_aux<>intId_Baldas) THEN + SET intId_Baldas_aux=intId_Baldas; + SET intPOSX=0,intPOSY=0,intPOSZ=0; + END IF; + IF (boolESAPILABLE AND intPOSZ>0 AND intZ>0) THEN -- Es Apilable + IF (boolESABIERTO) THEN -- abierto + -- SET intPOSX=intPOSX+intCmNichoExtra,intPOSZ=0,intPOSY=0,Id_Article_aux=intId_Article; + IF (intId_Article=Id_Article_aux) THEN -- mismo articulo + SET boolPasarX=FALSE,boolPasarZ=TRUE; + SET intPOSX=intPOSX-intX; + ELSE -- distinto articulo + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSY=intY,intPOSZ=intZ; + SET Id_Article_aux=intId_Article; + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; + ELSE -- cerrado + IF ((intZ=intZ_ant) AND (intY=intY_ant) AND (intX=intX_ant)) THEN -- tienen que ser del mismo tamaño + SET intPOSX=intPOSX-intX; + SET boolPasarX=FALSE,boolPasarZ=FALSE; + ELSE + CALL ubicator_calcularhuecosvacios (alturabalda,ReturnX,ReturnY,intZ_aux,intId_Estanterias,intId_Baldas,contId_Estanterias); -- Calculo las cajas vacias + SET intPOSY=intY,intPOSZ=intZ; + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; -- article + END IF; + ELSE -- No apilable or posz<>0 + IF (NOT boolESAPILABLE AND boolESABIERTO) THEN + SET boolPasarX=FALSE,boolPasarZ=FALSE; + -- @@@ cambio abierto no apilable + SET intPOSZ=0; -- no se puede subir en altura + ELSE + SET boolPasarX=TRUE,boolPasarZ=TRUE; + SET intPOSY=intY,intPOSZ=intZ; + END IF; + + IF (intPOSX>0) THEN -- SI ES EL PRIMER ELEMENTO (X=0) NO LE INCREMENTE LOS CM EXTRA DEL NICHO + SET intPOSX=intPOSX+intCmNichoExtra; + END IF; + END IF; -- apilable + + Condicional:loop + IF (NOT boolPasarX) THEN + IF (NOT boolPasarZ) THEN + IF (intD-intPOSY>intY) THEN -- cabe de profundo + SET intPOSY=intPOSY+intY; + ELSE + SET intPOSY=intY; + END IF; + END IF; -- boolpasarz (depth) + + IF (intH-intPOSZ>intZ) THEN + SET intPOSZ=intPOSZ+intZ; + ELSE + IF (intD-intPOSY>intY) THEN + SET boolPasarZ=FALSE,boolPasarX=FALSE,intPOSZ=intZ; + ITERATE Condicional; + END IF; + SET intPOSZ=intZ; + SET intPOSY=intY, intPOSX=intPOSX+intX+intCmNichoExtra; + END IF; + END IF; -- boolpasarx + + IF (intW-intPOSX>intX) THEN + SET intPOSX=intPOSX+intX; + ELSE + SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; + LEAVE ITERACION; + END IF; + LEAVE Condicional; + END loop Condicional; + + SET ReturnX=intPOSX-intX; -- Anchura absoluta x del artículo + SET ReturnZ=intSUMAH+intPOSZ-intZ; -- Altura absoluta del cubo + SET ReturnY=intPOSY-intY; -- Profundidad absoluta del artículo + + SET boolPasarZ=FALSE,boolPasarX=FALSE; + + INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias) + VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias); + /* + INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias, + NumEtiquetas,POSX,POSY,POSZ,Id_Article_aux) + VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias, + intEtiquetas,intPOSX,intPOSY,intPOSZ,Id_Article_aux); + */ + SET Id_Article_aux=intId_Article,intZ_aux=intZ,boolNoNextRecord=FALSE; + -- Cambio + SET intZ_ant=intZ,intY_ant=intY,intX_ant=intX; + UNTIL Cantidad=intEtiquetas END REPEAT; + END WHILE ITERACION; + + IF (done) THEN + SET fin=TRUE; + END IF; + +UNTIL fin END REPEAT; +CLOSE cursor_ubicator; +CLOSE cursor_estanterias; + +-- select * from Ubicator_Cajas; +-- select * from ubicator_stock; +-- select * from Ubicator_CajasNoCaben; + + +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 `ubicator_test` */; +/*!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 `ubicator_test`(IN i_wh TINYINT, IN d_fecha DATE,IN filtro VARCHAR(255)) +BEGIN + + + DECLARE date_inv DATE; + + +DROP TEMPORARY TABLE IF EXISTS stock_actual; +DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_ubicator_stock; + + +SELECT FechaInventario INTO date_inv + FROM tblContadores LIMIT 1; + + +CREATE TEMPORARY TABLE stock_actual +SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( + SELECT Id_Article,Cantidad + FROM Compres c + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE landing BETWEEN date_inv AND d_fecha + AND warehouse_id = i_wh AND NOT Redada + + UNION ALL + + SELECT Id_Article,-Cantidad + FROM Compres c + JOIN Entradas e USING(Id_Entrada) + JOIN travel t ON t.id = e.travel_id + WHERE shipment BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) + AND warehouse_id_out = i_wh AND NOT Redada + + UNION ALL + + SELECT Id_Article, -Cantidad + FROM Movimientos m + JOIN Tickets t USING(Id_Ticket) + WHERE Fecha BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) + AND warehouse_id = i_wh + + + +) t GROUP BY article_id; + +/* +SELECT * from stock_actual;*/ + +-- TEMPORARY +CALL util.exec (sql_printf(' + CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.tmp_ubicator_stock AS + SELECT A.Id_Article,A.Article, T.Id_Cubo,IF(Z > 0,Z,0) as z,x,y, + CEIL(S.Suma/T.grouping) as etiquetas,A.Medida,A.Nicho + FROM vn2008.Articles A + INNER JOIN + (SELECT article_id, amount as SUMA + FROM vn2008.stock_actual + WHERE amount > 0 + ) as S ON S.article_id = A.Id_Article + LEFT JOIN ( + SELECT * FROM ( + SELECT c.Id_Article item_id, c.Id_Compra id, c.Id_Cubo,c.grouping + FROM vn2008.Compres c INNER JOIN vn2008.Entradas e USING(Id_Entrada) + INNER JOIN vn2008.travel t ON t.id = e.travel_id + WHERE t.landing BETWEEN vn2008.date_inv() AND CURDATE() + AND c.Novincular = FALSE + AND c.Tarifa2 >= 0 AND Id_Cubo IS NOT NULL + ORDER BY 1 = t.warehouse_id DESC, t.landing DESC + ) t1 GROUP BY item_id + ) as T ON T.item_id = A.Id_Article + LEFT JOIN vn2008.Cubos C USING(Id_Cubo) + WHERE %s AND CEIL(S.Suma/T.grouping) > 0',filtro)); + + + +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 `unary_delete` */; +/*!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 `unary_delete`(v_node INT, v_delete bool) +BEGIN +/** + * Borra un nodo. Se puede indicar si se quieren mantener los hijos. + * En este caso los hijos pasan al padre del nodo. + * Si no tiene padre, los hijos pasaran a ser padres. + * + * @v_node: Nodo que se quiere borrar. + * @v_delete: Se indica si se borran los nodos. + **/ + + DECLARE v_parent INT; + + SELECT parent + INTO v_parent + FROM unary + WHERE id = v_node; + + IF(v_delete = FALSE) THEN + UPDATE unary + SET parent = v_parent + WHERE parent = v_node; + END IF; + + DELETE FROM unary + WHERE id = v_node; + +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 `unary_insert` */; +/*!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 `unary_insert`(OUT v_unary INT, v_parent INT) +BEGIN + + /** + * Inserta un nuevo nodo. Se puede indicar el padre. + * + * @v_parent: Nodo padre. + * @v_unary: Id del nuevo nodo. + **/ + + INSERT INTO unary(parent) VALUES(v_parent); + + SELECT last_insert_id() INTO v_unary; + +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 `unary_leaves` */; +/*!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 `unary_leaves`(v_top INT) +BEGIN +/** + * A partir de un nodo devuelve todos sus descendientes. + * + * @table tmp.tree Tabla con los ids de los nodos descendientes; + **/ + DECLARE v_count INT; + DECLARE v_parent INT; + DECLARE v_depth INT DEFAULT 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.tree; + CREATE TEMPORARY TABLE tmp.tree + (INDEX (id)) + ENGINE = MEMORY + SELECT v_top id, v_parent parent, v_depth depth; + + DROP TEMPORARY TABLE IF EXISTS tmp.parent; + CREATE TEMPORARY TABLE tmp.parent + ENGINE = MEMORY + SELECT v_top id; + + l: LOOP + + SET v_depth = v_depth + 1; + + DROP TEMPORARY TABLE IF EXISTS tmp.child; + CREATE TEMPORARY TABLE tmp.child + ENGINE = MEMORY + SELECT c.`id`, c.parent + FROM `unary` c + JOIN tmp.parent p ON c.`parent` = p.id; + + DROP TEMPORARY TABLE tmp.parent; + CREATE TEMPORARY TABLE tmp.parent + ENGINE = MEMORY + SELECT c.id, c.parent + FROM tmp.child c + LEFT JOIN tmp.tree t ON t.id = c.id + WHERE t.id IS NULL; + + INSERT INTO tmp.tree + SELECT id, parent, v_depth FROM tmp.parent; + + SELECT COUNT(*) INTO v_count + FROM tmp.parent; + + IF v_count = 0 THEN + LEAVE l; + END IF; + END LOOP; + + DROP TEMPORARY TABLE + tmp.parent, + tmp.child; +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 `unary_scan_ident` */; +/*!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 `unary_scan_ident`(v_top INT, v_space INT) +BEGIN +/** + * A partir de un nodo devuelve el id y el nombre del nodod y sus hijos. + * El nombre viene identado segun el numero de espacios multiplicado por la profundiad del nodo. + * + * v_top: Id del nodo padre. + * v_space: Spacios a dejar al identar, + * @table tmp.tree_ident Tabla con los ids de los nodos descendientes y su nombre identado; + **/ + + DROP TEMPORARY TABLE IF EXISTS tmp.tree_ident; + CALL tree_leaves(v_top); + + CREATE TEMPORARY TABLE tmp.tree_ident + ENGINE = MEMORY + SELECT t.id, + CONCAT( REPEAT(REPEAT(" ",v_space), t.depth), sp.name) AS name + FROM tmp.tree t + INNER JOIN unary_scan sp + ON t.id = sp.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 `unary_scan_insert` */; +/*!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 `unary_scan_insert`(v_name VARCHAR(45), v_parent INT, v_type VARCHAR(45)) +BEGIN + + /** + * Inserta un nuevo nodo de tipo unary_scan. Se puede indicar el padre. + * + * @v_name: Nombre del nodo. + * @v_parent: Nodo padre. + * @v_type: Tipo del nodo a crear. + **/ + + DECLARE v_unary INT; + + CALL unary_insert(v_unary, v_parent); + + INSERT INTO unary_scan(name, unary_id, type) VALUES(v_name, v_unary, v_type); + +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 `unary_tops` */; +/*!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 `unary_tops`() +BEGIN +/** + * Devuelve todos los nodos que no tienen padre. + * + * @table tmp.tree Tabla con los ids de los nodos que no tienen padre; + **/ + + DROP TEMPORARY TABLE IF EXISTS tmp.tree; + CREATE TEMPORARY TABLE tmp.tree + ENGINE = MEMORY + SELECT s.`unary_id` AS id, s.name, s.odbc_date, s.type + FROM `unary_scan` s + INNER JOIN `unary` u ON s.unary_id = u.id + WHERE u.parent IS 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 `unary_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 `unary_update`(v_node INT, v_new_parent INT, v_move bool) +BEGIN +/** + * Cambia el padre de un nodo. Se puede indicar si se quieren mover los hijos. + * En este caso los hijos pasan al padre del nodo. + * Si no tiene padre, los hijos pasaran a ser padres. + * + * @v_node: Nodo que se quiere mover. + * @v_new_parent: Padre al que se quiere mover el nodo. + * @v_move: Se indica si se mueven los nodos. + **/ + + DECLARE v_parent INT; + + SELECT parent + INTO v_parent + FROM unary + WHERE id = v_node; + + IF(v_move = TRUE) THEN + UPDATE unary + SET parent = v_parent + WHERE parent = v_node; + END IF; + + UPDATE unary + SET parent = v_new_parent + WHERE id = v_node; + +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 `valor_faltas` */; +/*!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 `valor_faltas`(IN intReino_id INT,IN dateDesde DATE,IN dateHasta DATE,IN wh INT) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS item; + + CREATE TEMPORARY TABLE item + SELECT Id_Article id,Id_Movimiento,Cantidad,Id_Tipo,Fecha + FROM Tickets t + JOIN Movimientos m USING (Id_Ticket) + JOIN Articles a USING (Id_Article) + JOIN Tipos tip USING (tipo_id) + WHERE + Id_Cliente = 400 + AND Fecha BETWEEN dateDesde AND dateHasta + AND reino_id = 4; + + CREATE INDEX pk USING HASH ON item (id); + + CALL item_buy (wh, dateHasta); + CALL item_buy_price (1240,dateDesde,wh); + +SELECT *,Cantidad * price as total FROM item; + +DROP TEMPORARY TABLE 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 `valuatedInventory` */; +/*!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 `valuatedInventory`(IN vDate DATE, IN vIsItemised BOOLEAN) +BEGIN + + DECLARE vLastInventoryDate DATE; + + SELECT landing INTO vLastInventoryDate + FROM travel TR + INNER JOIN Entradas E ON E.travel_id = TR.id + WHERE landing <= vDate + AND E.Id_Proveedor = 4 + ORDER BY landing DESC + LIMIT 1; + + DROP TEMPORARY TABLE IF EXISTS inv; + + CREATE TEMPORARY TABLE inv + (warehouseFk SMALLINT, + itemFk BIGINT, + amount INT, + cost DOUBLE DEFAULT 0, + total DOUBLE DEFAULT 0) + ENGINE = MEMORY; + + ALTER TABLE inv ADD PRIMARY KEY USING HASH (warehouseFk, itemFk); + + -- Valor del inventario + INSERT INTO inv(warehouseFk, itemFk, amount) + SELECT TR.warehouse_id, C.Id_Article, C.Cantidad + FROM Compres C + JOIN Articles A USING(Id_Article) + JOIN Entradas E USING (Id_Entrada) + JOIN travel TR ON TR.id = E.travel_id + JOIN Tipos t USING(tipo_id) + JOIN warehouse w ON w.id = TR.warehouse_id + WHERE landing = vLastInventoryDate + AND E.Id_Proveedor = 4 + AND reino_id NOT IN (7) + ON DUPLICATE KEY UPDATE inv.amount = inv.amount + C.Cantidad; + + -- Añadimos compras + INSERT INTO inv(warehouseFk, itemFk, amount) + SELECT TR.warehouse_id, C.Id_Article, C.Cantidad + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = TR.warehouse_id + WHERE landing BETWEEN vLastInventoryDate AND vDate + AND NOT redada + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + AND E.Id_Proveedor <> 4 + ON DUPLICATE KEY UPDATE inv.amount = inv.amount + C.Cantidad; + + -- Restamos salidas + INSERT INTO inv(warehouseFk, itemFk, amount) + SELECT TR.warehouse_id_out, C.Id_Article, - C.Cantidad + FROM Compres C + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Entradas E USING (Id_Entrada) + INNER JOIN travel TR ON TR.id = E.travel_id + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id_out + WHERE shipment BETWEEN vLastInventoryDate AND vDate + AND NOT redada + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.amount = inv.amount - C.Cantidad; + + -- Restamos ventas + INSERT INTO inv(warehouseFk, itemFk, amount) + SELECT w.id, M.Id_Article, - M.Cantidad + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Clientes C USING(Id_Cliente) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id + WHERE T.Fecha BETWEEN vLastInventoryDate AND TIMESTAMPADD(DAY, -1 ,vDate) + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.amount = inv.amount - M.Cantidad; + + -- Restamos el dia de hoy + INSERT INTO inv(warehouseFk, itemFk, amount) + SELECT w.id, M.Id_Article, - M.Cantidad + FROM Movimientos M + INNER JOIN Tickets T USING (Id_Ticket) + INNER JOIN Clientes C USING(Id_Cliente) + INNER JOIN Articles A USING(Id_Article) + INNER JOIN Tipos t USING(tipo_id) + INNER JOIN warehouse w ON w.id = warehouse_id + WHERE date(T.Fecha) = vDate + AND (vDate <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) + AND NOT w.fuente + AND reino_id NOT IN (7) + AND t.inventory + ON DUPLICATE KEY UPDATE inv.amount = inv.amount - M.Cantidad ; + + CALL item_last_buy_from_interval(NULL,vLastInventoryDate,vDate); + + UPDATE inv + JOIN tmp.item_last_buy_from_interval lb + ON inv.warehouseFk = lb.warehouse_id AND inv.itemFk = lb.item_id + JOIN Compres C ON C.Id_Compra = lb.buy_id + SET total = inv.amount * (ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0)), + cost = ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) + WHERE inv.amount <> 0; + + DELETE FROM inv WHERE amount IS NULL or amount = 0; + + IF vIsItemised THEN + + SELECT inv.warehouseFk, a.Id_Article, a.Article, a.Medida, inv.amount, tp.Id_Tipo, + tp.reino_id, inv.cost, cast(inv.total as decimal(10,2)) total, an.nicho + FROM inv + JOIN warehouse w on w.id = inv.warehouseFk + JOIN Articles a ON a.Id_Article = inv.itemFk + JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN Articles_nicho an ON an.Id_Article = a.Id_Article AND an.warehouse_id = w.id + where w.valuatedInventory + and inv.total > 0 + order by inv.total desc; + + ELSE + + SELECT w.name as Almacen, r.reino as Reino, cast(inv.total as decimal) as Euros + FROM inv + JOIN warehouse w ON w.id = inv.warehouseFk + JOIN Articles A ON A.Id_Article = inv.itemFk + JOIN Tipos t ON t.tipo_id = A.tipo_id + JOIN reinos r ON r.id = t.reino_id + WHERE w.valuatedInventory; + + 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 `verdecora` */; +/*!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 `verdecora`(vDelivered DATE) +BEGIN + +DECLARE vConsigna INT DEFAULT 21025; +DECLARE vAgencia INT DEFAULT 639; + +DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; + + CREATE TEMPORARY TABLE tmp.bionic_calc + (PRIMARY KEY (item_id)) + ENGINE = MEMORY + SELECT Id_Article AS item_id + FROM Articles + JOIN Tipos using(tipo_id) + WHERE reino_id IN (1,5) + AND Id_Article < 170000; + +CALL vn2008.bionic_calc(vDelivered, vConsigna, vAgencia); + +SELECT + bi.item_id AS 'Ref_VN', + iv.codin, + NULL as Recomendado, + bi.available as Disponible, + CASE c.caja + WHEN 0 THEN 1 + WHEN 1 THEN c.grouping + WHEN 2 THEN c.packing + END AS 'Venta x', + c.Packing AS 'Uds/Caja', + bl.min_price as Precio, + REPLACE(bi.item,'_','') AS 'Artículo', + ita.tag1 as Caracter1, + ita.val1 as Valor1, + ita.tag2 as Caracter2, + ita.val2 as Valor2, + ita.tag3 as Caracter3, + ita.val3 as Valor3, + ita.tag4 as Caracter4, + ita.val4 as Valor4, + ita.tag5 as Caracter5, + ita.val5 as Valor5, + ita.tag6 as Caracter6, + ita.val6 as valor6 + +FROM tmp.bionic_item bi + JOIN vn.itemTagArranged ita ON ita.itemFk = bi.item_id + JOIN bi.Last_buy_id lb ON lb.Id_Article = bi.item_id + JOIN vn2008.Compres c ON c.Id_Compra = lb.Id_Compra + JOIN ( + SELECT MIN(price) min_price, item_id + FROM tmp.bionic_price + GROUP BY item_id + ) bl ON bl.item_id = bi.item_id + LEFT JOIN vn.itemVerdecora iv ON iv.itemFk = bi.item_id +WHERE lb.warehouse_id = 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 `vips_in_a_week` */; +/*!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 `vips_in_a_week`(vCondition VARCHAR(512)) +BEGIN + CALL util.exec (CONCAT( + 'SELECT C.Id_Cliente, C.Cliente, ROUND(SUM((M.Cantidad * M.Preu) * 100 - M.Descuento) / 100, 2) as Importe + FROM vn2008.Clientes C + JOIN vn2008.Tickets T ON T.Id_Cliente = C.Id_Cliente + JOIN vn2008.Movimientos M ON M.Id_Ticket = T.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos TP ON A.tipo_id = TP.tipo_id + JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador + WHERE ', vCondition, ' + GROUP BY Id_Cliente + HAVING Importe > 0 + ORDER BY Importe DESC' + )); +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 `vips_in_a_week_by_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 ;; +CREATE DEFINER=`root`@`%` PROCEDURE `vips_in_a_week_by_client`(vCondition VARCHAR(512)) +BEGIN + CALL util.exec (CONCAT( + 'SELECT M.Id_Article, A.Article, A.Medida, A.Color, A.Categoria, + SUM(M.Cantidad) Cantidad, M.Preu, M.Descuento, + RED(SUM(M.Cantidad) * M.Preu * (100 - M.Descuento) / 100) as Importe + FROM vn2008.Clientes C + JOIN vn2008.Tickets T ON T.Id_Cliente = C.Id_Cliente + JOIN vn2008.Movimientos M ON M.Id_Ticket = T.Id_Ticket + JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article + JOIN vn2008.Tipos TP ON A.tipo_id = TP.tipo_id + JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador + WHERE ', vCondition, ' + GROUP BY M.Id_Article, A.Article, A.Medida, A.Color, A.Categoria, M.Preu, M.Descuento' + )); +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 `volumetricoReparto` */; +/*!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 `volumetricoReparto`( IN IdTicket INT(11), OUT atot DOUBLE ) +BEGIN + + DECLARE ticket INT(11); + + DECLARE rutaid INT(11); + + DECLARE art INT(11); + + DECLARE ax, ay, az, atot double; + + DECLARE CUR1 CURSOR FOR SELECT a.Id_Article FROM vn2008.Movimientos m, vn2008.Articles a + WHERE m.Id_Ticket = IdTicket AND m.Id_Article = a.Id_Article ; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET @atot = 0; + + set @atot = 0; + + OPEN CUR1; + + REPEAT - WHEN 0 THEN b.PVP - WHEN 1 THEN b.Tarifa1 - WHEN 2 THEN b.Tarifa2 - WHEN 3 THEN b.Tarifa3 - ELSE IF(c.Descuento BETWEEN 4 AND 100, b.Tarifa2, round(b.Tarifa3 * (200 - c.Descuento) / 100 ,2) ) - END, - i.discount = IF(c.Descuento BETWEEN 4 AND 100, c.Descuento, 0); + FETCH CUR1 INTO art ; - -- Precios fijados + SELECT x, y, z into ax,ay,az + FROM vn2008.Cubos cu, vn2008.Compres co + WHERE cu.Id_Cubo = co.Id_Cubo AND Id_Compra = + (SELECT max(Id_Compra) FROM vn2008.Compres c + WHERE c.Id_Article = @art); + + set @atot = @atot +((@ax * @ay * @az)* 1,10); - UPDATE item i - INNER JOIN Clientes c ON c.Id_cliente = v_customer - JOIN v_price_fixed_group fp ON i.id = fp.item_id - SET i.price = CASE c.Descuento - WHEN 0 THEN fp.rate_0 - WHEN 1 THEN fp.rate_1 - WHEN 2 THEN fp.rate_2 - WHEN 3 THEN fp.rate_3 - ELSE fp.rate_3 - END, - i.discount = 0 - WHERE fp.warehouse_id IN (0,v_wh) - AND date_ BETWEEN fp.date_start AND fp.date_end; + UNTIL done END REPEAT; + CLOSE CUR1; + + + select 'hola ',@atot; - -- Precios especiales - - UPDATE item i - JOIN Clientes c ON c.Id_cliente = v_customer - JOIN PreciosEspeciales p ON i.id = p.Id_Article AND p.Id_Cliente = v_customer - SET i.price = p.PrecioEspecial, - i.discount = 0; - - -- Precio mínimo - - UPDATE item i - JOIN Articles a ON a.Id_Article = i.id - JOIN Clientes c ON c.Id_cliente = v_customer - SET i.price = IF(a.`Min` AND i.price < a.PVP, a.PVP,i.price); - --- pak 14/9/14 provisional - -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_cache_cleaner` */; -/*!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_cache_cleaner`() +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 `weekly_sales_new` */; +/*!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_new`(v_wh SMALLINT, v_date_ini DATETIME, v_date_end DATETIME) BEGIN - DECLARE v_lifetime INT DEFAULT 80; - DECLARE v_expired DATETIME DEFAULT TIMESTAMPADD(SECOND, -v_lifetime, NOW()); - - IF (SELECT MAX(id) FROM`cache`) < 32000 - THEN - UPDATE `cache` SET age = age + 1 WHERE stamp < v_expired ORDER BY age DESC; - - DELETE FROM `cache` WHERE stamp < TIMESTAMPADD(SECOND, -40, v_expired); - - IF ROW_COUNT() > 0 - THEN - DELETE a - FROM cache_a a - LEFT JOIN `cache` c ON c.id = a.cache_id - WHERE c.id IS NULL; - END IF; - ELSE - TRUNCATE TABLE `cache`; - 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 `item_catalog` */; -/*!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_catalog`( - v_wh INT - ,v_date DATE - ,v_customer INT -) -BEGIN - DECLARE v_cache SMALLINT; - - CALL item_cache (v_cache, 'a', v_wh, v_date); - - DROP TEMPORARY TABLE IF EXISTS item_catalog; - - CREATE TEMPORARY TABLE item_catalog - (KEY (item_id)) - ENGINE = MEMORY - SELECT - b.item_id - ,b.available - ,b.fixed - ,IFNULL(p.PrecioEspecial,( - CASE c.Descuento - WHEN 0 THEN b.rate_0 - WHEN 1 THEN b.rate_1 - WHEN 2 THEN b.rate_2 - WHEN 3 THEN b.rate_3 - ELSE NULL - END - )) AS price - ,be.S1 s1 - ,be.S2 s2 - ,0 discount - ,CASE co.caja WHEN 0 THEN 1 WHEN 2 THEN co.packing ELSE co.grouping END AS grouping - FROM cache_a b - JOIN Clientes c - ON c.Id_cliente = v_customer - JOIN Articles a - ON a.Id_Article = b.item_id - JOIN Tipos t - ON t.tipo_id = a.tipo_id - JOIN reinos r - ON r.id = t.reino_id - JOIN Compres co - ON co.Id_Compra = b.buy_id - LEFT JOIN buy_edi be - ON be.id = co.buy_edi_id - LEFT JOIN PreciosEspeciales p - ON p.Id_Cliente = v_customer AND b.item_id = p.Id_Article - WHERE b.available > 0 AND b.cache_id = v_cache; - -- ON be.compra_id = co.compra_id - -- Cliente Te gustan las flores - - IF NOT v_customer = 3064 - THEN - DELETE c - FROM item_catalog c - JOIN Articles ON item_id = Id_Article - WHERE tipo_id = 105; - 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 `item_express` */; -/*!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_express`(IN intWH INT, IN datFEC DATE) -BEGIN - -DECLARE datINV DATE; - - - -SELECT FechaInventario INTO datINV FROM tblContadores LIMIT 1; - - -SELECT sub1.Id_Article, Visible, Tarifa2 -FROM -(SELECT Id_Article, SUM(Cantidad) as Visible -FROM Compres C -JOIN Entradas E USING(Id_Entrada) -JOIN travel T ON T.id = E.travel_id -WHERE shipment >= datINV -AND landing <= datFEC -AND Redada = 0 -AND warehouse_id = intWH -GROUP BY Id_Article) sub1 -JOIN -( -SELECT * FROM -( -SELECT Id_Article, Tarifa2 -FROM Compres C -JOIN Entradas E USING(Id_Entrada) -JOIN travel T ON T.id = E.travel_id -WHERE shipment >= datINV -AND landing <= datFEC -AND Redada = 0 -AND Novincular = 0 -AND warehouse_id = intWH -ORDER BY landing DESC) sub -GROUP BY Id_Article) sub2 USING(Id_Article); - - -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_last_buy_` */; -/*!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_last_buy_`(v_wh SMALLINT, v_date DATE) -BEGIN - -- Ultima compra hasta hoy - - CALL cache.last_buy_refresh (FALSE); - - - DROP TEMPORARY TABLE IF EXISTS t_item_last_buy; - CREATE TEMPORARY TABLE t_item_last_buy - (PRIMARY KEY (item_id,warehouse_id)) - ENGINE = MEMORY - SELECT item_id, buy_id, warehouse_id - FROM cache.last_buy - WHERE v_wh = warehouse_id OR v_wh IS NULL; - - - -- Ultima compra hasta @v_date - - - -- CALL item_last_buy_from_interval (v_wh, CURDATE(), TIMESTAMPADD(DAY, 1, v_date)); JGF 2016-06-08 fallo: cogia un dia mas de lo solicitado - CALL item_last_buy_from_interval (v_wh, CURDATE(), v_date); - - REPLACE INTO t_item_last_buy - SELECT item_id, buy_id, warehouse_id - FROM tmp.item_last_buy_from_interval - WHERE v_wh = warehouse_id OR v_wh IS NULL; - - - DROP TEMPORARY TABLE tmp.item_last_buy_from_interval; -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_last_buy_from_interval` */; -/*!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_last_buy_from_interval`(v_wh SMALLINT, v_date_ini DATE, v_date_end DATE) -BEGIN -/** - * Obtiene la ultima compra a partir de un intervalo - * de fechas dado. - * - * @param v_wh Id de almacen %NULL para todos los almacenes - * @param v_date_ini Fecha inicial - * @param v_date_end Fecha final - * @table tmp.item_last_buy_from_interval - **/ - IF v_date_end IS NULL - THEN + IF v_date_end IS NULL THEN SET v_date_end = v_date_ini; END IF; - - - IF v_date_end < v_date_ini THEN - SET v_date_ini = TIMESTAMPADD(MONTH,-1,v_date_end); - END IF; - DROP TEMPORARY TABLE IF EXISTS tmp.item_last_buy_from_interval; - CREATE TEMPORARY TABLE tmp.item_last_buy_from_interval - ENGINE = MEMORY - SELECT c.Id_Article item_id, t.warehouse_id, multimax(t.landing, c.Id_Compra) buy_id, MAX(t.landing) landing - FROM Compres c - JOIN Entradas e USING (Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN v_date_ini AND v_date_end - AND (v_wh IS NULL OR t.warehouse_id = v_wh) - AND c.Tarifa2 > 0 - AND NOT c.Novincular - GROUP BY item_id, 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 `item_new` */; -/*!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_new`() -BEGIN - CREATE TEMPORARY TABLE item - ( - item_id INT UNSIGNED NOT NULL, - UNIQUE KEY USING HASH (item_id) - ) - ENGINE = MEMORY; -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_stock` */; -/*!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_stock`(v_wh SMALLINT, v_date DATETIME, v_item INT) -BEGIN -/** - * Calcula el stock del v_wh desde FechaInventario hasta v_date - **/ + SET v_date_end = TIMESTAMPADD(DAY, 1, v_date_end); - DECLARE n TINYINT; - DECLARE v_diff TIME; - DECLARE v_inv DATETIME; - DECLARE v_camp DATETIME; - DECLARE v_curdate DATETIME DEFAULT CURDATE(); - - SET v_date = TIMESTAMP(DATE(v_date), '00:00:00'); - - SELECT FechaInventario, TIMESTAMPADD(DAY, -campaign_life, campaign) - INTO v_inv, v_camp FROM tblContadores LIMIT 1; - - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item - (UNIQUE INDEX i USING HASH (item_id)) - ENGINE = MEMORY - SELECT item_id, SUM(amount) stock, SUM(amount) visible, SUM(amount) available FROM ( - SELECT item_id, amount FROM item_out - WHERE dat >= v_curdate AND dat < v_date - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item) - UNION ALL - SELECT item_id, amount FROM item_entry_in - WHERE dat >= v_curdate AND dat < v_date - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item) - UNION ALL - SELECT item_id, amount FROM item_entry_out - WHERE dat >= v_curdate AND dat < v_date - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item) - ) t - GROUP BY item_id HAVING stock != 0; - - CALL `cache`.stock_refresh (FALSE); - - INSERT INTO tmp_item (item_id,stock,visible,available) - SELECT item_id,amount,amount,amount FROM `cache`.stock - WHERE warehouse_id = v_wh AND (v_item IS NULL OR v_item = item_id) - ON DUPLICATE KEY UPDATE - stock = stock + VALUES(stock), - visible = visible + VALUES(visible), - available = available + VALUES(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_stock_avail` */; -/*!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_stock_avail`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT,IN direccion TINYINT) -BEGIN - DECLARE done INT DEFAULT 0; - DECLARE expr,expr1,expr2,expr3,expr4,expr5 TEXT; - DECLARE query TEXT; - DECLARE _son,_self TEXT; - DECLARE _auxshipment, _auxlanding,fut DATE; - -- Selecciona tots els travels cap als fill ens els próxims 15 dies - DECLARE cur1 CURSOR FOR - SELECT shipment,landing FROM travel WHERE warehouse_id_out = v_wh AND shipment BETWEEN TIMESTAMPADD(day,1,v_date) - AND TIMESTAMPADD(day,15,v_date) AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = v_wh - LIMIT 1) - ORDER BY shipment; - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -- selecciona els primers travels que arrivaran després de la v_date de cada warehouse - - CALL item_travel (v_wh, v_date); - - SET expr = sql_printf ('dat BETWEEN DATE(%v) AND DATE(%v)' - ,TIMESTAMP(v_date, '00:00:00') - ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') - /*,v_wh*/ - ); - - - IF id_single IS NOT NULL THEN - SET expr = sql_printf('%s AND item_id = %v' - ,expr - ,id_single - ); - END IF; - - SET expr1 = sql_printf ('%s AND warehouse_id = %v ' - ,expr - ,v_wh - ); - SET expr2 = ''; - SET _self = CONCAT(v_wh, 'virtual'); - - -- crea una taula amb el nom del warehousevirtual - CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t - ( - item_id INT(11), - dat DATE, - amount DOUBLE(8,2), - PRIMARY KEY(item_id,dat) - ) - ENGINE = MEMORY;',_self)); - -- si esta mirant els pares li añadeix el virtual que pot arrivar a conseguir - IF direccion >= 0 THEN - SET expr2 = sql_printf (' UNION ALL - SELECT item_id, dat, amount - FROM vn2008.%t WHERE %s' - ,_self - ,expr - ); - END IF; - - ALTER TABLE tmp_item ADD future DATE; - - /*jgf afegeix AND Reservado != 0 */ - -- calcula el mínim disponible fins a la próxima arrivada de mercancia -SET query = sql_printf ( - 'INSERT INTO tmp_item (item_id,available, future) - SELECT item_id, SUM(amount) AS available,landing as future FROM ( - SELECT t.item_id, minacum(dt, amount, %v) amount,w.landing FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT item_id, dat, amount - FROM item_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_in WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_out WHERE %s - %s - ) t - GROUP BY item_id, dt - ) t - LEFT JOIN Articles a ON a.Id_Article = t.item_id - LEFT JOIN Origen o ON o.id = a.id_origen - LEFT JOIN item_travel w ON w.wh = o.warehouse_id - WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) - GROUP BY t.item_id - ) t - GROUP BY t.item_id HAVING available != 0 - ON DUPLICATE KEY UPDATE - available = IFNULL(available,0) + VALUES(available)' - , DATE(v_date) + 0, expr1, expr1, expr1, expr2 - ); - -- JGF 22/10/14 - WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) - -- JGF 2015-03-31 ANTES WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) - CALL sql_query (query); - -- si el v_wh es pare - IF (direccion > 0) THEN - - -- crea una taula TEMPORAL per al fill - SELECT CONCAT(son,'virtual') A INTO _son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1; - CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t - ( - item_id INT(11), - dat DATE, - amount DOUBLE(8,2), - PRIMARY KEY(item_id,dat) - ) - ENGINE = MEMORY;',_son)); - IF (direccion >= 2) THEN - CALL sql_query (query); - SET query = sql_printf ( -- REPLACE en lugar de INSERT INTO PAK 20/11/14 - 'REPLACE vn2008.%t (item_id,dat,amount) - SELECT item_id,landing,available FROM tmp_item,travel - WHERE shipment = DATE(%v) AND warehouse_id_out = %v AND available > 0 - AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = %v - LIMIT 1) GROUP BY warehouse_id - ',_son,v_date,v_wh,v_wh); - - CALL sql_query (query); - - TRUNCATE TABLE tmp_item; - END IF; - OPEN cur1; - FETCH cur1 INTO _auxshipment,_auxlanding; - WHILE !done DO - SET expr4 = sql_printf ('dat BETWEEN %v AND %v' - ,TIMESTAMP(DATE(_auxshipment), '00:00:00') - ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') - ); - IF id_single IS NOT NULL THEN - SET expr4 = sql_printf('%s AND item_id = %v' - ,expr4 - ,id_single - ); - END IF; - - SET expr5 = sql_printf ('%s AND warehouse_id = %v' - ,expr4 - ,v_wh - ); - -- afegir entrades menys eixides desde l'ultim dia.. - SET query = sql_printf ( - 'INSERT INTO vn2008.%t (item_id,dat,amount) - SELECT item_id, %v, SUM(amount) AS available FROM ( - SELECT t.item_id, minacum(dt, amount, %v) amount FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT item_id, dat, amount - FROM item_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_in WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM %t WHERE %s - ) t - GROUP BY item_id, dt - ) t - LEFT JOIN Articles a ON a.Id_Article = t.item_id - LEFT JOIN Origen o ON o.id = a.id_origen - LEFT JOIN item_travel w ON w.wh = o.warehouse_id - WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) - GROUP BY t.item_id - ) t GROUP BY t.item_id HAVING available > 0 - ON DUPLICATE KEY UPDATE - amount = IFNULL(amount,0) + VALUES(amount) - ',_son,DATE(_auxlanding)+0,DATE(_auxshipment)+0,expr5, expr5, expr5,_self,expr4); - -- JGF 07/07/14 - WHERE IFNULL(dt < w.landing , TRUE) - CALL sql_query (query); - FETCH cur1 INTO _auxshipment,_auxlanding; - END WHILE; - - CLOSE cur1; - END IF; - CALL sql_query (sql_printf('DROP TEMPORARY TABLE IF EXISTS %t;',_self)); -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_stock_avail_new` */; -/*!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_stock_avail_new`(IN v_wh TINYINT, IN v_date DATETIME, IN id_single INT,IN direccion TINYINT) -BEGIN - DECLARE done INT DEFAULT 0; - DECLARE expr,expr1,expr2,expr3,expr4,expr5 TEXT; - DECLARE query TEXT; - DECLARE _son,_self TEXT; - DECLARE _auxshipment, _auxlanding,fut DATE; - - -- Selecciona tots els viajes cap als fill ens els próxims 15 dies - - DECLARE cur1 CURSOR FOR - SELECT shipment,landing FROM travel - WHERE warehouse_id_out = v_wh - AND shipment BETWEEN TIMESTAMPADD(day,1,v_date) - AND TIMESTAMPADD(day,15,v_date) - AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1) - ORDER BY shipment; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - -- Selecciona els primers viajes que arrivaran després de la v_date de cada almacen - - CALL item_travel (v_wh, v_date); - - SET expr = sql_printf ('dat BETWEEN DATE(%v) AND DATE(%v)' - ,TIMESTAMP(v_date, '00:00:00') - ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') - ); - - IF id_single IS NOT NULL - THEN - SET expr = sql_printf('%s AND item_id = %v' - ,expr - ,id_single - ); - END IF; - - SET expr1 = sql_printf ('%s AND warehouse_id = %v ' - ,expr - ,v_wh - ); - SET expr2 = ''; - SET _self = CONCAT(v_wh, 'virtual'); - - -- Crea una taula amb el nom del almacen virtual - - CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t - ( - item_id INT(11), - dat DATE, - amount DOUBLE(8,2), - PRIMARY KEY(item_id,dat) - ) - ENGINE = MEMORY',_self)); - - -- Si esta mirant els pares li añadeix el virtual que pot arrivar a conseguir - - IF direccion >= 0 - THEN - SET expr2 = sql_printf (' UNION ALL - SELECT item_id, dat, amount - FROM vn2008.%t WHERE %s' - ,_self - ,expr - ); - END IF; - - ALTER TABLE tmp_item ADD future DATE; - - -- Calcula el mínim disponible fins a la próxima arrivada de mercancia - - SET query = sql_printf ( - 'INSERT INTO tmp_item (item_id, available, future) - SELECT item_id, SUM(amount) AS available,landing as future FROM ( - SELECT t.item_id, minacum(dt, amount, %v) amount,w.landing FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT item_id, dat, amount - FROM item_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_in WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_out WHERE %s - %s - ) t - GROUP BY item_id, dt - ) t - LEFT JOIN Articles a ON a.Id_Article = t.item_id - LEFT JOIN Origen o ON o.id = a.id_origen - LEFT JOIN item_travel w ON w.wh = o.warehouse_id - WHERE IFNULL(dt <= w.landing OR Id_Article > 170000, TRUE) - GROUP BY t.item_id - ) t - GROUP BY t.item_id HAVING available != 0 - ON DUPLICATE KEY UPDATE - available = IFNULL(available,0) + VALUES(available)' - ,DATE(v_date)+0 - ,expr1 - ,expr1 - ,expr1 - ,expr2 - ); - CALL sql_query (query); - - -- Si es el almacen padre - - IF (direccion > 0) - THEN - -- Crea una tabla temporar pare el hijo - SELECT CONCAT(son,'virtual') A INTO _son FROM warehouse_tree_bidi WHERE father = v_wh LIMIT 1; - - CALL sql_query (sql_printf( - 'CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t - ( - item_id INT(11), - dat DATE, - amount DOUBLE(8,2), - PRIMARY KEY(item_id,dat) - ) - ENGINE = MEMORY;', - _son - )); - - IF (direccion >= 2) - THEN - CALL sql_query (query); - CALL sql_query (sql_printf ( - 'REPLACE vn2008.%t (item_id,dat,amount) - SELECT item_id, landing, available FROM tmp_item, travel - WHERE shipment = DATE(%v) AND warehouse_id_out = %v AND available > 0 - AND warehouse_id = (SELECT son FROM warehouse_tree_bidi WHERE father = %v LIMIT 1) - GROUP BY warehouse_id' - ,_son - ,v_date - ,v_wh - ,v_wh - )); - TRUNCATE TABLE tmp_item; - END IF; - - OPEN cur1; - FETCH cur1 INTO _auxshipment,_auxlanding; - - WHILE !done - DO - SET expr4 = sql_printf ('dat BETWEEN %v AND %v' - ,TIMESTAMP(DATE(_auxshipment), '00:00:00') - ,TIMESTAMP(TIMESTAMPADD(DAY, 15, v_date), '23:59:59') - ); - - IF id_single IS NOT NULL - THEN - SET expr4 = sql_printf('%s AND item_id = %v' - ,expr4 - ,id_single - ); - END IF; - - SET expr5 = sql_printf ('%s AND warehouse_id = %v' - ,expr4 - ,v_wh - ); - - -- Afegir entrades menys eixides desde l'ultim dia - - CALL sql_query (sql_printf ( - 'INSERT INTO vn2008.%t (item_id,dat,amount) - SELECT item_id, %v, SUM(amount) AS available FROM ( - SELECT t.item_id, minacum(dt, amount, %v) amount FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT item_id, dat, amount - FROM item_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_in WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM item_entry_out WHERE %s - UNION ALL - SELECT item_id, dat, amount - FROM %t WHERE %s - ) t - GROUP BY item_id, dt - ) t - LEFT JOIN Articles a ON a.Id_Article = t.item_id - LEFT JOIN Origen o ON o.id = a.id_origen - LEFT JOIN item_travel w ON w.wh = o.warehouse_id - WHERE IFNULL(dt < w.landing OR Id_Article > 170000, TRUE) - GROUP BY t.item_id - ) t GROUP BY t.item_id HAVING available > 0 - ON DUPLICATE KEY UPDATE - amount = IFNULL(amount,0) + VALUES(amount)' - ,_son - ,DATE(_auxlanding)+0 - ,DATE(_auxshipment)+0 - ,expr5 - ,expr5 - ,expr5 - ,_self - ,expr4 - )); - - FETCH cur1 INTO _auxshipment,_auxlanding; - END WHILE; - - CLOSE cur1; - END IF; - - CALL sql_query (sql_printf('DROP TEMPORARY TABLE IF EXISTS %t', _self)); -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_stock_visible` */; -/*!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_stock_visible`(v_wh SMALLINT, v_item INT) -BEGIN - DECLARE v_curdate DATETIME DEFAULT TIMESTAMP(CURDATE(), '00:00:00'); - DECLARE v_tomorrow DATETIME DEFAULT TIMESTAMPADD(HOUR, 24, CURDATE()); - - INSERT INTO tmp_item (item_id, visible) - SELECT item_id, SUM(amount) amount FROM ( - SELECT item_id, amount FROM item_out - WHERE dat >= v_curdate - AND warehouse_id = v_wh - AND (alertLevel > 1 - OR - ok != FALSE - /* AND (((ok != FALSE OR ready != FALSE OR invoice IS NOT NULL) - AND dat < v_tomorrow) - */ - OR Reservado != FALSE ) - UNION ALL - SELECT item_id, amount FROM item_entry_in - WHERE received != FALSE - AND dat >= v_curdate AND dat < v_tomorrow - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item) - UNION ALL - SELECT item_id, amount FROM item_entry_out - WHERE delivered != FALSE - AND dat >= v_curdate AND dat < v_tomorrow - AND warehouse_id = v_wh - AND (v_item IS NULL OR item_id = v_item) - ) t - GROUP BY item_id - ON DUPLICATE KEY UPDATE - visible = IFNULL(stock,0) + VALUES(visible); -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_travel` */; -/*!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_travel`(v_wh TINYINT, v_date DATETIME) -BEGIN - DECLARE v_travel INT; - DECLARE v_wh_out INT; - DECLARE v_shipment DATETIME; - DECLARE v_campaign DATETIME; - DECLARE v_date_start DATETIME; - - DROP TEMPORARY TABLE IF EXISTS travel_top; - DROP TEMPORARY TABLE IF EXISTS item_travel; - - -- Crea una taula buida travel_top - - CREATE TEMPORARY TABLE travel_top - (PRIMARY KEY (wh_in,wh_out,landing,shipment)) -- 28/1/15 JGF & PAK cuelgue dia 26 - ENGINE = MEMORY - SELECT 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; - - REPEAT - SET v_travel = NULL; - - -- Va seleccionant registres un a un - - SELECT id, wh_out, shipment, landing - INTO v_travel, v_wh_out, v_shipment, v_date_start - FROM travel_top WHERE ok = FALSE LIMIT 1; - - -- Marca el registre per a saber que esta revistat - - UPDATE travel_top SET ok = TRUE WHERE id = v_travel; - - -- Concatena travels - - - INSERT IGNORE INTO travel_top - SELECT id, v_wh, warehouse_id_out, FALSE, IF(v_travel, v_date_start, landing), shipment - FROM travel - WHERE warehouse_id = v_wh_out - -- Canvia Javi 08/04/13 error que pasaba a les 06:00 del mati - -- AND IF(v_travel, landing <= v_shipment, landing > v_shipment) - AND IF(v_travel, landing <= v_shipment, landing >= v_shipment) - AND shipment >= CURDATE() - AND delivered = FALSE; - - UNTIL v_travel IS NULL - END REPEAT;/* - select max_count; - SELECT * FROM travel_top;*/ - - DELETE FROM travel_top WHERE id = 0; -/* - SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign - INTO v_date_start, v_campaign FROM tblContadores;*/ - - -- Agafa el travel que arriva primer per a cada warehouse - - CREATE TEMPORARY TABLE item_travel - (KEY (wh)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT wh_out wh,/* IF( - v_date BETWEEN v_date_start AND v_campaign - AND landing BETWEEN v_date_start AND v_campaign - ,TIMESTAMPADD(DAY, 1, v_campaign) - ,landing - ) */landing - FROM travel_top - WHERE wh_out <> v_wh - ORDER BY landing - ) t - GROUP BY wh; --- SELECT * FROM item_travel; - DROP TEMPORARY TABLE travel_top; -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_travel_fixed` */; -/*!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_travel_fixed`(v_wh TINYINT, v_date DATETIME) -BEGIN - DECLARE v_travel INT; - DECLARE v_wh_out INT; - DECLARE v_shipment DATETIME; - DECLARE v_campaign DATETIME; - DECLARE v_date_start DATETIME; - - DROP TEMPORARY TABLE IF EXISTS travel_top; - DROP TEMPORARY TABLE IF EXISTS item_travel_fixed; - - CREATE TEMPORARY TABLE travel_top - (KEY (id)) - ENGINE = MEMORY - SELECT 0 id, v_wh wh_out, v_date shipment; - - REPEAT - SET v_travel = NULL; - - SELECT t.id, wh_out, shipment - INTO v_travel, v_wh_out, v_shipment - FROM travel_top t - JOIN warehouse w ON w.id = wh_out AND fuente = 0 - LIMIT 1; - - INSERT INTO travel_top - SELECT t.id, warehouse_id_out, shipment/*, FALSE*/ - FROM travel t - WHERE warehouse_id = v_wh_out - AND landing <= v_shipment - AND shipment >= CURDATE() - AND NOT delivered; - - DELETE t - FROM travel_top t - JOIN warehouse w ON w.id = wh_out - WHERE t.id = v_travel AND fuente = 0; - UNTIL v_travel IS NULL - END REPEAT; - - - SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign - INTO v_date_start, v_campaign FROM tblContadores; - - CREATE TEMPORARY TABLE item_travel_fixed - (KEY (wh)) - ENGINE = MEMORY - SELECT * FROM - ( - SELECT wh_out wh - FROM travel_top - WHERE wh_out <> v_wh - ) t - GROUP BY wh; - - DROP TEMPORARY TABLE travel_top; -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_travel_select` */; -/*!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_travel_select`(v_wh TINYINT, v_date DATETIME) -BEGIN - DECLARE v_travel INT; - DECLARE v_wh_out INT; - DECLARE v_shipment DATETIME; - DECLARE v_campaign DATETIME; - DECLARE v_date_start DATETIME; - - DROP TEMPORARY TABLE IF EXISTS travel_top; - DROP TEMPORARY TABLE IF EXISTS item_travel; - - -- Crea una taula buida travel_top - - CREATE TEMPORARY TABLE travel_top - (PRIMARY KEY (id)) - ENGINE = MEMORY - SELECT 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; - - REPEAT - SET v_travel = NULL; - - -- Va seleccionant registres un a un - - SELECT id, wh_out, shipment, landing - INTO v_travel, v_wh_out, v_shipment, v_date_start - FROM travel_top WHERE ok = FALSE LIMIT 1; - - -- Marca el registre per a saber que esta revistat - - UPDATE travel_top SET ok = TRUE WHERE id = v_travel; - - -- Concatena travels cap al pasat - - INSERT IGNORE INTO travel_top - SELECT id, v_wh, warehouse_id_out, FALSE, IF(v_travel, v_date_start, landing), shipment - FROM travel - WHERE warehouse_id = v_wh_out - AND IF(v_travel, landing <= v_shipment, landing > v_shipment) - AND shipment >= CURDATE() - AND delivered = FALSE; - - UNTIL v_travel IS NULL - END REPEAT; - - DELETE FROM travel_top WHERE id = 0; - - SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign - INTO v_date_start, v_campaign FROM tblContadores; - - -- Agafa el travel que arriva primer per a cada warehouse - - CREATE TEMPORARY TABLE item_travel - (KEY (wh)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT wh_out wh, IF( - v_date BETWEEN v_date_start AND v_campaign - AND landing BETWEEN v_date_start AND v_campaign - ,TIMESTAMPADD(DAY, 1, v_campaign) - ,landing - ) landing - FROM travel_top - WHERE wh_out <> v_wh - ORDER BY landing - ) t - GROUP BY wh; - - SELECT * FROM item_travel; - DROP TEMPORARY TABLE travel_top; -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_travel_testing` */; -/*!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_travel_testing`(v_wh TINYINT, v_date DATETIME) -BEGIN - DECLARE v_travel INT; - DECLARE v_wh_out INT; - DECLARE v_shipment DATETIME; - DECLARE v_campaign DATETIME; - DECLARE v_date_start DATETIME; - - - - DROP TEMPORARY TABLE IF EXISTS travel_top; - DROP TEMPORARY TABLE IF EXISTS item_travel; - - -- Crea una taula buida travel_top - - drop temporary table if exists travels_list; - create temporary table travels_list - (id integer, shipment date, landing date, warehouse_id int, warehouse_id_out int); - - CREATE TEMPORARY TABLE travel_top - -- (PRIMARY KEY (wh_in,wh_out,landing,shipment) ) - ENGINE = MEMORY - SELECT 0 RODA, 0 ORDRE, 0 son_id, 0 id, v_wh wh_in, v_wh wh_out, FALSE ok, v_date landing, v_date shipment; - - SET @rodaeta:= 0; - - REPEAT - SET v_travel = -1; - - - -- Va seleccionant registres un a un - - SELECT id, wh_out, shipment, landing - INTO v_travel, v_wh_out, v_shipment, v_date_start - FROM travel_top WHERE ok = FALSE - LIMIT 1; - - -- Marca el registre per a saber que esta revistat - - UPDATE travel_top SET ok = TRUE WHERE id = v_travel; - - -- Concatena travels - SET @ordre := 0; - - INSERT INTO travel_top - SELECT -7 , @ordre:= @ordre + 1 , v_travel ,id, v_wh, warehouse_id_out, FALSE, IF(v_travel>0, v_date_start, landing), shipment - FROM travel - WHERE warehouse_id = v_wh_out - AND IF(v_travel>0, landing <= v_shipment, landing >= v_shipment) - AND shipment >= '2005-01-26' and shipment < '2005-02-28' - AND delivered = FALSE; - - IF (SELECT Count(*) FROM travel_top WHERE RODA = -7) THEN - SET @rodaeta:= @rodaeta + 1; - update travel_top set RODA = @rodaeta where RODA = -7; - end if; - - INSERT INTO travels_list - SELECT id, shipment, landing, warehouse_id, warehouse_id_out - FROM travel - WHERE warehouse_id = v_wh_out - AND IF(v_travel>0, landing <= v_shipment, landing >= v_shipment) - AND shipment >= '2005-01-26' and shipment < '2005-02-28' - AND delivered = FALSE; - - -UNTIL v_travel = -1 END REPEAT; - - - - /* - select max_count; - SELECT * FROM travel_top;*/ - - /*DELETE FROM travel_top WHERE id = 0;*/ -/* - SELECT TIMESTAMPADD(DAY, -campaign_life, campaign), campaign - INTO v_date_start, v_campaign FROM tblContadores;*/ - - -- Agafa el travel que arriva primer per a cada warehouse - - CREATE TEMPORARY TABLE item_travel - (KEY (wh)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT wh_out wh,/* IF( - v_date BETWEEN v_date_start AND v_campaign - AND landing BETWEEN v_date_start AND v_campaign - ,TIMESTAMPADD(DAY, 1, v_campaign) - ,landing - ) */landing - FROM travel_top - WHERE wh_out <> v_wh - ORDER BY landing - ) t - GROUP BY wh; - -SELECT * FROM item_travel; -SELECT * FROM travel_top order by RODA, ORDRE; - - DROP TEMPORARY TABLE travel_top; -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 `ListaTicketsEncajados` */; -/*!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 `ListaTicketsEncajados`(IN intId_Trabajador int) -BEGIN - -SELECT Agencia,Consignatario, ti.Id_Ticket, ts.worker Id_Trabajador,IFNULL(ncajas,0) AS ncajas, -IFNULL(nbultos,0) AS nbultos,IFNULL(notros,0) AS notros,code AS Estado -FROM Tickets ti -INNER JOIN Consignatarios ON ti.Id_Consigna = Consignatarios.Id_consigna -INNER JOIN Agencias ON ti.Id_Agencia = Agencias.Id_Agencia -LEFT JOIN (select Ticket_Id,count(*) as ncajas from expeditions where Id_Article=94 group by ticket_id) sub1 on ti.Id_Ticket=sub1.Ticket_Id -LEFT JOIN (select Ticket_Id,count(*) as nbultos from expeditions where Id_Article is null group by ticket_id) sub2 on ti.Id_Ticket=sub2.Ticket_Id -LEFT JOIN (select Ticket_Id,count(*) as notros from expeditions where Id_Article >0 group by ticket_id) sub3 on ti.Id_Ticket=sub3.Ticket_Id -INNER JOIN vn.ticketState ts ON ti.Id_ticket = ts.ticket -WHERE ti.Fecha=curdate() and -ts.worker=intId_Trabajador -group by ti.Id_Ticket; - -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 `malpagantes` */; -/*!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 `malpagantes`() -BEGIN - -set @cliente := 0; -set @saldo := 0; - -Select Id_Cliente, Cliente from -Clientes -join -(select distinct Id_Cliente -from Facturas -where Fecha > '2015-01-01') cli using(Id_Cliente) -left join -( -select distinct Id_Cliente -from -( -select Fecha - , @saldo := IF(@cliente = Id_Cliente, @saldo + Importe, Importe) Saldo - , @cliente := Id_Cliente as Id_Cliente -from -( -select Id_Cliente, Fecha, Importe from - -( -select Id_Cliente, -1 * Importe Importe, Fecha -from Facturas -union all -select Id_Cliente, Entregado, Fechacobro -from Recibos -) sub -order by Id_Cliente, Fecha -) sub2 -) sub3 -where Saldo > -1 -and Fecha > '2015-01-01' - -) sub4 using(Id_Cliente) -where sub4.Id_Cliente is 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 `manaEraser` */; -/*!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 `manaEraser`(vTicket INT) -BEGIN - - DECLARE vComponentOld INT; - DECLARE vComponentNew INT; - - SELECT Id_Componente - INTO vComponentOld - FROM tarifa_componentes - WHERE Componente = 'maná'; - - SELECT Id_Componente - INTO vComponentNew - FROM tarifa_componentes - WHERE Componente = 'rebaja manual'; - - UPDATE Movimientos_componentes mc - JOIN Movimientos m using(Id_Movimiento) - SET mc.Id_Componente = vComponentNew - WHERE mc.Id_Componente = vComponentOld - AND m.Id_Ticket = 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 `manaRequery` */; -/*!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 `manaRequery`(worker INTEGER) -BEGIN - -DECLARE MyFechaDesde DATE; - -SELECT max(dated) INTO MyFechaDesde -FROM bs.manaCustomer; - - -REPLACE bs.mana_spellers (Id_Trabajador, used) - - SELECT worker, sum(mana) FROM - - ( - SELECT Cantidad * Valor as mana - FROM vn2008.Tickets t - JOIN Consignatarios cs using(Id_Consigna) - JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente - JOIN Movimientos m using(Id_Ticket) - JOIN Movimientos_componentes mc using(Id_Movimiento) - WHERE c.Id_Trabajador = worker AND Id_Componente IN (39, 37) -- maná auto y maná - AND Fecha > MyFechaDesde - - UNION ALL - - SELECT - Entregado - FROM Recibos r - JOIN Clientes c using(Id_Cliente) - WHERE c.Id_Trabajador = worker AND Id_Banco = 66 - AND Fechacobro > MyFechaDesde - - UNION ALL - - SELECT g.Importe - FROM Greuges g - JOIN Clientes c using(Id_Cliente) - WHERE c.Id_Trabajador = worker AND Greuges_type_id = 3 -- Maná - AND Fecha > MyFechaDesde - - UNION ALL - - SELECT mana - FROM bs.manaCustomer mc - JOIN vn2008.Clientes c ON c.Id_Cliente = mc.Id_Cliente - WHERE c.Id_Trabajador = worker AND dated = MyFechaDesde - ) sub; - - - -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_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 `mana_list`(IN str VARCHAR(3)) -BEGIN - -DECLARE idT INT; - -IF ASCII(str) between 48 and 57 THEN -- el chr(48) es el 0 y el chr(57) es el 9. De ese modo se comprueba si es un numero o un carácter de texto - - SET idT = cast(str as signed); - -ELSE - - SELECT Id_Trabajador INTO idT - FROM Trabajadores - WHERE CodigoTrabajador = str; - -END IF; - - -SELECT * FROM -( -SELECT Id_Ticket - , Alias - , t.Fecha as FechaTicket - , m.odbc_date as FechaAccion - , Id_Article - , CONCAT(IF(Id_Componente = 39, 'Auto: ',''),Concepte) Concepte - , Cantidad - , round(Valor,2) as Valor - , round(Cantidad * Valor,2) as MANA - FROM Movimientos_componentes mc - JOIN Movimientos m using(Id_Movimiento) - JOIN Tickets t using(Id_Ticket) - JOIN Consignatarios cs using(Id_Consigna) - JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente - WHERE c.Id_Trabajador = idT - AND Id_Componente IN (39, 37) - and t.Fecha > TIMESTAMPADD(WEEK,-1,CURDATE()) - - UNION ALL - -SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL - - UNION ALL - -SELECT c.Id_Cliente, Cliente, r.FechaCobro, r.odbc_date, NULL, 'cobro', NULL, NULL, - Entregado - FROM Recibos r - JOIN Clientes c using(Id_Cliente) - WHERE Id_Banco = 66 -- Caja de maná - AND c.Id_Trabajador = idT - - UNION ALL - -SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL - - UNION ALL - -SELECT c.Id_Cliente, Cliente, g.Fecha, g.odbc_date, NULL, Comentario, NULL, NULL, g.Importe - FROM Greuges g - JOIN Clientes c using(Id_Cliente) - WHERE Greuges_type_id = 3 -- Maná - AND c.Id_Trabajador = idT - ) t1 -ORDER BY FechaAccion DESC; - - - -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_requery` */; -/*!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_requery`() -BEGIN - -DECLARE MyFechaDesde DATE; - -SELECT max(dated) INTO MyFechaDesde -FROM bs.manaCustomer; - - -UPDATE bs.mana_spellers - -LEFT JOIN - -( - - SELECT Id_Trabajador, sum(mana) as mana FROM - - ( - SELECT c.Id_Trabajador, Cantidad * Valor as mana - FROM Tickets t - JOIN Consignatarios cs using(Id_Consigna) - JOIN Clientes c on c.Id_Cliente = cs.Id_Cliente - JOIN Movimientos m using(Id_Ticket) - JOIN Movimientos_componentes mc using(Id_Movimiento) - WHERE Id_Componente IN (39, 37) -- maná auto y maná - AND Fecha > MyFechaDesde - - UNION ALL - - SELECT c.Id_Trabajador, - Entregado - FROM Recibos r - JOIN Clientes c using(Id_Cliente) - WHERE Id_Banco = 66 - AND Fechacobro > MyFechaDesde - - UNION ALL - - SELECT c.Id_Trabajador, g.Importe - FROM Greuges g - JOIN Clientes c using(Id_Cliente) - WHERE Greuges_type_id = 3 -- Maná - AND Fecha > MyFechaDesde - - UNION ALL - - SELECT c.Id_Trabajador, mana - FROM bs.manaCustomer mc - JOIN vn2008.Clientes c ON c.Id_Cliente = mc.Id_Cliente - WHERE dated = MyFechaDesde - ) sub - - GROUP BY Id_Trabajador - -) m using(Id_Trabajador) - -SET used = IFNULL(m.mana,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 `massiveTicket` */; -/*!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 `massiveTicket`( - IN dateFrom DATE, IN dateTo DATE, IN customerId INT, OUT newTicketId INT) -BEGIN -/** - * Genera un nuevo ticket con los movimientos correspondientes a los parámetros - * - * @param dateFrom Fecha mínima para los tickets - * @param dateTo Fecha máxima para los tickets - * @param customerId Cliente - * - * @return newTicketId Nuevo numero de ticket - **/ - - DECLARE inventoryWarehouse INT DEFAULT 13; - DECLARE defaultCompany INT DEFAULT 442; - DECLARE defaultWorker INT DEFAULT 20; - - CALL vn.ticketCreate ( customerId - , CURDATE() - , inventoryWarehouse - , defaultCompany - , NULL - , NULL - , NULL - , CURDATE() - , newTicketId); - - INSERT INTO Movimientos( Id_Ticket - , Id_Article - , Concepte - , Preu - , Descuento - , Cantidad) - - SELECT newTicketId - , Id_Article - , Concepte - , Preu - , Descuento - , Cantidad - FROM Movimientos m - JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket - WHERE Id_Cliente = customerId - AND t.Fecha BETWEEN dateFROM AND DAYEND(dateTO); - - SELECT newTicketId; - -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 `mensaje` */; -/*!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 `mensaje`(IN idREM INT, IN idDES INT, IN strMSG LONGTEXT) -BEGIN - -/*DECLARE lngLASTID BIGINT;*/ - --- Caso sencillo - -INSERT INTO Mensajes(Mensaje, Fecha, Remitente, Destinatario) -VALUES(strMSG, NOW(), idREM, idDES); - -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 `monitoring_calls` */; -/*!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`@`localhost` PROCEDURE `monitoring_calls`(IN datFEC DATE) -BEGIN - -SELECT Id_Trabajador, AVG(billsec) as Duracion, days.Fecha, Hora, SUM(Recibidas) as Entrantes, SUM(Emitidas) as Salientes -FROM -( -SELECT Id_Trabajador, billsec, 1 as Recibidas, NULL as Emitidas, date(calldate) as Fecha, hour(calldate) as Hora -FROM Trabajadores T -INNER JOIN cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') -LEFT JOIN v_phonebook A ON A.Telefono = C.src -WHERE calldate >= datFEC -UNION ALL -SELECT Id_Trabajador, billsec, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate) -FROM Trabajadores T -INNER JOIN cdr C ON C.src = T.extension -LEFT JOIN v_phonebook A ON A.Telefono = C.dst -WHERE calldate >= datFEC -) llamadas -INNER JOIN Permisos USING(Id_Trabajador) -INNER JOIN -( -SELECT DISTINCT Fecha FROM Tickets WHERE Fecha >= datFEC -) days USING(Fecha) -WHERE Id_Grupo = 6 -GROUP BY Id_Trabajador, Fecha, Hora; - -/* -SELECT Id_Trabajador, SUM(dur_in) dur_in, SUM(dur_out) dur_out, llamadas.Fecha,YEAR(llamadas.Fecha) `year`, -MONTH(llamadas.Fecha) `month`,WEEK(llamadas.Fecha,7) `week`, Hora, SUM(Recibidas) as Entrantes, SUM(Emitidas) as Salientes -FROM -( -SELECT Id_Trabajador, billsec dur_in, NULL dur_out, 1 as Recibidas, NULL as Emitidas, date(calldate) as Fecha, hour(calldate) as Hora -FROM Trabajadores T -INNER JOIN cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') -WHERE calldate >= CURDATE() -UNION ALL -SELECT Id_Trabajador,NULL dur_in, billsec dur_out, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate) -FROM Trabajadores T -INNER JOIN cdr C ON C.src = T.extension -WHERE calldate >= CURDATE() -) llamadas -INNER JOIN Permisos USING(Id_Trabajador) -WHERE Id_Grupo = 6 -GROUP BY Id_Trabajador, Fecha, Hora; -*/ -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 `Movimiento_rechazo` */; -/*!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 `Movimiento_rechazo`(IN idMOV BIGINT) -BEGIN - - DECLARE idC INT; - DECLARE newFEC DATE; - DECLARE intWarehouse INT; - DECLARE intEmpresa INT; - DECLARE IdConsignatario INT; - DECLARE intIdAgencia INT; - DECLARE Id_NEWTICKET BIGINT; - DECLARE Id_NEWMOVIMIENTO BIGINT; - DECLARE datLanding DATE; - DECLARE v_start DATETIME; - DECLARE v_end DATETIME; - DECLARE intTicketActual INT; - DECLARE SYSTEM_WORKER INT DEFAULT 20; - - SELECT Id_Cliente - , Fecha - , warehouse_id - , empresa_id - , Id_Consigna - , Id_Agencia - , Landing - , Id_Ticket - - INTO idC - , newFEC - , intWarehouse - , intEmpresa - , IdConsignatario - , intIdAgencia - , datLanding - , intTicketActual - - FROM Tickets t - JOIN Movimientos m using(Id_Ticket) - WHERE Id_Movimiento = idMOV; - - -- Busca un ticket existente que coincida con los parametros del nuevo pedido - - SET v_start = TIMESTAMP(newFEC); - SET v_end = TIMESTAMP(newFEC, '23:59:59'); - - SELECT Id_Ticket INTO Id_NEWTICKET - FROM vn2008.Tickets t - WHERE IdConsignatario = t.Id_Consigna - AND intWarehouse = t.warehouse_id - AND intIdAgencia = t.Id_Agencia - AND datLanding <=> t.Landing - AND t.Fecha BETWEEN v_start AND v_end -- uso BETWEEN para aprovechar el indice - AND t.Factura IS NULL - AND t.Localizacion = 'RECHAZO' - AND t.PedidoImpreso = 0 - AND t.Etiquetasemitidas = 0 - AND vn2008.is_bionic(t.Id_Ticket) - AND t.Id_Cliente <> 1118 - AND t.Id_Ticket <> intTicketActual - LIMIT 1; - - IF Id_NEWTICKET IS NULL - THEN - CALL vn.ticketCreate(idC - , newFEC - , intWarehouse - , intEmpresa - , IdConsignatario - , intIdAgencia - , NULL - ,datLanding - , Id_NEWTICKET); - - CALL bionic_calc_ticket(Id_NEWTICKET); - END IF; - - INSERT INTO vncontrol.inter(Id_Ticket, Id_Trabajador, state_id) - SELECT Id_NEWTICKET, SYSTEM_WORKER, s.id - FROM vn2008.state s - WHERE s.code = 'FIXING'; - - INSERT INTO Movimientos(Id_Ticket, Id_Article, Concepte, Cantidad, Preu, Descuento) - SELECT Id_NEWTICKET, Id_Article, Concepte, Cantidad, Preu, Descuento - FROM Movimientos - WHERE Id_Movimiento = idMOV; - - SELECT LAST_INSERT_ID() INTO Id_NEWMOVIMIENTO; - - INSERT INTO Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT Id_NEWMOVIMIENTO, Id_Componente, Valor - FROM Movimientos_componentes - WHERE Id_Movimiento = idMOV; - -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 `msg` */; -/*!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 `msg`(IN memTXT VARCHAR(255), IN idREM INTEGER, idDES INTEGER) -BEGIN - DECLARE last_ID INTEGER; - DECLARE codDES CHAR(3); - - SELECT CodigoTrabajador INTO codDES FROM Trabajadores WHERE Id_Trabajador = idDES; - - INSERT INTO Mensajes(Mensaje,Fecha,Remitente,Destinatario) - VALUES(memTXT, NOW(),idREM, idDES); - SELECT LAST_INSERT_ID() INTO last_ID; - - - INSERT INTO Incidencias(Incidencia,Id_Trabajador,Destino,Fecha,Fecha_Mod) - VALUES (CONCAT('@@ ',last_ID),idREM,codDES,NOW(),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 `nest_brother_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 `nest_brother_add`( - vTable VARCHAR(45) - ,vNewBrother VARCHAR(45) - ,vOldBrotherId INT -) -BEGIN - DECLARE vMyRight INT; - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS aux; - CREATE TEMPORARY TABLE aux - SELECT 0 as rgt; - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux SET rgt = (SELECT rgt FROM %t.%t WHERE id = %v)' - ,vSchema - ,vTable - ,vOldBrotherId - )); - - SELECT rgt INTO vMyRight FROM aux; - - DROP TEMPORARY TABLE aux; - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC' - ,vSchema - ,vTable - ,vMyRight - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC' - ,vSchema - ,vTable - ,vMyRight - )); - - CALL util.exec (sql_printf ( - 'INSERT INTO %t.%t (name, lft, rgt) VALUES(%v, %v + 1, %v + 2)' - ,vSchema - ,vTable - ,vNewBrother - ,vMyRight - ,vMyRight - )); -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 `nest_child_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 `nest_child_add`( - vTable VARCHAR(45) - ,vChild VARCHAR(45) - ,vFatherId INT -) -BEGIN - DECLARE vMyLeft INT; - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS aux; - CREATE TEMPORARY TABLE aux - SELECT 0 as lft; - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux SET lft = (SELECT lft FROM %t.%t WHERE id = %v)' - ,vSchema - ,vTable - ,vFatherId - )); - - SELECT lft INTO vMyLeft FROM aux; - - DROP TEMPORARY TABLE aux; - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC' - ,vSchema - ,vTable - ,vMyLeft - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC' - ,vSchema - ,vTable - ,vMyLeft - )); - - CALL util.exec (sql_printf ( - 'INSERT INTO %t.%t(name, lft, rgt) VALUES(%v, %v + 1, %v + 2)' - ,vSchema - ,vTable - ,vChild - ,vMyLeft - ,vMyLeft - )); -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 `nest_delete` */; -/*!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 `nest_delete`( - vTable VARCHAR(45) - ,vNodeId INT -) -BEGIN - DECLARE vMyRight INT; - DECLARE vMyLeft INT; - DECLARE vMyWidth INT; - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS aux; - CREATE TEMPORARY TABLE aux - SELECT 0 AS rgt, 0 AS lft, 0 AS wdt; - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux a JOIN %t.%t t SET a.rgt = t.rgt, a.lft = t.lft, a.wdt = t.rgt - t.lft + 1 WHERE t.id = %v' - ,vSchema - ,vTable - ,vNodeId - )); - - SELECT rgt, lft, wdt INTO vMyRight, vMyLeft, vMyWidth FROM aux; - - DROP TEMPORARY TABLE aux; - - CALL util.exec (sql_printf ( - 'DELETE FROM %t.%t WHERE lft BETWEEN %v AND %v' - ,vSchema - ,vTable - ,vMyLeft - ,vMyRight - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt' - ,vSchema - ,vTable - ,vMyWidth - ,vMyRight - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft - %v WHERE lft > %v ORDER BY lft' - ,vSchema - ,vTable - ,vMyWidth - ,vMyRight - )); -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 `nest_leaves` */; -/*!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 `nest_leaves`( - vTable VARCHAR(20) - ,vLinesTable VARCHAR(40) - ,vNestId VARCHAR(40) - ,vGap INT - ,vShouldShow BOOL -) -BEGIN - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS tmp.nest; - - -- Se llama al procedimiento que genera el arbol - - CALL nest_tree(vTable, vGap, FALSE); - - -- Se añade un campo para el conteo de hojas - - ALTER TABLE tmp.nest - ADD leaves INT, - ADD time DATETIME; - - -- Añadimos la hora - - CALL util.exec (sql_printf ( - 'UPDATE tmp.nest n - JOIN %t.%t s using(id) - SET n.time = s.odbc_date' - ,vSchema - ,vTable - )); - - -- Actualizamos el campo leaves para los nodos que tienen asociados - - CALL util.exec (sql_printf ( - 'update tmp.nest n - join - ( - select %t as id, count(*) as leaves - from %t.%t - group by %t - ) s using(id) - set n.leaves = s.leaves' - ,vNestId - ,vSchema - ,vLinesTable - ,vNestId - )); - - -- Actualizamos todos los nodos con la suma de las hojas de los hijos - - drop temporary table if exists tmp.nest2; - - create temporary table tmp.nest2 - select * from tmp.nest; - - drop temporary table if exists tmp.nest3; - - create temporary table tmp.nest3 - select * from tmp.nest; - - update tmp.nest - join - ( - select n.id, sum(n2.leaves) leaves - from tmp.nest3 n - join tmp.nest2 n2 on n2.lft between n.lft and n.rgt - group by n.id - ) sub on sub.id = nest.id - set nest.leaves = ifnull(sub.leaves,0); - - drop temporary table tmp.nest2; - - IF vShouldShow THEN - SELECT * FROM tmp.nest; - 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 `nest_move` */; -/*!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 `nest_move`( - strTABLE VARCHAR(45) - ,idNODE INT - ,idFATHER INT -) -BEGIN - DECLARE myRight INT; - DECLARE myLeft INT; - DECLARE myWidth INT; - DECLARE fatherRight INT; - DECLARE fatherLeft INT; - DECLARE gap INT; - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS aux; - CREATE TEMPORARY TABLE aux - SELECT 0 as rgt, 0 as lft, 0 as wdt, 0 as frg, 0 as flf; - - -- Averiguamos el ancho de la rama - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux a JOIN %t.%t t SET a.wdt = t.rgt - t.lft +1 - WHERE t.id = %v' - ,vSchema - ,strTABLE - ,idNODE - )); - - -- Averiguamos la posicion del nuevo padre - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux a JOIN %t.%t t SET a.frg = t.rgt, a.flf = t.lft WHERE t.id = %v' - ,vSchema - ,strTABLE - ,idFATHER - )); - - SELECT wdt, frg, flf INTO myWidth, fatherRight, fatherLeft FROM aux; - - -- 1º Incrementamos los valores de todos los nodos a la derecha del punto de inserción (fatherRight) , para hacer sitio - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt + %v WHERE rgt >= %v ORDER BY rgt DESC' - ,vSchema - ,strTABLE - ,myWidth - ,fatherRight - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft + %v WHERE lft >= %v ORDER BY lft DESC' - ,vSchema - ,strTABLE - ,myWidth - ,fatherRight - )); - - -- Es preciso recalcular los valores del nodo en el caso de que estuviera a la derecha del nuevo padre - - CALL util.exec (sql_printf ( - 'UPDATE vn2008.aux a JOIN %t.%t t SET a.rgt = t.rgt, a.lft = t.lft WHERE t.id = %v' - ,vSchema - ,strTABLE - ,idNODE - )); - - SELECT lft, rgt, frg - lft INTO myLeft, myRight, gap FROM aux; - - -- 2º Incrementamos el valor de todos los nodos a trasladar hasta alcanzar su nueva posicion - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft + %v WHERE lft BETWEEN %v AND %v ORDER BY lft DESC' - ,vSchema - ,strTABLE - ,gap - ,myLeft - ,myRight - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt + %v WHERE rgt BETWEEN %v AND %v ORDER BY rgt DESC' - ,vSchema - ,strTABLE - ,gap - ,myLeft - ,myRight - )); - - -- 3º Restaremos a todos los nodos resultantes, a la derecha de la posicion arrancada el ancho de la rama escindida - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET lft = lft - %v WHERE lft > %v ORDER BY lft' - ,vSchema - ,strTABLE - ,myWidth - ,myLeft - )); - - CALL util.exec (sql_printf ( - 'UPDATE %t.%t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt' - ,vSchema - ,strTABLE - ,myWidth - ,myRight - )); - - DROP TEMPORARY TABLE aux; -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 `nest_query` */; -/*!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 `nest_query`(strTABLE VARCHAR(45)) -BEGIN - DECLARE v_max_depth INT; - DECLARE v_current_depth INT; - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth; - DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth_aux; - - -- Calculamos el nivel de profundidad para cada item - - CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE tmp.nest_depth - SELECT node.id node_id, COUNT(parent.id) - 1 as depth - FROM %t.%t AS node, - %t.%t AS parent - WHERE node.lft BETWEEN parent.lft AND parent.rgt - GROUP BY node.id - ORDER BY node.lft' - ,vSchema - ,strTABLE - ,vSchema - ,strTABLE - )); - - SELECT max(depth) FROM tmp.nest_depth INTO v_max_depth; - SET v_current_depth = 2; - - CREATE TEMPORARY TABLE tmp.nest_depth_aux - SELECT * FROM tmp.nest_depth; - - -- Vamos a hacer consultas anidadas para obtener una consulta de dos entradas - - DROP TEMPORARY TABLE IF EXISTS tmp.nest; - DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; - - -- Primera tabla, con el nivel 0 - CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE tmp.nest - SELECT child.id nest_id - ,child.lft - ,child.rgt - ,parent.id as ID0 - ,parent.name as PARENT0 - ,child.id as ID1 - ,child.name as PARENT1 - FROM %t.%t AS parent - JOIN tmp.nest_depth nd ON nd.node_id = parent.id AND nd.depth = 0, - %t.%t AS child - JOIN tmp.nest_depth_aux ndc ON ndc.node_id = child.id AND ndc.depth = 1 - WHERE child.lft BETWEEN parent.lft + 1 AND parent.rgt - ORDER BY parent.lft' - ,vSchema - ,strTABLE - ,vSchema - ,strTABLE - )); - - CREATE TEMPORARY TABLE tmp.nest_aux - SELECT * FROM tmp.nest; - - WHILE v_current_depth <= v_max_depth - DO - DROP TEMPORARY TABLE IF EXISTS tmp.nest; - - CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE tmp.nest - SELECT parent.* - ,child.id as %v - ,child.name as %v - ,child.id as ID - FROM tmp.nest_aux AS parent - LEFT JOIN %t.%t AS child ON child.lft BETWEEN parent.lft + 1 AND parent.rgt - LEFT JOIN tmp.nest_depth_aux ndc ON ndc.node_id = child.id - WHERE IFNULL(ndc.depth,%v) = %v - ORDER BY parent.lft' - ,CONCAT('ID',v_current_depth) - ,CONCAT('PARENT',v_current_depth) - ,vSchema - ,strTABLE - ,v_current_depth - ,v_current_depth - )); - - -- Actualizamos lft y rgt - - CALL util.exec (sql_printf ( - 'UPDATE tmp.nest - JOIN %t.%t AS child ON child.id = nest.ID - SET nest.lft = child.lft, nest.rgt = child.rgt, nest_id = nest.ID' - ,vSchema - ,strTABLE - )); - - ALTER TABLE tmp.nest DROP COLUMN ID; - - DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; - CREATE TEMPORARY TABLE tmp.nest_aux - SELECT * FROM tmp.nest; - - SET v_current_depth = v_current_depth + 1; - END WHILE; - - -- Eliminamos los campos duplicados - SET v_current_depth = 0; - - WHILE v_current_depth <= v_max_depth - DO - SET @id = 0; - - CALL util.exec (sql_printf ( - 'UPDATE tmp.nest_aux - SET %t = IF(@id = %t, NULL, %t), - ID0 = IF(@id := %t, ID0, ID0), - %t = IF(length(%t), %t,NULL)' - ,CONCAT('PARENT',v_current_depth) - ,CONCAT('ID',v_current_depth) - ,CONCAT('PARENT',v_current_depth) - ,CONCAT('ID',v_current_depth) - ,CONCAT('ID',v_current_depth) - ,CONCAT('PARENT',v_current_depth) - ,CONCAT('ID',v_current_depth) - )); - - SET v_current_depth = v_current_depth + 1; - END WHILE; - - SELECT * FROM tmp.nest_aux; - - -- Limpieza - - DROP TEMPORARY TABLE IF EXISTS - tmp.nest_aux, - tmp.nest, - tmp.nest_depth_aux, - tmp.nest_depth; -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 `nest_sons_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 `nest_sons_list`( - vId INT - ,vTable VARCHAR(45) - ,vShouldShow BOOLEAN -) -BEGIN -/** - * Devuelve un recordset con los ID de todos los nodos que - * cuelgan del nodo que se pasa como parámetro - */ - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS tmp.nest_sons; - CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE tmp.nest_sons - SELECT DISTINCT node.id node_id - FROM %t.%t AS node - JOIN %t.%t AS parent ON node.lft between parent.lft and parent.rgt - WHERE parent.id = %v - ORDER BY node.lft' - ,vSchema - ,vTable - ,vSchema - ,vTable - ,vId - )); - - IF vShouldShow THEN - SELECT * FROM tmp.nest_sons; - 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 `nest_tree` */; -/*!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 `nest_tree`( - vTable VARCHAR(20) - ,vGap INT - ,vShouldShow BOOL -) -BEGIN - DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); - - DROP TEMPORARY TABLE IF EXISTS tmp.nest; - CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE tmp.nest - SELECT node.id - ,CONCAT( REPEAT(REPEAT(" ",%v), COUNT(parent.id) - 1), node.name) AS name - ,node.lft - ,node.rgt - ,COUNT(parent.id) - 1 as depth - ,cast((node.rgt - node.lft - 1) / 2 as DECIMAL) as sons - FROM %t.%t AS node, - %t.%t AS parent - WHERE node.lft BETWEEN parent.lft AND parent.rgt - GROUP BY node.id - ORDER BY node.lft' - ,vGap - ,vSchema - ,vTable - ,vSchema - ,vTable - )); - - IF vShouldShow THEN - SELECT * FROM tmp.nest; - 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 `newItem` */; -/*!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 `newItem`(IN vTicket INTEGER, IN vVolume INTEGER, IN vQuantity INTEGER) -BEGIN - - DECLARE vLandingWarehouse INT; - DECLARE vLandingDate DATE; - DECLARE vShipmentDate DATE; - DECLARE vTravel INT; - DECLARE vEntry INT; - - SELECT warehouse_id, Fecha, landing INTO vLandingWarehouse, vShipmentDate, vLandingDate FROM Tickets WHERE Id_Ticket = vTicket; - - -- seleccionamos travel - SELECT id, Id_Entrada INTO vTravel, vEntry - FROM travel t LEFT JOIN Entradas e ON t.id = e.travel_id - WHERE t.landing = vLandingDate AND t.shipment = vShipmentDate AND t.warehouse_id_out = vLandingWarehouse AND t.warehouse_id = vWarehouse - AND t.delivered = FALSE ; -- agency ?? - - -- creamos el travel si es necesario - IF NOT vTravel THEN - INSERT INTO travel (shipment, landing, warehouse_id, warehouse_id_out, agency_id) - VALUES (vShipmentDate, vLandingDate, vLandingWarehouse, vShipmentWarehouse, a); - SELECT LAST_INSERT_ID() INTO vTravel; - END IF; - - -- creamos la Entrada si es necesario - IF NOT vEntry THEN - INSERT INTO Entradas (Id_Proveedor, travel_id) - VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' - SELECT LAST_INSERT_ID() INTO vEntry; - 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 `niching` */; -/*!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 `niching`(IN i_ini INT, IN i_end INT -, IN i_bal INT, IN i_col INT ) -BEGIN - -DECLARE i INT(5); -DECLARE j INT(5); - -DROP TEMPORARY TABLE IF EXISTS labels; - -CREATE TEMPORARY TABLE `labels` - (`label` VARCHAR(15) NULL) -ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; - -WHILE i_ini <= i_end DO - - SET i = i_bal; - - WHILE i > 0 DO - - - - SET j = i_col; - IF j = 0 THEN - INSERT INTO labels(label) - VALUES (CONCAT(i_ini,IF(i=0,' ',char(64 + i)))); - ELSE - - WHILE j > 0 DO - - INSERT INTO labels(label) - VALUES (CONCAT(i_ini,char(64 + i), j)); - - SET j = j - 1; - - END WHILE; - END IF; - SET i = i - 1; - - END WHILE; - -SET i_ini = i_ini + 1; - -END WHILE; - -SELECT CONCAT('*',label,'*') as label, label as id FROM labels; - -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 - -DECLARE AUX INT; - -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', 'error nightly tasks' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'))); - INSERT INTO vn2008.mail (`to`,`subject`,`text`) VALUES ('pako@verdnatura.es', 'error nightly tasks' ,CONCAT('ERROR ', IFNULL(@errno,0), ': ', ifnull(@text,'texto'))); - -END; - - INSERT INTO vn2008.daily_task_log(consulta) VALUES('arranca el event vn2008.nightly_tasks'); - - - SELECT SLEEP(1) INTO AUX; - CALL vn2008.emailYesterdayPurchasesLauncher(); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('emailYesterdayPurchasesLauncher END'); - - SELECT SLEEP(1) INTO AUX; - CALL vn2008.inventory_refresh(); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('inventory refresh END'); - - SELECT SLEEP(1) INTO AUX; - CALL bi.last_buy_id_add; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('last buy id END'); - - /* JGF 2016-09-06 Quitado a peticion de AGS - SELECT SLEEP(1) INTO AUX; - CALL vn2008.comercial_caducado; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('Comercial Caducado END'); - */ - SELECT SLEEP(1) INTO AUX; - CALL bi.defaulting(curdate()); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('defaulting END'); - - INSERT INTO vn2008.Colas(Id_Informe,Id_Trabajador) VALUES (11,57); - - -- Desactivacion de usuarios con contrato terminado - INSERT INTO vn2008.Colas(Id_Informe) VALUES (16); - - SELECT SLEEP(1) INTO AUX; - CALL `bi`.`Ultima_Accion`; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('ultima accion END'); - - SELECT SLEEP(1) INTO AUX; - CALL `bi`.`facturacion_media_anual_update`(); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('facturacion media anual END'); - - SELECT SLEEP(1) INTO AUX; - CALL vn2008.Clientes_calidad; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('clientes calidad END'); - - SELECT SLEEP(1) INTO AUX; - CALL bi.rotacion_update; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('rotation update END'); - - SELECT SLEEP(1) INTO AUX; - CALL bi.rutas_m3_add; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('rutas_m3 END'); - - SELECT SLEEP(1) INTO AUX; - CALL vn2008.tarjetas_credito_0; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('tarjetas credito 0 END'); - - SELECT SLEEP(1) INTO AUX; - CALL bi.comparativa_add(); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('comparativa add END'); - - SELECT SLEEP(1) INTO AUX; - call vn2008.recobro_credito(); -- PAK 12/01/2016 - INSERT INTO vn2008.daily_task_log(consulta) VALUES('recobro_credito END'); - - SELECT SLEEP(1) INTO AUX; - CALL vn2008.accumulatorsReadingDateUpdate(); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('accumulatorsReadingDateUpdate END'); - - SELECT SLEEP(1) INTO AUX; - call vn2008.itemTagArrangedUpdate(0); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('itemTagFormatUpdate END'); - - SELECT SLEEP(1) INTO AUX; - CALL vn.itemTagUpdatePriority(0); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('articleTagUpdatePriority END'); - - /* - CALL vn.invoiceOutAgainDateRange(util.yesterday(),util.yesterday()); - INSERT INTO vn2008.daily_task_log(consulta) VALUES('invoiceOutAgainDateRange END'); - */ - - /* jgf posar quan estiga arreglat - SELECT SLEEP(1) INTO AUX; - CALL bi.primer_pedido_add; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('primer_pedido_add END'); -*/ - SELECT SLEEP(1) INTO AUX; - INSERT INTO vn2008.daily_task_log(consulta) VALUES('finalitza el event vn2008.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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `notify_passport` */; -/*!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 `notify_passport`(IN idA INT, IN idEti SMALLINT, IN idPacking SMALLINT, IN idCompra INT) -BEGIN - INSERT INTO vn2008.mail(`subject`,`text`,`to`) - SELECT 'Solicitar pasaporte', - CONCAT('Etiquetas: ',ifnull(idEti,0),', Packing: ',ifnull(idPacking,0),', Nombre: ',ifnull(a.Article,0),', buy_edi: ',ifnull(be.id,0),', Nombre botánico: ', - IFNULL(g.latin_genus_name,''),' ',IFNULL(s.latin_species_name,''),' , Productor: ',IFNULL(es.company_name,IFNULL(p.`name`,''))) - ,'ekt@verdnatura.es' - FROM vn2008.Articles a - LEFT JOIN vn2008.Articles_botanical ab ON ab.Id_Article = a.Id_Article - LEFT JOIN edi.genus g ON g.genus_id = ab.genus_id - LEFT JOIN edi.specie s ON IFNULL(s.specie_id,ab.specie_id) = ab.specie_id - LEFT JOIN vn2008.producer p ON p.producer_id = a.producer_id - LEFT JOIN vn2008.Compres c ON c.Id_Compra = idCompra - LEFT JOIN vn2008.buy_edi be ON c.buy_edi_id = be.id - LEFT JOIN edi.supplier es ON es.supplier_id = be.pro - WHERE a.Id_Article = idA; -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 `pay` */; -/*!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 `pay`(IN datFEC DATE - , IN idPROV INT - , IN dblIMPORTE DOUBLE - , IN idMONEDA INT - , IN dblDIVISA DOUBLE - , IN idCAJA INT - , IN idPAYMET INT - , IN dblGASTOS DOUBLE - , IN strCONCEPTO VARCHAR(40) - , IN idEMP INT) -BEGIN - - --- Registro en la tabla Cajas -INSERT INTO Cajas ( Concepto - , Serie - , Numero - , Salida - , Cajafecha - , Partida - , Id_Banco - , Id_Trabajador - ,empresa_id - ,conciliado) - -SELECT CONCAT('n/pago a ', Proveedor) - , 'R' - , idPROV - , dblIMPORTE - , datFEC - , 1 - , idCAJA - , 20 - , idEMP - , 1 -FROM Proveedores -WHERE Id_Proveedor = idPROV; - - --- Registro en la tabla pago -INSERT INTO pago(fecha - , id_proveedor - , importe - , id_moneda - , divisa - , id_banco - , pay_met_id - , g_bancarios - , concepte - , empresa_id) - - VALUES(datFEC - , idPROV - , dblIMPORTE - , idMONEDA - , IF(dblDIVISA = 0, NULL, dblDIVISA) - , idCAJA - , idPAYMET - , dblGASTOS - , strCONCEPTO - , idEMP); - -SELECT LAST_INSERT_ID() as pago_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 `percentil` */; -/*!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 `percentil`() -BEGIN - -DECLARE max_range INT; - -DROP TEMPORARY TABLE IF EXISTS previa; - -CREATE TEMPORARY TABLE previa -SELECT @posicion:= @posicion +1 as Posicion, Id_Cliente, Total FROM ( -SELECT Id_Cliente, Total FROM ( -SELECT Id_Cliente, SUM(Importe) as Total -FROM Facturas -INNER JOIN Clientes USING(Id_Cliente) -INNER JOIN (SELECT @posicion := 0) sub_pos -WHERE invoice -AND YEAR(Fecha) = YEAR(CURDATE()) -GROUP BY Id_Cliente) sub -ORDER BY Total -) sub2; - -SELECT COUNT(*) INTO max_range FROM previa; - -UPDATE Clientes SET percentil = 0; - -UPDATE Clientes INNER JOIN previa USING(Id_Cliente) -SET Clientes.percentil = ROUND(Posicion *100 / max_range,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 `portekk` */; -/*!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 `portekk`(IN intId_Ticket INT,IN intbultos INT, IN intId_Article INT) -BEGIN - - -- Deprecated!! Usar la funcion porte en lugar de este procedure - DECLARE intId_Agencia INT; - DECLARE int_agency_id SMALLINT; - DECLARE int_province_id SMALLINT; - DECLARE bolCOD71 TINYINT(1); - DECLARE intPorte DOUBLE DEFAULT -1; - DECLARE dayofweek TINYINT(1) default 0; - DECLARE suplemento DOUBLE DEFAULT 9.41; - DECLARE strCodPostal VARCHAR(5); - DECLARE intWarehouse_id SMALLINT; - DECLARE dbldescuento DOUBLE DEFAULT 0; - DECLARE intVista TINYINT(1); - DECLARE dblvolumen DOUBLE; - DECLARE intPROVINCIA INT; - - SET @porte := 0; - SELECT c.province_id, a.agency_id, t.Id_Agencia, cod71, Porte,c.CODPOSTAL,t.warehouse_id,c.province_id,cli.Descuento,IFNULL(ag.Vista,a.Vista), por_volumen - INTO intPROVINCIA, int_agency_id,intId_Agencia, bolCOD71,intPorte,strCodPostal,intWarehouse_id,int_province_id,dbldescuento,intVista,dblvolumen - FROM Tickets t - JOIN Consignatarios c USING(Id_Consigna) - JOIN Agencias a ON t.Id_Agencia = a.Id_Agencia - JOIN agency agn ON agn.agency_id = a.agency_id - JOIN Clientes cli on c.Id_Cliente=cli.Id_Cliente - LEFT JOIN agency_warehouse ag ON ag.agency_id = a.agency_id - WHERE Id_Ticket = intId_Ticket limit 1; --- Fusionar con lo de arriba -/*SELECT IFNULL(MAX(counter),0) +1 INTO intcounter FROM expeditions e - INNER JOIN Tickets t1 ON e.ticket_id = t1.Id_Ticket - INNER JOIN Tickets t2 ON t2.Id_Consigna = t1.Id_Consigna AND DATE(t2.Fecha) = DATE(t1.Fecha) - WHERE t2.Id_Ticket = NEW.ticket_id AND t1.Etiquetasemitidas = FALSE AND t1.empresa_id = t2.empresa_id;*/ - - - IF (intPorte >= 0 or dbldescuento BETWEEN 0 AND 1 ) THEN - IF intPorte or base_ticket(intId_Ticket) < 50 THEN - SELECT IFNULL(intPorte,10)/intbultos price;/*en el cas dels tarifa 1 els cobren 10€ de ports*/ - ELSE - SELECT 0 price; - END IF; - ELSE - IF NOT dblvolumen THEN - IF bolCOD71 THEN - IF intVista = 2 AND intbultos BETWEEN 1 AND 2 THEN - SELECT IF(price * intbultos < 10 AND porte_minimo, 10 / intbultos, price) price FROM Agencias_zonas az - WHERE zona = 1 AND Id_Agencia = intId_Agencia AND az.warehouse_id = intWarehouse_id; - ELSE - IF intId_Agencia = 47 THEN -- Si es viaxpress - SELECT price price FROM Agencias_zonas az INNER JOIN viaxpress USING(zona) - WHERE Id_Agencia = 47 AND codigo_postal = strCodPostal AND az.warehouse_id = intWarehouse_id; - ELSE - CALL util.exec (sql_printf (' - SELECT price FROM vn2008.Agencias_zonas az - WHERE Id_Agencia = %v AND %v = Id_Article AND az.warehouse_id = %v - AND zona = (SELECT zona FROM vn2008.Agencias_province - WHERE warehouse_id = %v AND agency_id = %v and province_id = %v)' - ,intId_Agencia,intId_Article,intWarehouse_id,intWarehouse_id,int_agency_id,int_province_id)); - END IF; - END IF; - ELSE - SELECT 0 price; - END IF; - ELSE -- Si es una agency con la columna por_volumen <> 0 calcula el porte por Volumen - - CALL ticket_volumen(intId_Ticket); - SELECT MAX(Porte_total)/intbultos price FROM ticket_volumen; - DROP TEMPORARY TABLE IF EXISTS ticket_volumen; - END IF; - END IF; - - - SET @porte = price; -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 `PortesDesdeTicketkk` */; -/*!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 `PortesDesdeTicketkk`( intTicket INTEGER) -BEGIN - -- DEPRECATED! con el bionic esto ya no se usa - DECLARE done BIT DEFAULT 0; - DECLARE v_date_ini,v_date_end DATE; - -- JGF 21/08/14 A partir de un intTicket se calcula lo que se ha cobrado en concepto de portes - -- restando la tarifa dos en esa fecha al valor del ticket - DROP TEMPORARY TABLE IF EXISTS portes; - IF (SELECT Descuento FROM Clientes c JOIN Tickets t ON t.Id_Cliente = c.Id_Cliente WHERE t.Id_Ticket = intTicket) BETWEEN 0 AND 1 THEN - SELECT TIMESTAMPADD(MONTH,-12,Fecha),Fecha INTO v_date_ini,v_date_end FROM Tickets WHERE Id_Ticket = intTicket LIMIT 1; - - - CREATE TEMPORARY TABLE portes (KEY (Id_Article)) ENGINE = MEMORY - SELECT Id_Article,round(SUM(Preu * (1 - (Descuento / 100)) * Cantidad)/ SUM(Cantidad),2) price, round(SUM(Preu * (1 - (Descuento / 100)) * Cantidad),2) importe, - round((SUM(Preu * (1 - (Descuento / 100)) * Cantidad) / SUM(Cantidad) - Tarifa2) * SUM(Cantidad),2) diferencia,Tarifa2, - v_date_end Fecha,SUM(Cantidad) Cantidad - FROM - (SELECT * FROM ( - SELECT m.Id_Article, Tarifa2,m.Preu,m.Descuento,m.Cantidad,t.Fecha,t.warehouse_id,Id_Movimiento - FROM Compres c - JOIN Movimientos m ON m.Id_Article = c.Id_Article - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel tr ON tr.id = e.travel_id - WHERE t.Id_Ticket = intTicket AND Novincular = FALSE AND Tarifa2 > 0 - AND t.warehouse_id = tr.warehouse_id AND tr.landing BETWEEN v_date_ini AND v_date_end - AND reino_id <> 6 ORDER BY tr.landing DESC) t - GROUP BY t.Id_Movimiento) t - GROUP BY Id_Article, warehouse_id - UNION all - SELECT Id_Article,Preu * (1 - (Descuento / 100)) ,Preu * (1 - (Descuento / 100)) * Cantidad , - Preu * (1 - (Descuento / 100)) * Cantidad ,0 ,v_date_end, Cantidad FROM Movimientos - WHERE Id_Ticket= intTicket AND Id_Article = 71; - - UPDATE portes p JOIN price_fixed pf ON p.Id_Article = pf.item_id AND Fecha BETWEEN date_start AND date_end AND pf.rate_2 - SET diferencia = (price - rate_2) * Cantidad,Tarifa2 = rate_2; - ELSE - CREATE TEMPORARY TABLE portes (KEY (Id_Article)) ENGINE = MEMORY - SELECT Id_Article,Preu * (1 - (Descuento / 100)) price,Preu * (1 - (Descuento / 100)) * Cantidad importe, - Preu * (1 - (Descuento / 100)) * Cantidad diferencia,0 Tarifa2, Cantidad FROM Movimientos - WHERE Id_Ticket= intTicket AND Id_Article = 71; - END IF; - -- SELECT * FROM vn2008.portes; - - -- SELECT NULL, NULL, NULL, sum(diferencia) as Porte, NULL FROM portes p; - -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 `precio` */; -/*!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 `precio`( IN id_cli INT, id_art INT, id_wh INT ) -BEGIN -DECLARE tarifa,descompte, packin,groupin,caj,minimo, id_compra INT DEFAULT 0; -DECLARE importe_min, importe,bonus FLOAT DEFAULT NULL; - -SELECT PrecioEspecial INTO importe FROM PreciosEspeciales WHERE Id_Cliente = id_cli AND Id_Article = id_art; - -IF importe IS NULL THEN - SELECT `Min`, PVP INTO minimo, importe_min FROM `Articles` WHERE Id_Article = id_art; - SELECT Descuento - INTO tarifa - FROM Clientes - WHERE Id_Cliente = id_cli; - - SELECT CASE - WHEN tarifa =0 THEN IF(minimo AND IFNULL(fp.rate_0,C.PVP) < importe_min, importe_min, IFNULL(fp.rate_0,C.PVP)) - WHEN tarifa =1 THEN IF(minimo AND IFNULL(fp.rate_1,C.Tarifa1) < importe_min, importe_min, IFNULL(fp.rate_1,C.Tarifa1)) - WHEN tarifa =2 THEN IF(minimo AND IFNULL(fp.rate_2,C.Tarifa2) < importe_min, importe_min, IFNULL(fp.rate_2,C.Tarifa2)) - WHEN tarifa =3 THEN IF(minimo AND IFNULL(fp.rate_3,C.Tarifa3) < importe_min, importe_min, IFNULL(fp.rate_3,C.Tarifa3)) - WHEN tarifa BETWEEN 4 AND 100 THEN Tarifa1 - WHEN tarifa >100 THEN IF(minimo AND IFNULL(fp.rate_3,C.Tarifa3) * ( ( 200 - tarifa ) /100 ) < importe_min, importe_min,IFNULL(fp.rate_3,C.Tarifa3) * ( ( 200 - tarifa ) /100 )) - END, IFNULL(fp.Packing,C.Packing) Packing, C.Id_Compra,IFNULL(fp.grouping,C.grouping) grouping,IFNULL(fp.caja,C.caja) caja,fp.bonus INTO importe, packin, id_compra,groupin,caj,bonus - FROM Compres C - INNER JOIN Entradas E ON E.Id_Entrada = C.Id_Entrada - INNER JOIN travel T ON T.id = E.travel_id - LEFT JOIN price_fixed fp ON fp.item_id = id_art AND CURDATE() BETWEEN fp.date_start AND fp.date_end AND fp.warehouse_id IN (0,id_wh) - WHERE Id_Article = id_art - AND C.Novincular = FALSE - AND T.landing BETWEEN date_inv() AND CURDATE( ) - AND T.warehouse_id = id_wh - ORDER BY T.landing DESC - LIMIT 1; - - IF tarifa BETWEEN 4 AND 100 THEN SET descompte = tarifa; -END IF; - -IF minimo <> FALSE THEN - IF importe < importe_min THEN - SET importe = importe_min; -END IF; - -END IF; - -END IF; -SELECT importe, descompte, tarifa, packin, id_compra,groupin,caj,bonus -FROM DUAL; - -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 `preOrdenarRuta` */; -/*!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 `preOrdenarRuta`(IN vRutaId INT) -BEGIN - -UPDATE Tickets mt -JOIN ( - SELECT tt.Id_Consigna, round(ifnull(avg(t.Prioridad),0),0) as Prioridad - from Tickets t - JOIN Tickets tt on tt.Id_Consigna = t.Id_Consigna - where t.Fecha > TIMESTAMPADD(YEAR,-1,CURDATE()) - AND tt.Id_Ruta = vRutaId - GROUP BY Id_Consigna - ) sub ON sub.Id_Consigna = mt.Id_Consigna - SET mt.Prioridad = sub.Prioridad - WHERE mt.Id_Ruta = vRutaId; - -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 `prepare_client_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 `prepare_client_list`() -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - CREATE TEMPORARY TABLE tmp.client_list - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT DISTINCT Id_Cliente - FROM 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `prepare_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 = 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 `prepare_ticket_list`(vStartingDate DATETIME, vEndingDate DATETIME) -BEGIN - DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; - CREATE TEMPORARY TABLE tmp.ticket_list - (PRIMARY KEY (Id_Ticket)) - ENGINE = MEMORY - SELECT t.Id_Ticket, c.Id_Cliente - FROM Tickets t - LEFT JOIN vn.ticketState ts ON ts.ticket = t.Id_Ticket - JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente - JOIN clientes_tipo ct ON ct.clientes_tipo_id = c.clientes_tipo_id - WHERE ct.code IN ('normal','handMaking') - AND ( - Fecha BETWEEN util.today() AND vEndingDate - OR ( - ts.alertLevel < 3 - AND t.Fecha >= vStartingDate - AND t.Fecha < util.today() - ) - ); -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 `price_detail` */; -/*!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 `price_detail`(IN idART INT, IN datLanding DATE) -BEGIN - CALL item_last_buy_(NULL,datLanding); - - SELECT 'Ultimas compras',NULL as Entrada, NULL as Almacen, NULL as Tarifa3, NULL as Tarifa2 - UNION ALL - SELECT NULL, Id_Entrada, w.name, Tarifa3, Tarifa2 - FROM Compres c - JOIN t_item_last_buy b ON c.Id_Compra = b.buy_id - JOIN warehouse w on w.id = b.warehouse_id - WHERE b.item_id = idART - UNION all - SELECT 'Precios fijados',NULL, NULL as Almacen, NULL as Tarifa3, NULL as Tarifa2 - UNION ALL - SELECT NULL, CONCAT('de ', date_start, ' a ',date_end) , w.name, rate_3,rate_2 - FROM price_fixed - JOIN warehouse w on w.id = warehouse_id - WHERE item_id = idART - AND datLanding BETWEEN date_start AND date_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 `proc_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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `proc_end`() -BEGIN - -UPDATE stat SET `end` = NOW() -WHERE id = (SELECT id FROM lastid); - -DROP TEMPORARY TABLE IF EXISTS lastid; - -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 `proc_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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `proc_start`(IN v_proc_id INT) -BEGIN - -INSERT INTO stat(proc_id) VALUES(v_proc_id); - - -DROP TEMPORARY TABLE IF EXISTS lastid; -CREATE TEMPORARY TABLE lastid -SELECT last_insert_id() 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 `productionState` */; -/*!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 `productionState`(vWarehouse INT , vDate DATE) -BEGIN - - -SELECT IF(a.Vista= 2, z.alias, a.Agencia) Agencia, t.Id_Ruta, count(*) Pedidos -FROM Tickets t -JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna -JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id - LEFT JOIN Tickets_state tls on tls.Id_Ticket = t.Id_Ticket - LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona - LEFT JOIN vncontrol.inter vni ON vni.inter_id = tls.inter_id - LEFT JOIN state s ON s.id = vni.state_id -WHERE Fecha BETWEEN vDate AND util.dayend(vDate) -AND s.alert_level = 1 -AND t.warehouse_id = vWarehouse -GROUP BY Agencia, Id_Ruta; - -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 `production_buffer_problems` */; -/*!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_buffer_problems`() -BEGIN -/** - * Necesita la tabla tmp.ticket_list - */ - DECLARE vToday DATETIME; - DECLARE vTomorrowMidnight DATETIME ; - DECLARE vWarehouse INT; - DECLARE vDate DATE; - DECLARE vAvailableCache INT; - DECLARE vVisibleCache INT; - DECLARE vDone BOOL; - - DECLARE vCursor CURSOR FOR - SELECT DISTINCT warehouse_id, DATE(Fecha) - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - AND DATE(t.Fecha) BETWEEN CURDATE() AND TIMESTAMPADD(DAY,1.9,CURDATE()); - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS tmp.buffer_problems; - CREATE TEMPORARY TABLE tmp.buffer_problems ( - Id_Ticket INT(11), - problem VARCHAR(50), - INDEX (Id_Ticket) - ) - ENGINE = MEMORY; - - SET vToday = CURDATE(); - SET vTomorrowMidnight = TIMESTAMP(TIMESTAMPADD(DAY, 1, CURDATE()), '23:59:59'); - - OPEN vCursor; - - l: LOOP - SET vDone = FALSE; - FETCH vCursor INTO vWarehouse, vDate; - - IF vDone THEN - LEAVE l; - END IF; - - CALL cache.visible_refresh (vVisibleCache, FALSE, vWarehouse); - CALL cache.available_refresh (vAvailableCache, FALSE, vWarehouse, vDate); - - -- El disponible es menor que 0 - - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT tt.Id_Ticket, Article - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id - LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache - LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache - WHERE date(t.Fecha) = vDate - AND reino_id NOT IN (8,6) - AND M.Cantidad > IFNULL(v.visible,0) - AND M.Cantidad > 0 - AND IFNULL(av.available,0) < 0 - AND M.OK = FALSE - AND NOT generic - AND vWarehouse = t.warehouse_id; - - -- El disponible es mayor que cero y la cantidad supera el visible, estando aun sin preparar - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT tt.Id_Ticket, CONCAT('RETRASO (', A.Id_Article, ') ', Article) - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id - LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache - LEFT JOIN ( - SELECT Id_Article FROM Articles_nicho - WHERE DATE(modificationDate) = CURDATE() AND warehouse_id = vWarehouse - ) nicho ON nicho.Id_Article = A.Id_Article - LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache - WHERE IFNULL(av.available,0) >= 0 - AND M.Cantidad > IFNULL(v.visible,0) - AND M.OK = FALSE - AND M.Reservado = FALSE - AND reino_id NOT IN (8,6) - AND date(t.Fecha) = vDate - AND NOT generic - AND CURDATE() = vDate - AND t.warehouse_id = vWarehouse - AND nicho.Id_Article IS NULL; - END LOOP; - - CLOSE vCursor; - - -- Código 100 - - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'COD 100' - FROM tmp.ticket_list tt - JOIN Movimientos m on m.Id_Ticket = tt.Id_Ticket - WHERE Id_Article = 100; - - -- Congelado - - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'CONGELADO' - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - JOIN Clientes c on c.Id_Cliente = t.Id_Cliente - WHERE c.Congelado; - - -- Riesgo - - CALL risk_vs_client_list(CURDATE()); - - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'RIESGO' - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - JOIN Agencias a on t.Id_Agencia = a.Id_Agencia - JOIN tmp.risk r on r.Id_Cliente = t.Id_Cliente - JOIN Clientes c on c.Id_Cliente = t.Id_Cliente - WHERE r.risk > c.Credito + 10 - AND Vista != 3; -- para que las recogidas se preparen - /* - -- Saldo vencido - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'SALDO VENCIDO' - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - JOIN Agencias a on t.Id_Agencia = a.Id_Agencia - JOIN bi.defaulters d ON d.client = t.Id_Cliente - WHERE d.amount > 200 AND d.date = CURDATE() - AND Vista != 3; -- para que las recogidas se preparen - */ -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 `production_buffer_problemsOptimizado` */; -/*!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_buffer_problemsOptimizado`() -BEGIN -/* - * Necesita la tabla tmp.ticket_list - * - */ - DECLARE vWarehouse INT; - DECLARE vDate DATE; - DECLARE vAvailableCache INT; - DECLARE vVisibleCache INT; - DECLARE vDone INT DEFAULT 0; - - DECLARE vCursor CURSOR FOR - SELECT DISTINCT warehouse_id, date(Fecha) - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - AND DATE(t.Fecha) BETWEEN CURDATE() AND TIMESTAMPADD(DAY,1.9,CURDATE()); - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = 1; - - DROP TEMPORARY TABLE IF EXISTS tmp.buffer_problems; - CREATE TEMPORARY TABLE tmp.buffer_problems ( - Id_Ticket INT(11), - problem VARCHAR(50), - INDEX (Id_Ticket) - ) - ENGINE = MEMORY; - - - -- CONGELADO - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'CONGELADO' - FROM tmp.ticket_list tt - JOIN Clientes c on c.Id_Cliente = tt.Id_Cliente - WHERE c.Congelado; - - -- eliminamos tickets con problemas para no volverlos a mirar - DROP TEMPORARY TABLE IF EXISTS tmp.ticketListFiltered; - - CREATE TEMPORARY TABLE tmp.ticketListFiltered - (PRIMARY KEY (Id_Ticket)) - ENGINE = MEMORY - SELECT tt.Id_Ticket, c.Id_Cliente - FROM tmp.ticket_list tt - JOIN Clientes c on c.Id_Cliente = tt.Id_Cliente - WHERE c.Congelado = 0; - - -- RIESGO - CALL risk_vs_client_list(CURDATE()); - - - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'RIESGO' - FROM tmp.ticketListFiltered tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - JOIN Agencias a on t.Id_Agencia = a.Id_Agencia - JOIN tmp.risk r on r.Id_Cliente = t.Id_Cliente - JOIN Clientes c on c.Id_Cliente = t.Id_Cliente - WHERE r.risk > c.Credito + 10 - AND Vista != 3; -- para que las recogidas se preparen - - -- eliminamos tickets con problemas para no volverlos a mirar - DELETE tlf FROM tmp.ticketListFiltered tlf - JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; - - -- CODIGO 100 - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT DISTINCT tt.Id_Ticket, 'COD 100' - FROM tmp.ticket_list tt - JOIN Movimientos m on m.Id_Ticket = tt.Id_Ticket - WHERE Id_Article = 100; - - -- eliminamos tickets con problemas para no volverlos a mirar - DELETE tlf FROM tmp.ticketListFiltered tlf - JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; - - OPEN vCursor; - - WHILE NOT vDone - DO - FETCH vCursor INTO vWarehouse, vDate ; - - CALL cache.visible_refresh(vVisibleCache,FALSE,vWarehouse); - CALL cache.available_refresh(vAvailableCache,FALSE,vWarehouse,vDate); - - -- El disponible es menor que 0 - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT tt.Id_Ticket, Article - -- CONCAT(IF( M.Cantidad < IFNULL(v.visible,0) , 'NO HAY ','FALTARÁ ' ), Article) - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id - LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache - LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache - WHERE date(t.Fecha) = vDate - AND reino_id != 6 - AND M.Cantidad > IFNULL(v.visible,0) - AND IFNULL(av.available,0) < 0 - AND M.OK = FALSE - AND NOT generic - AND vWarehouse = t.warehouse_id; - - -- eliminamos tickets con problemas para no volverlos a mirar - DELETE tlf FROM tmp.ticketListFiltered tlf - JOIN tmp.buffer_problems bf ON tlf.Id_Ticket = bf.Id_Ticket; - - -- Amarillo: El disponible es mayor que cero y la cantidad supera el visible, estando aun sin preparar - INSERT INTO tmp.buffer_problems(Id_Ticket, problem) - SELECT tt.Id_Ticket, CONCAT('RETRASO ', Article) - FROM tmp.ticket_list tt - JOIN Tickets t on t.Id_Ticket = tt.Id_Ticket - LEFT JOIN vn2008.Movimientos M ON M.Id_Ticket = t.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos tp on tp.tipo_id = A.tipo_id - LEFT JOIN cache.visible v ON A.Id_Article = v.item_id AND v.calc_id = vVisibleCache - LEFT JOIN cache.available av ON av.item_id = A.Id_Article AND av.calc_id = vAvailableCache - WHERE IFNULL(av.available,0) >= 0 - AND M.Cantidad > IFNULL(v.visible,0) - AND M.OK = FALSE - AND M.Reservado = FALSE - AND reino_id != 6 - AND date(t.Fecha) = vDate - AND NOT generic - AND CURDATE() = vDate - AND t.warehouse_id = vWarehouse; - END WHILE; - - CLOSE vCursor; - -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 `production_buffer_set_priority` */; -/*!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_buffer_set_priority`() -BEGIN - -DECLARE currentDayOfWeek INT; - -SET currentDayOfWeek = weekday(curdate()); - --- Sin provincia ni dia de envio -UPDATE tmp.production_buffer pb -LEFT JOIN -( - SELECT agency_id - , warehouse_id - , max_hour - FROM agency_hour ah - WHERE subtract_day < 225 - AND week_day is null - AND province_id is null - -) t on t.agency_id = pb.agency_id - and t.warehouse_id = pb.warehouse_id - -SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,IFNULL(t.max_hour,24), pb.Hora) - ,pb.Departure =IFNULL(t.max_hour,0); - - --- Agencias sin provincia, machacan lo anterior si coinciden -UPDATE tmp.production_buffer pb -JOIN -( - SELECT agency_id - , warehouse_id - , shipmentDay(week_day, subtract_day) as shipmentDay - , max_hour - FROM agency_hour ah - WHERE subtract_day < 225 - AND agency_id is not null - AND week_day is not null - AND max_hour is not null - AND province_id is null - HAVING shipmentDay = currentDayOfWeek - -) t on t.agency_id = pb.agency_id - and t.warehouse_id = pb.warehouse_id - -SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,t.max_hour, pb.Hora) -,pb.Departure = t.max_hour -; - - --- Agencias con provincia, se ejecuta para machacar lo anterior, si procede. -UPDATE tmp.production_buffer pb -JOIN -( - SELECT agency_id - , warehouse_id - , shipmentDay(week_day, subtract_day) as shipmentDay - , max_hour - , province_id - FROM agency_hour ah - WHERE subtract_day < 225 - AND agency_id is not null - AND week_day is not null - AND max_hour is not null - AND province_id is not null - HAVING shipmentDay = currentDayOfWeek - -) t on t.agency_id = pb.agency_id - and t.warehouse_id = pb.warehouse_id - and t.province_id = pb.province_id - -SET pb.Hora = IF(pb.Hora is null or pb.Hora = 0 or pb.Hora = 24,t.max_hour, pb.Hora) -,pb.Departure = t.max_hour -; - --- Pedidos del dia anterior son prioritarios -/* -UPDATE tmp.production_buffer pb -JOIN Tickets t ON t.Id_Ticket = pb.ticket -SET pb.Hora = 1 -WHERE t.Fecha < 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 `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`(vWarehouseId INT, vScopeDays TINYINT) -BEGIN - DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); - DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); - DECLARE SAFE_ALERT_LEVEL INT DEFAULT 3; - DECLARE vLoadingDelay DECIMAL(5) DEFAULT 2; - - CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); - CALL prepare_client_list; - CALL production_buffer_problems; - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - (PRIMARY KEY(Id_Ticket)) - ENGINE = MEMORY - SELECT t.Id_Ticket - , t.Id_Cliente - , t.warehouse_id - , t.Alias - , t.Bultos - , HOUR(t.Fecha) as Hora - , HOUR(t.Fecha) + vLoadingDelay as Departure - , MINUTE(t.Fecha) as minuto - , t.Id_Ruta - , IF(a.Vista = 2,ap.zona,0) as zona - , CS.Consignatario - , CS.CODPOSTAL - , CS.POBLACION - , p.name PROVINCIA - , IF(a.Vista= 2, CONCAT(LEFT(z.alias,16),' ',IFNULL(RIGHT(t.Id_Ruta,3),'')), a.Agencia) Agencia - , a.agency_id - , 0 AS `lines` - , CAST( 0 AS DECIMAL(5,2)) AS m3 - , 0 AS problems - , " " as problem - , IFNULL(tls.state,2) AS state - , w.Codigotrabajador - , DATE(t.Fecha) AS Fecha - , Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial - , p.province_id - , tls.productionOrder as state_order - , ifnull(tls.alertLevel,0) alert_level - , t.boxed as palletized - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - LEFT JOIN province p on p.province_id = CS.province_id - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id - LEFT JOIN vn.ticketState tls on tls.ticket = tt.Id_Ticket - LEFT JOIN Trabajadores w on w.Id_Trabajador = tls.worker - LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona - WHERE t.warehouse_id = vWarehouseId - AND a.Vista IN (1,2,3); - - - -- Líneas y volumen por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT m.Id_Ticket, COUNT(Id_Movimiento) as `lines`, cast( sum( m.Cantidad * r.cm3 / 1000000 ) as decimal(10,2)) as m3 - FROM tmp.ticket_list tt - JOIN Movimientos m on tt.Id_Ticket = m.Id_Ticket - JOIN bi.rotacion r on m.Id_Article = r.Id_Article - WHERE r.warehouse_id = vWarehouseId - GROUP BY m.Id_Ticket - ) m on m.Id_Ticket = pb.Id_Ticket - SET pb.`lines` = m.`lines`, - pb.m3 = m.m3; - - DELETE FROM tmp.production_buffer - WHERE `lines`= 0; - - -- Cajas - - ALTER TABLE tmp.production_buffer - ADD Cajas DOUBLE DEFAULT NULL; - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT t.Id_Ticket, sum(floor(m.Cantidad / c.Packing) * bultoCubico) as Cajas - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket - JOIN cache.last_buy lb on lb.warehouse_id = t.warehouse_id AND lb.item_id = m.Id_Article - JOIN Compres c on c.Id_Compra = lb.buy_id - JOIN Cubos cb on cb.Id_Cubo = c.Id_Cubo - WHERE m.Cantidad > c.Packing - GROUP BY t.Id_Ticket - HAVING Cajas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.Cajas = sub.Cajas; - - -- Artificial, Seco y Preservado: Reino 4 - - ALTER TABLE tmp.production_buffer - ADD lineasArtificial INT DEFAULT NULL; - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT tt.Id_Ticket, COUNT(m.Id_Movimiento) as Lineas - FROM tmp.ticket_list tt - JOIN Movimientos m ON m.Id_Ticket = tt.Id_Ticket - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN reinos r ON r.id = tp.reino_id - WHERE reino = 'Artificial' - GROUP BY tt.Id_Ticket - HAVING Lineas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.lineasArtificial = sub.Lineas; - - - -- Problemas por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT Id_Ticket, COUNT(Id_Ticket) as problems, GROUP_CONCAT(problem) problem - FROM tmp.buffer_problems - GROUP BY Id_Ticket - ) p on p.Id_Ticket = pb.Id_Ticket - SET pb.problems = p.problems, - pb.problem = p.problem; - - -- Hora limite de preparación - - CALL production_buffer_set_priority; - - -- Entradas - - INSERT INTO tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , m3 - , `lines` - ) - SELECT DISTINCT c.shipment AS Fecha - , c.Id_Entrada AS Id_Ticket - , warehouse.name - , c.Id_Proveedor - , c.ref AS Consignatario - , IF(BIT_OR(controlado.Id_Compra),6,IF(BIT_OR(preparado.Id_Compra),5,3)) AS state - , c.Id_Trabajador AS CodigoTrabajador - , round(sum(cm3) / 1000000,2) AS m3 - , count(c.Id_Compra) as `lines` - FROM v_compres c - INNER JOIN warehouse ON c.warehouse_id = warehouse.id - LEFT JOIN Compres_ok preparado ON c.Id_Compra = preparado.Id_Compra AND preparado.valor = 1 - LEFT JOIN Compres_ok controlado ON c.Id_Compra = controlado.Id_Compra AND controlado.valor = 2 - WHERE warehouse_id_out = vWarehouseId AND IFNULL(c.Confirmada,FALSE) = FALSE - AND c.shipment >= CURDATE() - GROUP BY Id_Entrada; - - -- Refresca la caché para el cierre dinámico de agencias - - CALL cache.departure_timing(vWarehouseId); - - -- Tickets de recogida - - REPLACE tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , alert_level - , warehouse_id - ) - SELECT - DATE(t.Fecha) AS Fecha - , t.Id_Ticket - , a.Agencia - , t.Id_Cliente - , CS.Consignatario - , s.id as state - , w.Codigotrabajador - , ifnull(tls.alertLevel,0) alert_level - , vWarehouseId - FROM vn2008.Tickets t - JOIN vn2008.Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN vn2008.warehouse_pickup wp ON wp.agency_id = a.Id_Agencia - LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket - LEFT JOIN vn.state s ON s.id = tls.state - LEFT JOIN vn2008.Trabajadores w on w.Id_Trabajador = tls.worker - WHERE t.Fecha between TIMESTAMPADD(WEEK,-1,CURDATE()) AND dayend(TIMESTAMPADD(DAY,-1,CURDATE())) - AND wp.warehouse_id = vWarehouseId; - - -- DROP TEMPORARY TABLE tmp.ticket_list; - -- DROP TEMPORARY TABLE IF EXISTS tmp.risk; -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 `production_control_source_Beta` */; -/*!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_Beta`(vWarehouseId INT, vScopeDays TINYINT) -BEGIN - DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(CURDATE(),'23:59:59'); - DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight); - DECLARE SAFE_ALERT_LEVEL INT DEFAULT 3; - DECLARE vLoadingDelay DECIMAL(5) DEFAULT 2; - - CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); - CALL prepare_client_list; - CALL production_buffer_problems; - - IF vWarehouseId = 0 THEN - - DELETE tt.* - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - WHERE t.warehouse_id NOT IN (1,44); - - ELSE - - DELETE tt.* - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - WHERE t.warehouse_id != vWarehouseId; - - END IF; - - /* - DROP TEMPORARY TABLE IF EXISTS tmp.selectedWarehouses; - - IF vWarehouseId = 0 THEN - - CREATE TEMPORARY TABLE tmp.selectedWarehouses - (PRIMARY KEY(id)) - ENGINE = MEMORY - SELECT id - FROM warehouse - WHERE id = vWarehouseId; - - ELSE - - CREATE TEMPORARY TABLE tmp.selectedWarehouses - (PRIMARY KEY(id)) - ENGINE = MEMORY - SELECT id - FROM warehouse - WHERE id IN (1,44); -- Silla FV y Silla PCA - - END IF; - */ - - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - (PRIMARY KEY(Id_Ticket)) - ENGINE = MEMORY - SELECT t.Id_Ticket - , t.Id_Cliente - , t.warehouse_id - , t.Alias - , t.Bultos - , HOUR(t.Fecha) as Hora - , HOUR(t.Fecha) + vLoadingDelay as Departure - , MINUTE(t.Fecha) as minuto - , t.Id_Ruta - , IF(a.Vista = 2,ap.zona,0) as zona - , CS.Consignatario - , CS.CODPOSTAL - , CS.POBLACION - , p.name PROVINCIA - , IF(a.Vista= 2, CONCAT(LEFT(z.alias,16),' ',IFNULL(RIGHT(t.Id_Ruta,3),'')), a.Agencia) Agencia - , a.agency_id - , 0 AS `lines` - , CAST( 0 AS DECIMAL(5,2)) AS m3 - , 0 AS problems - , " " as problem - , IFNULL(tls.state,2) AS state - , w.Codigotrabajador - , DATE(t.Fecha) AS Fecha - , Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial - , p.province_id - , tls.productionOrder as state_order - , ifnull(tls.alertLevel,0) alert_level - , t.boxed as palletized - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - JOIN Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - LEFT JOIN province p on p.province_id = CS.province_id - JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN Agencias_province ap on ap.province_id = CS.province_id AND ap.warehouse_id = t.warehouse_id AND ap.agency_id = a.agency_id - LEFT JOIN vn.ticketState tls on tls.ticket = tt.Id_Ticket - LEFT JOIN Trabajadores w on w.Id_Trabajador = tls.worker - LEFT JOIN zoneNickname z ON z.warehouse_id = ap.warehouse_id and z.agency_id = ap.agency_id AND z.zona = ap.zona - AND a.Vista IN (1,2,3); - - - -- Líneas y volumen por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT m.Id_Ticket, COUNT(Id_Movimiento) as `lines`, cast( sum( m.Cantidad * r.cm3 / 1000000 ) as decimal(10,2)) as m3 - FROM tmp.ticket_list tt - JOIN Tickets t ON t.Id_Ticket = tt.Id_Ticket - JOIN Movimientos m on tt.Id_Ticket = m.Id_Ticket - JOIN bi.rotacion r on m.Id_Article = r.Id_Article AND r.warehouse_id = t.warehouse_id - GROUP BY m.Id_Ticket - ) m on m.Id_Ticket = pb.Id_Ticket - SET pb.`lines` = m.`lines`, - pb.m3 = m.m3; - - DELETE FROM tmp.production_buffer - WHERE `lines`= 0; - - -- Cajas - - ALTER TABLE tmp.production_buffer - ADD Cajas DOUBLE DEFAULT NULL; - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT t.Id_Ticket, sum(floor(m.Cantidad / c.Packing) * bultoCubico) as Cajas - FROM tmp.ticket_list tt - JOIN Tickets t on tt.Id_Ticket = t.Id_Ticket - JOIN Movimientos m on m.Id_Ticket = t.Id_Ticket - JOIN cache.last_buy lb on lb.warehouse_id = t.warehouse_id AND lb.item_id = m.Id_Article - JOIN Compres c on c.Id_Compra = lb.buy_id - JOIN Cubos cb on cb.Id_Cubo = c.Id_Cubo - WHERE m.Cantidad > c.Packing - GROUP BY t.Id_Ticket - HAVING Cajas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.Cajas = sub.Cajas; - - -- Artificial, Seco y Preservado: Reino 4 - - ALTER TABLE tmp.production_buffer - ADD lineasArtificial INT DEFAULT NULL; - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT tt.Id_Ticket, COUNT(m.Id_Movimiento) as Lineas - FROM tmp.ticket_list tt - JOIN Movimientos m ON m.Id_Ticket = tt.Id_Ticket - JOIN Articles a ON a.Id_Article = m.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN reinos r ON r.id = tp.reino_id - WHERE reino = 'Artificial' - GROUP BY tt.Id_Ticket - HAVING Lineas >= 1 - ) sub ON sub.Id_Ticket = pb.Id_Ticket - SET pb.lineasArtificial = sub.Lineas; - - - -- Problemas por ticket - - UPDATE tmp.production_buffer pb - JOIN ( - SELECT Id_Ticket, COUNT(Id_Ticket) as problems, GROUP_CONCAT(problem) problem - FROM tmp.buffer_problems - GROUP BY Id_Ticket - ) p on p.Id_Ticket = pb.Id_Ticket - SET pb.problems = p.problems, - pb.problem = p.problem; - - -- Hora limite de preparación - - CALL production_buffer_set_priority; - - -- Entradas - - INSERT INTO tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , m3 - , `lines` - ) - SELECT DISTINCT c.shipment AS Fecha - , c.Id_Entrada AS Id_Ticket - , warehouse.name - , c.Id_Proveedor - , c.ref AS Consignatario - , IF(BIT_OR(controlado.Id_Compra),6,IF(BIT_OR(preparado.Id_Compra),5,3)) AS state - , c.Id_Trabajador AS CodigoTrabajador - , round(sum(cm3) / 1000000,2) AS m3 - , count(c.Id_Compra) as `lines` - FROM v_compres c - INNER JOIN warehouse ON c.warehouse_id = warehouse.id - LEFT JOIN Compres_ok preparado ON c.Id_Compra = preparado.Id_Compra AND preparado.valor = 1 - LEFT JOIN Compres_ok controlado ON c.Id_Compra = controlado.Id_Compra AND controlado.valor = 2 - WHERE (warehouse_id_out = CASE vWarehouseId WHEN 0 THEN 1 ELSE vWarehouseId END - OR - warehouse_id_out = CASE vWarehouseId WHEN 0 THEN 44 ELSE vWarehouseId END) - AND IFNULL(c.Confirmada,FALSE) = FALSE - AND c.shipment >= CURDATE() - GROUP BY Id_Entrada; - - -- Refresca la caché para el cierre dinámico de agencias - - CALL cache.departure_timing; - - -- Tickets de recogida - - REPLACE tmp.production_buffer( - Fecha - , Id_Ticket - , Agencia - , Id_Cliente - , Consignatario - , state - , CodigoTrabajador - , alert_level - , warehouse_id - ) - SELECT - DATE(t.Fecha) AS Fecha - , t.Id_Ticket - , a.Agencia - , t.Id_Cliente - , CS.Consignatario - , s.id as state - , w.Codigotrabajador - , ifnull(tls.alertLevel,0) alert_level - , t.warehouse_id - FROM vn2008.Tickets t - JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket - JOIN vn2008.Consignatarios CS on CS.Id_Consigna = t.Id_Consigna - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN vn2008.warehouse_pickup wp ON wp.agency_id = a.Id_Agencia - LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket - LEFT JOIN vn.state s ON s.id = tls.state - LEFT JOIN vn2008.Trabajadores w on w.Id_Trabajador = tls.worker - WHERE t.Fecha between TIMESTAMPADD(WEEK,-1,CURDATE()) AND dayend(TIMESTAMPADD(DAY,-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 `proveedores_saldo` */; -/*!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 `proveedores_saldo`(IN datFEC DATE) -BEGIN - -SET datFEC = IF(datfec < CURDATE(), CURDATE(), datfec); - -SELECT P.Id_Proveedor - , P.Proveedor - , P.empresa_id - , P.pay_met_id - , P.cuenta - , RED(IFNULL(sub_tot.Saldo,0) + IFNULL(sub_fut.Saldo,0) + IFNULL(sub_hoy.Saldo,0)) Total - , RED(IFNULL(sub_hoy.Saldo,0) + IFNULL(sub_fut.Saldo,0)) Inmediato - , RED(IFNULL(sub_hoy.Saldo,0)) Vencido -FROM -(SELECT Id_Proveedor, Proveedor, id as empresa_id, pay_met_id, P.cuenta FROM Proveedores P INNER JOIN empresa) P - -LEFT JOIN -( -SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo -FROM -( -SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0) / IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id -FROM recibida_vencimiento RV -INNER JOIN recibida R ON RV.recibida_id = R.id -INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id -INNER JOIN reference_rate rr ON rr.date=R.fecha -WHERE RV.fecha > datFEC - AND R.contabilizada -GROUP BY proveedor_id, empresa_id -UNION ALL -SELECT fecha, red(SUM(IFNULL(importe,0))), id_proveedor, empresa_id -FROM pago -WHERE fecha > datFEC -GROUP BY id_proveedor, empresa_id -) sub -GROUP BY Id_Proveedor, empresa_id -) sub_tot USING(Id_Proveedor, empresa_id) - --- Saldo inmediato - -LEFT JOIN -( -SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo -FROM -( -SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0)/ IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id -FROM recibida_vencimiento RV -INNER JOIN recibida R ON RV.recibida_id = R.id -INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id -INNER JOIN reference_rate rr ON rr.date = R.fecha -WHERE RV.fecha BETWEEN CURDATE() AND datFEC -AND R.contabilizada -GROUP BY proveedor_id, empresa_id -UNION ALL -SELECT fecha, ROUND(SUM(IFNULL(importe,0)),2), id_proveedor, empresa_id -FROM pago -WHERE fecha BETWEEN CURDATE() AND datFEC -GROUP BY id_proveedor, empresa_id -) sub3 -GROUP BY Id_Proveedor, empresa_id -) sub_fut USING(Id_Proveedor, empresa_id) - - - -LEFT JOIN -( -SELECT Id_Proveedor, empresa_id, SUM(Sald) as Saldo -FROM -( -SELECT RV.Fecha, SUM(-1* ROUND(IFNULL(cantidad,0)/ IF(p.cuenta LIKE '___4______',rr.rate,1),2)) as Sald, proveedor_id as Id_Proveedor, empresa_id -FROM recibida_vencimiento RV -INNER JOIN recibida R ON RV.recibida_id = R.id -INNER JOIN Proveedores p ON p.Id_Proveedor = R.proveedor_id -INNER JOIN reference_rate rr ON rr.date = R.fecha -WHERE RV.fecha > '2014-12-31' AND RV.fecha < CURDATE() -AND R.contabilizada -GROUP BY proveedor_id, empresa_id -UNION ALL -SELECT fecha, red(SUM(IFNULL(importe,0))), id_proveedor, empresa_id -FROM pago -WHERE fecha > '2014-12-31' AND fecha < CURDATE() -GROUP BY id_proveedor, empresa_id -) sub5 -GROUP BY Id_Proveedor, empresa_id -) sub_hoy USING(Id_Proveedor, empresa_id) -WHERE abs(sub_tot.Saldo) >0.2 - OR ABS(sub_fut.Saldo) >0.2 - OR ABS(sub_hoy.Saldo) >0.2 -; - -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 `proveedores_saldos` */; -/*!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 `proveedores_saldos`() -BEGIN - - DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(MONTH,-3,CURDATE()); - - DROP TEMPORARY TABLE IF EXISTS saldos_iniciales; - - CREATE TEMPORARY TABLE saldos_iniciales - - (proveedor_id INT NOT NULL - , empresa_id INT NOT NULL - , saldo_inicial double NOT NULL - , saldo_final DOUBLE NOT NULL - , moneda_id INT NOT NULL - , PRIMARY KEY(proveedor_id, empresa_id, moneda_id)) - ENGINE = MEMORY; - - -- Calcula el saldo inicial y final de cada proveedor - INSERT INTO saldos_iniciales - SELECT id_proveedor, empresa_id, sum(importe * isBeforeStarting) as saldo_inicial,sum(importe) saldo_final, moneda_id - FROM ( - SELECT - p.id_proveedor, - p.empresa_id, - if(p.id_moneda = 1, p.importe, p.divisa) as importe, - if( p.fecha < startingDate,1,0) isBeforeStarting, - p.id_moneda moneda_id - FROM pago p - WHERE p.fecha > '2014-12-31' - AND p.empresa_id = 442 - AND p.id_proveedor <> 567 - - UNION ALL - - SELECT - r.proveedor_id, - r.empresa_id, - - if(r.moneda_id = 1, rv.cantidad, rv.divisa) AS Total, - if(rv.fecha < startingDate,1,0) isBeforeStarting, - r.moneda_id - FROM - recibida r - INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id - WHERE r.fecha > '2014-12-31' - AND r.contabilizada AND r.empresa_id = 442 - AND r.proveedor_id <> 567 - ) sub - GROUP BY empresa_id, id_proveedor, moneda_id; - - DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes; - - CREATE TEMPORARY TABLE vencimientos_pendientes - (vencimiento_id INT, id INT auto_increment - ,fecha DATE - ,proveedor_id INT NOT NULL - ,empresa_id INT NOT NULL - ,importe DECIMAL(10,2) NOT NULL - ,moneda_id INT NOT NULL - ,pendiente DECIMAL(10,2) DEFAULT 0 - ,saldo DECIMAL(10,2) DEFAULT 0 - ,saldoFinal DECIMAL(10,2) DEFAULT 0 - ,isPago BOOLEAN - ,conciliado BOOLEAN - ,PRIMARY KEY(id), - INDEX(proveedor_id,empresa_id,moneda_id)) - ENGINE = MEMORY; - - INSERT INTO vencimientos_pendientes(vencimiento_id - , fecha - , proveedor_id - , empresa_id - , importe - , moneda_id - , isPago - , conciliado) - SELECT p.id, - p.fecha, - p.id_proveedor, - p.empresa_id, - if(p.id_moneda = 1, p.importe, p.divisa) as importe, - p.id_moneda, - TRUE isPago, - p.conciliado - FROM pago p - WHERE p.fecha >= startingDate AND p.empresa_id = 442 - AND p.id_proveedor <> 567 - UNION ALL - SELECT rv.id - , rv.fecha - , r.proveedor_id - , r.empresa_id - , -if(r.moneda_id = 1, rv.cantidad, rv.divisa) as importe - , r.moneda_id - , FALSE - , TRUE - FROM recibida r - LEFT JOIN saldos_iniciales si ON r.empresa_id = si.empresa_id AND r.proveedor_id = si.proveedor_id AND r.moneda_id = si.moneda_id - INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id - WHERE rv.fecha >= startingDate AND IFNULL(saldo_final,TRUE) <> 0 - and r.contabilizada AND r.empresa_id = 442 - AND r.proveedor_id <> 567 - ORDER BY id_proveedor, empresa_id, id_moneda, fecha, isPago DESC,id; - - -- Ahora, calculamos el importe pendiente para cada recibo en orden descendente - SET @saldo:= 0.0; - SET @prov := 0.0; - SET @emp := 0.0; - set @moneda := 0.0; - SET @pendiente := 0.0; - SET @day := CURDATE(); - - UPDATE vencimientos_pendientes vp LEFT JOIN saldos_iniciales si ON - vp.empresa_id = si.empresa_id AND vp.proveedor_id = si.proveedor_id AND vp.moneda_id = si.moneda_id - SET vp.saldo = @saldo:= (IF(@emp <> vp.empresa_id OR @prov <> vp.proveedor_id OR @moneda <> vp.moneda_id, IFNULL(si.saldo_inicial,0),@saldo) + vp.importe) -- si hay cambio de empresa o proveedor o moneda, el saldo se reinicia - , vp.pendiente = @pendiente:= IF(@emp <> vp.empresa_id OR @prov <> vp.proveedor_id OR @moneda <> vp.moneda_id OR @day <> vp.fecha, vp.importe * (NOT isPago) , @pendiente + vp.importe) - , vp.empresa_id = @emp:= vp.empresa_id - , vp.proveedor_id = @prov:= vp.proveedor_id - , vp.moneda_id = @moneda:= vp.moneda_id - , vp.fecha = @day:= vp.fecha - , vp.saldo = @saldo - , vp.pendiente = @pendiente; - - CREATE TEMPORARY TABLE rowsToDelete - ENGINE = MEMORY - SELECT fecha,proveedor_id,empresa_id,moneda_id - FROM vencimientos_pendientes - WHERE saldo < 0.5 AND saldo > -0.5; - - DELETE vp.* FROM vencimientos_pendientes vp JOIN rowsToDelete rd - ON vp.fecha <= rd.fecha AND vp.proveedor_id = rd.proveedor_id AND vp.empresa_id = rd.empresa_id AND vp.moneda_id = rd.moneda_id - WHERE isPago = FALSE; - - SELECT vp.vencimiento_id - , vp.fecha - , vp.proveedor_id - , vp.empresa_id - , vp.moneda_id - , vp.importe - , vp.pendiente - , vp.saldo - , p.pay_met_id - , vp.isPago - , vp.conciliado - , vp.saldoFinal - FROM vencimientos_pendientes vp - LEFT JOIN Proveedores p ON p.Id_Proveedor = vp.proveedor_id; - - DROP TEMPORARY TABLE vencimientos_pendientes; - DROP TEMPORARY TABLE saldos_iniciales; - DROP TEMPORARY TABLE rowsToDelete; - -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 `proveedores_saldoskk` */; -/*!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 `proveedores_saldoskk`() -BEGIN - - - -DROP TEMPORARY TABLE IF EXISTS proveedores_pendientes; - -CREATE TEMPORARY TABLE proveedores_pendientes -( proveedor_id INT NOT NULL -, empresa_id INT NOT NULL -, saldo double NOT NULL -, moneda_id INT NOT NULL -, PRIMARY KEY(proveedor_id, empresa_id, moneda_id)); - -INSERT INTO proveedores_pendientes -SELECT id_proveedor, empresa_id, sum(importe) as saldo, id_moneda as moneda_id - FROM - ( - SELECT - p.id_proveedor, - p.empresa_id, - - if(p.id_moneda = 1, p.importe, p.divisa) as importe, - p.id_moneda - - FROM - pago p - - WHERE - - p.fecha > '2014-12-31' - - UNION ALL - - SELECT - r.proveedor_id, - r.empresa_id, - if(r.moneda_id = 1, rv.cantidad, rv.divisa) AS Total, - r.moneda_id - - FROM - recibida r - INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id - WHERE r.fecha > '2014-12-31' AND r.contabilizada - ) sub - GROUP BY empresa_id, id_proveedor, moneda_id - having saldo > 0; - - - - DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes_aux; - - CREATE TEMPORARY TABLE vencimientos_pendientes_aux - (vencimiento_id INT, id INT auto_increment - ,fecha DATE - ,proveedor_id INT NOT NULL - ,empresa_id INT NOT NULL - ,importe double NOT NULL - ,moneda_id INT NOT NULL - ,pendiente DOUBLE DEFAULT 0 - ,PRIMARY KEY(id)); - - SET @imp:= 0; - - INSERT INTO vencimientos_pendientes_aux(vencimiento_id - , fecha - , proveedor_id - , empresa_id - , importe - , moneda_id - , pendiente) - - - - SELECT rv.id - , rv.fecha - , r.proveedor_id - , r.empresa_id - , @imp:= if(r.moneda_id = 1, rv.cantidad, rv.divisa) as importe - , r.moneda_id - , pp.saldo - FROM recibida r - INNER JOIN recibida_vencimiento rv ON r.id = rv.recibida_id - JOIN proveedores_pendientes pp ON pp.proveedor_id = r.proveedor_id AND pp.empresa_id = r.empresa_id AND pp.moneda_id = r.moneda_id - WHERE r.fecha > '2010-12-31' - and rv.fecha > TIMESTAMPADD(MONTH,-3,CURDATE()) - and r.contabilizada; - - - DROP TEMPORARY TABLE IF EXISTS vencimientos_pendientes; - - CREATE TEMPORARY TABLE vencimientos_pendientes - (vencimiento_id INT, id INT , id2 INT auto_increment - ,fecha DATE - ,proveedor_id INT NOT NULL - ,empresa_id INT NOT NULL - ,importe double NOT NULL - ,moneda_id INT NOT NULL - ,pendiente DOUBLE DEFAULT 0 - ,saldo DOUBLE - ,PRIMARY KEY(id2)); - - - - INSERT INTO vencimientos_pendientes(vencimiento_id - , id - , fecha - , proveedor_id - , empresa_id - , importe - , moneda_id - , pendiente - , saldo) - - - - SELECT vencimiento_id, id, fecha, proveedor_id, empresa_id, importe, moneda_id, 0, pp.saldo - FROM vencimientos_pendientes_aux vp - JOIN proveedores_pendientes pp USING(proveedor_id, empresa_id, moneda_id) - ORDER BY proveedor_id, empresa_id, moneda_id, fecha DESC, importe; - - DROP TEMPORARY TABLE vencimientos_pendientes_aux; - - - -- Ahora, al fin, calculamos el importe pendiente para cada recibo en orden descendente - - -- Cogemos los valores del primer registro como semilla - SELECT proveedor_id, empresa_id, saldo, moneda_id, 0 - INTO @prov, @emp, @saldo, @moneda, @pend - FROM vencimientos_pendientes WHERE id2 = 1; - - - UPDATE vencimientos_pendientes - SET saldo = @saldo:= IF(@emp <> empresa_id OR @prov <>proveedor_id OR @moneda <> moneda_id,saldo,@saldo) -- si hay cambio de empresa o proveedor o moneda, el saldo se reinicia - , pendiente = @pend:= IF(saldo >= importe AND saldo > 0, importe, saldo) - , saldo = @saldo:= @saldo - @pend - , empresa_id = @emp:= empresa_id - , proveedor_id = @prov:= proveedor_id - , moneda_id = @moneda:= moneda_id; - - SELECT vp.vencimiento_id - , vp.fecha - , vp.proveedor_id - , vp.empresa_id - , vp.moneda_id - , vp.importe - , vp.pendiente - , pp.saldo - FROM vencimientos_pendientes vp - JOIN proveedores_pendientes pp USING(proveedor_id, empresa_id, moneda_id) - WHERE pendiente > 0; - - DROP TEMPORARY TABLE vencimientos_pendientes; - DROP TEMPORARY TABLE proveedores_pendientes; - - -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 `prueba_miguel` */; -/*!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 `prueba_miguel`() -BEGIN -select 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 `quadre_clientes` */; -/*!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 `quadre_clientes`(IN datFEC DATETIME) -BEGIN - - - DECLARE datSTART DATE; - SET datFEC = TIMESTAMP(datFEC,'23:59:59'); - SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; - - SELECT P2.Alias, C.Id_Cliente, C.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, Cliente - - FROM Clientes C - - JOIN pay_met pm ON pm.id = C.pay_met_id - - JOIN - - ( - - SELECT empresa_id, Id_Cliente, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus - - FROM - - ( - SELECT empresa_id, Id_Cliente, Gestion, 0 as Contaplus - - FROM - - ( - SELECT empresa_id, Id_Cliente, -1 * Importe as Gestion - FROM Facturas - WHERE Fecha BETWEEN datSTART AND datFEC - UNION ALL - SELECT empresa_id, Id_Cliente, Entregado - FROM Recibos - WHERE Fechacobro BETWEEN datSTART AND datFEC - ) G - - WHERE empresa_id <> 965 - - UNION ALL - - SELECT empresa_id, Id_Cliente, 0, round(nz(Eurohaber) - nz(Eurodebe),2) as Contaplus - - FROM bi.XDiario_ALL XD - - JOIN Clientes C ON C.Cuenta = XD.SUBCTA - - WHERE Fecha BETWEEN datSTART AND datFEC - - ) sub1 - - GROUP BY empresa_id, Id_Cliente - - ) sub2 USING(Id_Cliente) - - JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id - - WHERE pm.deudaviva -- Cliente de perdidas no vale la pena revisarlo - - HAVING ABS(Diferencia) > 0.05 - - ORDER BY 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 `quadre_clientes_detalle` */; -/*!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 `quadre_clientes_detalle`(IN idC INT, IN idE INT, IN datFEC DATETIME) -BEGIN - -DECLARE datSTART DATE; - -SET datSTART = FIRSTDAYOFYEAR(datFEC); -SET datFEC = TIMESTAMP(datFEC,'23:59:59'); - --- Creamos una tabla para almacenar las facturas del cliente, junto con el numero de veces que se repite. -DROP TEMPORARY TABLE IF EXISTS qFACTURAS; - -CREATE TEMPORARY TABLE qFACTURAS -(Fecha DATETIME, - TPVcount INT, - Factura DECIMAL(10,2) SIGNED, - Recibo DECIMAL(10,2) SIGNED, - CPcount INT, - Debe DECIMAL(10,2) SIGNED, - Haber DECIMAL(10,2) SIGNED, - Control INT DEFAULT 0, - PRIMARY KEY(Fecha, TPVcount, Factura, Recibo, CPcount, Debe, Haber)) - ENGINE = InnoDB -; - --- Insertamos las facturas y los recibos de gestion. -INSERT INTO qFACTURAS - - SELECT Fecha, COUNT(*) as TPVcount, round(Importe,2) as Factura, 0 as Recibo, COUNT(*)as CPcount,round(Importe,2) as Debe, 0 as Haber, 1 as Control - FROM Facturas - WHERE Id_Cliente = idC AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC - GROUP BY Fecha, round(Importe,2) - UNION ALL - SELECT Fechacobro as Fecha, COUNT(*) as TPVcount, 0 as Factura, round(Entregado,2) as Recibo,COUNT(*) as CPCount, 0 as Debe, round(Entregado,2) as Haber, 3 as Control - FROM Recibos - WHERE Id_Cliente = idC AND empresa_id = idE AND Fechacobro BETWEEN datSTART AND datFEC - GROUP BY Fechacobro, round(Entregado,2); - --- Insertamos los asientos de contabilidad, marcando con control = -1 las repetidas. -INSERT INTO qFACTURAS - SELECT * - FROM ( - SELECT Fecha, COUNT(*) as TPVcount, round(Eurodebe,2) as Factura, round(Eurohaber,2) as Recibo, COUNT(*) as CPcount, round(Eurodebe,2) as Debe, round(Eurohaber,2) as Haber, 2 as Control - FROM bi.XDiario_ALL XD - JOIN Clientes C ON C.Cuenta = XD.SUBCTA - WHERE Id_Cliente = idC AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC - AND (Eurodebe <> 0 OR Eurohaber <>0) - GROUP BY Fecha, round(Eurodebe,2), round(Eurohaber,2) - ) sub - - ON DUPLICATE KEY UPDATE Control = -1; - - - --- Eliminamos las repetidas --- DELETE FROM qFACTURAS WHERE Control = -1; - --- Arreglamos las buenas -UPDATE qFACTURAS SET TPVcount = 0, Factura = 0, Recibo = 0 WHERE Control = 2; -UPDATE qFACTURAS SET CPcount = 0, Debe = 0, Haber = 0 WHERE Control IN (1,3); - --- Mostramos el resultado -SELECT *, @saldo := @saldo + TPVcount * (Factura + Recibo) - CPCount * ( Debe + Haber ) as Saldo -FROM qFACTURAS -JOIN (SELECT @saldo := 0) truqui ; -DROP TEMPORARY TABLE IF EXISTS qFACTURAS; - - -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 `quadre_proveedores` */; -/*!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 `quadre_proveedores`(IN datFEC DATETIME) -BEGIN - - DECLARE datSTART DATE; - SET datFEC = TIMESTAMP(datFEC,'23:59:59'); - - SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; - - SELECT P2.Alias, P.Id_Proveedor, P.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, P.Proveedor - - FROM Proveedores P - - JOIN - - ( - - SELECT empresa_id, Id_Proveedor, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus - - FROM - - ( - SELECT empresa_id, proveedor_id as Id_Proveedor, Gestion, 0 as Contaplus - - FROM - - ( - SELECT empresa_id, proveedor_id, -1 * sum(cantidad) as Gestion - FROM recibida_vencimiento rv - INNER JOIN recibida r ON r.id = rv.recibida_id - WHERE IFNULL(r.bookEntried,r.fecha) BETWEEN datSTART AND datFEC - AND r.contabilizada - GROUP BY r.id - - UNION ALL - - SELECT empresa_id, id_proveedor, importe - FROM pago - WHERE Fecha BETWEEN datSTART AND datFEC - AND conciliado - AND pay_met_id <> 18 -- Saldos iniciales - ) G - - UNION ALL - - SELECT empresa_id, Id_Proveedor, 0, round(nz(Eurodebe) - nz(Eurohaber),2) as Contaplus - - FROM bi.XDiario_ALL XD - - JOIN Proveedores P ON P.cuenta = XD.SUBCTA - - WHERE Fecha BETWEEN datSTART AND datFEC - - - ) sub1 - - - GROUP BY empresa_id, Id_Proveedor - - ) sub2 USING(Id_Proveedor) - - JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id - - HAVING ABS(Diferencia) > 0.05 - - ORDER BY P.Proveedor; - - - - - - - -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 `quadre_proveedores_detalle` */; -/*!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 `quadre_proveedores_detalle`(IN idP INT, IN idE INT, IN datFEC DATETIME) -BEGIN - -DECLARE datSTART DATE; -SET datFEC = TIMESTAMP(datFEC,'23:59:59'); - -SET datSTART = FIRSTDAYOFYEAR(datFEC); - --- Creamos una tabla para almacenar las facturas del proveedor, junto con el numero de veces que se repite. -DROP TEMPORARY TABLE IF EXISTS qFACTURAS; - -CREATE TEMPORARY TABLE qFACTURAS -(Fecha DATE, - TPVcount INT, - Factura DECIMAL(10,2) SIGNED, - Recibo DECIMAL(10,2) SIGNED, - CPcount INT, - Debe DECIMAL(10,2) SIGNED, - Haber DECIMAL(10,2) SIGNED, - Control INT DEFAULT 0, - PRIMARY KEY(Fecha, TPVcount, Factura, Recibo, CPcount, Debe, Haber)) - ENGINE = InnoDB -; - --- Insertamos las facturas y los pagos de gestion. -INSERT INTO qFACTURAS - - SELECT Fecha, COUNT(*) as TPVcount, round(Importe,2) as Factura - , 0 as Recibo, COUNT(*)as CPcount,round(Importe,2) as Debe, 0 as Haber, 1 as Control - FROM (SELECT IFNULL(r.dateBooking,r.Fecha) as Fecha, sum(rv.cantidad) as Importe - FROM recibida_vencimiento rv - JOIN recibida r ON r.id = rv.recibida_id - WHERE proveedor_id = idP - AND empresa_id = idE - AND IFNULL(r.dateBooking,r.Fecha) BETWEEN datSTART AND datFEC - AND (r.contabilizada OR r.dateBooking) - GROUP BY r.id) F - GROUP BY Fecha, round(Importe,2) - UNION ALL - SELECT Fecha, COUNT(*) as TPVcount, 0 as Factura, round(importe,2) as Recibo,COUNT(*) as CPCount, 0 as Debe, round(importe,2) as Haber, 3 as Control - FROM pago - WHERE Id_Proveedor = idP AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC - AND conciliado - GROUP BY Fecha, round(importe,2); - --- Insertamos los asientos de contabilidad, marcando con control = -1 las repetidas -INSERT INTO qFACTURAS - SELECT * - FROM ( - SELECT Fecha, COUNT(*) as TPVcount, round(Eurohaber,2) as Factura, round(Eurodebe,2) as Recibo, COUNT(*) as CPcount, round(Eurohaber,2) as Debe, round(Eurodebe,2) as Haber, 2 as Control - FROM bi.XDiario_ALL XD - JOIN Proveedores P ON P.cuenta = XD.SUBCTA - WHERE Id_Proveedor = idP AND empresa_id = idE AND Fecha BETWEEN datSTART AND datFEC - AND (Eurodebe <> 0 OR Eurohaber <>0) - GROUP BY Fecha, round(Eurohaber,2), round(Eurodebe,2) - ) sub - - ON DUPLICATE KEY UPDATE Control = -1; - - - --- Eliminamos las repetidas -DELETE FROM qFACTURAS WHERE Control = -1; - --- Arreglamos las buenas -UPDATE qFACTURAS SET TPVcount = 0, Factura = 0, Recibo = 0 WHERE Control = 2; -UPDATE qFACTURAS SET CPcount = 0, Debe = 0, Haber = 0 WHERE Control IN (1,3); - --- Mostramos el resultado -SELECT *, @saldo := @saldo + TPVcount * (Factura + Recibo) - CPcount * (Debe + Haber) as Saldo -FROM qFACTURAS -JOIN (SELECT @saldo := 0) truqui ; - -DROP TEMPORARY TABLE IF EXISTS qFACTURAS; - - -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 `quadre_proveedores_test` */; -/*!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 `quadre_proveedores_test`(IN datFEC DATETIME) -BEGIN - - DECLARE datSTART DATE; - SET datFEC = TIMESTAMP(datFEC,'23:59:59'); - - SELECT FIRSTDAYOFYEAR(datFEC) INTO datSTART; - - SELECT P2.Alias, P.Id_Proveedor, P.Cuenta, Gestion, Contaplus, Gestion - Contaplus as Diferencia, empresa_id, P.Proveedor - - FROM Proveedores P - - JOIN - - ( - - SELECT empresa_id, Id_Proveedor, round(sum(Gestion),2) as Gestion, round(sum(Contaplus),2) as Contaplus - - FROM - - ( - SELECT empresa_id, proveedor_id as Id_Proveedor, Gestion, 0 as Contaplus - - FROM - - ( - SELECT empresa_id, proveedor_id, -1 * sum(cantidad) as Gestion - FROM recibida_vencimiento rv - INNER JOIN recibida r ON r.id = rv.recibida_id - WHERE r.Fecha BETWEEN datSTART AND datFEC - AND r.contabilizada - GROUP BY r.id - - UNION ALL - - SELECT empresa_id, id_proveedor, importe - FROM pago - WHERE Fecha BETWEEN datSTART AND datFEC - AND conciliado - AND pay_met_id <> 18 -- Saldos iniciales - ) G - - UNION ALL - - SELECT empresa_id, Id_Proveedor, 0, round(nz(Eurodebe) - nz(Eurohaber),2) as Contaplus - - FROM bi.XDiario_ALL XD - - JOIN Proveedores P ON P.cuenta = XD.SUBCTA - - WHERE Fecha BETWEEN datSTART AND datFEC - - - ) sub1 - - - GROUP BY empresa_id, Id_Proveedor - - ) sub2 USING(Id_Proveedor) - - JOIN Proveedores P2 ON P2.Id_Proveedor = sub2.empresa_id - - HAVING ABS(Diferencia) > 0.05 - - ORDER BY P.Proveedor; - - - - - - - -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 `radar` */; -/*!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 `radar`(IN today DATETIME, IN worker INTEGER, IN scopeDays SMALLINT) -BEGIN - - DECLARE todayMidnight DATE DEFAULT TIMESTAMP(today,'23:59:59'); - DECLARE yesterday DATETIME; - DECLARE maxDate DATETIME; - DECLARE datBUF DATETIME; - DECLARE warehouse INTEGER; - DECLARE done BIT DEFAULT 0; - DECLARE visible_calc INTEGER; - DECLARE available_calc INTEGER; - DECLARE dateStart DATE; - - SET dateStart = TIMESTAMPADD(MONTH, -2, CURDATE()); - SELECT TIMESTAMPADD(DAY, -1, today) INTO yesterday; - -- lo quitamos despues de campañaA - SELECT TIMESTAMP(TIMESTAMPADD(DAY, scopeDays, yesterday),'23:59:59') INTO maxDate; - -- SELECT TIMESTAMP(TIMESTAMPADD(DAY, 14, yesterday),'23:59:59') INTO maxDate; - -- Creamos una tabla con los Comerciales de los que se mostraran los tickets - CALL subordinate(worker,TRUE); - - -- Se genera una tabla con los tickets representados - DROP TEMPORARY TABLE IF EXISTS ticketRange; - CREATE TEMPORARY TABLE ticketRange - SELECT T.Id_Ticket, T.Id_Cliente, C.Id_Trabajador - FROM Tickets T - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN Clientes C on C.Id_Cliente = T.Id_Cliente - INNER JOIN subordinate s1 ON C.Id_Trabajador = s1.Id_Trabajador - WHERE Fecha >= yesterday - AND Fecha <= maxDate AND T.Factura Is NULL - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, s.Id_Cliente, s.Id_Trabajador - FROM sharingclient s - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN subordinate s2 ON s.Id_Trabajador = s2.Id_Trabajador - WHERE maxDate >= datSTART - AND datEND >= yesterday - AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) - AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, C.Id_Cliente, s.Id_Suplente - FROM Clientes C - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN sharingcart s ON s.Id_Trabajador = C.Id_Trabajador - INNER JOIN subordinate su on su.Id_Trabajador=Id_Suplente - WHERE maxDate >= datSTART - AND datEND >= yesterday - AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) - AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, C.Id_Cliente, C.Id_Trabajador - FROM Clientes C - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN workerTeamCollegues w ON w.collegueId = C.Id_Trabajador - /* - (SELECT Id_Trabajador - FROM Trabajadores t - JOIN account.user u ON u.id = t.user_id - JOIN workerTeam w on w.user = u.id - JOIN (SELECT team FROM workerTeam wt JOIN Trabajadores tr on tr.user_id = wt.user WHERE Id_Trabajador = worker) sub on sub.team = w.team - ) sub2 ON sub2.Id_Trabajador = C.Id_Trabajador - */ - WHERE Fecha >= yesterday - AND Fecha <= maxDate AND T.Factura Is NULL - AND IFNULL(tls.alertLevel,0) < 3 - AND w.workerId = worker; - - IF (SELECT COUNT(*) FROM ticketRange) THEN - - -- Generamos varias auxiliares (ya podian los de mysql haber solucionado esto) - - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - CREATE TEMPORARY TABLE tmp.client_list - (INDEX (Id_Cliente)) - ENGINE = MEMORY - SELECT DISTINCT Id_Cliente FROM ticketRange; - - DROP TEMPORARY TABLE IF EXISTS cr5; - CREATE TEMPORARY TABLE cr5 - (INDEX (Id_Cliente)) - ENGINE = MEMORY - SELECT Id_Cliente FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - ENGINE = MEMORY - SELECT t.Id_Ticket ticketFk FROM Tickets t - STRAIGHT_JOIN tmp.client_list c ON t.Id_Cliente = c.Id_Cliente - WHERE Fecha BETWEEN dateStart AND maxDate - AND Factura Is NULL; - - CALL vn.ticketGetTotal(); - - -- Generamos otra tabla temporal con los Tickets_iva - - DROP TEMPORARY TABLE IF EXISTS tt3; - CREATE TEMPORARY TABLE tt3 - ENGINE = MEMORY - SELECT * FROM tmp.ticketTotal tt - JOIN ticketRange tr ON tr.Id_Ticket = tt.ticketFk; - - -- Generamos la lista de tickets y sus datos - - DROP TEMPORARY TABLE IF EXISTS Radartest; - - CREATE TEMPORARY TABLE Radartest - - SELECT IF(C.Id_Trabajador = worker, 1, 0) as Propio, - Credito, - CAST(Riesgo AS DECIMAL (10,2)) Riesgo, - -- Greuge, - T.Id_Ticket, - T.warehouse_id as wh, - T.Fecha, - T.Alias, - -- T.Vista, - REPEAT(' ',50) as problem, - T.Agencia Tipo, - -- C.Id_Trabajador, - T.workerId AS Id_Trabajador, - T.Solucion, - T.Localizacion, - IFNULL(state,'LIBRE') as Estado, - alertLevel, - alertCode, - Date(T.Fecha) as Fecha_Simple, - CAST(T.Importe AS DECIMAL (10,2)) Importe, - C.Descuento, - C.calidad, - C.Id_Cliente, - p.`name` provincia - FROM Clientes C - INNER JOIN - - ( - - SELECT T.* , A.Vista, A.Agencia, s.`name` as state, alertLevel, s.`code` AS alertCode, tt3.Id_Trabajador AS workerId, - - tt3.total as Importe, - - 0 AS inacabable - - -- (-1 < ifnull(order_id,-1)) as isbionic - - FROM Tickets T - LEFT JOIN vn.ticketState ts on ts.ticket = T.Id_Ticket - LEFT JOIN vn2008.state s on s.id = ts.state - - INNER JOIN tt3 ON tt3.ticketFk = T.Id_Ticket - - -- LEFT JOIN (SELECT DISTINCT 1 as order_id, Id_Ticket FROM order_Tickets) o on o.Id_Ticket = T.Id_Ticket - - INNER JOIN Agencias A ON A.Id_Agencia = T.Id_Agencia - - -- WHERE T.Etiquetasemitidas = FALSE - GROUP BY T.Id_Ticket - - ) AS T ON T.Id_Cliente = C.Id_Cliente - - LEFT JOIN Consignatarios co ON co.Id_Consigna = T.Id_Consigna - LEFT JOIN province p ON p.province_id = co.province_id - - LEFT JOIN - - ( - - SELECT TOTAL.Id_Cliente, ROUND(SUM(amount),2) as Riesgo FROM - - (SELECT cl.Id_Cliente, amount FROM bi.customer_risk cr - INNER JOIN tmp.client_list cl ON cr.customer_id = cl.Id_Cliente - - UNION ALL - - SELECT t.Id_Cliente, tt.total FROM tmp.ticketTotal tt - INNER JOIN Tickets t ON t.Id_Ticket = tt.ticketFk - INNER JOIN cr5 C ON C.Id_Cliente = t.Id_Cliente - WHERE t.Fecha BETWEEN dateStart AND maxDate - AND t.Factura is null - - ) as TOTAL GROUP BY TOTAL.Id_Cliente - - ) AS Peligros ON Peligros.Id_Cliente = C.Id_Cliente - ; - -- Actualizamos el Riesgo con los tickets futuros - set @cliente:= 0; - SET @riesgo := 0; - - UPDATE Radartest SET Riesgo = - IF(@cliente <> @cliente:= Id_Cliente , - Importe + @riesgo:= - Riesgo + Importe , - Importe + @riesgo:= @riesgo + Importe) - order by Id_Cliente, Fecha_Simple DESC; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; - - CREATE TEMPORARY TABLE tmp.ticket_list - SELECT Id_Ticket, Id_Cliente FROM Radartest; - - CALL prepare_client_list(); - CALL production_buffer_problems; - - UPDATE Radartest r - JOIN ( - SELECT Id_Ticket, GROUP_CONCAT(problem) problem - FROM tmp.buffer_problems - GROUP BY Id_Ticket - ) p on p.Id_Ticket = r.Id_Ticket - SET r.problem = p.problem; - - - - SELECT R.*, Riesgo + Credito as Risk , CodigoTrabajador - FROM Radartest R - INNER JOIN vn2008.Trabajadores trab on R.Id_Trabajador=trab.Id_Trabajador; - - END IF; - - DROP TEMPORARY TABLE IF EXISTS ticketRange; - DROP TABLE IF EXISTS subordinate; - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - DROP TEMPORARY TABLE IF EXISTS cr5; - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - - -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 `radarTest` */; -/*!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 `radarTest`(IN today DATETIME, IN worker INTEGER, IN scopeDays SMALLINT) -BEGIN - - DECLARE todayMidnight DATE DEFAULT TIMESTAMP(today,'23:59:59'); - DECLARE yesterday DATETIME; - DECLARE maxDate DATETIME; - DECLARE datBUF DATETIME; - DECLARE warehouse INTEGER; - DECLARE done BIT DEFAULT 0; - DECLARE visible_calc INTEGER; - DECLARE available_calc INTEGER; - DECLARE dateStart DATE; - - SET dateStart = TIMESTAMPADD(MONTH, -2, CURDATE()); - SELECT TIMESTAMPADD(DAY, -1, today) INTO yesterday; - -- lo quitamos despues de campañaA - SELECT TIMESTAMP(TIMESTAMPADD(DAY, scopeDays, yesterday),'23:59:59') INTO maxDate; - -- SELECT TIMESTAMP(TIMESTAMPADD(DAY, 14, yesterday),'23:59:59') INTO maxDate; - -- Creamos una tabla con los Comerciales de los que se mostraran los tickets - CALL subordinate(worker,TRUE); - select now(),1; - -- Se genera una tabla con los tickets representados - DROP TEMPORARY TABLE IF EXISTS ticketRange; - CREATE TEMPORARY TABLE ticketRange - SELECT T.Id_Ticket, T.Id_Cliente, C.Id_Trabajador - FROM Tickets T - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN Clientes C on C.Id_Cliente = T.Id_Cliente - INNER JOIN subordinate s1 ON C.Id_Trabajador = s1.Id_Trabajador - WHERE Fecha >= yesterday - AND Fecha <= maxDate AND T.Factura Is NULL - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, s.Id_Cliente, s.Id_Trabajador - FROM sharingclient s - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN subordinate s2 ON s.Id_Trabajador = s2.Id_Trabajador - WHERE maxDate >= datSTART - AND datEND >= yesterday - AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) - AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, C.Id_Cliente, s.Id_Suplente - FROM Clientes C - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN sharingcart s ON s.Id_Trabajador = C.Id_Trabajador - INNER JOIN subordinate su on su.Id_Trabajador=Id_Suplente - WHERE maxDate >= datSTART - AND datEND >= yesterday - AND date(Fecha) >= IF(yesterday > datSTART, yesterday, datSTART) - AND date(Fecha) <= IF(datEND > maxDate, maxDate, datEND) - AND IFNULL(tls.alertLevel,0) < 3 - - UNION DISTINCT - - SELECT Id_Ticket, C.Id_Cliente, C.Id_Trabajador - FROM Clientes C - INNER JOIN Tickets T USING(Id_Cliente) - LEFT JOIN vn.ticketState tls on tls.ticket = T.Id_Ticket - INNER JOIN workerTeamCollegues w ON w.collegueId = C.Id_Trabajador - /* - (SELECT Id_Trabajador - FROM Trabajadores t - JOIN account.user u ON u.id = t.user_id - JOIN workerTeam w on w.user = u.id - JOIN (SELECT team FROM workerTeam wt JOIN Trabajadores tr on tr.user_id = wt.user WHERE Id_Trabajador = worker) sub on sub.team = w.team - ) sub2 ON sub2.Id_Trabajador = C.Id_Trabajador - */ - WHERE Fecha >= yesterday - AND Fecha <= maxDate AND T.Factura Is NULL - AND IFNULL(tls.alertLevel,0) < 3 - AND w.workerId = worker; - select now(),2; - IF (SELECT COUNT(*) FROM ticketRange) THEN - - -- Generamos varias auxiliares (ya podian los de mysql haber solucionado esto) - - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - CREATE TEMPORARY TABLE tmp.client_list - (INDEX (Id_Cliente)) - ENGINE = MEMORY - SELECT DISTINCT Id_Cliente FROM ticketRange; - - DROP TEMPORARY TABLE IF EXISTS cr5; - CREATE TEMPORARY TABLE cr5 - (INDEX (Id_Cliente)) - ENGINE = MEMORY - SELECT Id_Cliente FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - ENGINE = MEMORY - SELECT t.Id_Ticket ticketFk FROM Tickets t - STRAIGHT_JOIN tmp.client_list c ON t.Id_Cliente = c.Id_Cliente - WHERE Fecha BETWEEN dateStart AND maxDate - AND Factura Is NULL; - select now(),3; - CALL vn.ticketGetTotal(); - select now(),4; - -- Generamos otra tabla temporal con los Tickets_iva - - DROP TEMPORARY TABLE IF EXISTS tt3; - CREATE TEMPORARY TABLE tt3 - ENGINE = MEMORY - SELECT * FROM tmp.ticketTotal tt - JOIN ticketRange tr ON tr.Id_Ticket = tt.ticketFk; - - -- Generamos la lista de tickets y sus datos - - DROP TEMPORARY TABLE IF EXISTS Radartest; - - CREATE TEMPORARY TABLE Radartest - - SELECT IF(C.Id_Trabajador = worker, 1, 0) as Propio, - Credito, - CAST(Riesgo AS DECIMAL (10,2)) Riesgo, - -- Greuge, - T.Id_Ticket, - T.warehouse_id as wh, - T.Fecha, - T.Alias, - -- T.Vista, - REPEAT(' ',50) as problem, - T.Agencia Tipo, - -- C.Id_Trabajador, - T.workerId AS Id_Trabajador, - T.Solucion, - T.Localizacion, - IFNULL(state,'LIBRE') as Estado, - alertLevel, - alertCode, - Date(T.Fecha) as Fecha_Simple, - CAST(T.Importe AS DECIMAL (10,2)) Importe, - C.Descuento, - C.calidad, - C.Id_Cliente, - p.`name` provincia - FROM Clientes C - INNER JOIN - - ( - - SELECT T.* , A.Vista, A.Agencia, s.`name` as state, alertLevel, s.`code` AS alertCode, tt3.Id_Trabajador AS workerId, - - tt3.total as Importe, - - 0 AS inacabable - - -- (-1 < ifnull(order_id,-1)) as isbionic - - FROM Tickets T - LEFT JOIN vn.ticketState ts on ts.ticket = T.Id_Ticket - LEFT JOIN vn2008.state s on s.id = ts.state - - INNER JOIN tt3 ON tt3.ticketFk = T.Id_Ticket - - -- LEFT JOIN (SELECT DISTINCT 1 as order_id, Id_Ticket FROM order_Tickets) o on o.Id_Ticket = T.Id_Ticket - - INNER JOIN Agencias A ON A.Id_Agencia = T.Id_Agencia - - -- WHERE T.Etiquetasemitidas = FALSE - GROUP BY T.Id_Ticket - - ) AS T ON T.Id_Cliente = C.Id_Cliente - - LEFT JOIN Consignatarios co ON co.Id_Consigna = T.Id_Consigna - LEFT JOIN province p ON p.province_id = co.province_id - - LEFT JOIN - - ( - - SELECT TOTAL.Id_Cliente, ROUND(SUM(amount),2) as Riesgo FROM - - (SELECT cl.Id_Cliente, amount FROM bi.customer_risk cr - INNER JOIN tmp.client_list cl ON cr.customer_id = cl.Id_Cliente - - UNION ALL - - SELECT t.Id_Cliente, tt.total FROM tmp.ticketTotal tt - INNER JOIN Tickets t ON t.Id_Ticket = tt.ticketFk - INNER JOIN cr5 C ON C.Id_Cliente = t.Id_Cliente - WHERE t.Fecha BETWEEN dateStart AND maxDate - AND t.Factura is null - - ) as TOTAL GROUP BY TOTAL.Id_Cliente - - ) AS Peligros ON Peligros.Id_Cliente = C.Id_Cliente - ; - -- Actualizamos el Riesgo con los tickets futuros - set @cliente:= 0; - SET @riesgo := 0; - - UPDATE Radartest SET Riesgo = - IF(@cliente <> @cliente:= Id_Cliente , - Importe + @riesgo:= - Riesgo + Importe , - Importe + @riesgo:= @riesgo + Importe) - order by Id_Cliente, Fecha_Simple DESC; - select now(),5; - DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; - - CREATE TEMPORARY TABLE tmp.ticket_list - SELECT Id_Ticket, Id_Cliente FROM Radartest; - select now(),6; - CALL prepare_client_list(); - select now(),7; - CALL production_buffer_problems; - select now(),8; - UPDATE Radartest r - JOIN ( - SELECT Id_Ticket, GROUP_CONCAT(problem) problem - FROM tmp.buffer_problems - GROUP BY Id_Ticket - ) p on p.Id_Ticket = r.Id_Ticket - SET r.problem = p.problem; - select now(),9; - - - SELECT R.*, Riesgo + Credito as Risk , CodigoTrabajador - FROM Radartest R - INNER JOIN vn2008.Trabajadores trab on R.Id_Trabajador=trab.Id_Trabajador; - - END IF; - - DROP TEMPORARY TABLE IF EXISTS ticketRange; - DROP TABLE IF EXISTS subordinate; - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - DROP TEMPORARY TABLE IF EXISTS cr5; - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - - -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 `radar_lostcalls` */; -/*!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 `radar_lostcalls`() -BEGIN - -SELECT Averiguar_ComercialCliente(C.Id_Cliente, calldate) as Comercial, C.Cliente AS Cliente, A2.Telefono -, A.Nombre as Destino, t3.* FROM - -( SELECT * FROM - (SELECT * FROM - ( SELECT dstchannel, disposition, calldate,src,dst,1 as missed, TIMESTAMPADD(SECOND,duration,calldate) as hangupdate, - TIMESTAMPADD(SECOND, (-billsec),TIMESTAMPADD(SECOND,duration,calldate) ) as answerdate, - duration, billsec FROM - (SELECT * FROM - (SELECT * FROM cdr WHERE calldate > timestampadd(day, -4,curdate()) ORDER BY calldate DESC ) t - GROUP BY src - ) cdr_sub - WHERE (dstchannel = '' or disposition <> 'ANSWERED' or lastapp = 'Playback') AND dstchannel <> 'killed' - AND src > 6000 - AND calldate > TIMESTAMPADD(DAY,-4,CURDATE()) - UNION ALL - SELECT dstchannel, disposition, calldate,dst, 0,0,calldate,calldate,0,0 - FROM cdr - WHERE dst > 6000 - AND calldate > TIMESTAMPADD(WEEK,-4,CURDATE()) - ) t - ORDER BY calldate DESC - ) t2 GROUP BY src - HAVING missed - ORDER BY calldate DESC -) t3 - -LEFT JOIN v_Agenda2 A2 ON CAST(A2.Telefono AS SIGNED) = t3.src -LEFT JOIN v_Agenda2 A ON CAST(A.Telefono AS SIGNED) = t3.dst -LEFT JOIN Clientes C ON C.Id_Cliente = A2.Id AND A2.Tipo = 'C' -; - - -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 `radar_negativos` */; -/*!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 `radar_negativos`(IN v_force BOOLEAN, IN intRANGE INT) -BEGIN - -/** - * Calcula una tabla con el máximo negativo visible para cada producto y almacen - * - * @param v_force Fuerza el recalculo del stock - * @param intRANGE Numero de dias a considerar -**/ - - CALL `cache`.stock_refresh(v_force); - SET @aid = NULL; - call article_minacum(NULL,CURDATE(),intRANGE); - - SELECT a.Id_Article, a.Article, sub.warehouse_id, p.`name` producer, a.Medida, a.Categoria - , w.name as Almacen, sum(IFNULL(amount,0)) as Negativo - FROM (SELECT item_id, warehouse_id, amount - FROM cache.stock - WHERE amount > 0 - UNION ALL - SELECT article_id, warehouse_id, amount - FROM article_minacum - ) sub - JOIN warehouse w on w.id = warehouse_id - JOIN Articles a on a.Id_Article = item_id - LEFT JOIN producer p on p.producer_id = a.producer_id - JOIN Tipos t on t.tipo_id = a.tipo_id - JOIN reinos r on r.id = t.reino_id - WHERE w.tpv - AND t.tipo_id NOT IN (61,101,100,99, 180, 7, 21) - AND r.display <> 0 - AND a.Id_Article NOT IN (95,98) - GROUP BY item_id, warehouse_id - HAVING negativo < 0; - - DROP TEMPORARY TABLE IF EXISTS article_minacum; - -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 `raidUpdate` */; -/*!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 `raidUpdate`() -BEGIN - UPDATE travel - SET shipment = CURDATE(), - landing = TIMESTAMPADD(DAY, 1, CURDATE()) - WHERE id = 12505; - - UPDATE Entradas e - JOIN Entradas_Auto ea USING (Id_Entrada) - JOIN travel t ON t.id = e.travel_id - JOIN ( - SELECT * - FROM ( - SELECT id, landing, warehouse_id, warehouse_id_out - FROM travel - JOIN ( - SELECT warehouse_id, warehouse_id_out - FROM Entradas_Auto ea - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - GROUP BY warehouse_id, warehouse_id_out - ) t USING (warehouse_id, warehouse_id_out) - WHERE shipment > CURDATE() AND delivered = FALSE - ORDER BY landing - ) t - GROUP BY warehouse_id, warehouse_id_out - ) t USING (warehouse_id, warehouse_id_out) - SET e.travel_id = t.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 `rateView` */; -/*!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 `rateView`() -BEGIN - - SELECT - t.year as año, - t.month as mes, - pagos.dolares, - pagos.cambioPractico, - CAST(sum(divisa) / sum(bi) as DECIMAL(5,4)) as cambioTeorico, - pagos.cambioOficial - FROM recibida r - JOIN time t ON t.date = r.fecha - JOIN recibida_iva ri ON r.id = ri.recibida_id - JOIN - ( - SELECT - t.year as Año, - t.month as Mes, - cast(sum(divisa) as DECIMAL(10,2)) as dolares, - cast(sum(divisa) / sum(importe) as DECIMAL(5,4)) as cambioPractico, - cast(rr.rate * 0.998 as DECIMAL(5,4)) as cambioOficial - FROM pago p - JOIN time t ON t.date = p.fecha - JOIN reference_rate rr ON rr.date = p.fecha AND moneda_id = 2 - WHERE divisa - AND fecha >= '2015-01-11' - GROUP BY t.year, t.month - ) pagos ON t.year = pagos.Año AND t.month = pagos.Mes - WHERE moneda_id = 2 - AND fecha >= '2015-01-01' - AND divisa - AND bi - GROUP BY t.year, t.month; - -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 `recalculator` */; -/*!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`@`localhost` PROCEDURE `recalculator`(vTicketId INT) -BEGIN - DECLARE vWh INT; - DECLARE vDate DATE; - DECLARE vCustomerId INT; - DECLARE vServiFac INT; - - SELECT warehouse_id, Fecha, Id_Cliente, IFNULL(Factura, 0) != 0 OR Etiquetasemitidas != 0 - INTO vWh, vDate, vCustomerId, vServiFac - FROM Tickets - WHERE Id_Ticket = vTicketId; - - IF NOT vServiFac - THEN - DROP TEMPORARY TABLE IF EXISTS item; - - CREATE TEMPORARY TABLE item - (INDEX (id)) - ENGINE = MEMORY - SELECT Id_Article id, Id_Movimiento - FROM Movimientos - WHERE Preciofijado = FALSE - AND Id_Ticket = vTicketId - AND (Id_Article < 82 OR Id_Article > 100); - - CALL item_buy (vWh, vDate); - CALL item_buy_price (vCustomerId, vDate, vWh); - - UPDATE Movimientos - JOIN item USING (Id_Movimiento) - SET Preu = price, - Descuento = discount; - - SELECT * FROM item; - - DROP TEMPORARY TABLE item; - 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 `recalculator_plus` */; -/*!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`@`localhost` PROCEDURE `recalculator_plus`(vTicketId INT) -BEGIN - CALL recalculator (vTicketId); - - CREATE TEMPORARY TABLE movement - ENGINE = MEMORY - SELECT Id_Movimiento, Id_Article, Preu, Descuento, Cantidad, ABS(Preciofijado) AS PrecioFijado - FROM Movimientos - WHERE Id_Ticket = vTicketId - AND Reservado = FALSE - AND Id_Article NOT BETWEEN 85 AND 100 - AND Id_Movimiento NOT IN - ( - SELECT Id_Movimiento FROM Movimientos - WHERE Id_Ticket = vTicketId - AND Reservado = FALSE - AND Id_Article NOT BETWEEN 71 AND 100 - GROUP BY Id_Article, Preu, Descuento, ABS(PrecioFijado) - HAVING COUNT(*) = 1 - UNION ALL - SELECT Id_Movimiento FROM movement_label - ) FOR UPDATE; - - CREATE TEMPORARY TABLE movement_u - ENGINE = MEMORY - SELECT Id_Movimiento, Id_Article, Preu, Descuento, PrecioFijado, SUM(Cantidad) amount - FROM movement - GROUP BY Id_Article, Preu, Descuento, PrecioFijado; - - UPDATE Movimientos - JOIN movement_u u USING(Id_Movimiento) - JOIN Tickets T ON T.Id_Ticket = vTicketId - SET Cantidad = amount; - - DELETE movement FROM movement JOIN movement_u USING (Id_Movimiento); - DELETE Movimientos FROM Movimientos JOIN movement USING (Id_Movimiento); - - DROP TEMPORARY TABLE movement; - DROP TEMPORARY TABLE movement_u; -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 `recibidaIvaDivisaUpdate` */; -/*!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 `recibidaIvaDivisaUpdate`(IN vRecibidaId INT) -BEGIN - -/* Actualiza el valor de la divisa en función del cambio oficial para el dia de expedicion -*/ - UPDATE recibida_iva - SET bi = NULL - WHERE recibida_id = vRecibidaId - AND divisa IS NOT NULL; - - UPDATE recibida_iva ri - JOIN recibida r ON r.id = ri.recibida_id - JOIN reference_rate rr ON rr.date = r.fecha AND r.moneda_id = rr.moneda_id - SET ri.bi = ri.divisa / rr.rate - WHERE r.id = vRecibidaId; - -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 `recibidaIvaInsert` */; -/*!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 `recibidaIvaInsert`(IN vId INT) -BEGIN - - INSERT INTO recibida_iva(recibida_id, iva_id, bi,gastos_id,divisa) - SELECT r.id, - CASE - WHEN p.cuenta LIKE '___4______' THEN 71 - WHEN p.cuenta LIKE '___1______' THEN 36 - WHEN p.cuenta LIKE '___3______' THEN 63 - END, - SUM(Costefijo * Cantidad) / IFNULL(rr.rate,1), - 6003000000, - IF(r.moneda_id = 1,NULL,SUM(Costefijo * Cantidad )) - FROM recibida r - JOIN recibida_entrada re ON r.id = re.recibida_id - JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor - JOIN Compres c ON c.Id_Entrada = e.Id_Entrada - JOIN reference_rate rr ON rr.moneda_id = r.moneda_id AND rr.date = r.fecha - LEFT JOIN recibida_iva ri ON re.recibida_id=ri.recibida_id - WHERE re.awb_recibida =vId AND ri.bi IS NULL - GROUP BY e.Id_Entrada, re.awb_recibida; - -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 `recibida_select` */; -/*!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 `recibida_select`(IN recibida INT) -BEGIN - DECLARE cta_proveed VARCHAR(10); - DECLARE cta_proveeda VARCHAR(10); - DECLARE v_num_recibida INT; - DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; - - DECLARE NEW_id,NEW_empresa_id,NEW_proveedor_id INT; - DECLARE NEW_serie VARCHAR(1); - DECLARE NEW_fecha DATE; - DECLARE NEW_num_recibida VARCHAR(10); - DECLARE NEW_sref VARCHAR(20); - - SELECT id,empresa_id,proveedor_id,serie,fecha,num_recibida,sref - INTO NEW_id,NEW_empresa_id,NEW_proveedor_id, NEW_serie,NEW_fecha,NEW_num_recibida, NEW_sref - FROM recibida WHERE id = recibida; - - - SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate - WHERE date <= (SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = recibida GROUP BY re.awb_recibida)); - - SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min - WHERE date<=(SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = NEW_id GROUP BY re.awb_recibida)); - - -- IF dblRefMin < dblRefRate THEN - -- SET dblRef = dblRefRate; - -- ELSE - -- SET dblRef =dblRefMin; - -- END IF; - SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r - WHERE r.serie LIKE NEW_serie - AND YEAR(r.fecha) = YEAR(NEW_fecha) - AND r.empresa_id = NEW_empresa_id GROUP BY r.empresa_id; - - SET NEW_num_recibida = IFNULL(v_num_recibida,1); - SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW_proveedor_id; - - -SELECT a,NEW_fecha,subcta,contra,concepto,eurodebe,eurohaber,baseeuro,NEW_serie,NEW_sref,iva, - (SELECT CONCAT(NEW_serie,'/', LPAD(v_num_recibida,5,'0'))),l340,LRECT349,TIPOOPE,AUXILIAR,NEW_empresa_id - FROM - - (SELECT MAX(ASIEN) + 1 as a FROM XDiario) t - - INNER JOIN - - ( - - SELECT *,NEW_serie FROM - - (SELECT CONCAT('s/fra',RIGHT(sref,8),':',LEFT(Proveedor, 10)) concepto FROM Proveedores - - INNER JOIN recibida ON Id_Proveedor = proveedor_id WHERE id = NEW_id) t4 - - INNER JOIN( - -- Linea del proveedor/acreedor - SELECT subcta,'' contra,eurodebe,ROUND(SUM(eurohaber) + 0.0001,2) eurohaber,baseeuro,0 iva, l340,LRECT349,TIPOOPE,'' AUXILIAR - - FROM ( - - SELECT cta_proveed subcta, - - NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi),2) eurohaber, NULL baseeuro,ri.recibida_id, 0 l340,0 LRECT349,' ' TIPOOPE - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE r.id = NEW_id GROUP BY iva) t - - GROUP BY recibida_id - - UNION ALL - -- Linea de iva - SELECT ic.codigo,cta_proveed contra, - - ROUND(iva/100*SUM(ri.bi) + 0.0001,2) eurodebe, NULL eurohaber, - - ROUND(SUM(ri.bi),2) baseeuro,iva, 1 l340,(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2)) LRECT349,TIPOOPE, - IF(pa2.CEE < 2 AND ri2.gastos_id IS NULL,'','*') AUXILIAR -- JGF 30-01-2014 IF(NOT ((p.pais_id <> p2.pais_id) AND pa.CEE < 2),'*','') -- ANTES '' AUXILIAR JGF < 30-01-2014 --- AND ri.gastos_id LIKE '4751______' - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - LEFT JOIN recibida_iva ri2 ON ri2.recibida_id = r.id AND ri2.gastos_id LIKE '4751______' - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - INNER JOIN Gastos g ON ri.gastos_id = g.Id_Gasto AND g.iva_tipo_id = ic.iva_tipo_id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - - INNER JOIN Paises pa ON p.pais_id = pa.Id - - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - INNER JOIN Paises pa2 ON p2.pais_id = pa2.Id - WHERE r.id = NEW_id AND g.conbase AND link GROUP BY iva - - UNION ALL - -- Linea iva inversor sujeto pasivo - SELECT ic2.codigo,cta_proveed contra, - - NULL eurodebe, ROUND(ic2.iva/100*SUM(bi) + 0.0001,2) eurohaber, - - ROUND(SUM(bi),2) baseeuro,ic2.iva, 1 l340,0 LRECT349,TIPOOPE,'*' AUXILIAR - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id - - INNER JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - WHERE r.id = NEW_id AND ic2.link GROUP BY ic2.iva - - UNION ALL - -- Linea de Gastos - SELECT if(gastos_id LIKE '4751______',LPAD(RIGHT(cta_proveed ,4),10,gastos_id),gastos_id),cta_proveed , - - if(gastos_id LIKE '4751______',NULL,ABS(ROUND(SUM(bi),2))) , - - if(gastos_id LIKE '4751______',ABS(ROUND(SUM(bi),2)),NULL) , - - NULL ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR - - FROM recibida r - - INNER JOIN recibida_iva ri ON ri.recibida_id = r.id - - INNER JOIN Proveedores p ON p.Id_Proveedor=r.proveedor_id - - WHERE r.id = NEW_id AND gastos_id <> 5660000002 GROUP BY gastos_id - - ) t2 - - UNION ALL - - - -- Extracomunitarias gasto contra proveedor/acreedor - SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,gastos_id,cuenta, - - ROUND(SUM(bi)/IF(r.serie='W',dblRefRate,1)* (re.percentage / 100),2),NULL ,IF( @a:=@a+1 ,NULL,NULL) ,0, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie - - FROM recibida_entrada re - - INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id - - INNER JOIN recibida r ON r.id = ri.recibida_id - - INNER JOIN Proveedores p ON p.Id_Proveedor = r.proveedor_id - - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - - LEFT JOIN travel t ON t.id = e.travel_id - - INNER JOIN (SELECT @a:=0,@cont:=1,@total:=0,@base:=2) t1 - - WHERE re.awb_recibida = NEW_id AND re.percentage GROUP BY r.id - -UNION ALL - - -- Extracomunitarias proveedor contra gasto - SELECT CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) concepto ,p.cuenta subcta,gastos_id, - - NULL eurodebe, ROUND((1+(iva/100)*(r.serie = 'R'))*SUM(bi)/IF(r.serie='W',dblRefRate,1)* (re.percentage / 100),2) eurohaber, - - NULL baseeuro,0 iva, 0 l340,0 LRECT349,' ' TIPOOPE,'' AUXILIAR,r.serie - -- antes sols iva - FROM recibida_entrada re - - INNER JOIN recibida_iva ri ON re.recibida_id = ri.recibida_id - - INNER JOIN recibida r ON r.id = ri.recibida_id - - INNER JOIN iva_codigo ic ON ri.iva_id = ic.id - - INNER JOIN Proveedores p ON Id_Proveedor = r.proveedor_id - - INNER JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE re.awb_recibida = NEW_id AND re.percentage GROUP BY r.id - -UNION ALL - - -- Linea de iva adquisicion - SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic.codigo,p.cuenta contra, - - ROUND(iva/100*SUM(ri.importe) + 0.0001,2) eurodebe, NULL eurohaber, - - ROUND(SUM(ri.importe),2) baseeuro,iva, 1 l340,1 LRECT349,TIPOOPE,'' AUXILIAR,r.serie - - FROM awb_recibida ar - - JOIN awb a ON ar.awb_id = a.id - - JOIN iva_codigo ic ON a.iva_id = ic.id - - JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor - - JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id - - JOIN recibida r ON r.id = ri.recibida_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE ar.recibida_id = NEW_id AND (p.pais_id <> p2.pais_id) - GROUP BY iva - - UNION ALL - - -- Linea de iva adquisicion - SELECT CONCAT('ADQUI. INTRA FRA ',sref),ic2.codigo,p.cuenta contra, - - NULL eurodebe, ROUND(ic2.iva/100*SUM(ri.importe) + 0.0001,2) eurohaber, - - ROUND(SUM(ri.importe),2) baseeuro,ic2.iva, 1 l340,0 LRECT349, TIPOOPE,'' AUXILIAR,r.serie - - FROM awb_recibida ar - - JOIN awb a ON ar.awb_id = a.id - - JOIN iva_codigo ic ON a.iva_id = ic.id - - JOIN iva_codigo ic2 ON ic2.link = ic.link AND ic.id <> ic2.id - - JOIN iva_tipo it ON ic.iva_tipo_id = it.id - - JOIN Proveedores p ON a.transitario_id = p.Id_Proveedor - - JOIN recibida_intrastat ri ON ri.recibida_id = ar.recibida_id - - JOIN recibida r ON r.id = ar.recibida_id - - JOIN Proveedores p1 ON p1.Id_Proveedor = r.proveedor_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE ar.recibida_id = NEW_id AND (p.pais_id <> p2.pais_id) GROUP BY ic2.iva - - UNION ALL - -- Linea iva importacion - SELECT concepto,subcta,Cuenta, - IF (NOT ((ppais_id <> p2pais_id) AND CEE < 2), - (IF(@cont<@a, - eurodebe, - ROUND(bi-@total,2) - )) - ,NULL)eurodebe,eurohaber,baseeuro,iva, - IF(@total:=@total+eurodebe ,0,0) l340,0 LRECT349, - IF(@cont:=@cont+1,'','') TIPOOPE,'*' AUXILIAR,serie FROM ( - - SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic.codigo subcta,p.Cuenta,ic.iva, - red(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*0.21) eurodebe,NULL eurohaber, - ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,ri.bi,r.serie,pa.CEE,p.pais_id ppais_id,p2.pais_id p2pais_id - - FROM awb_recibida ar - - JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida - - JOIN Compres c ON c.Id_Entrada = re.Id_Entrada - - INNER JOIN Articles a ON a.Id_Article = c.Id_Article - - INNER JOIN ( - - SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal - - FROM Compres c - - JOIN Articles a ON a.Id_Article = c.Id_Article - - JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada - - JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida - - JOIN awb aw ON ar.awb_id = aw.id - - WHERE ar.recibida_id = NEW_id AND re.percentage - - GROUP BY a.Codintrastat - - ) sub1 USING(Codintrastat) - - INNER JOIN ( - - SELECT Codintrastat,ri.importe - - FROM recibida_intrastat ri - - WHERE ri.recibida_id = NEW_id - - ) sub2 USING(Codintrastat) - - -- JOIN recibida_intrastat ri ON ar.awb_recibida = ri.recibida_id and ri.Codintrastat = sub1.Codintrastat - - JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - - JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor - - JOIN Paises pa ON p.pais_id = pa.Id - - JOIN recibida_iva ri ON ri.recibida_id = re.awb_recibida - - JOIN recibida_iva ri2 ON ri2.recibida_id = re.recibida_id - - JOIN iva_codigo ic ON ic.id = ri2.iva_id - - JOIN recibida r ON r.id = re.recibida_id - - JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE re.awb_recibida = NEW_id AND re.percentage AND IF(cta_proveed like '___0______',ri.gastos_id = 5660000002,TRUE) - -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put - - GROUP BY p.Id_Proveedor - - - -- antes GROUP BY a.Codintrastat,Id_Entrada - -) t3)t4; - -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 `recibida_select2` */; -/*!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 `recibida_select2`(IN recibida INT) -BEGIN - DECLARE cta_proveed VARCHAR(10); - DECLARE cta_proveeda VARCHAR(10); - DECLARE v_num_recibida INT; - DECLARE dblRefRate,dblRefMin,dblRef DOUBLE; - - DECLARE NEW_id,NEW_empresa_id,NEW_proveedor_id INT; - DECLARE NEW_serie VARCHAR(1); - DECLARE NEW_fecha DATE; - DECLARE NEW_num_recibida VARCHAR(10); - DECLARE NEW_sref VARCHAR(20); - - SELECT id,empresa_id,proveedor_id,serie,fecha,num_recibida,sref - INTO NEW_id,NEW_empresa_id,NEW_proveedor_id, NEW_serie,NEW_fecha,NEW_num_recibida, NEW_sref - FROM recibida WHERE id = recibida; - - - SELECT rate INTO dblRefRate FROM reference_rate WHERE date = (SELECT MAX(date) FROM reference_rate - WHERE date <= (SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = recibida GROUP BY re.awb_recibida)); - - SELECT rate INTO dblRefMin FROM reference_min WHERE date=(SELECT MAX(date) FROM reference_min - WHERE date<=(SELECT t.shipment FROM - recibida_entrada re - INNER JOIN Entradas e ON e.Id_Entrada = re.Id_Entrada - LEFT JOIN travel t ON t.id = e.travel_id - WHERE re.awb_recibida = NEW_id GROUP BY re.awb_recibida)); - - -- IF dblRefMin < dblRefRate THEN - -- SET dblRef = dblRefRate; - -- ELSE - -- SET dblRef =dblRefMin; - -- END IF; - SELECT IFNULL(MAX(r.num_recibida) + 1,1) INTO v_num_recibida FROM recibida r - WHERE r.serie LIKE NEW_serie - AND YEAR(r.fecha) = YEAR(NEW_fecha) - AND r.empresa_id = NEW_empresa_id GROUP BY r.empresa_id; - - SET NEW_num_recibida = IFNULL(v_num_recibida,1); - - - SELECT REPLACE(cuenta,' ','') INTO cta_proveed FROM Proveedores WHERE Id_Proveedor=NEW_proveedor_id; - - -SELECT CONCAT('COMPRA FRA ',p.Proveedor) concepto,ic.codigo subcta,p.Cuenta,ic.iva, - red(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe)*0.21) eurodebe,NULL eurohaber, - ROUND(sum(costefijo * Cantidad / sub1.costetotal * sub2.importe),2) baseeuro,ri.bi,r.serie,pa.CEE,p.pais_id ppais_id,p2.pais_id p2pais_id - - FROM awb_recibida ar - - left JOIN recibida_entrada re ON ar.recibida_id = re.awb_recibida - - left JOIN Compres c ON c.Id_Entrada = re.Id_Entrada - - left JOIN Articles a ON a.Id_Article = c.Id_Article - - left JOIN ( - - SELECT a.Codintrastat, sum(c.costefijo * c.Cantidad) as costetotal - - FROM Compres c - - left JOIN Articles a ON a.Id_Article = c.Id_Article - - left JOIN recibida_entrada re ON re.Id_Entrada = c.Id_Entrada - - left JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida - - left JOIN awb aw ON ar.awb_id = aw.id - - WHERE ar.recibida_id = NEW_id AND re.percentage/*JGF 27/08/14*/ - - GROUP BY a.Codintrastat - - ) sub1 USING(Codintrastat) - - left JOIN ( - - SELECT Codintrastat,ri.importe - - FROM recibida_intrastat ri - - WHERE ri.recibida_id = NEW_id - - ) sub2 USING(Codintrastat) - - -- JOIN recibida_intrastat ri ON ar.awb_recibida = ri.recibida_id and ri.Codintrastat = sub1.Codintrastat - - left JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - - left JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor - - left JOIN Paises pa ON p.pais_id = pa.Id - - left JOIN recibida_iva ri ON ri.recibida_id = re.awb_recibida - - left JOIN recibida_iva ri2 ON ri2.recibida_id = re.recibida_id - - left JOIN iva_codigo ic ON ic.id = ri2.iva_id - - left JOIN recibida r ON r.id = re.recibida_id - - left JOIN Proveedores p2 ON p2.Id_Proveedor = r.empresa_id - - WHERE re.awb_recibida = NEW_id AND re.percentage/*JGF 27/08/14*/ AND IF(cta_proveed like '___0______',ri.gastos_id = 5660000002,TRUE) - -- canvie el cta_proveed like '___1______' per cero cuidao en les van de put - GROUP BY p.Id_Proveedor; - - - - -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 `recobro_credito` */; -/*!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 `recobro_credito`() -BEGIN - -INSERT INTO vn2008.daily_task_log(consulta) VALUES('recobro_credito'); - -DROP TEMPORARY TABLE IF EXISTS clientes_credit; -CREATE TEMPORARY TABLE clientes_credit -SELECT Id_Cliente, if (Credito > Recobro ,Credito - Recobro,0) as newCredit -from -( -SELECT r.Id_Cliente, r.amount as Recobro, timestampadd(DAY, period, UltimaFecha) as Deadline, sub2.amount as Credito -FROM vn2008.recovery r -join - ( - select Id_Cliente, amount , odbc_date as UltimaFecha - from - ( - select * from credit - order by odbc_date desc - ) sub - group by Id_Cliente - ) sub2 using(Id_Cliente) - -where dend is null or dend >= curdate() -group by Id_Cliente -having Deadline <= curdate() -) sub3 -where Credito > 0; - -UPDATE Clientes -JOIN -clientes_credit using(Id_Cliente) -SET Clientes.Credito = newCredit; - -/* -Lo hace el trigger JGF 2017/10/18 -INSERT INTO credit(Id_Cliente, amount, Id_Trabajador) -SELECT Id_Cliente, newCredit, 20 -FROM clientes_credit; -*/ -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 `reinvoice` */; -/*!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 `reinvoice`(Id_Factura VARCHAR(15)) -BEGIN - DECLARE date_invoice DATE; - DECLARE customer_id INTEGER; - DECLARE serie CHAR(1); - DECLARE bi DOUBLE; - DECLARE bi_diff DOUBLE; - DECLARE base_max DOUBLE; - DECLARE day_vec INT; - DECLARE bi_r DOUBLE DEFAULT 0; - DECLARE bi_g DOUBLE DEFAULT 0; - DECLARE bi_n DOUBLE DEFAULT 0; - DECLARE iva_r DOUBLE DEFAULT 0; - DECLARE iva_g DOUBLE DEFAULT 0; - DECLARE re_r DOUBLE DEFAULT 0; - DECLARE re_g DOUBLE DEFAULT 0; - DECLARE dblImporte DOUBLE DEFAULT 0; - DECLARE intpais_id TINYINT DEFAULT 1; - DECLARE intFac INTEGER; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - DROP TEMPORARY TABLE IF EXISTS `iva_base`; - CREATE TEMPORARY TABLE `iva_base` - ( - `id` VARCHAR(3) NOT NULL, - `base` DOUBLE NOT NULL DEFAULT 0, - PRIMARY KEY (`id`) - ) - ENGINE = MEMORY; - - DROP TEMPORARY TABLE IF EXISTS `ticket_invoice`; - CREATE TEMPORARY TABLE `ticket_invoice` - ( - `ticket_id` INT NOT NULL, - PRIMARY KEY (`ticket_id`) - ) - ENGINE = MEMORY; - - START TRANSACTION; - - SELECT pais_id,Fecha,f.Id_Factura,Id_Cliente INTO intpais_id,date_invoice,Id_Factura,customer_id FROM Proveedores p - JOIN Facturas f ON p.Id_Proveedor = f.empresa_id - WHERE f.Id_Factura = Id_Factura; - - INSERT INTO ticket_invoice (ticket_id) SELECT Id_Ticket FROM Tickets t - WHERE Factura = Id_Factura; - - -- Eliminem els tickets que no han de ser facturats - - IF (SELECT COUNT(*) FROM ticket_invoice) > 0 - THEN - INSERT INTO iva_base (id) SELECT tipoiva FROM tblIVA; - - UPDATE iva_base - INNER JOIN - (SELECT tipo, SUM(base) base - FROM - (SELECT t.tipo, red(m.Cantidad * m.Preu * (100 - Descuento) / 100) AS base - FROM - Movimientos m - INNER JOIN ticket_invoice ti ON m.Id_Ticket = ti.ticket_id - INNER JOIN (SELECT t.tipo, Id_Article - FROM - (SELECT - date, iva_codigo_id, ic.tipo, iva_group_id - FROM - iva_group_codigo gi - INNER JOIN iva_codigo ic ON gi.iva_codigo_id = ic.id - INNER JOIN iva_tipo itp ON itp.id = ic.iva_tipo_id - WHERE - date <= date_invoice - AND Id_Pais = intpais_id - ORDER BY date DESC) t - INNER JOIN Articles USING (iva_group_id) - GROUP BY Id_Article) t USING (Id_Article)) sub - GROUP BY tipo) iva_movement ON iva_base.id = iva_movement.tipo - SET - iva_base.base = iva_movement.base; - - IF (serie = 'H' OR serie = 'V' OR serie = 'E' OR serie = 'X') THEN - SELECT SUM(base) into dblImporte from iva_base; - ELSE - - SET bi_r = (SELECT base FROM iva_base WHERE id = 'R'); - - SET bi_g = (SELECT base FROM iva_base WHERE id = 'G'); - SET bi_n = (SELECT base FROM iva_base WHERE id = '0'); - SET iva_r = red(bi_r * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - SET iva_g = red(bi_g * (SELECT iva FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - - IF (SELECT IF(RE = 0, FALSE, TRUE) FROM Clientes WHERE Clientes.Id_cliente = customer_id) - THEN - SET re_r = red(bi_r * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'R' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - SET re_g = red(bi_g * (SELECT recargo FROM iva_codigo INNER JOIN iva_tipo it ON it.id = iva_tipo_id - WHERE tipo = 'G' AND Id_Pais = intpais_id AND Fecha <= date_invoice and iva ORDER BY fecha DESC, recargo DESC LIMIT 1) / 100 ); - END IF; - - SET dblImporte = bi_r + bi_g + bi_n + iva_r + iva_g + re_r + re_g ; - END IF; - END IF; - - IF (SELECT SUM(base) FROM iva_base) != 0 - THEN - UPDATE Facturas - SET - BI7 = bi_r, - BI16 = bi_g, - IVA7 = iva_r, - IVA16 = iva_g, - RE1 = re_r, - RE4 = re_g, - Importe = dblImporte - WHERE Facturas.Id_Factura = Id_Factura; - END IF; - - DROP TEMPORARY TABLE `iva_base`; - DROP TEMPORARY TABLE `ticket_invoice`; - - 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 `resumen_produccion` */; -/*!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 `resumen_produccion`(IN datSTART DATE, IN datEND DATE) -BEGIN - -DECLARE datENDFIN DATETIME; -DECLARE datSTART_LY DATETIME; -DECLARE datEND_LY DATETIME; - -SET datENDFIN = DAYEND(datEND); -SET datSTART_LY = TIMESTAMPADD(YEAR,-1,datSTART); -SET datSTART_LY = TIMESTAMPADD(DAY,-1,datSTART_LY); - -SET datEND_LY = TIMESTAMPADD(YEAR,-1,datEND); -SET datEND_LY = TIMESTAMPADD(DAY,-1,datEND_LY); - -DROP TEMPORARY TABLE IF EXISTS tblRESUMEN; - -CREATE TEMPORARY TABLE tblRESUMEN - (Agencia VARCHAR(30), - Vista INT(2), - Dia DATE, - Tickets INT(4), - unidades INT(11), - m3 INT(6), - bultos INT(6), - linea INT(11), - almacen VARCHAR(25), - importe DOUBLE, - año INT -); - -INSERT INTO tblRESUMEN - -select Agencia, Vista, Dia, count(Id_Ticket) as Tickets, sum(unidades) as unidades, sum(Volumen) / 1000000 as m3 - , sum(Bul1) as bultos, sum(lineas) as linea, almacen, SUM(importe) as importe, año -from -( -select Agencia, Vista, date(Fecha) as Dia, sum(Cantidad) as unidades , sum(Cantidad * cm3) as Volumen - ,sum(IF (M.Id_Article IN (71,68,83,79, 85,89,91,92,93), Cantidad, 0)) as Bul1 - , Id_Ticket, count(*) as lineas, IFNULL(T.Bultos,0) as Bul2, w.name as almacen, SUM(Cantidad * Preu * (100 - M.Descuento) / 100) importe, year(T.Fecha) as año - from Movimientos M - inner join Tickets T USING(Id_Ticket) - join warehouse w on T.warehouse_id = w.id - join bi.rotacion r on r.Id_Article = M.Id_Article and r.warehouse_id = T.warehouse_id - inner join Clientes C USING(Id_Cliente) - inner join Articles A on A.Id_Article = M.Id_Article - inner join Tipos TP USING(tipo_id) - join reinos re on re.id = TP.reino_id - inner join Agencias USING(Id_Agencia) - where (Fecha BETWEEN datSTART AND datENDFIN or Fecha BETWEEN datSTART_LY AND datEND_LY) - and re.display <> 0 - and (invoice or Id_Cliente = 31) and C.Id_Cliente NOT IN (2066,2067,2068) - group by Id_Ticket) sub - -group by Agencia, Vista, Dia, almacen, año -; - -SET lc_time_names = 'es_ES'; - -SELECT *, - CASE Vista - WHEN 1 THEN 'Agencias' - WHEN 2 THEN 'Rutas' - WHEN 3 THEN 'Mercado' - ELSE 'Otras' - END as Sector - ,dayname(Dia) as Nombre_Dia - , week - , year - - - FROM tblRESUMEN - JOIN time t on t.date = Dia; - -DROP TEMPORARY TABLE IF EXISTS tblRESUMEN; - - -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 `riskkk` */; -/*!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 `riskkk`(v_date DATE, v_customer INT) -BEGIN -/** - * Calcula el riesgo para uno o todos los clientes activos. - * - * @deprecated usar vn.clientGetDebt - * @param v_date Fecha maxima de los registros - * @param v_customer Cliente a mostrar su riesgo, %NULL para todos - * @return table tmp.risk - */ - DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -33, CURDATE()); - DECLARE v_date_end DATETIME; - - SET v_date = IFNULL(v_date, CURDATE()); - SET v_date_end = TIMESTAMP(v_date, '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - CREATE TEMPORARY TABLE ticket_tmp - ENGINE = MEMORY - SELECT Id_Ticket ticket_id FROM Tickets t - WHERE (v_customer IS NULL OR Id_Cliente = v_customer) - AND t.Factura IS NULL - AND t.Fecha BETWEEN v_date_start AND v_date_end; - - CALL ticket_total(); - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - ENGINE = MEMORY - SELECT Id_Cliente, SUM(amount) risk - FROM Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk - WHERE (v_customer IS NULL OR customer_id = v_customer) - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM Recibos - WHERE (v_customer IS NULL OR Id_Cliente = v_customer) - AND Fechacobro > v_date_end - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, SUM(total) - FROM ticket_total tt - JOIN Tickets t ON tt.ticket_id = t.Id_Ticket - GROUP BY t.Id_Cliente - UNION ALL - SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - WHERE (v_customer IS NULL OR t.clientFk = v_customer) - AND t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DROP TEMPORARY TABLE - ticket_total, - ticket_tmp; -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 `risk_vs_client_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 `risk_vs_client_list`(maxRiskDate DATE) -BEGIN -/** - * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list - * - * @deprecated usar vn.clientGetDebt - * @param maxRiskDate Fecha maxima de los registros - * @return table tmp.risk - */ - DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 30, CURDATE()); - DECLARE endingDate DATETIME; - DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; - - SET maxRiskDate = IFNULL(maxRiskDate, CURDATE()); - SET endingDate = TIMESTAMP(maxRiskDate, '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS tmp.client_list_2; - CREATE TEMPORARY TABLE tmp.client_list_2 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.client_list_3; - CREATE TEMPORARY TABLE tmp.client_list_3 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.tickets_sin_facturar; - CREATE TEMPORARY TABLE tmp.tickets_sin_facturar - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT t.Id_Cliente, floor(IF(cl.isVies, 1, 1.1) * sum(Cantidad * Preu * (100 - Descuento) / 100)) as total - FROM Movimientos m - JOIN Tickets t on m.Id_Ticket = t.Id_Ticket - JOIN tmp.client_list c on c.Id_Cliente = t.Id_Cliente - JOIN vn.client cl ON cl.id = t.Id_Cliente - WHERE Factura IS NULL - AND Fecha BETWEEN startingDate AND endingDate - GROUP BY t.Id_Cliente; - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT Id_Cliente, SUM(amount) risk, sum(saldo) saldo - FROM Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount,SUM(amount) saldo - FROM bi.customer_risk - JOIN tmp.client_list on Id_Cliente = customer_id - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado),SUM(Entregado) - FROM Recibos - JOIN tmp.client_list_2 using(Id_Cliente) - WHERE Fechacobro > endingDate - GROUP BY Id_Cliente - UNION ALL - SELECT Id_Cliente, total,0 - FROM tmp.tickets_sin_facturar - UNION ALL - SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)), CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - JOIN tmp.client_list_3 on Id_Cliente = t.clientFk - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DELETE r.* - FROM tmp.risk r - JOIN vn2008.Clientes c on c.Id_Cliente = r.Id_Cliente - JOIN vn2008.pay_met pm on pm.id = c.pay_met_id - WHERE IFNULL(r.saldo,0) < 10 - AND r.risk <= MAX_RISK_ALLOWED - AND pm.`name` = 'TARJETA'; -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_Graph` */; -/*!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_Graph`() -BEGIN - -DECLARE datSTART DATE DEFAULT TIMESTAMPADD(DAY,-3,CURDATE()); -DECLARE datEND DATE; - -SET datEND = vn2008.dayend(timestampadd(day,3,CURDATE())); - -CALL item_last_buy_(NULL,datSTART); - -Select cast(sum(Cantidad * vn2008.cm3_unidad(buy_id)) / 1000000 as DECIMAL(5,1)) as m3, Agencia, w.name as Almacen, date(R.Fecha) as Fecha_Ruta - from vn2008.Rutas R - JOIN vn2008.Agencias a on a.Id_Agencia = R.Id_Agencia - join vn2008.Tickets t using(Id_Ruta) - JOIN vn2008.warehouse w on w.id = t.warehouse_id - join vn2008.Movimientos m using(Id_Ticket) - JOIN cache.last_buy b ON m.Id_Article = b.item_id AND t.warehouse_id = b.warehouse_id - where R.Fecha between datSTART and datEND - group by Agencia, Almacen, Fecha_Ruta - -UNION ALL -Select cast(sum(Cantidad * vn2008.cm3_unidad(buy_id)) / 1000000 as decimal(5,1)) as m3 ,Agencia, w.name as Almacen, timestampadd(day,1,t.Fecha) Fecha - from vn2008.Tickets t - join warehouse w on w.id = warehouse_id - join Agencias a using(Id_Agencia) - join vn2008.Movimientos m using(Id_Ticket) - JOIN cache.last_buy b ON m.Id_Article = b.item_id AND t.warehouse_id = b.warehouse_id - LEFT JOIN warehouse_pickup wp ON wp.agency_id = t.Id_Agencia and wp.warehouse_id = t.warehouse_id - JOIN warehouse_pickup is_rec ON is_rec.agency_id = t.Id_Agencia - where t.Fecha between TIMESTAMPADD(DAY,-1,datSTART) and TIMESTAMPADD(DAY,-1,datEND) - AND wp.agency_id IS NULL - group by Agencia, Almacen, Fecha - -- JGF 2016-05-05 -UNION ALL - Select cast(sum(Cantidad * vn2008.cm3_unidad(Id_Compra)) / 1000000 as decimal(5,1)) as m3 ,a.Agencia, w.name as Almacen, - timestampadd(day,1,t.shipment) Fecha - from Compres c JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada - JOIN travel t ON t.id = e.travel_id - JOIN Agencias a on a.Id_Agencia = t.agency_id - JOIN warehouse w on w.id = t.warehouse_id_out - JOIN warehouse_pickup wp ON wp.warehouse_id = t.warehouse_id_out - where t.shipment between TIMESTAMPADD(DAY,-1,datSTART) and TIMESTAMPADD(DAY,-1,datEND) - group by a.Agencia, Almacen, Fecha; - -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_monitor_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 `Rutas_monitor_update`(vDate DATE) -BEGIN - -DECLARE vDateEND DATETIME; - -SET vDateEND = util.dayend(vDate); -SET vDate = TIMESTAMPADD(DAY,-1,vDate); - -INSERT IGNORE INTO Rutas_monitor(Id_Ruta) - SELECT DISTINCT Id_Ruta - FROM Tickets - WHERE Fecha BETWEEN vDate AND vDateEND - AND Id_Ruta; - -UPDATE Rutas_monitor rm -JOIN Rutas r ON r.Id_Ruta = rm.Id_Ruta -JOIN Agencias a ON a.Id_Agencia = r.Id_Agencia -SET rm.`name` = a.Agencia, rm.fecha = r.Fecha, - rm.pedidosLibres = 0, - rm.pedidosProduccion = 0, - rm.pedidosEncajados = 0, - rm.Fecha = r.Fecha; -/* -UPDATE Rutas_monitor rm -JOIN ( - SELECT Id_Ruta, max(landing) as landing - FROM Tickets t - WHERE t.Fecha BETWEEN vDate AND vDateEND - GROUP BY Id_Ruta - ) t ON t.Id_Ruta = rm.Id_Ruta -SET rm.Fecha = t.landing; -*/ -UPDATE Rutas_monitor rm -JOIN -( SELECT Id_Ruta, count(*) AS pedidosLibres - FROM Tickets t - JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket - JOIN vncontrol.inter i ON i.inter_id = ts.inter_id - JOIN state s ON i.state_id = s.id AND s.alert_level = 0 - WHERE t.Fecha BETWEEN vDate AND vDateEND - AND Id_Ruta - GROUP BY Id_Ruta -) t ON t.Id_Ruta = rm.Id_Ruta -SET rm.pedidosLibres = t.pedidosLibres; - -UPDATE Rutas_monitor rm -JOIN -( SELECT Id_Ruta, count(*) AS pedidosProduccion - FROM Tickets t - JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket - JOIN vncontrol.inter i ON i.inter_id = ts.inter_id - JOIN state s ON i.state_id = s.id AND s.alert_level = 1 - WHERE t.Fecha BETWEEN vDate AND vDateEND - AND Id_Ruta - GROUP BY Id_Ruta -) t ON t.Id_Ruta = rm.Id_Ruta -SET rm.pedidosProduccion = t.pedidosProduccion; - -UPDATE Rutas_monitor rm -JOIN -( SELECT Id_Ruta, count(*) AS pedidosEncajados - FROM Tickets t - JOIN Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket - JOIN vncontrol.inter i ON i.inter_id = ts.inter_id - JOIN state s ON i.state_id = s.id AND s.alert_level >= 2 - WHERE t.Fecha BETWEEN vDate AND vDateEND - AND Id_Ruta - GROUP BY Id_Ruta -) t ON t.Id_Ruta = rm.Id_Ruta -SET rm.pedidosEncajados = t.pedidosEncajados; - -UPDATE Rutas_monitor rm -JOIN -( SELECT Id_Ruta, count(*) AS bultos - FROM Tickets t - JOIN expeditions e ON e.ticket_id = t.Id_Ticket - WHERE t.Fecha BETWEEN vDate AND vDateEND - AND Id_Ruta - GROUP BY Id_Ruta -) t ON t.Id_Ruta = rm.Id_Ruta -SET rm.bultos = t.bultos; - -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 `saldos_bancos` */; -/*!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 `saldos_bancos`() -BEGIN - -declare datEND DATE; - -SET datEND = CURDATE() + INTERVAL 2 MONTH; - -drop table if exists bi.saldos_bancos; - - -create table bi.saldos_bancos - - select Semana, Mes, Año, Entrada - , Salida - , @saldo := IF(@banco = Id_Banco and @emp = empresa_id, @saldo,0) + ifnull(Entrada,0)-ifnull(Salida,0) as Saldo - , @banco := Id_Banco as Id_Banco - , @emp := empresa_id as empresa_id - , 'NUL' as Empresa - - from - ( - select * from - ( - select t.week as Semana, t.year as Año, t.month as Mes, b.Id_Banco, sum(Entrada) as Entrada, sum(Salida) as Salida, @banco := 0, @saldo := 0, @emp := 0, e.id as empresa_id - from time t - join Bancos b on b.entity_id = 1 - join empresa e on e.id IN (791,442) - left join - ( - Select Id_Banco, Entrada, Salida, Cajafecha,empresa_id - from Cajas - where Cajafecha >= '2015-01-01' - and Serie = 'MB' - union all - Select Id_Banco, NULL, importe, greatest(fecha,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id - from pago - where conciliado = FALSE /*fecha between CURDATE() and datEND*/ - union all - Select Id_Banco, Entregado, NULL, greatest(Fechacobro,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id - from Recibos - where Fechacobro between CURDATE() and datEND - union all - Select IFNULL(Id_Banco,9999), Importe, NULL, Fecha,empresa_id - from Saldos_Prevision - where Fecha between CURDATE() and datEND - ) sub2 on t.date = sub2.Cajafecha and b.Id_Banco = sub2.Id_Banco and e.id = sub2.empresa_id - - where t.date between '2015-01-01' and datEND - and b.cash != 1 - group by b.Id_Banco, e.id, t.year, t.week - ) sub3 - order by Id_Banco, empresa_id, Año, Mes, Semana - ) sub -; - -update bi.saldos_bancos s -join empresa e on e.id = s.empresa_id -set s.Empresa = abbreviation; - -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 `saldos_bancos_pordia` */; -/*!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 `saldos_bancos_pordia`() -BEGIN - -declare datEND DATE; - -SET datEND = CURDATE() + INTERVAL 2 MONTH; - -drop table if exists bi.saldos_bancos_pordia; - - -create table bi.saldos_bancos_pordia - - select Fecha, Entrada - , Salida - , @saldo := IF(@banco = Id_Banco and @emp = empresa_id, @saldo,0) + ifnull(Entrada,0)-ifnull(Salida,0) as Saldo - , @banco := Id_Banco as Id_Banco - , @emp := empresa_id as empresa_id - , 'NUL' as Empresa - , Año, Mes, Dia - - from - ( - select * from - ( - select t.day as Dia, t.month as Mes,t.year as Año, t.date as Fecha, b.Id_Banco, sum(Entrada) as Entrada, sum(Salida) as Salida, @banco := 0, @saldo := 0, @emp := 0, e.id as empresa_id - from time t - join Bancos b on b.entity_id = 1 - join empresa e on e.id IN (791,442) - left join - ( - Select Id_Banco, Entrada, Salida, Cajafecha,empresa_id - from Cajas - where Cajafecha >= '2015-01-01' - and Serie = 'MB' - union all - Select Id_Banco, NULL, importe, greatest(fecha,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id - from pago - where conciliado = FALSE /*fecha between CURDATE() and datEND*/ - union all - Select Id_Banco, Entregado, NULL, greatest(Fechacobro,TIMESTAMPADD(DAY,1,CURDATE())),empresa_id - from Recibos - where conciliado = FALSE -- Fechacobro between CURDATE() and datEND - union all - Select IFNULL(Id_Banco,9999), Importe, NULL, Fecha,empresa_id - from Saldos_Prevision - where Fecha between CURDATE() and datEND - ) sub2 on t.date = sub2.Cajafecha and b.Id_Banco = sub2.Id_Banco and e.id = sub2.empresa_id - - where t.date between '2015-01-01' and datEND - and b.cash != 1 - group by b.Id_Banco, e.id, t.date - ) sub3 - order by Id_Banco, empresa_id, Fecha - ) sub -; - -update bi.saldos_bancos_pordia s -join empresa e on e.id = s.empresa_id -set s.Empresa = abbreviation; - -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 `scan_rutas_view` */; -/*!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 `scan_rutas_view`() -BEGIN - - -/* muestra las rutas agrupadas de los ultimos tres dias, así como una lista de los tickets sin enrutar, agrpados por agencia y fecha*/ - -select Fecha, Id_Ruta, Matricula, sub.m3, CodigoTrabajador, Agencia, Bultos, w.name as Almacen -from -( -select r.Fecha, Id_Ruta, r.Id_Trabajador, r.Id_Agencia, Id_Vehiculo, sum(m3) m3, sum(Bultos) Bultos, warehouse_id -from Rutas r -join Tickets t using(Id_Ruta) -where r.Fecha >= timestampadd(day,-3,curdate()) -group by Id_Ruta, warehouse_id - -union all - -select ifnull(landing,Fecha), dayofmonth(Fecha) * 100000 + Id_Agencia ruta , count(*) as m3, Id_Agencia, null, null, sum(Bultos), warehouse_id -from Tickets -where Id_Ruta is null -and Fecha between timestampadd(day,-3,curdate()) and dayend(curdate()) -group by ruta, warehouse_id -) sub -left join Vehiculos using(Id_Vehiculo) -left join Agencias using(Id_Agencia) -left join Trabajadores using(Id_Trabajador) -left join warehouse w on w.id = sub.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 `sendTicket` */; -/*!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 `sendTicket`(vDate DATE) -BEGIN - IF vDate IS NULL THEN - SET vDate = AYER(); - END IF; - - INSERT INTO mail (`to`, `reply_to`, subject,text) - SELECT IFNULL(c.`e-mail`,CONCAT(u.name,'@verdnatura.es')), - CONCAT(u.name,'@verdnatura.es'), - CONCAT('Albaran ',Id_Ticket), -CONCAT('Estimado cliente: - -Aquí tiene el enlace a su albarán. - -https://www.verdnatura.es/#!form=ecomerce/ticket&ticket=',Id_Ticket, -' - -Estamos en periodo de pruebas para este nuevo método. En el caso de que tenga problemas para acceder a su albarán, responda a este correo explicando los detalles. - -Estamos trabajando para mejorar el acceso a sus documentos.Le agradecemos su colaboración. - -Reciba un muy cordial saludo, - -',tr.nombre, ' ', tr.apellidos,' -',u.name,'@verdnatura.es - -Dpto. Comercial') - FROM Tickets t - JOIN Clientes c USING(Id_Cliente) - JOIN Trabajadores tr ON tr.Id_Trabajador = c.Id_Trabajador - JOIN account.user u ON tr.user_id = u.id - WHERE vDate = DATE(t.Fecha); -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 `splitAnthuriums2016` */; -/*!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 `splitAnthuriums2016`() -BEGIN - -DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; -DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; -DECLARE vMyTicket INT; -DECLARE vNewTicket INT; -DECLARE SILLA_PCA INT DEFAULT 44; -DECLARE done INT DEFAULT 0; - -DECLARE rs CURSOR FOR -SELECT DISTINCT Id_Ticket -FROM Movimientos m -JOIN Tickets t using(Id_Ticket) -JOIN Articles a using(Id_Article) -JOIN Tipos tp using(tipo_id) -WHERE t.Fecha between vStartingDate and vEndingDate -AND warehouse_id = 1 -AND - ( - Id_Tipo = 'ANT' - OR - ( Id_Article = 100 - AND - Concepte LIKE 'ANT%') - ); - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN rs; - -FETCH rs INTO vMyTicket; - - - -WHILE NOT done DO - - - INSERT INTO Tickets(Id_Cliente - , warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing) - SELECT Id_Cliente - , SILLA_PCA as warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing - FROM Tickets - WHERE Id_Ticket = vMyTicket; - - SELECT LAST_INSERT_ID() INTO vNewTicket; - - -- SELECT vMyTicket, vNewTicket; SET done = 1; - UPDATE Movimientos m - JOIN Articles a using(Id_Article) - JOIN Tipos tp using(tipo_id) - SET Id_Ticket = vNewTicket - WHERE Id_Ticket = vMyTicket - AND ( - Id_Tipo = 'ANT' - OR - ( m.Id_Article = 100 - AND - Concepte LIKE 'ANT%') - ); - - FETCH rs INTO vMyTicket; - -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 `splitHeliconias2016` */; -/*!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 `splitHeliconias2016`() -BEGIN - -DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; -DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; -DECLARE vMyTicket INT; -DECLARE vNewTicket INT; -DECLARE SILLA_PCA INT DEFAULT 44; -DECLARE done INT DEFAULT 0; - -DECLARE rs CURSOR FOR -SELECT DISTINCT Id_Ticket -FROM Movimientos m -JOIN Compres c ON Id_Entrada IN (100461, 100929) AND c.Id_Article = m.Id_Article -JOIN Tickets t using(Id_Ticket) -WHERE t.Fecha between vStartingDate and vEndingDate -AND warehouse_id = 1; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN rs; - -FETCH rs INTO vMyTicket; - - - -WHILE NOT done DO - - - INSERT INTO Tickets(Id_Cliente - , warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing) - SELECT Id_Cliente - , SILLA_PCA as warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing - FROM Tickets - WHERE Id_Ticket = vMyTicket; - - SELECT LAST_INSERT_ID() INTO vNewTicket; - - -- SELECT vMyTicket, vNewTicket; SET done = 1; - UPDATE Movimientos m - JOIN Compres c ON Id_Entrada IN (100461, 100929) AND c.Id_Article = m.Id_Article - SET Id_Ticket = vNewTicket - WHERE Id_Ticket = vMyTicket - ; - - FETCH rs INTO vMyTicket; - -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 `splitOrquideas2016` */; -/*!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 `splitOrquideas2016`() -BEGIN - -DECLARE vStartingDate DATETIME DEFAULT '2016-10-18'; -DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; -DECLARE vMyTicket INT; -DECLARE vNewTicket INT; -DECLARE SILLA_PCA INT DEFAULT 44; -DECLARE done INT DEFAULT 0; - -DECLARE rs CURSOR FOR -SELECT DISTINCT Id_Ticket -FROM Movimientos m -JOIN Tickets t using(Id_Ticket) -JOIN Articles a using(Id_Article) -JOIN Tipos tp using(tipo_id) -WHERE t.Fecha between vStartingDate and vEndingDate -AND warehouse_id = 1 -AND - ( - Id_Tipo = 'CYM' - OR - Id_Tipo = 'ORQ' - OR - ( Id_Article = 100 - AND - Concepte LIKE 'CYM%') - ); - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN rs; - -FETCH rs INTO vMyTicket; - - - -WHILE NOT done DO - - - INSERT INTO Tickets(Id_Cliente - , warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing) - SELECT Id_Cliente - , SILLA_PCA as warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing - FROM Tickets - WHERE Id_Ticket = vMyTicket; - - SELECT LAST_INSERT_ID() INTO vNewTicket; - - -- SELECT vMyTicket, vNewTicket; SET done = 1; - UPDATE Movimientos m - JOIN Articles a using(Id_Article) - JOIN Tipos tp using(tipo_id) - SET Id_Ticket = vNewTicket - WHERE Id_Ticket = vMyTicket - AND ( - Id_Tipo = 'CYM' - OR - Id_Tipo = 'ORQ' - OR - ( Id_Article = 100 - AND - Concepte LIKE 'CYM%') - ); - - FETCH rs INTO vMyTicket; - -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 `splitRamos2016` */; -/*!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 `splitRamos2016`() -BEGIN - -DECLARE vStartingDate DATETIME DEFAULT '2016-10-21'; -DECLARE vEndingDate DATETIME DEFAULT '2016-10-31 23:59:00'; -DECLARE vMyTicket INT; -DECLARE vNewTicket INT; -DECLARE SILLA_PCA INT DEFAULT 44; -DECLARE done INT DEFAULT 0; -DECLARE vLinesNotToChange INT; - -DECLARE rs CURSOR FOR -SELECT DISTINCT Id_Ticket - FROM Movimientos m - JOIN - ( - SELECT DISTINCT Id_Article - FROM Compres c - JOIN Entradas e on c.Id_Entrada = e.Id_Entrada - JOIN travel tr on tr.id = travel_id - WHERE landing between vStartingDate and vEndingDate - AND warehouse_id = 44 - AND Id_Proveedor = 850 - ) c on c.Id_Article = m.Id_Article - JOIN Tickets t using(Id_Ticket) - WHERE t.Fecha between vStartingDate and vEndingDate - AND warehouse_id = 1 - ; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN rs; - -FETCH rs INTO vMyTicket; - - - -WHILE NOT done DO - - SELECT COUNT(*) - INTO vLinesNotToChange - FROM Movimientos m - LEFT JOIN - ( - SELECT DISTINCT Id_Article - FROM Compres c - JOIN Entradas e on c.Id_Entrada = e.Id_Entrada - JOIN travel tr on tr.id = travel_id - WHERE landing between vStartingDate and vEndingDate - AND warehouse_id = 44 - AND Id_Proveedor = 850 - ) c on c.Id_Article = m.Id_Article - WHERE Id_Ticket = vMyTicket - AND c.Id_Article IS NULL; - - IF vLinesNotToChange THEN - - INSERT INTO Tickets(Id_Cliente - , warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing) - SELECT Id_Cliente - , SILLA_PCA as warehouse_id - , Fecha - , Alias - , Id_Consigna - , Id_Trabajador - , Id_Ruta - , empresa_id - , Id_Agencia - , landing - FROM Tickets - WHERE Id_Ticket = vMyTicket; - - SELECT LAST_INSERT_ID() INTO vNewTicket; - - -- SELECT vMyTicket, vNewTicket; SET done = 1; - UPDATE Movimientos m - JOIN - ( - SELECT DISTINCT Id_Article - FROM Compres c - JOIN Entradas e on c.Id_Entrada = e.Id_Entrada - JOIN travel tr on tr.id = travel_id - WHERE landing between vStartingDate and vEndingDate - AND warehouse_id = 44 - AND Id_Proveedor = 850 - ) c on c.Id_Article = m.Id_Article - SET Id_Ticket = vNewTicket - WHERE Id_Ticket = vMyTicket; - - ELSE - - UPDATE Tickets - SET warehouse_id = 44 - WHERE Id_Ticket = vMyTicket; - - END IF; - - - FETCH rs INTO vMyTicket; - -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 `sql_query` */; -/*!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 `sql_query`(IN v_sql TEXT) -BEGIN - SET @v_sql = v_sql; - - PREPARE stmt FROM @v_sql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; -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 `subordinate` */; -/*!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 `subordinate`( IN idWORKER INTEGER,IN CasoBase BOOL) -BEGIN - DECLARE auxWorker INT; - DECLARE vCompanyId INT; - - SELECT empresa_id - INTO vCompanyId - FROM Trabajadores - WHERE Id_Trabajador = idWORKER; - - IF vCompanyId = 1381 THEN -- ORNAMENTALES - - DROP TABLE IF EXISTS subordinate; - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT Id_Trabajador,TRUE visited,0 boss - FROM Trabajadores - WHERE empresa_id = vCompanyId; - - ELSE - - - /* PAK 23/05/2016 - - Guardia de domingos - - Los domingos viene Fran a hacer de comercial y necesita ver todos los radares - - - - IF dayofweek(curdate()) = 1 and idWORKER = 43 then -- Domingo y Fran Natek - - DROP TABLE IF EXISTS subordinate; - - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT Id_Trabajador,TRUE visited,0 boss - FROM Trabajadores; - - - else - */ - - IF CasoBase THEN - SET @@max_sp_recursion_depth = 5 ; - DROP TABLE IF EXISTS subordinate; - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT idWORKER Id_Trabajador,TRUE visited,0 boss; - END IF; - - INSERT INTO subordinate - SELECT Id_Trabajador,0,idWORKER FROM Trabajadores WHERE boss = idWORKER; - IF (SELECT COUNT(*) FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1) > 0 THEN - SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; - REPEAT - CALL subordinate(auxWorker,FALSE); - UPDATE subordinate SET visited = TRUE WHERE Id_Trabajador = auxWorker; - SET auxWorker = 0; - SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; - UNTIL auxWorker = 0 - END REPEAT; - END IF; - - /* - end if; - */ - - END IF; - - IF idWorker = 2 THEN - INSERT INTO subordinate(Id_Trabajador,visited,boss) VALUES (2,TRUE,2); - -- INSERT INTO subordinate(Id_Trabajador,visited,boss) VALUES (43,TRUE,2); - END IF; - - /* - IF CasoBase THEN - SELECT * FROM subordinate; - 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 `subordinate2` */; -/*!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 `subordinate2`( IN idWORKER INTEGER,IN CasoBase BOOL) -BEGIN - DECLARE auxWorker INT; - DECLARE vCompanyId INT; - - SELECT empresa_id - INTO vCompanyId - FROM Trabajadores - WHERE Id_Trabajador = idWORKER; - - IF vCompanyId = 1381 THEN -- ORNAMENTALES - - DROP TABLE IF EXISTS subordinate; - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT Id_Trabajador,TRUE visited,0 boss - FROM Trabajadores - WHERE empresa_id = vCompanyId; - - ELSE - - - /* PAK 23/05/2016 - - Guardia de domingos - - Los domingos viene Fran a hacer de comercial y necesita ver todos los radares - - - - IF dayofweek(curdate()) = 1 and idWORKER = 43 then -- Domingo y Fran Natek - - DROP TABLE IF EXISTS subordinate; - - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT Id_Trabajador,TRUE visited,0 boss - FROM Trabajadores; - - - else - */ - - IF CasoBase THEN - SET @@max_sp_recursion_depth = 5 ; - DROP TABLE IF EXISTS subordinate; - CREATE TABLE subordinate - (INDEX (Id_Trabajador)) ENGINE = MEMORY - SELECT idWORKER Id_Trabajador,TRUE visited,0 boss; - END IF; - - INSERT INTO subordinate - SELECT Id_Trabajador,0,idWORKER FROM Trabajadores WHERE boss = idWORKER; - IF (SELECT COUNT(*) FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1) > 0 THEN - SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; - REPEAT - CALL subordinate(auxWorker,FALSE); - UPDATE subordinate SET visited = TRUE WHERE Id_Trabajador = auxWorker; - SET auxWorker = 0; - SELECT Id_Trabajador into auxWorker FROM subordinate WHERE visited = 0 AND idWORKER = boss LIMIT 1; - UNTIL auxWorker = 0 - END REPEAT; - END IF; - - /* - end if; - */ - - END IF; - - IF idWorker = 2 THEN - INSERT INTO subordinate(Id_Trabajador) VALUES (2); - END IF; - - /* - IF CasoBase THEN - SELECT * FROM subordinate; - 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 `suppliersDebt` */; -/*!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 `suppliersDebt`() -BEGIN - - SELECT abbreviation as Empresa, Proveedor, Euros, empresa_id, proveedor_id - FROM - ( - SELECT empresa_id, proveedor_id, cast(sum(Euros) AS DECIMAL(10,2)) as Euros - FROM - ( - SELECT empresa_id, proveedor_id, -1 * cantidad as Euros - FROM recibida_vencimiento rv - INNER JOIN recibida r ON r.id = rv.recibida_id - WHERE r.fecha > '2014-12-31' - - UNION ALL - - SELECT empresa_id, id_proveedor, importe - FROM pago - WHERE fecha > '2014-12-31' - ) sub - GROUP BY empresa_id, proveedor_id - ) sub2 - JOIN Proveedores p ON p.Id_Proveedor = sub2.proveedor_id - JOIN empresa e ON e.id = sub2.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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `supplierStatement` */; -/*!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 `supplierStatement`(vSupplierFk INT, vCurrencyFk INT, vCompanyFk INT, vOrderBy VARCHAR(15)) -BEGIN - SET @saldo_eur:= 0; - SET @saldo_div:= 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.supplierStatement; - - CREATE TEMPORARY TABLE tmp.supplierStatement ENGINE = MEMORY - SELECT - *, - @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, - @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div - FROM - (SELECT * FROM - (SELECT - NULL as banco_id, - r.empresa_id, - r.serie, - r.id, - CASE - WHEN vOrderBy = 'issued' THEN r.fecha - WHEN vOrderBy = 'bookEntried' THEN r.bookEntried - WHEN vOrderBy = 'booked' THEN r.dateBooking - WHEN vOrderBy = 'dueDate' THEN rv.fecha - END AS fecha, - CONCAT('S/Fra ', r.sref) sref, - if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, - CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, - CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, - NULL AS Pago_Euros, - NULL AS Pago_Divisas, - r.moneda_id, - r.contabilizada, - Moneda, - NULL as pago_sdc_id - FROM - recibida r - JOIN recibida_vencimiento rv on rv.recibida_id = r.id - JOIN Monedas m on m.Id_Moneda = r.moneda_id - WHERE - r.fecha > '2014-12-31' - AND r.proveedor_id = vSupplierFk - AND vCurrencyFk IN (r.moneda_id, 0) - AND vCompanyFk IN (r.empresa_id,0) - GROUP BY rv.id - - UNION ALL SELECT - p.id_banco, - p.empresa_id, - NULL, - p.id, - Fecha, - CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), - if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, - NULL, - NULL, - p.importe, - p.divisa, - p.id_moneda, - IFNULL(conciliado, 0), - Moneda, - pago_sdc_id - FROM - pago p - LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda - LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco - LEFT JOIN pay_met pm ON p.pay_met_id = pm.id - LEFT JOIN Pagares pre ON pre.pago_id = p.id - WHERE - Fecha > '2014-12-31' - AND p.Id_Proveedor = vSupplierFk - AND vCurrencyFk IN (p.id_moneda,0) - AND vCompanyFk IN (p.empresa_id,0) - ) AS SUB - ORDER BY fecha, IF(vOrderBy = 'dueDate', id, NULL)) t; -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 `tarjetas_credito_0` */; -/*!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 `tarjetas_credito_0`() -BEGIN - - DECLARE MyMaxID INT; - - SELECT MAX(id) FROM credit INTO MyMaxID; - - UPDATE Clientes - SET Credito = 0 - WHERE pay_met_id = 5 -- TARJETA - ; - - UPDATE credit - SET Id_Trabajador = 20 - WHERE id > MyMaxID; - -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 `tickets_in_a_week` */; -/*!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 `tickets_in_a_week`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWH INT(2)) -BEGIN - DECLARE period INT(6) DEFAULT intYEAR * 100 + intWEEK; - DECLARE datINI DATE; - DECLARE datFIN DATE; - - -- Seleccionamos la fecha minima/maxima del periodo que vamos a consultar - SELECT MIN(`date`) INTO datINI FROM vn2008.`time` t WHERE t.period = period; - SELECT TIMESTAMP(MAX(`date`),'23:59:59') INTO datFIN FROM vn2008.`time` t WHERE t.period = period; - - SELECT T.Fecha, - T.Id_Ticket, - M.Cantidad, - M.Id_Article, - T.Alias, - M.PrecioFijado, - M.Preu, - M.Id_Movimiento, - T.warehouse_id, - W.name, - ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, - M.Descuento - FROM Movimientos M - INNER JOIN Tickets T using(Id_Ticket) - LEFT JOIN warehouse W ON W.id = T.warehouse_id - WHERE M.Id_Article = idART AND T.Fecha BETWEEN datINI and datFIN - AND IF(intWH = 0, W.comisionantes, intWH =T.warehouse_id) - ORDER BY T.Fecha, T.Id_Ticket; -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 `tickets_in_a_week_by_type` */; -/*!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 `tickets_in_a_week_by_type`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWH INT(2)) -BEGIN - - DECLARE intTIPO INT; - DECLARE period INT(6) DEFAULT intYEAR * 100 + intWEEK; - DECLARE datINI DATE; - DECLARE datFIN DATE; - - SELECT tipo_id INTO intTIPO FROM Articles WHERE Id_Article = idART; - - -- Seleccionamos la fecha minima/maxima del periodo que vamos a consultar - SELECT MIN(`date`) INTO datINI FROM vn2008.`time` t WHERE t.period = period; - SELECT TIMESTAMP(MAX(`date`),'23:59:59') INTO datFIN FROM vn2008.`time` t WHERE t.period = period; - - SELECT T.Fecha, - T.Id_Ticket, - M.Cantidad, - M.Id_Article, - T.Alias, - M.PrecioFijado, - M.Preu, - M.Id_Movimiento, - T.warehouse_id, - W.name, - ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, - M.Descuento - FROM Movimientos M - JOIN Articles A using(Id_Article) - INNER JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket - LEFT JOIN warehouse W ON W.id = T.warehouse_id - WHERE A.tipo_id = intTIPO - AND T.Fecha between datINI and datFIN - AND IF(intWH = 0, W.comisionantes, intWH =T.warehouse_id) - ORDER BY T.Fecha, T.Id_Ticket; - -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 `tickets_week_joined` */; -/*!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 `tickets_week_joined`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWhJoined INT(2)) -BEGIN - - - DECLARE datSTART date; - DECLARE datEND date; - - - SET datSTART = TIMESTAMPADD(YEAR,intYEAR,'0000-01-01'); - SET datSTART = TIMESTAMPADD(WEEK, intWEEK-1,datSTART); - SET datSTART = TIMESTAMPADD(DAY,-1 * WEEKDAY(datSTART),datSTART); - - - --- Año 2014 -/* -IF datSTART = '2013-12-31' THEN - - SET datSTART = '2013-12-30' ; - -END IF; -*/ - - - SET datEND = TIMESTAMPADD(DAY,7,datSTART); - - - - SELECT T.Fecha, - T.Id_Ticket, - M.Cantidad, - M.Id_Article, - T.Alias, - M.PrecioFijado, - M.Preu, - M.Id_Movimiento, - T.warehouse_id, - wa.alias `name`, - ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, - M.Descuento - FROM Movimientos M - JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket - JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id - JOIN warehouse_alias wa ON wa.warehouse_alias_id = wj.warehouse_alias_id - WHERE M.Id_Article = idART - AND T.Fecha between datSTART and datEND - AND intWhJoined IN (0,wj.warehouse_alias_id) - ORDER BY T.Fecha, T.Id_Ticket; - -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 `tickets_week_type_joined` */; -/*!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 `tickets_week_type_joined`(IN intWEEK INT(2), IN intYEAR INT(4), IN idART INT(11), IN intWhJoined INT(2)) -BEGIN - - DECLARE intTIPO INT; - DECLARE datSTART date; - DECLARE datEND date; - - SELECT tipo_id INTO intTIPO FROM Articles WHERE Id_Article = idART; - - SET datSTART = TIMESTAMPADD(YEAR,intYEAR,'0000-01-01'); - SET datSTART = TIMESTAMPADD(WEEK, intWEEK-1,datSTART); - SET datSTART = TIMESTAMPADD(DAY,-1 * WEEKDAY(datSTART),datSTART); - - SET datEND = TIMESTAMPADD(DAY,7,datSTART); - - - - SELECT T.Fecha, - T.Id_Ticket, - M.Cantidad, - M.Id_Article, - T.Alias, - M.PrecioFijado, - M.Preu, - M.Id_Movimiento, - T.warehouse_id, - wa.alias `name`, - ticket_state(Factura, PedidoImpreso, Etiquetasemitidas, blocked) as Estado, - M.Descuento - FROM Movimientos M - JOIN Articles A using(Id_Article) - INNER JOIN Tickets T ON M.Id_Ticket = T.Id_Ticket - JOIN warehouse_joined wj ON wj.warehouse_id = T.warehouse_id - JOIN warehouse_alias wa ON wa.warehouse_alias_id = wj.warehouse_alias_id - WHERE A.tipo_id = intTIPO - AND T.Fecha between datSTART and datEND - AND intWhJoined IN (0,wj.warehouse_alias_id) - ORDER BY T.Fecha, T.Id_Ticket; - -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_canarias` */; -/*!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_canarias`(IN v_entrada BIGINT, IN v_ticket BIGINT) -BEGIN - - -set @w := 1; -set @tr := 0; -set @e := v_entrada; -set @t := v_ticket; - -select id, IF(warehouse_id_out = 13, @w, warehouse_id_out) into @tr, @w from travel join Entradas on id = travel_id where Id_Entrada = @e; - -update travel tr join Entradas e on tr.id = e.travel_id set warehouse_id_out = 13 where Id_Entrada = @e and warehouse_id_out <> 13; - -update Tickets set warehouse_id = @w where Id_Ticket = @t; - -REPLACE order_Tickets(order_id, Id_Ticket) VALUES(48,@t); - -delete mc.* from Movimientos_componentes mc join Movimientos m using(Id_Movimiento) where Id_Ticket = @t; - -insert into Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) -select Id_Movimiento, 28, nz(Costefijo) -from Movimientos m -join Compres c on Id_Entrada = @e and c.Id_Article = m.Id_Article -where Id_Ticket = @t -on DUPLICATE KEY UPDATE Valor = nz(Costefijo) ; - -insert into Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) -select Id_Movimiento, 29, Preu - nz(Costefijo) -from Movimientos m -join Compres c on Id_Entrada = @e and c.Id_Article = m.Id_Article -where Id_Ticket = @t -on DUPLICATE KEY UPDATE Valor = Preu - nz(Costefijo) ; - -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_componentes` */; -/*!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_componentes`(IN idTICKET BIGINT) -BEGIN - -SET @a:=0; - -SELECT IF(@a = Id_Movimiento, NULL, Concepte) as Concepte - ,IF(@a = Id_Movimiento, NULL, Cantidad) as Cantidad - ,IF(@a = Id_Movimiento, NULL, Id_Article) as Id_Article - , @a:= Id_Movimiento as IdM - , Id_Article as IdA - , Componente - , Valor - , Importe - , base - , margen -FROM -( -SELECT m.Id_Movimiento - , m.Concepte - , tc.Componente - , m.Cantidad - , mc.Valor - , round(m.Cantidad * mc.Valor,3) as Importe - , Id_Article - , base - , margen -FROM vn2008.Movimientos m -JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento) -INNER JOIN bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente -INNER JOIN bi.tarifa_componentes_series tcs using(tarifa_componentes_series_id) -WHERE m.Id_Ticket = idTICKET -ORDER BY Id_Movimiento -) sub; - - - - - - - -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_from_Entry` */; -/*!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_from_Entry`(IN IdEntrada INT(11), IN IdCliente INT(6), IN IdEmpresa INT(4), IN buying_quote DOUBLE, IN Ratio DOUBLE) -BEGIN - - DECLARE idTICKET INT(11); - - INSERT INTO Tickets(Id_Cliente, warehouse_id, Fecha, Alias, Id_Agencia, Id_Consigna, Id_Trabajador, empresa_id, Etiquetasemitidas, Localizacion) - SELECT IdCliente, 13, shipment, Consignatario, TR.agency_id, Id_Consigna, 20, IdEmpresa, TRUE, IdEntrada - FROM Entradas E - JOIN travel TR ON TR.id = E.travel_id - JOIN (SELECT Consignatario, Id_Consigna FROM Consignatarios WHERE Id_Cliente = IdCliente AND Predeterminada LIMIT 1) Consigna - WHERE Id_Entrada = IdEntrada; - -- JOIN Agencias AG ON AG.Id_Agencia = TR.agency_id - - SELECT LAST_INSERT_ID() INTO idTICKET; - - INSERT INTO Movimientos(Id_Ticket, Id_Article, Concepte, Cantidad, Preu, PrecioFijado) - SELECT idTICKET, Id_Article, Article, round(Cantidad * IF(Cantidad > round(1+ (1/buying_quote),0),buying_quote,1), 0), ROUND(Costefijo * Ratio,2), TRUE - FROM Compres c - JOIN Articles a using(Id_Article) - JOIN Tipos t on t.tipo_id = a.tipo_id - JOIN reinos r on r.id = t.reino_id - WHERE Id_Entrada = idEntrada - AND r.display <> 0 - AND Cantidad * buying_quote > 1; - - SELECT idTICKET; - -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_from_Entry_cursor` */; -/*!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 `Ticket_from_Entry_cursor`(IN IdEmpresa INt(4), IN IdCliente INT(5), IN buying_quote DOUBLE, IN Ratio DOUBLE) -BEGIN - -DECLARE done BIT DEFAULT 0; -DECLARE IdEntrada INT(10); - --- Declaro el cursor para las entradas -DECLARE cursor_entradas CURSOR FOR -SELECT Id_Entrada -FROM Entradas E -JOIN travel TR ON TR.id = E.travel_id -WHERE shipment BETWEEN '2013-04-01' AND '2013-04-30' -AND warehouse_id = 17 -and warehouse_id_out = 1; - - - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -OPEN cursor_entradas; - -REPEAT - - FETCH cursor_entradas INTO IdEntrada; - - CALL Ticket_from_Entry(IdEntrada, IdCliente, IdEmpresa, buying_quote, Ratio); - - -UNTIL done END REPEAT; - -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_iva` */; -/*!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_iva`(vBillingDate DATE) - READS SQL DATA -BEGIN -/** - * Calcula la base imponible, el IVA y el recargo de equivalencia para - * un conjunto de tickets. - * - * @deprecated Use procedure vn.ticketGetTax() instead - * - * @table ticket_tmp(ticket_id) Tabla con el listado de tickets - * @param billing_date Fecha de facturación - * @treturn ticket_iva - */ - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticket_id ticketFk FROM ticket_tmp; - - CALL vn.ticketGetTax (vBillingDate); - - CREATE TEMPORARY TABLE ticket_iva - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT ticketFk ticket_id, type tipo, taxBase bi, tax iva, equalizationTax re - FROM tmp.ticketTax; - - DROP TEMPORARY TABLE - tmp.ticketTax, - tmp.ticket; -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_locatorbetaKk` */; -/*!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_locatorbetaKk`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) -BEGIN - DECLARE DATEFEC DATE DEFAULT CURDATE(); - DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); - DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); - DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); - - DROP TEMPORARY TABLE IF EXISTS `Locator`; - --- usar ticket_total crear ticket_tmp(ticket_id) - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - CREATE TEMPORARY TABLE `ticket_tmp` - ENGINE = MEMORY - SELECT Id_Ticket ticket_id FROM Tickets t - WHERE t.Factura IS NULL - AND t.Fecha BETWEEN v_date_start AND v_date_future; - - CALL ticket_total(); - /* - DROP TEMPORARY TABLE IF EXISTS ticket_total2; - CREATE TEMPORARY TABLE `ticket_total2` - ENGINE = MEMORY - SELECT t.* FROM ticket_total t - LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id - LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket - LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id - LEFT JOIN state s ON s.id = i.state_id - LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id - LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - -- para pte recogida - LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id - LEFT JOIN warehouse w ON w.id = wh_ - LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ - - WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) - AND IFNULL(aw.Vista,a.Vista) > 0 - AND ((t1.Anotadoencaja = FALSE - AND t1.Etiquetasemitidas = FALSE - AND e.ticket_id IS NULL - AND t1.warehouse_id = wh_ - AND IFNULL(s.order,0) < 2) - OR (ts.state_name = 'Pte Recogida' - AND wp.warehouse_id IS NOT NULL)); - */ - SELECT t.* FROM ticket_total t - LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id - LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket - LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id - LEFT JOIN state s ON s.id = i.state_id - LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id - LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - -- para pte recogida - LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id - LEFT JOIN warehouse w ON w.id = wh_ - LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ - - WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) - AND IFNULL(aw.Vista,a.Vista) > 0 - AND ((t1.Anotadoencaja = FALSE - AND t1.Etiquetasemitidas = FALSE - AND e.ticket_id IS NULL)); - /* AND t1.warehouse_id = wh_ - AND IFNULL(s.order,0) < 2) - OR (ts.state_name = 'Pte Recogida' - AND wp.warehouse_id IS NOT NULL))*/ - /* - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - SELECT Id_Cliente, SUM(amount) risk - FROM Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM Recibos - WHERE Fechacobro > v_date_end - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, SUM(total) - FROM ticket_total tt - JOIN Tickets t ON tt.ticket_id = t.Id_Ticket - WHERE t.Fecha <= v_date_end - GROUP BY t.Id_Cliente - UNION ALL - SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - CREATE TEMPORARY TABLE `Locator` - ENGINE = MEMORY - SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,IFNULL(state_name,'libre') AS Estado, - Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad,UCASE(LEFT(w_out.`name`,5)) w_out - FROM Clientes C - INNER JOIN - ( - SELECT - t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, - NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, - t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, - t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, - t.empresa_id, t.Id_Agencia, - CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , - SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, - tt.total AS Importe, - IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, - 0 AS inacabable, - CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone - - FROM Tickets t - JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket - INNER JOIN Consignatarios CS USING(Id_Consigna) - LEFT JOIN province p USING(province_id) - LEFT JOIN Movimientos USING(Id_Ticket) - LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article - LEFT JOIN Tipos using(tipo_id) - LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - - GROUP BY t.Id_Ticket - ) T USING(Id_Cliente) - LEFT JOIN Tickets_state ts ON ts.Id_Ticket = T.Id_Ticket - LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador - LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) - JOIN warehouse w_out on w_out.id = T.warehouse_id - LEFT JOIN - ( - SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges - GROUP BY Id_Cliente - ) AS Agravios USING(Id_Cliente); - - - ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); - - UPDATE `Locator` JOIN - ( - SELECT d.Id_Ticket from Tickets_dits d - JOIN Tickets t using(Id_Ticket) - LEFT JOIN Agencias a using(Id_Agencia) - LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket - WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') - AND idaccion_dits = 18 AND ticket_id is null - AND t.warehouse_id = 1 - AND NOT Etiquetasemitidas - AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) - AND Vista in (1,2)) sub using(Id_Ticket) - SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); - - - -- ENTRADAS - INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) - SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, - v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 - FROM v_compres - INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id - WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False - AND v_compres.shipment >= date_; - - - -*/ - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - DROP TEMPORARY TABLE IF EXISTS ticket_total; - DROP TEMPORARY TABLE IF EXISTS ticket_total2; - DROP TEMPORARY TABLE IF EXISTS tmp.risk; -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_locatorkk` */; -/*!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_locatorkk`(date_ DATETIME, IN wh_ INT, IN days TINYINT) -BEGIN - DECLARE DATEFEC DATE DEFAULT CURDATE(); - DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); - DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); - DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); - - DROP TEMPORARY TABLE IF EXISTS `Locator`; - --- usar ticket_total crear ticket_tmp(ticket_id) - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - CREATE TEMPORARY TABLE `ticket_tmp` - ENGINE = MEMORY - SELECT Id_Ticket ticket_id FROM Tickets t - WHERE t.Factura IS NULL - AND t.Fecha BETWEEN v_date_start AND v_date_future; - - CALL ticket_total(); - - DROP TEMPORARY TABLE IF EXISTS ticket_total2; - CREATE TEMPORARY TABLE `ticket_total2` - ENGINE = MEMORY - SELECT t.*,s.`order` state_order - FROM ticket_total t - LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id - LEFT JOIN Tickets_state ts ON ts.Id_Ticket = t1.Id_Ticket - LEFT JOIN vncontrol.inter i ON ts.inter_id = i.inter_id - LEFT JOIN state s ON s.id = i.state_id - LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id - LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - -- para pte recogida - LEFT JOIN warehouse w_out on w_out.id = t1.warehouse_id - LEFT JOIN warehouse w ON w.id = wh_ - LEFT JOIN warehouse_pickup wp on wp.agency_id = t1.Id_Agencia and wp.warehouse_id = wh_ - - WHERE /*t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) - AND */IFNULL(aw.Vista,a.Vista) > 0 - AND ((t1.Anotadoencaja = FALSE - AND t1.Etiquetasemitidas = FALSE - AND e.ticket_id IS NULL - AND t1.warehouse_id = wh_ - AND IFNULL(s.alert_level,0) <= 3 - ) - OR (ts.state_name = 'Pte Recogida' - AND wp.warehouse_id IS NOT NULL)); - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - SELECT Id_Cliente, SUM(amount) risk - FROM Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM Recibos - WHERE Fechacobro > v_date_end - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, SUM(total) - FROM ticket_total tt - JOIN Tickets t ON tt.ticket_id = t.Id_Ticket - WHERE t.Fecha <= v_date_end - GROUP BY t.Id_Cliente - UNION ALL - SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - CREATE TEMPORARY TABLE `Locator` - ENGINE = MEMORY - SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,IFNULL(state_name,'libre') AS Estado, - Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad,UCASE(LEFT(w_out.`name`,5)) w_out - FROM Clientes C - INNER JOIN - ( - SELECT - t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, - NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, - t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, - t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, - t.empresa_id, t.Id_Agencia, - CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , - SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, - tt.total AS Importe, - IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, - 0 AS inacabable,state_order, - CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone - - FROM Tickets t - JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket - INNER JOIN Consignatarios CS USING(Id_Consigna) - LEFT JOIN province p USING(province_id) - LEFT JOIN Movimientos USING(Id_Ticket) - LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article - LEFT JOIN Tipos using(tipo_id) - LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - - GROUP BY t.Id_Ticket - ) T USING(Id_Cliente) - LEFT JOIN Tickets_state ts ON ts.Id_Ticket = T.Id_Ticket - LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador - LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) - JOIN warehouse w_out on w_out.id = T.warehouse_id - LEFT JOIN - ( - SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges - GROUP BY Id_Cliente - ) AS Agravios USING(Id_Cliente); - - - ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); - - UPDATE `Locator` JOIN - ( - SELECT d.Id_Ticket from Tickets_dits d - JOIN Tickets t using(Id_Ticket) - LEFT JOIN Agencias a using(Id_Agencia) - LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket - WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') - AND idaccion_dits = 18 AND ticket_id is null - AND t.warehouse_id = 1 - AND NOT Etiquetasemitidas - AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) - AND Vista in (1,2)) sub using(Id_Ticket) - SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); - - - -- CODIGO 100 - UPDATE `Locator` - JOIN Movimientos using(Id_Ticket) - SET Observaciones = 'CODIGO 100' - WHERE Id_Article = 100; - - - -- ENTRADAS - INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) - SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, - v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 - FROM v_compres - INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id - WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False - AND v_compres.shipment >= date_; - - - - - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - DROP TEMPORARY TABLE IF EXISTS ticket_total; - DROP TEMPORARY TABLE IF EXISTS ticket_total2; - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - - - -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_locator_experimentalKk` */; -/*!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_locator_experimentalKk`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) -BEGIN - DECLARE DATEFEC DATE DEFAULT CURDATE(); - DECLARE v_date_start DATETIME DEFAULT TIMESTAMPADD(MONTH, -2, CURDATE()); - DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(DATEFEC,'23:59:59'); - DECLARE v_date_future DATETIME DEFAULT TIMESTAMPADD(DAY,days,v_date_end); - DECLARE timeSTART DATETIME DEFAULT NOW(); - - SELECT timeSTART, 'ARRANCA'; - - DROP TEMPORARY TABLE IF EXISTS `Locator`; -/* --- usar ticket_total crear ticket_tmp(ticket_id) - DROP TEMPORARY TABLE IF EXISTS ticket_tmp; - CREATE TEMPORARY TABLE `ticket_tmp` - (INDEX idx USING HASH (ticket_id)) - ENGINE = MEMORY - SELECT Id_Ticket ticket_id FROM Tickets t - WHERE t.Factura IS NULL - AND t.Fecha BETWEEN v_date_start AND v_date_future; - - CALL ticket_total(); - */ - DROP TEMPORARY TABLE IF EXISTS ticket_total; - - CREATE TEMPORARY TABLE ticket_total - (INDEX idx USING HASH (ticket_id)) - ENGINE = MEMORY - SELECT m.Id_Ticket as ticket_id, red(SUM(Cantidad * Preu * (100 - Descuento)/100)) AS total - FROM Movimientos m - JOIN Tickets t using(Id_Ticket) - WHERE t.Factura IS NULL - AND t.Fecha BETWEEN v_date_start AND v_date_future - GROUP BY ticket_id; - - - - SELECT TIMEDIFF(NOW(), timeSTART), 'TICKET_TOTAL'; - - DROP TEMPORARY TABLE IF EXISTS ticket_total2; - CREATE TEMPORARY TABLE `ticket_total2` - ENGINE = MEMORY - SELECT t.* FROM ticket_total t - LEFT JOIN Tickets t1 ON t1.Id_Ticket = t.ticket_id - LEFT JOIN expeditions e ON e.ticket_id = t.ticket_id - LEFT JOIN Agencias a ON a.Id_Agencia = t1.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - WHERE t1.Fecha BETWEEN TIMESTAMPADD(DAY,-5,DATE(date_)) AND TIMESTAMPADD(DAY,days,DATE(date_)) - AND t1.Anotadoencaja = FALSE - AND t1.Etiquetasemitidas = FALSE - AND e.ticket_id IS NULL - AND IFNULL(aw.Vista,a.Vista) > 0 - AND t1.warehouse_id = wh_; - - SELECT TIMEDIFF(NOW(), timeSTART), 'TICKET_TOTAL2'; - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - SELECT Id_Cliente, SUM(amount) risk - FROM Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM Recibos - WHERE Fechacobro > v_date_end - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, SUM(total) - FROM ticket_total tt - JOIN Tickets t ON tt.ticket_id = t.Id_Ticket - WHERE t.Fecha <= v_date_end - GROUP BY t.Id_Cliente - UNION ALL - SELECT t.clientFk, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - SELECT TIMEDIFF(NOW(), timeSTART), 'RISK'; - - - CREATE TEMPORARY TABLE `Locator` - ENGINE = MEMORY - SELECT Congelado, Credito, risk Riesgo, Greuge, T.*,ticket_state(T.factura_id, T.PedidoImpreso, T.Etiquetasemitidas, T.Blocked) AS Estado, - Codigotrabajador, DATE(T.Fecha) AS Fecha_Simple, Averiguar_ComercialCliente_IdTicket(T.Id_Ticket) AS Comercial,C.calidad - FROM Clientes C - INNER JOIN - ( - SELECT - t.Id_Ticket, t.Id_Cliente, t.warehouse_id, t.Fecha, t.Alias, - NULL Notas, t.Factura, t.factura_id, t.Anotadoencaja, t.Id_Consigna, t.Id_Trabajador, - t.Observaciones, t.Firmado, t.Etiquetasemitidas, t.PedidoImpreso, t.Bultos, t.Localizacion, - t.Hora, t.odbc_date, t.blocked, t.Solucion, t.Id_Ruta, t.Prioridad, t.priority, - t.empresa_id, t.Id_Agencia, - CS.Consignatario, IFNULL(aw.Vista,a.Vista) Vista,a.Agencia, DATEFEC AS Hora_MAX , - SUM(IF(Movimientos.OK = 0, 1, 0)) AS `lines`, - tt.total AS Importe, - IF(reino_id IN (5, 1), 0,tt.total) AS Plantas, - 0 AS inacabable, - CS.CODPOSTAL, CS.POBLACION, p.name PROVINCIA, a.Vista VistaTicket,p.zone - - FROM Tickets t - JOIN ticket_total2 tt ON tt.ticket_id = t.Id_Ticket - INNER JOIN Consignatarios CS USING(Id_Consigna) - LEFT JOIN province p USING(province_id) - LEFT JOIN Movimientos USING(Id_Ticket) - LEFT JOIN Articles on Movimientos.Id_Article = Articles.Id_Article - LEFT JOIN Tipos using(tipo_id) - LEFT JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN agency ag ON ag.agency_id = a.agency_id - LEFT JOIN agency_warehouse aw ON aw.agency_id = a.agency_id AND aw.warehouse_id = wh_ - GROUP BY t.Id_Ticket - ) T USING(Id_Cliente) - LEFT JOIN Trabajadores Tb ON Tb.Id_Trabajador = T.Id_Trabajador - LEFT JOIN tmp.risk as Peligros USING(Id_Cliente) - LEFT JOIN - ( - SELECT Id_Cliente, SUM(Importe) AS Greuge FROM Greuges - GROUP BY Id_Cliente - ) AS Agravios USING(Id_Cliente); - - SELECT TIMEDIFF(NOW(), timeSTART), 'LOCATOR'; -ALTER TABLE `Locator` ADD PRIMARY KEY(Id_Ticket); - - SELECT TIMEDIFF(NOW(), timeSTART), 'LOCATOR INDEX'; - -UPDATE `Locator` JOIN -( -SELECT d.Id_Ticket from Tickets_dits d -JOIN Tickets t using(Id_Ticket) -LEFT JOIN Agencias a using(Id_Agencia) -LEFT JOIN expeditions e on e.ticket_id = d.Id_Ticket -WHERE Fecha BETWEEN CURDATE() AND TIMESTAMP(curdate(),'23:59:59') -AND idaccion_dits = 18 AND ticket_id is null -AND t.warehouse_id = 1 -AND NOT Etiquetasemitidas -AND d.ODBC_DATE < TIMESTAMPADD(HOUR,-2, now()) -AND Vista in (1,2)) sub using(Id_Ticket) -SET Observaciones = CONCAT('F5 PERDIDO ',IFNULL(Observaciones,'')); - - SELECT TIMEDIFF(NOW(), timeSTART), 'UPDATE'; - --- ENTRADAS -INSERT INTO `Locator`(Fecha_Simple, Id_Ticket, Agencia, Id_Cliente, Alias, PedidoImpreso, CodigoTrabajador, Fecha, Estado, Consignatario, Vista, PROVINCIA,Riesgo) -SELECT DISTINCT v_compres.shipment AS Fecha_Simple, v_compres.Id_Entrada AS Id_Ticket, warehouse.name, v_compres.Id_Proveedor, -v_compres.ref AS Alias, v_compres.Pedida AS PedidoImpreso, v_compres.Id_Trabajador AS CodigoTrabajador, v_compres.shipment AS Fecha, 0 AS problem, v_compres.ref AS Consignatario, 1, 'TRASLADO',0 -FROM v_compres -INNER JOIN warehouse ON v_compres.warehouse_id = warehouse.id -WHERE warehouse_id_out = wh_ AND v_compres.Confirmada = False -AND v_compres.shipment >= date_; - - SELECT TIMEDIFF(NOW(), timeSTART), 'ENTRADAS'; --- TICKET PTE RECOGIDA -INSERT INTO `Locator`(Fecha_Simple - , Id_Ticket - , Agencia - , Id_Cliente - , Alias - , PedidoImpreso - , CodigoTrabajador - , Fecha - , Estado - , Consignatario - , Vista - , PROVINCIA - , Riesgo - , Comercial - ,calidad - ,Bultos) - -SELECT date(t.Fecha) - , t.Id_Ticket - , a.Agencia - , t.Id_Cliente - , t.Alias - , t.PedidoImpreso - , UCASE(LEFT(w_out.name,5)) as CodigoTrabajador -- es el almacen de origen - , t.Fecha - , 0 as Estado - , t.Alias - ,3 - , w.name - , NULL - ,Averiguar_ComercialCliente_IdTicket(t.Id_Ticket) AS Comercial - ,c.calidad - ,t.Bultos -FROM Tickets t -JOIN Clientes c using(Id_Cliente) -JOIN warehouse w_out on w_out.id = t.warehouse_id -JOIN warehouse w ON w.id = wh_ -JOIN Agencias a using(Id_Agencia) -JOIN warehouse_pickup wp on wp.agency_id = t.Id_Agencia and wp.warehouse_id = wh_ -JOIN - (select Id_Ticket, state_id from - ( - select Id_Ticket, odbc_date, state_id - from vncontrol.inter - where odbc_date >= timestampadd(day,-3,curdate()) - order by odbc_date desc, state_id desc - ) sub - group by Id_Ticket - having state_id = 15 -- Pendiente de entrega - ) sub2 using(Id_Ticket); - - SELECT TIMEDIFF(NOW(), timeSTART), 'PTE RECOGIDA'; - -DROP TEMPORARY TABLE IF EXISTS ticket_tmp; -DROP TEMPORARY TABLE IF EXISTS ticket_total; -DROP TEMPORARY TABLE IF EXISTS ticket_total2; -DROP TEMPORARY TABLE IF EXISTS tmp.risk; -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_new` */; -/*!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_new`( - IN idC INT - , IN newFEC DATE - , IN idWH INT - , IN idUSER INT - , IN idEMP INT - , IN idCON INT - , IN intTIPO INT - , IN idRUTA INT - , IN datLANDING DATE - , OUT newTICKET INT) -BEGIN --- DEPRECATED usar ticketCreate - DECLARE boolaux TINYINT; - - SET boolaux = If(IdC = 200 Or IdC = 400 Or intTIPO = 23, True, False); - - INSERT INTO Tickets ( - Id_Cliente, - Fecha, - Id_Consigna, - Id_Trabajador, - Id_Agencia, - Alias, - Etiquetasemitidas, - Firmado, - warehouse_id, - Id_Ruta, - empresa_id, - landing) - SELECT - IdC, - newFEC, - Id_Consigna, - idUSER, - IF(intTIPO,intTIPO,Id_Agencia), - consignatario, - boolaux, - boolaux, - idWH, - IF(idRUTA,idRuta,NULL), - idEMP, - datLANDING - FROM Consignatarios c - INNER JOIN Agencias a USING(Id_Agencia) - WHERE IF(IdCON, Id_Consigna = IdCON, Predeterminada != 0) - AND Id_Cliente = idC - LIMIT 1; - - SELECT LAST_INSERT_ID() INTO newTICKET; - -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_new_complet` */; -/*!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_new_complet`( - IN idC INT - , IN newFEC DATE - , IN idWH INT - , IN idUSER INT - , IN idEMP INT - , IN idCON INT - , IN intTIPO INT - , IN idRUTA INT - , OUT newTICKET INT) -BEGIN --- DEPRECATED usar ticketCreate - DECLARE boolaux TINYINT; - - - SET boolaux = If(IdC = 200 Or IdC = 400 Or intTIPO = 23, True, False); - - INSERT INTO Tickets ( - Id_Cliente, - Fecha, - Id_Consigna, - Id_Trabajador, - Id_Agencia, - Alias, - Etiquetasemitidas, - Firmado, - warehouse_id, - Id_Ruta, - empresa_id) - SELECT - IdC, - newFEC, - Id_Consigna, - idUSER, - IF(intTIPO,intTIPO,Id_Agencia), - consignatario, - boolaux, - boolaux, - idWH, - IF(idRUTA,idRuta,NULL), - idEMP - FROM Consignatarios c - INNER JOIN Agencias a USING(Id_Agencia) - WHERE IF(IdCON, Id_Consigna = IdCON, Predeterminada != 0) - AND Id_Cliente = idC - LIMIT 1; - - SELECT LAST_INSERT_ID() INTO newTICKET; - -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_portes_cobrados` */; -/*!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 `ticket_portes_cobrados`(IN idTICKET BIGINT) -BEGIN - -SELECT m.Id_Article, m.Concepte, m.Cantidad, mc.Valor, round(m.Cantidad * mc.Valor,2) as Porte -FROM vn2008.Movimientos m -JOIN vn2008.Movimientos_componentes mc using(Id_Movimiento) -INNER JOIN bi.tarifa_componentes tc ON mc.Id_Componente = tc.Id_Componente -WHERE m.Id_Ticket = idTICKET -AND tc.tarifa_componentes_series_id = 6; -- agencia - - - - - -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_portes_estimados` */; -/*!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_portes_estimados`(IN vTicketId BIGINT) -BEGIN - -SELECT - TICKET_FREIGHT(vTicketId) AS Porte_Volumen, - SUM(CAST(es.shipping_charge AS DECIMAL (10 , 2 ))) AS Porte_Bultos, - IFNULL(is_volumetric,0) AS is_volumetric -FROM - vn2008.v_expeditions_shipping_charge2 es -JOIN - vn2008.Tickets t on es.Id_Ticket = t.Id_Ticket -LEFT JOIN - vn2008.Rutas r on r.Id_Ruta = t.Id_Ruta -LEFT JOIN - vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia -WHERE - es.Id_Ticket = vTicketId; -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_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`@`%` PROCEDURE `ticket_total`() -BEGIN -/** - * Calcula el total con IVA de un conjunto de tickets. - * - * @deprecated Use procedure vn.ticketGetTotal() instead - * - * @table ticket_tmp(ticket_id) Tabla con el listado de tickets - * @return table ticket_total - */ - CALL ticket_iva (NULL); - - DROP TEMPORARY TABLE IF EXISTS ticket_total; - CREATE TEMPORARY TABLE ticket_total - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id, red(SUM(bi + iva + re)) AS total - FROM ticket_iva GROUP BY ticket_id; - - DROP TEMPORARY TABLE ticket_iva; -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_volumen` */; -/*!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_volumen`(IN idT INT) -BEGIN - DECLARE intWh INTEGER; - DECLARE datFecha DATE; - - DROP TEMPORARY TABLE IF EXISTS ticket_volumen; - SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; - - CREATE TEMPORARY TABLE IF NOT EXISTS ticket_volumen ENGINE MEMORY - SELECT Id_Article,Cantidad, Concepte, VolUd as m3_uni, Volumen as m3, @m3:= @m3 + ifnull(Volumen,0) as m3_total - FROM - ( - SELECT round(r.cm3 / 1000000,3) as VolUd ,M.Cantidad, round(r.cm3 * M.Cantidad / 1000000,3) as Volumen, - M.Id_Article, Concepte, @m3:= 0, @vol:=0, Id_Agencia - FROM Movimientos M - JOIN Tickets T on T.Id_Ticket = M.Id_Ticket - JOIN bi.rotacion r ON r.Id_Article = M.Id_Article AND r.warehouse_id = T.warehouse_id - WHERE M.Id_Ticket = idT - ) sub; - -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 `top_seller` */; -/*!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 `top_seller`() -BEGIN - - drop table if exists top_sellers_min; - create temporary table top_sellers_min ENGINE = MEMORY - select a.Id_Article , tip.reino_id as Reino, count(m.Id_Article) as contados - from Movimientos m - inner join Tickets t - on m.Id_Ticket = t.Id_Ticket - inner join Articles a - on a.Id_Article = m.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tip.reino_id - where t.Fecha between timestampadd(day,-7,curdate()) and curdate() - group by m.Id_Article; - - drop table if exists top_seller; - create temporary table top_seller ENGINE = MEMORY - select a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 1 - order by contados desc - limit 5; - - insert into top_seller - select - a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 2 - order by contados desc - limit 5; - - insert into top_seller - select - a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 3 - order by contados desc - limit 5; - - insert into top_seller - select - a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 4 - order by contados desc - limit 5; - - insert into top_seller - select - a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 5 - order by contados desc - limit 5; - - insert into top_seller - select - a.Article, tmp.Id_Article , a.Foto as foto, a.tipo_id as Id_Tipo, - tmp.Reino, r.reino as ReinoNombre, tip.Tipo as Tipo, tmp.contados - from top_sellers_min tmp - inner join Articles a - on a.Id_Article = tmp.Id_Article - inner join Tipos tip - on a.tipo_id = tip.tipo_id - inner join reinos r - on r.id = tmp.Reino - where tmp.Reino = 7 - order by contados desc - limit 5; - - drop table if exists top_sellers_min; - -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 `Trabuque` */; -/*!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 `Trabuque`(IN intIDTICKET BIGINT, IN dblINCREMENTO DOUBLE ) -BEGIN - - - -#Vamos a calcular el porcentaje a incrementar las cantidades de las lineas de movimiento para inflar / desinflar la base final - -DECLARE dblBASE_INICIAL DOUBLE DEFAULT 0; -DECLARE dblBASE_FINAL DOUBLE DEFAULT 0; -DECLARE dblAUMENTO DOUBLE DEFAULT 1; - - -SELECT SUM(Cantidad * Preu * (100 - Descuento) / 100) -INTO dblBASE_INICIAL -FROM Movimientos -WHERE Id_Ticket = intIDTICKET; - -SET dblBASE_FINAL = dblBASE_INICIAL; - - -#Eliminamos lineas a 0 - -DELETE FROM Movimientos WHERE Cantidad = 0 AND Id_Ticket = intIDTICKET; - -# Vamos a ir probando incrementos paulatinos hasta que encontremos el que supera lo pedido, teniendo en cuenta el sentido del incremento - -IF dblINCREMENTO < 0 THEN - - - - WHILE (dblBASE_FINAL > dblBASE_INICIAL + dblINCREMENTO) or (dblAUMENTO < 0 ) DO - - SET dblAUMENTO = dblAUMENTO - 0.01; - - SELECT SUM(IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) * Preu * (100 - Descuento) / 100) - INTO dblBASE_FINAL - FROM Movimientos - WHERE Id_Ticket = intIDTICKET; - - END WHILE; - -ELSE - - WHILE dblBASE_FINAL < dblBASE_INICIAL + dblINCREMENTO DO - - SET dblAUMENTO = dblAUMENTO + 0.01; - - SELECT SUM(IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) * Preu * (100 - Descuento) / 100) - INTO dblBASE_FINAL - FROM Movimientos - WHERE Id_Ticket = intIDTICKET; - - END WHILE; - -END IF; - -UPDATE Movimientos -SET Cantidad = IF(@cantidad:= ROUND(dblAUMENTO * Cantidad),@cantidad,1) -WHERE Id_Ticket = intIDTICKET; - -SELECT tipoiva - , ROUND(SUM(Cantidad * Preu * (100 - Descuento) / 100),2) as Base - , ROUND(ROUND(SUM(Cantidad * Preu * (100 - Descuento) / 100),2) * iva / 100,2) as Cuota -FROM Movimientos M -INNER JOIN Articles A USING(Id_Article) -INNER JOIN tblIVA USING(tipoiva) -WHERE Id_Ticket = intIDTICKET -GROUP BY tipoiva; - -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 `traslado` */; -/*!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 `traslado`(IN i_entrada INTEGER) -BEGIN - DECLARE dateShipment DATE; - DECLARE dateLanding DATE; - DECLARE warehouseShipment INTEGER; - DECLARE warehouseLanding INTEGER; - DECLARE v_calc_available INTEGER; - DECLARE v_calc_visible INTEGER; - - SELECT shipment, landing, warehouse_id_out, warehouse_id - INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding - FROM travel t JOIN Entradas e ON t.id = e.travel_id - WHERE Id_Entrada = i_entrada; - - CALL buy_tarifas_table(i_entrada); - - -- Traslado en almacen origen - - DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; - - CREATE TEMPORARY TABLE buy_edi_temp - (KEY (Id_Article)) ENGINE = MEMORY - - SELECT * - FROM (SELECT c.Id_Article, c.Id_Compra - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv() AND dateShipment - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 - ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t - GROUP BY Id_Article; - - IF dateShipment >= CURDATE() THEN - - CALL availableTraslate(warehouseShipment, dateShipment,NULL); - CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY - SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; - INSERT INTO tmp_item(item_id, available) - SELECT a.item_id, a.available FROM availableTraslate a - ON DUPLICATE KEY UPDATE available = a.available; - ELSE - CALL item_stock(warehouseShipment, dateShipment,NULL); - END IF; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - CREATE TEMPORARY TABLE Traslados ENGINE MEMORY - SELECT tp.Id_Tipo AS Tipo, - - tp.reino_id, - - ar.tipo_id, - - ar.Id_Article AS article_id, - - ar.Article, - - ar.Medida, - - ar.Categoria, - - ar.Color, - - Origen.abreviatura as Origen, - - CE.Cantidad, - - ar.Tallos, - - CAST(AIM.visible AS DECIMAL(10,0)) as vis1, - - CAST(AIM.available AS DECIMAL(10,0)) as dis1, - - 0 as vis2, - - 0 as dis2, - - IFNULL(CE.grouping,C.grouping) as grouping, - - IFNULL(CE.Packing,C.Packing) as Packing, - - IFNULL(CE.caja,C.caja) as caja, - - IFNULL(C.Productor, P2.Alias) AS Productor, - - C.Id_Cubo, - - 1 Tinta, - - CE.Id_Compra, - - CE.Etiquetas, - - C.buy_edi_id, - - tp.Id_Trabajador, - - CB.Volumen, - - CB.x, CB.y, CB.z, - - IFNULL(C.Costefijo,0) Costefijo, - - IFNULL(C.Comisionfija,0) Comisionfija, - - IFNULL(C.Portefijo,0) Portefijo, - - A.m3, - - E.comision, - - CB.Retornable, - - IFNULL(CEB.Valor,CB.Valor) Valor, - - t3, t2, tp.promo, - - C.grouping groupingOrigin, - - C.Packing PackingOrigin, - - C.Id_Compra CompraOrigin, - - CB.costeRetorno - - FROM Articles ar - LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article - LEFT JOIN Tipos tp ON tp.tipo_id = ar.tipo_id - LEFT JOIN Origen ON Origen.id = ar.id_origen - LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article - LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra - LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo - LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada - LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor - LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada - LEFT JOIN travel TR ON TR.id = E.travel_id - LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id - LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada - LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo - LEFT JOIN tblTARIFAS ON TRUE - WHERE tp.reino_id <> 6 AND tp.reino_id <> 8 - AND E.Redada = FALSE; - - CREATE INDEX tindex USING HASH ON Traslados (article_id); - --- Inventario en el warehouse destino - IF dateShipment >= CURDATE() THEN - - CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); - CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); - - UPDATE Traslados t - LEFT JOIN availableTraslate a ON t.article_id = a.item_id - LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id - SET vis2 = v.visible, dis2 = a.available; - - END IF; --- --------------------------------------------- - - SELECT t.*, - - Cantidad - MOD(Cantidad , grouping) as Subcantidad, - - MOD(Cantidad , grouping) as Soll, - - ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing,0) as cm3, - - Costefijo + Comisionfija + Portefijo AS Cost, - - @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, - - @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, - - ROUND(@embalaje := (costeRetorno + IF(Retornable != 0, 0, Valor)) / packing ,3) AS Embalaje, - - @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, - - @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, - - ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, - - 0 selected - - FROM Traslados t - WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 - ORDER BY tipo_id, Article, Medida, Categoria, Origen; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - DROP TEMPORARY TABLE IF EXISTS 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `trasladoBeta` */; -/*!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 `trasladoBeta`(IN i_entrada INTEGER) -BEGIN - DECLARE dateShipment DATE; - DECLARE dateLanding DATE; - DECLARE warehouseShipment INTEGER; - DECLARE warehouseLanding INTEGER; - DECLARE v_calc_available INTEGER; - DECLARE v_calc_visible INTEGER; - - SELECT shipment, landing, warehouse_id_out, warehouse_id - INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding - FROM travel t JOIN Entradas e ON t.id = e.travel_id - WHERE Id_Entrada = i_entrada; - - CALL buy_tarifas_table(i_entrada); - - -- Traslado en almacen origen - - DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; - - CREATE TEMPORARY TABLE buy_edi_temp - (KEY (Id_Article)) ENGINE = MEMORY - - SELECT * FROM (SELECT c.Id_Article, c.Id_Compra - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv() AND dateShipment - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 - ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t - GROUP BY Id_Article; - - IF dateShipment >= CURDATE() THEN - - -- CALL `cache`.available_refresh(v_calc_available, TRUE, warehouseShipment, dateShipment); - CALL availableTraslate(warehouseShipment, dateShipment,NULL); - CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY - SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; - INSERT INTO tmp_item(item_id, available) - SELECT a.item_id, a.available FROM availableTraslate a - ON DUPLICATE KEY UPDATE available = a.available; - ELSE - CALL item_stock(warehouseShipment, dateShipment,NULL); - END IF; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - CREATE TEMPORARY TABLE Traslados ENGINE MEMORY - SELECT TP.Id_Tipo AS Tipo, - - TP.reino_id, - - ar.tipo_id, - - ar.Id_Article AS article_id, - - ar.Article, - - ar.Medida, - - ar.Categoria, - - ar.Color, - - Origen.abreviatura as Origen, - - CE.Cantidad, - - ar.Tallos, - - CAST(AIM.visible AS DECIMAL(10,0)) as vis1, - - CAST(AIM.available AS DECIMAL(10,0)) as dis1, - - 0 as vis2, - - 0 as dis2, - - IFNULL(CE.grouping,C.grouping) as grouping, - - IFNULL(CE.Packing,C.Packing) as Packing, - - IFNULL(CE.caja,C.caja) as caja, - - IFNULL(C.Productor, P2.Alias) AS Productor, - - C.Id_Cubo, - - 1 Tinta, - - CE.Id_Compra, - - CE.Etiquetas, - - C.buy_edi_id, - - TP.Id_Trabajador, - - CB.Volumen, - - CB.x, CB.y, CB.z, - - IFNULL(C.Costefijo,0) Costefijo, - - IFNULL(C.Comisionfija,0) Comisionfija, - - IFNULL(C.Portefijo,0) Portefijo, - - A.m3, - - E.comision, - - CB.Retornable, - - IFNULL(CEB.Valor,CB.Valor) Valor, - - t3, t2, TP.promo - - FROM Articles ar - LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article - LEFT JOIN Tipos TP USING(tipo_id) - LEFT JOIN Origen ON Origen.id = ar.id_origen - LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article - LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra - LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo - LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada - LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor - LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada - LEFT JOIN travel TR ON TR.id = E.travel_id - LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id - LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada - LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo - LEFT JOIN tblTARIFAS ON TRUE - WHERE TP.reino_id <> 6 AND TP.reino_id <> 8 - AND E.Redada = FALSE; - - - CREATE INDEX tindex USING HASH ON Traslados (article_id); - --- Inventario en el warehouse destino - IF dateShipment >= CURDATE() THEN - - CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); - SELECT warehouseLanding, dateLanding,warehouseShipment; - CALL availableTraslateTesting(warehouseLanding, dateLanding,warehouseShipment); - - SELECT * FROM availableTraslate; - - UPDATE Traslados t - LEFT JOIN availableTraslate a ON t.article_id = a.item_id - LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id - SET vis2 = v.visible, dis2 = a.available; - - END IF; --- --------------------------------------------- - - SELECT t.*, - - Cantidad - MOD(Cantidad , grouping) as Subcantidad, - - MOD(Cantidad , grouping) as Soll, - - (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, - - Costefijo + Comisionfija + Portefijo AS Cost, - - @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, - - @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, - - @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, - - @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, - - @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, - - ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, - - 0 selected - - FROM Traslados t - WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 - ORDER BY tipo_id, Article, Medida, Categoria, Origen; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - -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 `trasladoKK` */; -/*!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 `trasladoKK`(IN i_entrada INTEGER) -BEGIN - DECLARE dateShipment DATE; - DECLARE dateLanding DATE; - DECLARE warehouseShipment INTEGER; - DECLARE warehouseLanding INTEGER; - DECLARE v_calc_available INTEGER; - DECLARE v_calc_visible INTEGER; - - - SELECT shipment, landing, warehouse_id_out, warehouse_id - INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding - FROM travel t JOIN Entradas e ON t.id = e.travel_id - WHERE Id_Entrada = i_entrada; - - CALL buy_tarifas_table(i_entrada); - - -- Traslado en almacen origen - - DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; - - CREATE TEMPORARY TABLE buy_edi_temp - (KEY (Id_Article)) ENGINE = MEMORY - - SELECT * - FROM (SELECT c.Id_Article, c.Id_Compra - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv() AND dateShipment - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 - ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t - GROUP BY Id_Article; - - IF dateShipment >= CURDATE() THEN - - CALL availableTraslate(warehouseShipment, dateShipment,NULL); - CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY - SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; - INSERT INTO tmp_item(item_id, available) - SELECT a.item_id, a.available FROM availableTraslate a - ON DUPLICATE KEY UPDATE available = a.available; - ELSE - CALL item_stock(warehouseShipment, dateShipment,NULL); - END IF; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - CREATE TEMPORARY TABLE Traslados ENGINE MEMORY - SELECT tp.Id_Tipo AS Tipo, - - tp.reino_id, - - ar.tipo_id, - - ar.Id_Article AS article_id, - - ar.Article, - - ar.Medida, - - ar.Categoria, - - ar.Color, - - Origen.abreviatura as Origen, - - CE.Cantidad, - - ar.Tallos, - - CAST(AIM.visible AS DECIMAL(10,0)) as vis1, - - CAST(AIM.available AS DECIMAL(10,0)) as dis1, - - 0 as vis2, - - 0 as dis2, - - IFNULL(CE.grouping,C.grouping) as grouping, - - IFNULL(CE.Packing,C.Packing) as Packing, - - IFNULL(CE.caja,C.caja) as caja, - - IFNULL(C.Productor, P2.Alias) AS Productor, - - C.Id_Cubo, - - 1 Tinta, - - CE.Id_Compra, - - CE.Etiquetas, - - C.buy_edi_id, - - tp.Id_Trabajador, - - CB.Volumen, - - CB.x, CB.y, CB.z, - - IFNULL(C.Costefijo,0) Costefijo, - - IFNULL(C.Comisionfija,0) Comisionfija, - - IFNULL(C.Portefijo,0) Portefijo, - - A.m3, - - E.comision, - - CB.Retornable, - - IFNULL(CEB.Valor,CB.Valor) Valor, - - t3, t2, tp.promo, - - C.grouping groupingOrigin, - - C.Packing PackingOrigin, - - C.Id_Compra CompraOrigin - - FROM Articles ar - LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article - LEFT JOIN Tipos tp ON tp.tipo_id = ar.tipo_id - LEFT JOIN Origen ON Origen.id = ar.id_origen - LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article - LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra - LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo - LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada - LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor - LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada - LEFT JOIN travel TR ON TR.id = E.travel_id - LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id - LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada - LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo - LEFT JOIN tblTARIFAS ON TRUE - WHERE tp.reino_id <> 6 AND tp.reino_id <> 8 - AND E.Redada = FALSE; - - CREATE INDEX tindex USING HASH ON Traslados (article_id); - --- Inventario en el warehouse destino - IF dateShipment >= CURDATE() THEN - - CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); - CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); - - UPDATE Traslados t - LEFT JOIN availableTraslate a ON t.article_id = a.item_id - LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id - SET vis2 = v.visible, dis2 = a.available; - - END IF; --- --------------------------------------------- - - SELECT t.*, - - Cantidad - MOD(Cantidad , grouping) as Subcantidad, - - MOD(Cantidad , grouping) as Soll, - - (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, - - Costefijo + Comisionfija + Portefijo AS Cost, - - @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, - - @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, - - @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, - - @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, - - @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, - - ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, - - 0 selected - - FROM Traslados t - WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 - ORDER BY tipo_id, Article, Medida, Categoria, Origen; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - DROP TEMPORARY TABLE IF EXISTS 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `trasladoTesting` */; -/*!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 `trasladoTesting`(IN i_entrada INTEGER) -BEGIN - DECLARE dateShipment DATE; - DECLARE dateLanding DATE; - DECLARE warehouseShipment INTEGER; - DECLARE warehouseLanding INTEGER; - DECLARE v_calc_available INTEGER; - DECLARE v_calc_visible INTEGER; - - SELECT shipment, landing, warehouse_id_out, warehouse_id - INTO dateShipment, dateLanding, warehouseShipment, warehouseLanding - FROM travel t JOIN Entradas e ON t.id = e.travel_id - WHERE Id_Entrada = i_entrada; - - CALL buy_tarifas_table(i_entrada); - - -- Traslado en almacen origen - - DROP TEMPORARY TABLE IF EXISTS buy_edi_temp; - - CREATE TEMPORARY TABLE buy_edi_temp - (KEY (Id_Article)) ENGINE = MEMORY - - SELECT * FROM (SELECT c.Id_Article, c.Id_Compra - FROM Compres c INNER JOIN Entradas e USING(Id_Entrada) - INNER JOIN travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN date_inv() AND dateShipment - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 - ORDER BY (warehouseShipment = t.warehouse_id) DESC, t.landing DESC) t - GROUP BY Id_Article; - - IF dateShipment >= CURDATE() THEN - - CALL `cache`.available_refresh(v_calc_available, TRUE, warehouseShipment, dateShipment); - -- CALL `cache`.availableTraslate(warehouseShipment, dateShipment,NULL); - CALL `cache`.visible_refresh(v_calc_visible,TRUE,warehouseShipment); - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item (UNIQUE INDEX i USING HASH (item_id)) ENGINE = MEMORY - SELECT item_id, visible,0 available FROM `cache`.visible WHERE calc_id = v_calc_visible; - INSERT INTO tmp_item(item_id, available) - SELECT a.item_id, a.available FROM `cache`.available a WHERE a.calc_id = v_calc_available - ON DUPLICATE KEY UPDATE available = a.available; - ELSE - CALL item_stock(warehouseShipment, dateShipment,NULL); - END IF; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - CREATE TEMPORARY TABLE Traslados ENGINE MEMORY - SELECT TP.Id_Tipo AS Tipo, - - TP.reino_id, - - ar.tipo_id, - - ar.Id_Article AS article_id, - - ar.Article, - - ar.Medida, - - ar.Categoria, - - ar.Color, - - Origen.abreviatura as Origen, - - CE.Cantidad, - - ar.Tallos, - - CAST(AIM.visible AS DECIMAL(10,0)) as vis1, - - CAST(AIM.available AS DECIMAL(10,0)) as dis1, - - 0 as vis2, - - 0 as dis2, - - IFNULL(CE.grouping,C.grouping) as grouping, - - IFNULL(CE.Packing,C.Packing) as Packing, - - IFNULL(CE.caja,C.caja) as caja, - - IFNULL(C.Productor, P2.Alias) AS Productor, - - C.Id_Cubo, - - 1 Tinta, - - CE.Id_Compra, - - CE.Etiquetas, - - C.buy_edi_id, - - TP.Id_Trabajador, - - CB.Volumen, - - CB.x, CB.y, CB.z, - - IFNULL(C.Costefijo,0) Costefijo, - - IFNULL(C.Comisionfija,0) Comisionfija, - - IFNULL(C.Portefijo,0) Portefijo, - - A.m3, - - E.comision, - - CB.Retornable, - - IFNULL(CEB.Valor,CB.Valor) Valor, - - t3, t2, TP.promo - - FROM Articles ar - LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article - LEFT JOIN Tipos TP USING(tipo_id) - LEFT JOIN Origen ON Origen.id = ar.id_origen - LEFT JOIN buy_edi_temp lb ON lb.Id_Article = ar.Id_Article - LEFT JOIN Compres C ON C.Id_Compra = lb.Id_Compra - LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo - LEFT JOIN Entradas E2 ON E2.Id_Entrada = C.Id_Entrada - LEFT JOIN Proveedores P2 ON P2.Id_Proveedor = E2.Id_Proveedor - LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada - LEFT JOIN travel TR ON TR.id = E.travel_id - LEFT JOIN Agencias A ON A.Id_Agencia = TR.agency_id - LEFT JOIN Compres CE ON CE.Id_Article = ar.Id_Article AND CE.Id_Entrada = i_entrada - LEFT JOIN Cubos CEB ON CEB.Id_Cubo = CE.Id_Cubo - LEFT JOIN tblTARIFAS ON TRUE - WHERE TP.reino_id <> 6 AND TP.reino_id <> 8 - AND E.Redada = FALSE; - - - CREATE INDEX tindex USING HASH ON Traslados (article_id); - --- Inventario en el warehouse destino - IF dateShipment >= CURDATE() THEN - - CALL cache.visible_refresh(v_calc_visible, TRUE, warehouseLanding); - CALL availableTraslate(warehouseLanding, dateLanding,warehouseShipment); - - UPDATE Traslados t - LEFT JOIN availableTraslate a ON t.article_id = a.item_id - LEFT JOIN `cache`.visible v ON v.calc_id = v_calc_visible AND t.article_id = v.item_id - SET vis2 = v.visible, dis2 = a.available; - - END IF; --- --------------------------------------------- - - SELECT t.*, - - Cantidad - MOD(Cantidad , grouping) as Subcantidad, - - MOD(Cantidad , grouping) as Soll, - - (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, - - Costefijo + Comisionfija + Portefijo AS Cost, - - @porte := ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) * m3 / 1000000 / Packing ,3) AS Porte, - - @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, - - @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, - - @coste := IFNULL((Costefijo + Comisionfija + Portefijo),0) + IFNULL(@embalaje,0) + IFNULL(@porte,0) + IFNULL(@comision,0) AS Coste, - - @t3 := ROUND(@coste / ( (100 - t3 - t.promo)/100),2) AS Tarifa3, - - ROUND(@t3 * (1 + ((t2 - t3)/100)),2) AS Tarifa2, - - 0 selected - - FROM Traslados t - WHERE vis1 <> 0 OR dis1 <> 0 OR vis2 <> 0 OR dis2 <> 0 - ORDER BY tipo_id, Article, Medida, Categoria, Origen; - - DROP TEMPORARY TABLE IF EXISTS Traslados; - -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 `traslado_label` */; -/*!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 `traslado_label`(IN intArticle INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER) -BEGIN - -DECLARE intEntrada INTEGER; -DECLARE i_FV INTEGER; - -SELECT FV INTO i_FV -FROM Articles a -JOIN Tipos tp ON tp.tipo_id = a.tipo_id -WHERE a.Id_Article = intArticle; - -SET intEntrada = IF(i_FV, i_entrada_FV,i_entrada_PCA); - -SET intEntrada = IF(intEntrada = 0, i_entrada_PCA + i_entrada_FV, intEntrada); - - - IF intEntrada > 0 THEN - - CALL buy_tarifas_table(intEntrada); - - INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, - Costefijo, Portefijo, Embalajefijo, Comisionfija, novincular,buy_edi_id) - SELECT - land.Id_Article, - land.Etiquetas - IFNULL(ship.Etiquetas,0) - (IFNULL(Ventas,0) / land.Packing), - land.Cantidad - IFNULL(ship.Cantidad,0) - IFNULL(Ventas,0), - intEntrada, - land.Id_Cubo, - land.Packing, - land.grouping, - land.caja, - @cost := ROUND(IFNULL(land.Costefijo, 0) + IFNULL(land.Comisionfija, 0) + IFNULL(land.Portefijo, 0), - 3) Costefij, - @porte := ROUND((@cm3:= cm3_2(land.Id_Cubo, land.Id_Article)) * a.m3 / 1000000 / land.Packing, - 3) Porte, - land.EmbalajeFijo AS Embalaje, - @comision := ROUND(land.Costefijo * e2.comision / 100, 3) Comision, - land.novincular,land.buy_edi_id - FROM ( - select c_land.Id_Cubo,c_land.Packing,c_land.grouping,c_land.Costefijo,c_land.Comisionfija,c_land.Portefijo,c_land.caja,SUM(c_land.Etiquetas) Etiquetas,c_land.EmbalajeFijo, - c_land.novincular,c_land.buy_edi_id,c_land.Id_Article,SUM(c_land.Cantidad) Cantidad - from - -- Entradas que llegan a vnh - Compres c_land - JOIN - Entradas e_land ON c_land.Id_Entrada = e_land.Id_Entrada AND c_land.Id_Article = intArticle - JOIN - travel t_land ON t_land.id = e_land.travel_id - JOIN - Cubos cu ON cu.Id_Cubo = c_land.Id_Cubo - WHERE - -- Entradas que llegan a vnh - (t_land.warehouse_id = 7 AND t_land.landing = CURDATE()) - ) land - LEFT JOIN -- Entradas que salen de vnh - (SELECT SUM(c_ship.Etiquetas) Etiquetas,c_ship.Packing,SUM(c_ship.Cantidad) Cantidad - FROM Compres c_ship - LEFT JOIN Entradas e_ship ON c_ship.Id_Entrada = e_ship.Id_Entrada AND c_ship.Id_Article = intArticle - LEFT JOIN travel t_ship ON t_ship.id = e_ship.travel_id - WHERE t_ship.warehouse_id_out = 7 AND t_ship.shipment = CURDATE() - -- Entrada destino - ) ship ON TRUE - JOIN Entradas e2 ON e2.Id_Entrada = intEntrada - JOIN travel t ON t.id = e2.travel_id - JOIN Agencias a ON t.agency_id = a.Id_Agencia - -- Ventas ese dia en VNH - LEFT JOIN - (SELECT sum(Cantidad) as Ventas - FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket - WHERE t.Fecha = CURDATE() AND m.Id_Article = intArticle AND t.warehouse_id = 7) v on true - GROUP BY land.Id_Article; - CALL buy_tarifas(LAST_INSERT_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 `traslado_label_2` */; -/*!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 `traslado_label_2`(IN i_compra INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER, i_cantidad INTEGER) -BEGIN - --- PAK 2015-09-15 -DECLARE idARTICLE INT; - -SELECT Id_Article INTO idARTICLE FROM Compres WHERE Id_Compra = i_compra; - -call traslado_label_3(idARTICLE,i_entrada_FV,i_entrada_PCA); - -/* -DECLARE i_entrada_shipment INTEGER; -DECLARE i_entrada_landing INTEGER; -DECLARE i_FV INTEGER; - -SELECT c.Id_Entrada, FV INTO i_entrada_shipment, i_FV -FROM Compres c -JOIN Articles a ON a.Id_Article = c.Id_Article -JOIN Tipos tp ON tp.tipo_id = a.tipo_id -WHERE Id_Compra = i_compra; - -SET i_entrada_landing = IF(i_FV, i_entrada_FV,i_entrada_PCA); - -SET i_entrada_landing = IF(i_entrada_landing = 0, i_entrada_PCA + i_entrada_FV, i_entrada_landing); - -IF i_entrada_landing > 0 THEN - - CALL buy_tarifas_table(i_entrada_landing); - - INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, - Costefijo, Portefijo, Embalajefijo, Comisionfija, Productor, S3, S4, S2, novincular,k01,k02,k03,k04,buy_edi_id) - SELECT - Id_Article, - i_cantidad / Packing, - i_cantidad, - i_entrada_landing, - Id_Cubo, - Packing, - c.grouping, - c.caja, - @cost := ROUND(IFNULL(Costefijo, 0) + IFNULL(Comisionfija, 0) + IFNULL(Portefijo, 0), - 3) Costefij, - @porte := ROUND((@cm3:= cm3_2(Id_Cubo, Id_Article)) * a.m3 / 1000000 / Packing, - 3) Porte, - EmbalajeFijo AS Embalaje, - @comision := ROUND(Costefijo * e2.comision / 100, 3) Comision, - Productor, - S3, - S4, - S2, - novincular,c.k01,c.k02,c.k03,c.k04,c.buy_edi_id - FROM - Compres c - JOIN - Entradas e USING (Id_Entrada) - JOIN - Cubos cu USING (Id_Cubo) - JOIN - Entradas e2 ON e2.Id_Entrada = i_entrada_landing - JOIN - travel t ON t.id = e2.travel_id - JOIN - Agencias a ON t.agency_id = a.Id_Agencia - WHERE - Id_Compra = i_compra and i_cantidad; - - -CALL buy_tarifas(LAST_INSERT_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 `traslado_label_3` */; -/*!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 `traslado_label_3`(IN intArticle INTEGER,IN i_entrada_FV INTEGER, IN i_entrada_PCA INTEGER) -BEGIN --- DEPRECATED usar traslado_label -DECLARE intEntrada INTEGER; -DECLARE i_FV INTEGER; - -SELECT FV INTO i_FV -FROM Articles a -JOIN Tipos tp ON tp.tipo_id = a.tipo_id -WHERE a.Id_Article = intArticle; - -SET intEntrada = IF(i_FV, i_entrada_FV,i_entrada_PCA); - -SET intEntrada = IF(intEntrada = 0, i_entrada_PCA + i_entrada_FV, intEntrada); - - - IF intEntrada > 0 THEN - - CALL buy_tarifas_table(intEntrada); - - INSERT INTO Compres (Id_Article, Etiquetas, Cantidad, Id_Entrada, Id_Cubo, Packing,grouping,caja, - Costefijo, Portefijo, Embalajefijo, Comisionfija, novincular,buy_edi_id) - SELECT - land.Id_Article, - land.Etiquetas - IFNULL(ship.Etiquetas,0) - (IFNULL(Ventas,0) / land.Packing), - land.Cantidad - IFNULL(ship.Cantidad,0) - IFNULL(Ventas,0), - intEntrada, - land.Id_Cubo, - land.Packing, - land.grouping, - land.caja, - @cost := ROUND(IFNULL(land.Costefijo, 0) + IFNULL(land.Comisionfija, 0) + IFNULL(land.Portefijo, 0), - 3) Costefij, - @porte := ROUND((@cm3:= cm3_2(land.Id_Cubo, land.Id_Article)) * a.m3 / 1000000 / land.Packing, - 3) Porte, - land.EmbalajeFijo AS Embalaje, - @comision := ROUND(land.Costefijo * e2.comision / 100, 3) Comision, - land.novincular,land.buy_edi_id - FROM ( - select c_land.Id_Cubo,c_land.Packing,c_land.grouping,c_land.Costefijo,c_land.Comisionfija,c_land.Portefijo,c_land.caja,SUM(c_land.Etiquetas) Etiquetas,c_land.EmbalajeFijo, - c_land.novincular,c_land.buy_edi_id,c_land.Id_Article,SUM(c_land.Cantidad) Cantidad - from - -- Entradas que llegan a vnh - Compres c_land - JOIN - Entradas e_land ON c_land.Id_Entrada = e_land.Id_Entrada AND c_land.Id_Article = intArticle - JOIN - travel t_land ON t_land.id = e_land.travel_id - JOIN - Cubos cu ON cu.Id_Cubo = c_land.Id_Cubo - WHERE - -- Entradas que llegan a vnh - (t_land.warehouse_id = 7 AND t_land.landing = CURDATE()) - ) land - LEFT JOIN -- Entradas que salen de vnh - (SELECT SUM(c_ship.Etiquetas) Etiquetas,c_ship.Packing,SUM(c_ship.Cantidad) Cantidad - FROM Compres c_ship - LEFT JOIN Entradas e_ship ON c_ship.Id_Entrada = e_ship.Id_Entrada AND c_ship.Id_Article = intArticle - LEFT JOIN travel t_ship ON t_ship.id = e_ship.travel_id - WHERE t_ship.warehouse_id_out = 7 AND t_ship.shipment = CURDATE() - -- Entrada destino - ) ship ON TRUE - JOIN Entradas e2 ON e2.Id_Entrada = intEntrada - JOIN travel t ON t.id = e2.travel_id - JOIN Agencias a ON t.agency_id = a.Id_Agencia - -- Ventas ese dia en VNH - LEFT JOIN - (SELECT sum(Cantidad) as Ventas - FROM Movimientos m - JOIN Tickets t on t.Id_Ticket = m.Id_Ticket - WHERE t.Fecha = CURDATE() AND m.Id_Article = intArticle AND t.warehouse_id = 7) v on true - GROUP BY land.Id_Article; - CALL buy_tarifas(LAST_INSERT_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 `traslado_ticket` */; -/*!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`@`localhost` PROCEDURE `traslado_ticket`(IN i_entrada INTEGER, IN i_ticket INTEGER) -BEGIN - - DECLARE intWarehouse INT; - DECLARE datTicket DATE; - - SELECT warehouse_id, Fecha INTO intWarehouse,datTicket FROM Tickets WHERE Id_Ticket = i_ticket; - - CALL buy_tarifas_table(i_entrada); - - CALL item_last_buy_(intWarehouse,datTicket); - - - INSERT INTO Compres( Id_Article, - Cantidad, - Novincular, - Id_Entrada, - Id_Cubo, - Packing, - grouping, - caja, - Portefijo, - Comisionfija, - Embalajefijo, - Costefijo, - Productor, - Tarifa2, - Tarifa3 - ) - - SELECT M.Id_Article, - IF(T.Id_Cliente IN (1625, 1118, 400), -1, 1) * M.Cantidad, - - IF(T.Id_Cliente IN (1625, 1118, 400), TRUE, FALSE), - i_entrada, - IFNULL(C.Id_Cubo,'--'), - C.Packing, - C.grouping, - C.caja, - @pf := ROUND(@cm3:=cm3_2(IFNULL(C.Id_Cubo,'--'), b.item_id) * AG.m3 / 1000000 / C.Packing ,3) AS Porte, - @cf := IFNULL(ROUND(C.Costefijo * E.comision / 100 ,3),0) AS Comision, - @ef := ROUND(IF(CB.Retornable = FALSE,CB.Valor/ C.Packing,0) ,3) AS Embalaje, - @cost := ROUND(IFNULL(C.Costefijo,0) + @cf + @ef + @pf,3), - C.Productor, - @t3 := ROUND(@cost / ((100 - TC.t3)/100),2) Tarifa3, - @t2 := IF(@cost / ((100 - TC.t2)/100) <= @t3,@t3+0.01,@cost / ((100 - TC.t2)/100)) Tarifa2 - - FROM Movimientos M - LEFT JOIN Tickets T USING(Id_Ticket) - LEFT JOIN t_item_last_buy b ON M.Id_Article = b.item_id AND T.warehouse_id = b.warehouse_id - LEFT JOIN Compres C ON C.Id_Compra = b.buy_id - LEFT JOIN Cubos CB ON CB.Id_Cubo = C.Id_Cubo - LEFT JOIN Entradas E ON E.Id_Entrada = i_entrada - LEFT JOIN travel TR ON TR.id = E.travel_id - LEFT JOIN Agencias AG ON AG.Id_Agencia = TR.agency_id - LEFT JOIN Proveedores P ON P.Id_Proveedor = E.Id_Proveedor - JOIN tblTARIFAS TC - LEFT JOIN tblContadores ON TRUE - JOIN (SELECT m3 as ZEL_PORT FROM Agencias WHERE Id_Agencia = 618) Z - WHERE M.Id_Ticket = i_ticket; - - - DROP TEMPORARY TABLE t_item_last_buy; - - -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 `travelDetail` */; -/*!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 `travelDetail`() -BEGIN - -DECLARE vGap VARCHAR(10) DEFAULT ' '; -DECLARE vDateFrom DATE DEFAULT TIMESTAMPADD(WEEK,-1,CURDATE()); - -SELECT * FROM -( -SELECT - 1 as IsTravel, - tr.id as travel, - NULL as Entrada, - ag.Agencia, - tr.ref, - tr.shipment, - wo.name as OrigenCajas, - tr.landing, - w.name as Destino, - sum(c.Etiquetas) as Etiquetas, - NULL as Notas_Eva, - kg, - cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedKg, - NULL as loadPriority, - NULL as Notas, - pc.Proveedor as Carguera - FROM travel tr - LEFT JOIN Proveedores pc ON pc.Id_Proveedor = tr.cargoSupplierFk - LEFT JOIN Entradas e ON e.travel_id = tr.id - LEFT JOIN Compres c ON c.Id_Entrada = e.Id_Entrada - LEFT JOIN Cubos cb ON cb.Id_Cubo = c.Id_Cubo - LEFT JOIN Articles a ON a.Id_Article = c.Id_Article - LEFT JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN warehouse w ON w.id = tr.warehouse_id - JOIN warehouse wo ON wo.id = tr.warehouse_id_out - JOIN Agencias ag ON ag.Id_Agencia = tr.agency_id - WHERE tr.landing >= vDateFrom - GROUP BY tr.id - -UNION ALL - -SELECT - 0 as IsTravel, - e.travel_id as travel, - e.Id_Entrada, - CONCAT(vGap,p.Proveedor), - e.Referencia, - tr.shipment, - wo.name as OrigenCajas, - tr.landing, - w.name as Destino, - sum(Etiquetas) as Etiquetas, - e.Notas_Eva, - NULL as kg, - cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedkg, - loadPriority, - -- CAST(awb.codigo AS DECIMAL(11,0)) as awb, - e.Notas, - pc.Proveedor as carguera - - FROM Entradas e - /* LEFT JOIN recibida_entrada re ON re.Id_Entrada = e.Id_Entrada - LEFT JOIN awb_recibida ar ON ar.recibida_id = re.awb_recibida - LEFT JOIN awb ON awb.id = ar.awb_id - */ JOIN Compres c ON c.Id_Entrada = e.Id_Entrada - JOIN Cubos cb ON cb.Id_Cubo = c.Id_Cubo - JOIN Articles a ON a.Id_Article = c.Id_Article - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN Proveedores p ON p.Id_Proveedor = e.Id_Proveedor - JOIN travel tr ON tr.id = e.travel_id - LEFT JOIN Proveedores pc ON pc.Id_Proveedor = tr.cargoSupplierFk - JOIN warehouse w ON w.id = tr.warehouse_id - JOIN warehouse wo ON wo.id = tr.warehouse_id_out - WHERE tr.landing >= vDateFrom - GROUP BY e.Id_Entrada -) sub -ORDER BY landing, travel, IsTravel DESC, (loadPriority > 0) DESC,loadPriority, Agencia, Notas_Eva ; - -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 `travel_tree` */; -/*!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 `travel_tree`(vDate DATE, vAddress INT, vAgency INT) -BEGIN -/** - * Devuelve la lista de almacenes disponibles y la fecha de - * envío desde cada uno. - * - * @param vDate Fecha de recepción de mercancía - * @param vAddress Id consignatario, %NULL para recogida - * @param vAgency Id de subagencia - * @table travel_tree Lista de almacenes disponibles - */ - DECLARE vDone BOOL; - DECLARE vWh SMALLINT; - - DECLARE vCur CURSOR FOR - SELECT w.id warehouse_id - FROM warehouse w - WHERE reserve; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS travel_tree; - CREATE TEMPORARY TABLE travel_tree - ( - warehouse_id TINYINT NOT NULL PRIMARY KEY, - Fecha_envio DATE NOT NULL, - Fecha_recepcion DATE NOT NULL - ) - ENGINE = MEMORY; - - -- Establecemos los almacenes y las fechas que van a entrar - - OPEN vCur; - - l: LOOP - SET vDone = FALSE; - FETCH vCur INTO vWh; - - IF vDone THEN - LEAVE l; - END IF; - - INSERT INTO travel_tree (warehouse_id, Fecha_envio, Fecha_recepcion) - SELECT vWh, shipping, vDate FROM ( - SELECT TIMESTAMPADD(DAY, -ah.subtract_day, vDate) shipping, ah.max_hour - FROM agency_hour ah - LEFT JOIN Consignatarios c ON c.Id_Consigna = vAddress - WHERE ah.warehouse_id = vWh - AND (week_day = WEEKDAY(vDate) - OR week_day IS NULL) - AND (ah.agency_id = vAgency - OR ah.agency_id IS NULL) - AND (ah.province_id = c.province_id - OR ah.province_id IS NULL - OR vAddress IS NULL) - ORDER BY ( - (ah.week_day IS NOT NULL) + - (ah.agency_id IS NOT NULL) + - ((ah.province_id IS NOT NULL) * 3) - ) DESC - LIMIT 1 - ) t - WHERE shipping >= CURDATE() - AND IF(shipping = CURDATE(), max_hour > HOUR(NOW()), TRUE); - END LOOP; - - CLOSE vCur; -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 `travel_tree_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 `travel_tree_list`(vAddress INT, vDate DATE) -BEGIN -/** - * Devuelve el listado de agencias disponibles para la fecha - * y dirección pasadas. - * - * @param vAddress Id de dirección de envío, %NULL si es recogida - * @param vDate Fecha de recogida - * @table agency_list Listado de agencias disponibles - */ - DECLARE vAgency INT; - DECLARE vDone BOOL DEFAULT FALSE; - - DECLARE vCur CURSOR FOR - SELECT DISTINCT agency_id - FROM agency - JOIN agency_hour USING(agency_id); - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - DROP TEMPORARY TABLE IF EXISTS agency_list; - CREATE TEMPORARY TABLE agency_list ( - Id_Agencia INT NOT NULL, - Agencia VARCHAR(20), - description VARCHAR(45), - Vista VARCHAR(45), - shipment DATE, - Descripcion VARCHAR(45), - PRIMARY KEY(Id_Agencia) - ) - ENGINE = MEMORY; - - OPEN vCur; - FETCH vCur INTO vAgency; - - WHILE NOT vDone - DO - CALL travel_tree (vDate, vAddress, vAgency); - - INSERT INTO agency_list - SELECT a.Id_Agencia, a.Agencia, a.description, - a.Vista, t.Fecha_Envio, w.name as Descripcion - FROM Agencias a - JOIN travel_tree t - JOIN warehouse w on w.id = t.warehouse_id - WHERE agency_id = vAgency - AND a.web - ON DUPLICATE KEY UPDATE - Descripcion = CONCAT(Descripcion, ', ', w.name); - - FETCH vCur INTO vAgency; - END WHILE; - - CLOSE vCur; - - SELECT * FROM agency_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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `travel_tree_shipment` */; -/*!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 `travel_tree_shipment`(v_date DATE, v_consigna INT, v_agency INT, v_warehouse INT) -BEGIN -/** - * Devuelve una tabla temporal con el dia de recepcion para v_date. - * - * @param v_date Fecha de preparacion de mercancia - * @param v_consigna Id de consignatario, %NULL para recogida - * @param v_agency Id agencia - * @table travel_tree_shipment Datos de recepción - */ - DROP TEMPORARY TABLE IF EXISTS travel_tree_shipment; - CREATE TEMPORARY TABLE travel_tree_shipment - ENGINE = MEMORY - SELECT v_warehouse warehouse_id, v_envio landing FROM ( - SELECT * FROM ( - SELECT v_warehouse, TIMESTAMPADD(DAY, subtract_day, v_date) v_envio, subtract_day, ah.max_hour - FROM agency_hour ah - LEFT JOIN Consignatarios c ON c.Id_Consigna = v_consigna - WHERE (week_day = weekday(TIMESTAMPADD(DAY, subtract_day, v_date)) OR week_day IS NULL) - AND (ah.agency_id = v_agency OR ah.agency_id IS NULL) - AND ah.warehouse_id = v_warehouse - AND (ah.province_id = c.province_id OR ah.province_id IS NULL OR v_consigna IS NULL) - ORDER BY ( - (ah.week_day IS NOT NULL) + - (ah.agency_id IS NOT NULL) + - ((ah.province_id IS NOT NULL)*3) - ) DESC - ) t - LIMIT 1 - ) t - WHERE IF(v_date = CURDATE(), max_hour > HOUR(NOW()), TRUE) AND subtract_day < 225; -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 `turnoClon` */; -/*!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 `turnoClon`(IN vWeek INT, IN vYear INT) -BEGIN - -DECLARE done BIT DEFAULT 0; -DECLARE myEntrada INT; -DECLARE myWeekday INT; -DECLARE myLanding DATE; -DECLARE myShipment DATE; -DECLARE myDateDiff INT; -DECLARE myTravel INT; -DECLARE myNuevaEntrada INT; -DECLARE myWH_IN INT; -DECLARE myWH_OUT INT; - -DECLARE rs CURSOR FOR -SELECT Id_Entrada, weekDay FROM Entradas_turno; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - -IF vWeek = 0 THEN - - SET vWeek = WEEK(TIMESTAMPADD(WEEK,1,CURDATE())); - SET vYear = YEAR(TIMESTAMPADD(WEEK,1,CURDATE())); - -END IF; - - -OPEN rs; - -FETCH rs INTO myEntrada, myWeekday; - -WHILE NOT done DO - - SELECT DATEDIFF(landing,shipment), warehouse_id, warehouse_id_out INTO myDateDiff, myWH_IN, myWH_OUT - FROM travel t - JOIN Entradas e on e.travel_id = t.id - WHERE Id_Entrada = myEntrada; - - SELECT date, TIMESTAMPADD(DAY, - myDateDiff, date) - INTO myLanding , myShipment - FROM time - WHERE year = vYear AND week = vWeek - AND WEEKDAY(date) = myWeekday; - - SELECT t.id INTO myTravel - FROM travel t - WHERE shipment = myShipment - AND landing = myLanding - AND warehouse_id = myWH_IN - AND warehouse_id_out = myWH_OUT - LIMIT 1; - - IF IFNULL(myTravel,0) = 0 THEN - - INSERT INTO travel(shipment, shipment_hour, landing,landing_hour, warehouse_id, warehouse_id_out,agency_id, ref) - SELECT myShipment, shipment_hour, myLanding ,landing_hour, warehouse_id, warehouse_id_out,agency_id, ref - FROM travel t - JOIN Entradas e on e.travel_id = t.id - WHERE Id_Entrada = myEntrada; - - SELECT LAST_INSERT_ID() INTO myTravel; - - - END IF; - - INSERT INTO Entradas(Id_Proveedor,Referencia, Notas, Id_Moneda, empresa_id, travel_id) - SELECT Id_Proveedor, Referencia, Notas, Id_Moneda, empresa_id, myTravel - FROM Entradas - WHERE Id_Entrada = myEntrada; - - SELECT LAST_INSERT_ID() INTO myNuevaEntrada; - - INSERT INTO Compres(Id_Entrada, Id_Article, Cantidad, Costefijo, Portefijo, Embalajefijo, Novincular, Comisionfija, Etiquetas, Packing - ,grouping, caja, /*container_id, */Nicho, Id_Cubo, Tarifa1,Tarifa2,Tarifa3, PVP, Productor) - SELECT myNuevaEntrada, Id_Article, Cantidad, Costefijo, Portefijo, Embalajefijo, Novincular, Comisionfija, Etiquetas, Packing - ,grouping, caja,/* container_id, */Nicho, Id_Cubo, Tarifa1,Tarifa2,Tarifa3, PVP, Productor - FROM Compres - WHERE Id_Entrada = myEntrada; - - - FETCH rs INTO myEntrada, myWeekday; - -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 `turn_calculartiempomedio` */; -/*!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 `turn_calculartiempomedio`() -BEGIN - -DECLARE strTiempoAprox NVARCHAR(255); - -SELECT -CASE WHEN @min>45 THEN concat(@hora:=@hora+1,' horas ') -WHEN @hora >0 THEN concat(@hora,' horas ') -WHEN @min>=0 and @min<15 THEN '15 Minutos' -WHEN @min<30 THEN '30 Minutos' -WHEN @min<45 THEN '45 Minutos' -ELSE '' and @hora=@hora+1 END AS tiempoaprox -INTO strTiempoAprox -FROM ( - select min(sub1.adate) as adate,max(sub1.bdate) as bdate, - @hora:=ROUND((TIMESTAMPDIFF(HOUR,min(sub1.adate),max(sub1.bdate)) /10),0), - @min:=ROUND((TIMESTAMPDIFF(MINUTE,min(sub1.adate),max(sub1.bdate)) mod 60)/10,0) - from ( - select a.odbc_date as adate,b.odbc_date as bdate - from turn a - INNER JOIN turn b on a.number=(b.number-1) - WHERE TIMESTAMPDIFF(HOUR,b.odbc_date,a.odbc_date)<1 - ORDER BY a.odbc_date DESC,b.odbc_date DESC - LIMIT 10) sub1) sub2; - -SELECT strTiempoAprox as TiempoAprox; -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 `ubicator` */; -/*!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 `ubicator`(IN i_wh TINYINT, IN d_fecha DATE,IN filtro VARCHAR(255)) -BEGIN - - - DECLARE date_inv DATE; - - -DROP TEMPORARY TABLE IF EXISTS stock_actual; -DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_ubicator_stock; - - -SELECT FechaInventario INTO date_inv - FROM tblContadores LIMIT 1; - - -CREATE TEMPORARY TABLE stock_actual -SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( - SELECT Id_Article,Cantidad - FROM Compres c - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE landing BETWEEN date_inv AND d_fecha - AND warehouse_id = i_wh AND NOT Redada - - UNION ALL - - -- JGF Error cuando se pedia para una fecha futura 30/06/14 - /*SELECT Id_Article,-Cantidad - FROM Compres c - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE shipment BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) - AND warehouse_id_out = i_wh AND NOT Redada*/ - SELECT Id_Article,-Cantidad - FROM Compres c - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE shipment BETWEEN date_inv AND CURDATE() - AND warehouse_id_out = i_wh AND NOT Redada AND delivered - UNION ALL - - -- JGF Error cuando se pedia para una fecha futura 30/06/14 - - /*SELECT Id_Article, -Cantidad - FROM Movimientos m - JOIN Tickets t USING(Id_Ticket) - WHERE Fecha BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) - AND warehouse_id = i_wh */ - SELECT Id_Article, -Cantidad - FROM Movimientos m - JOIN Tickets t USING(Id_Ticket) - WHERE Fecha BETWEEN date_inv AND CURDATE() - AND warehouse_id = i_wh AND Etiquetasemitidas - - -) t GROUP BY article_id; - -/* -SELECT * from stock_actual;*/ - --- TEMPORARY -CALL util.exec (sql_printf(' - CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.tmp_ubicator_stock AS - SELECT A.Id_Article,A.Article, T.Id_Cubo,IF(Z > 0,Z,0) as z,x,y, - CEIL(S.Suma/T.packing) as etiquetas,A.Medida,A.Nicho - FROM vn2008.Articles A - INNER JOIN - (SELECT article_id, amount as SUMA - FROM vn2008.stock_actual - WHERE amount > 0 - ) as S ON S.article_id = A.Id_Article - LEFT JOIN ( - SELECT * FROM ( - SELECT c.Id_Article item_id, c.Id_Compra id, c.Id_Cubo,c.packing - FROM vn2008.Compres c INNER JOIN vn2008.Entradas e USING(Id_Entrada) - INNER JOIN vn2008.travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN vn2008.date_inv() AND %v - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 AND Id_Cubo IS NOT NULL - ORDER BY 1 = t.warehouse_id DESC, t.landing DESC - ) t1 GROUP BY item_id - ) as T ON T.item_id = A.Id_Article - LEFT JOIN vn2008.Cubos C USING(Id_Cubo) - WHERE %s AND CEIL(S.Suma/T.packing) > 0',d_fecha,filtro)); - - - -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 `ubicator_calcularhuecosvacios` */; -/*!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 `ubicator_calcularhuecosvacios`(int_H int,int_X int,int_Y int,int_Z int,intId_Estanterias int,intId_Baldas int,contId_Estanterias int) -BEGIN -DECLARE intnumcubostotal,intnumcubosocup SMALLINT DEFAULT 0; -DECLARE posX,posY,posZ,intId_Article,x_cubo,y_cubo INT DEFAULT 0; -DECLARE strId_Cubo VARCHAR(10); -DECLARE strArticle,strmodelo VARCHAR(50) DEFAULT '---'; -DECLARE intContador INT DEFAULT 1; - - SELECT COUNT(*) INTO intnumcubosocup FROM Ubicator_Cajas - WHERE W=int_X and D=int_Y and Id_Estanterias=intId_Estanterias and Id_Baldas=intId_Baldas and NumEstanterias=contId_Estanterias; - - SELECT W,D,H,Id_Cubo,Id_Article,modelo,Article,x,y - INTO posX,posY,posZ,strId_Cubo,intId_Article,strmodelo,strArticle,x_cubo,y_cubo - FROM Ubicator_Cajas - WHERE W=int_X and D=int_Y and Id_Estanterias=intId_Estanterias and Id_Baldas=intId_Baldas and NumEstanterias=contId_Estanterias - ORDER BY H DESC LIMIT 1; - - WHILE (int_Z*intContador0) DO - SET posZ=posZ+int_Z; - -- INSERT INTO Ubicator_Cajas - -- (Id_Estanterias,NumEtiquetas,W ,D,H ,Id_Cubo ,Id_Article,POSX,POSY,POSZ,Id_Article_aux ,Id_Baldas,modelo,Article,Medida) - -- VALUES (intId_Estanterias ,1,posX,posY,posZ,strId_Cubo ,intId_Article,0,0,0,0,intId_Baldas,strmodelo,'',int_Z); - INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,numEstanterias) - VALUES (intId_Estanterias,intId_Baldas,strmodelo,posX,posY,posZ,strId_Cubo,x_cubo,y_cubo,int_Z,null,intId_Article,'',contId_Estanterias); - SET intnumcubosocup=intnumcubosocup+1; - 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 `ubicator_ordenacion` */; -/*!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 `ubicator_ordenacion`(date DATE,boolORDALFA TINYINT(1), intWAREHOUSE INT,strFILTRO NVARCHAR(255), boolESAPILABLE TINYINT(1),boolESABIERTO TINYINT(1),intCmNichoExtra SMALLINT,inEstanteria SMALLINT,strOrdenacion varchar(255)) -BEGIN --- Inicializo variables --- boolESABIERTO --> permite apilar las cajas de diferentes articulos (cerrada) para aprovechar el espacio. -DECLARE intPOSX,intPOSY,intPOSZ,intSUMAH,intCMNICHO_EXTRA INT DEFAULT 0; -DECLARE intId_Estanterias,intW,intD,intId_Baldas,intH,intEtiquetas, - intX,intY,intZ,ReturnX,ReturnY,ReturnZ,Cantidad,intId_Baldas_aux INT DEFAULT 0; -DECLARE strId_Cubo VARCHAR(10) DEFAULT '---'; -DECLARE intId_Article,Id_Article_aux,alturabalda,intZ_aux INT DEFAULT 0; -DECLARE contId_Estanterias INT DEFAULT 1; -DECLARE strmodelo VARCHAR(255) DEFAULT '---'; -DECLARE done BIT DEFAULT 0; -DECLARE strArticle VARCHAR(50); -DECLARE boolCabeCaja,boolPasarZ,boolPasarX,boolNoNextRecord,fin BOOLEAN DEFAULT FALSE; -DECLARE intMedida,intX_ant,intY_ant,IntZ_ant INT(10) DEFAULT 0; - --- ejemplo: call ubicator_ordenacion(CURDATE(),false,1,'tipo_id = 2',TRUE,FALSE,2,1) - --- Declaro el cursor para leer las estanterias y las baldas ordenadas por las baldas. (La primera es la de arriba). -DECLARE cursor_estanterias CURSOR FOR SELECT Id_Estanterias,w,d,modelo,Id_Baldas,h FROM Estanterias - INNER JOIN Baldas USING (Id_Estanterias) WHERE Id_Estanterias=inEstanteria ORDER BY Id_Estanterias,Id_Baldas; - --- Declaro el cursor para leer el recorset de los cubos a colocar en las estanterias obteniendo las variables X,Y,Z del cubo. -DECLARE cursor_ubicator CURSOR FOR SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock; - -- Creo la tabla temporal donde devuelvo la ordenación de las cajas. - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -- handler para el cursor de las estanterias y baldas - -DROP TEMPORARY TABLE IF EXISTS Ubicator_Cajas; -/* - CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas (Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), - W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT,Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT); -*/ - - CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas(Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), - W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT, - Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT,NumEtiquetas INT,POSX INT (11),POSY INT(11), - POSZ INT(11),Id_Article_aux int(11)); - --- Creo la tabla temporal donde voy a insertar las cajas que no caben en las estanterias. -DROP TEMPORARY TABLE IF EXISTS Ubicator_CajasNoCaben; -CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_CajasNoCaben (Id_Cubo VARCHAR(10),Id_Estanteria SMALLINT); - -CALL ubicator (intWAREHOUSE,date,strFILTRO); -- Ejecuto el procedimiento de stock para recorrer los articulos con las cajas. - -DROP TEMPORARY TABLE IF EXISTS ubicator_stock; - -SET @SQL=CONCAT('CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida,IF(LOWER(Article) like "%mix%",1,0) AS MIX FROM tmp_ubicator_stock - ORDER BY MIX,',strOrdenacion); - -PREPARE stmt1 FROM @SQL; -EXECUTE stmt1; -DEALLOCATE PREPARE stmt1; - - -- IF (boolORDALFA) THEN - -- CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida FROM tmp_ubicator_stock - -- ORDER BY Article,Medida; - -- ELSE - -- CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,IF(Z=0,Medida,Z) Z,Article,Medida FROM tmp_ubicator_stock - -- ORDER BY Id_Article; - -- END IF; - --- Open Recordsets -OPEN cursor_estanterias; -OPEN cursor_ubicator; - -REPEAT - FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH; - - IF (done) THEN -- Si llega a la ultima balda, empieza de nuevo. - CLOSE cursor_estanterias; - SET done=FALSE; - OPEN cursor_estanterias; - SET contId_Estanterias=contId_Estanterias+1; - FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH; - END IF; - - -- Obtengo la altura absoluta de la balda. - SELECT CASE WHEN (SUM(H)>=0) THEN SUM(H) ELSE 0 END As suma INTO intSUMAH - FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas>intId_Baldas; - - SELECT H INTO alturabalda - FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas=intId_Baldas; - - SET intPOSX=0,intPOSY=0,intPOSZ=0,intId_Baldas_aux=0; - - ITERACION:WHILE NOT done DO - IF (NOT boolNoNextRecord) THEN - FETCH cursor_ubicator INTO strId_Cubo,intEtiquetas,intId_Article,intX,intY,intZ,strArticle,intMedida; - IF (DONE) THEN - LEAVE ITERACION; - END IF; - SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock ORDER BY Id_Article; - SET Cantidad=0; - END IF; - -- SET Medida=intZ; - -- 1. Compruebo que cabe la caja en la estanteria - - SELECT ubicator_cabecaja(intX,intY,intZ,intW,intD,intH) INTO boolCabeCaja; - IF (NOT boolCabeCaja) THEN -- Compruebo si la caja cabe en la estanteria sino la coloco en una tabla temporal. - INSERT INTO Ubicator_CajasNoCaben (Id_Cubo,Id_Estanteria) VALUES (strId_Cubo,intId_Estanterias); - SET Id_Article_aux=intId_Article,boolNoNextRecord=FALSE; - ITERATE ITERACION; - END IF; - - SET boolPasarX=FALSE,boolPasarZ=FALSE; - -- Inicializo el contador - REPEAT - SET Cantidad=Cantidad+1; -- Incremento el contador en 1 - IF (intId_Baldas_aux<>intId_Baldas) THEN - SET intId_Baldas_aux=intId_Baldas; - SET intPOSX=0,intPOSY=0,intPOSZ=0; - END IF; - IF (boolESAPILABLE AND intPOSZ>0 AND intZ>0) THEN -- Es Apilable - IF (boolESABIERTO) THEN -- abierto - -- SET intPOSX=intPOSX+intCmNichoExtra,intPOSZ=0,intPOSY=0,Id_Article_aux=intId_Article; - IF (intId_Article=Id_Article_aux) THEN -- mismo articulo - SET boolPasarX=FALSE,boolPasarZ=TRUE; - SET intPOSX=intPOSX-intX; - ELSE -- distinto articulo - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSY=intY,intPOSZ=intZ; - SET Id_Article_aux=intId_Article; - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; - ELSE -- cerrado - IF ((intZ=intZ_ant) AND (intY=intY_ant) AND (intX=intX_ant)) THEN -- tienen que ser del mismo tamaño - SET intPOSX=intPOSX-intX; - SET boolPasarX=FALSE,boolPasarZ=FALSE; - ELSE - CALL ubicator_calcularhuecosvacios (alturabalda,ReturnX,ReturnY,intZ_aux,intId_Estanterias,intId_Baldas,contId_Estanterias); -- Calculo las cajas vacias - SET intPOSY=intY,intPOSZ=intZ; - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; -- article - END IF; - ELSE -- No apilable or posz<>0 - IF (NOT boolESAPILABLE AND boolESABIERTO) THEN - SET boolPasarX=FALSE,boolPasarZ=FALSE; - -- @@@ cambio abierto no apilable - SET intPOSZ=0; -- no se puede subir en altura - IF (intId_Article<>Id_Article_aux and Id_Article_aux<>0) THEN -- cambio @@@vicente, añado id_Article_aux<>0 - SET intPOSY=0; - END IF; - ELSE - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSY=intY,intPOSZ=intZ; - END IF; - - -- @@@@ cambio - IF (intPOSX>0) THEN -- SI ES EL PRIMER ELEMENTO (X=0) NO LE INCREMENTE LOS CM EXTRA DEL NICHO si la profundidad es menor no lo incrementa - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; - END IF; -- apilable - - Condicional:loop - IF (NOT boolPasarX) THEN - IF (NOT boolPasarZ) THEN - IF (intD-intPOSY>intY) THEN -- cabe de profundo - SET intPOSY=intPOSY+intY; - -- @@@@ULTIMO CAMBIO - IF (intPOSX>0) and (intId_Article=Id_Article_aux) THEN - IF (intPOSX-intX-intCmNichoExtra<0) THEN - SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; - LEAVE ITERACION; - END IF; - SET intPOSX=intPOSX-intX-intCmNichoExtra; -- cambio @@@vicente quito descomentando - END IF; - -- @@@@ fin ultimo cambio - ELSE - SET intPOSY=intY; - END IF; - END IF; -- boolpasarz (depth) - - IF (intH-intPOSZ>intZ) THEN - SET intPOSZ=intPOSZ+intZ; - ELSE - IF (intD-intPOSY>intY) THEN - SET boolPasarZ=FALSE,boolPasarX=FALSE,intPOSZ=intZ; - ITERATE Condicional; - END IF; - SET intPOSZ=intZ; - SET intPOSY=intY; - SET intPOSX=intPOSX+intX+intCmNichoExtra; - END IF; - END IF; -- boolpasarx - - IF (intW-intPOSX>intX) THEN - SET intPOSX=intPOSX+intX; - ELSE - SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; - LEAVE ITERACION; - END IF; - LEAVE Condicional; - END loop Condicional; - - SET ReturnX=intPOSX-intX; -- Anchura absoluta x del artículo - SET ReturnZ=intSUMAH+intPOSZ-intZ; -- Altura absoluta del cubo - SET ReturnY=intPOSY-intY; -- Profundidad absoluta del artículo - - SET boolPasarZ=FALSE,boolPasarX=FALSE; - - /* - INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias) - VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias); - */ - - INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias, - NumEtiquetas,POSX,POSY,POSZ,Id_Article_aux) - VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias, - intEtiquetas,intPOSX,intPOSY,intPOSZ,Id_Article_aux); - - SET Id_Article_aux=intId_Article,intZ_aux=intZ,boolNoNextRecord=FALSE; - -- Cambio - SET intZ_ant=intZ,intY_ant=intY,intX_ant=intX; - UNTIL Cantidad=intEtiquetas END REPEAT; - END WHILE ITERACION; - - IF (done) THEN - SET fin=TRUE; - END IF; -UNTIL fin END REPEAT; -CLOSE cursor_ubicator; -CLOSE cursor_estanterias; - --- select * from Ubicator_Cajas; --- select * from ubicator_stock; --- select * from Ubicator_CajasNoCaben; - - -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 `ubicator_ordenacion_distrib` */; -/*!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 `ubicator_ordenacion_distrib`(date DATE,boolORDALFA TINYINT(1), intWAREHOUSE INT,strFILTRO NVARCHAR(255), boolESAPILABLE TINYINT(1),boolESABIERTO TINYINT(1),intCmNichoExtra SMALLINT,inEstant_distrib SMALLINT) -BEGIN --- Inicializo variables --- boolESABIERTO --> permite apilar las cajas de diferentes articulos (cerrada) para aprovechar el espacio. -DECLARE intPOSX,intPOSY,intPOSZ,intSUMAH,intCMNICHO_EXTRA INT DEFAULT 0; -DECLARE intId_Estanterias,intW,intD,intId_Baldas,intH,intEtiquetas, - intX,intY,intZ,ReturnX,ReturnY,ReturnZ,Cantidad,intId_Baldas_aux INT DEFAULT 0; -DECLARE strId_Cubo VARCHAR(10) DEFAULT '---'; -DECLARE intId_Article,Id_Article_aux,alturabalda,intZ_aux INT DEFAULT 0; -DECLARE contId_Estanterias INT DEFAULT 0; -DECLARE strmodelo VARCHAR(255) DEFAULT '---'; -DECLARE done BIT DEFAULT 0; -DECLARE strArticle VARCHAR(50); -DECLARE boolCabeCaja,boolPasarZ,boolPasarX,boolNoNextRecord,fin BOOLEAN DEFAULT FALSE; -DECLARE intMedida,intX_ant,intY_ant,IntZ_ant ,intposinicial,intposfinal,auxintId_Estanterias,auxintposinicial,auxintposfinal,intnumdistrib,nestanterias INT(11) DEFAULT 0; - --- ejemplo: call ubicator_ordenacion(CURDATE(),false,1,'tipo_id = 2',TRUE,FALSE,2,1) - --- Declaro el cursor para leer las estanterias y las baldas ordenadas por las baldas. (La primera es la de arriba). -DECLARE cursor_estanterias CURSOR FOR SELECT Id_Estanterias,w,d,modelo,Id_Baldas,h,posinicial,posfinal FROM Estanterias - INNER JOIN Baldas USING (Id_Estanterias) - INNER JOIN Estanterias_distri using (Id_Estanterias) - WHERE IdEstanterias_distri=inEstant_distrib - -- AND Id_Estanterias>nestanterias - AND posinicial>auxintposinicial - ORDER BY posinicial; - --- Declaro el cursor para leer el recorset de los cubos a colocar en las estanterias obteniendo las variables X,Y,Z del cubo. -DECLARE cursor_ubicator CURSOR FOR SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock; - -- Creo la tabla temporal donde devuelvo la ordenación de las cajas. - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; -- handler para el cursor de las estanterias y baldas - -DROP TEMPORARY TABLE IF EXISTS Ubicator_Cajas; -CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas (Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), -W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT,Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT); - - /* - CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_Cajas(Id_Estanterias INT,Id_Baldas SMALLINT,modelo varchar(255), - W SMALLINT,D SMALLINT,H SMALLINT,Id_Cubo VARCHAR(10),X SMALLINT,Y SMALLINT,Z SMALLINT,Medida SMALLINT, - Id_Article INT(11),Article varchar(50),NumEstanterias SMALLINT,NumEtiquetas INT,POSX INT (11),POSY INT(11), - POSZ INT(11),Id_Article_aux int(11)); - */ - --- Creo la tabla temporal donde voy a insertar las cajas que no caben en las estanterias. -DROP TEMPORARY TABLE IF EXISTS Ubicator_CajasNoCaben; -CREATE TEMPORARY TABLE IF NOT EXISTS Ubicator_CajasNoCaben (Id_Cubo VARCHAR(10),Id_Estanteria SMALLINT); - -CALL ubicator (intWAREHOUSE,date,strFILTRO); -- Ejecuto el procedimiento de stock para recorrer los articulos con las cajas. - -DROP TEMPORARY TABLE IF EXISTS ubicator_stock; -IF (boolORDALFA) THEN - CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM tmp_ubicator_stock - ORDER BY Article,Medida; -ELSE - CREATE TEMPORARY TABLE IF NOT EXISTS ubicator_stock SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM tmp_ubicator_stock - ORDER BY Id_Article; - END IF; - --- Open Recordsets -OPEN cursor_estanterias; -OPEN cursor_ubicator; -SET contId_Estanterias=0; -REPEAT - FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH,intposinicial,intposfinal; - - IF (contId_Estanterias=0) THEN - SET contId_Estanterias=1; - SET auxintId_Estanterias=intId_Estanterias; - SELECT (intposfinal-intposinicial+1)*Id_Baldas into auxintposfinal from Baldas where Id_Estanterias=intId_Estanterias order by Id_Baldas DESC limit 1; - END IF; - - IF (done) THEN - SELECT DISTINCT posinicial-1 INTO auxintposinicial - FROM Estanterias_distri - WHERE Id_Estanterias=auxintId_Estanterias; - -- SET nestanterias=auxintId_Estanterias-1; - - CLOSE cursor_estanterias; - OPEN cursor_estanterias; - FETCH cursor_estanterias INTO intId_Estanterias,intW,intD,strmodelo,intId_Baldas,intH,intposinicial,intposfinal; - END IF; - - IF (auxintId_Estanterias<>IFNULL(intId_Estanterias,auxintId_Estanterias)) THEN - SET done=TRUE; - END IF; - SET intnumdistrib=intnumdistrib+1; - - IF (done) THEN -- Si llega a la ultima balda, empieza de nuevo. - IF (intnumdistrib=0) THEN SUM(H) ELSE 0 END As suma INTO intSUMAH - FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas>intId_Baldas; - - SELECT H INTO alturabalda - FROM Baldas WHERE Id_Estanterias=intId_Estanterias and Baldas.Id_Baldas=intId_Baldas; - - SET intPOSX=0,intPOSY=0,intPOSZ=0,intId_Baldas_aux=0; - - ITERACION:WHILE NOT done DO - IF (NOT boolNoNextRecord) THEN - FETCH cursor_ubicator INTO strId_Cubo,intEtiquetas,intId_Article,intX,intY,intZ,strArticle,intMedida; - IF (DONE) THEN - LEAVE ITERACION; - END IF; - SELECT Id_Cubo,Etiquetas,Id_Article,X,Y,Z,Article,Medida FROM ubicator_stock ORDER BY Id_Article; - SET Cantidad=0; - END IF; - -- SET Medida=intZ; - -- 1. Compruebo que cabe la caja en la estanteria - - SELECT ubicator_cabecaja(intX,intY,intZ,intW,intD,intH) INTO boolCabeCaja; - IF (NOT boolCabeCaja) THEN -- Compruebo si la caja cabe en la estanteria sino la coloco en una tabla temporal. - INSERT INTO Ubicator_CajasNoCaben (Id_Cubo,Id_Estanteria) VALUES (strId_Cubo,intId_Estanterias); - SET Id_Article_aux=intId_Article,boolNoNextRecord=FALSE; - ITERATE ITERACION; - END IF; - - SET boolPasarX=FALSE,boolPasarZ=FALSE; - -- Inicializo el contador - REPEAT - SET Cantidad=Cantidad+1; -- Incremento el contador en 1 - IF (intId_Baldas_aux<>intId_Baldas) THEN - SET intId_Baldas_aux=intId_Baldas; - SET intPOSX=0,intPOSY=0,intPOSZ=0; - END IF; - IF (boolESAPILABLE AND intPOSZ>0 AND intZ>0) THEN -- Es Apilable - IF (boolESABIERTO) THEN -- abierto - -- SET intPOSX=intPOSX+intCmNichoExtra,intPOSZ=0,intPOSY=0,Id_Article_aux=intId_Article; - IF (intId_Article=Id_Article_aux) THEN -- mismo articulo - SET boolPasarX=FALSE,boolPasarZ=TRUE; - SET intPOSX=intPOSX-intX; - ELSE -- distinto articulo - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSY=intY,intPOSZ=intZ; - SET Id_Article_aux=intId_Article; - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; - ELSE -- cerrado - IF ((intZ=intZ_ant) AND (intY=intY_ant) AND (intX=intX_ant)) THEN -- tienen que ser del mismo tamaño - SET intPOSX=intPOSX-intX; - SET boolPasarX=FALSE,boolPasarZ=FALSE; - ELSE - CALL ubicator_calcularhuecosvacios (alturabalda,ReturnX,ReturnY,intZ_aux,intId_Estanterias,intId_Baldas,contId_Estanterias); -- Calculo las cajas vacias - SET intPOSY=intY,intPOSZ=intZ; - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; -- article - END IF; - ELSE -- No apilable or posz<>0 - IF (NOT boolESAPILABLE AND boolESABIERTO) THEN - SET boolPasarX=FALSE,boolPasarZ=FALSE; - -- @@@ cambio abierto no apilable - SET intPOSZ=0; -- no se puede subir en altura - ELSE - SET boolPasarX=TRUE,boolPasarZ=TRUE; - SET intPOSY=intY,intPOSZ=intZ; - END IF; - - IF (intPOSX>0) THEN -- SI ES EL PRIMER ELEMENTO (X=0) NO LE INCREMENTE LOS CM EXTRA DEL NICHO - SET intPOSX=intPOSX+intCmNichoExtra; - END IF; - END IF; -- apilable - - Condicional:loop - IF (NOT boolPasarX) THEN - IF (NOT boolPasarZ) THEN - IF (intD-intPOSY>intY) THEN -- cabe de profundo - SET intPOSY=intPOSY+intY; - ELSE - SET intPOSY=intY; - END IF; - END IF; -- boolpasarz (depth) - - IF (intH-intPOSZ>intZ) THEN - SET intPOSZ=intPOSZ+intZ; - ELSE - IF (intD-intPOSY>intY) THEN - SET boolPasarZ=FALSE,boolPasarX=FALSE,intPOSZ=intZ; - ITERATE Condicional; - END IF; - SET intPOSZ=intZ; - SET intPOSY=intY, intPOSX=intPOSX+intX+intCmNichoExtra; - END IF; - END IF; -- boolpasarx - - IF (intW-intPOSX>intX) THEN - SET intPOSX=intPOSX+intX; - ELSE - SET intPOSX=0,boolNoNextRecord=TRUE,Cantidad=Cantidad-1; - LEAVE ITERACION; - END IF; - LEAVE Condicional; - END loop Condicional; - - SET ReturnX=intPOSX-intX; -- Anchura absoluta x del artículo - SET ReturnZ=intSUMAH+intPOSZ-intZ; -- Altura absoluta del cubo - SET ReturnY=intPOSY-intY; -- Profundidad absoluta del artículo - - SET boolPasarZ=FALSE,boolPasarX=FALSE; - - INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias) - VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias); - /* - INSERT INTO Ubicator_Cajas (Id_Estanterias,Id_Baldas,modelo,W ,D,H ,Id_Cubo,X,Y,Z,Medida,Id_Article,Article,NumEstanterias, - NumEtiquetas,POSX,POSY,POSZ,Id_Article_aux) - VALUES (intId_Estanterias,intId_Baldas,strmodelo,ReturnX ,ReturnY,ReturnZ ,strId_Cubo,intX,intY,intZ,intMedida,intId_Article,strArticle,contId_Estanterias, - intEtiquetas,intPOSX,intPOSY,intPOSZ,Id_Article_aux); - */ - SET Id_Article_aux=intId_Article,intZ_aux=intZ,boolNoNextRecord=FALSE; - -- Cambio - SET intZ_ant=intZ,intY_ant=intY,intX_ant=intX; - UNTIL Cantidad=intEtiquetas END REPEAT; - END WHILE ITERACION; - - IF (done) THEN - SET fin=TRUE; - END IF; - -UNTIL fin END REPEAT; -CLOSE cursor_ubicator; -CLOSE cursor_estanterias; - --- select * from Ubicator_Cajas; --- select * from ubicator_stock; --- select * from Ubicator_CajasNoCaben; - - -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 `ubicator_test` */; -/*!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 `ubicator_test`(IN i_wh TINYINT, IN d_fecha DATE,IN filtro VARCHAR(255)) -BEGIN - - - DECLARE date_inv DATE; - - -DROP TEMPORARY TABLE IF EXISTS stock_actual; -DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_ubicator_stock; - - -SELECT FechaInventario INTO date_inv - FROM tblContadores LIMIT 1; - - -CREATE TEMPORARY TABLE stock_actual -SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( - SELECT Id_Article,Cantidad - FROM Compres c - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE landing BETWEEN date_inv AND d_fecha - AND warehouse_id = i_wh AND NOT Redada - - UNION ALL - - SELECT Id_Article,-Cantidad - FROM Compres c - JOIN Entradas e USING(Id_Entrada) - JOIN travel t ON t.id = e.travel_id - WHERE shipment BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) - AND warehouse_id_out = i_wh AND NOT Redada - - UNION ALL - - SELECT Id_Article, -Cantidad - FROM Movimientos m - JOIN Tickets t USING(Id_Ticket) - WHERE Fecha BETWEEN date_inv AND timestampadd(DAY,-1,d_fecha) - AND warehouse_id = i_wh - - - -) t GROUP BY article_id; - -/* -SELECT * from stock_actual;*/ - --- TEMPORARY -CALL util.exec (sql_printf(' - CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.tmp_ubicator_stock AS - SELECT A.Id_Article,A.Article, T.Id_Cubo,IF(Z > 0,Z,0) as z,x,y, - CEIL(S.Suma/T.grouping) as etiquetas,A.Medida,A.Nicho - FROM vn2008.Articles A - INNER JOIN - (SELECT article_id, amount as SUMA - FROM vn2008.stock_actual - WHERE amount > 0 - ) as S ON S.article_id = A.Id_Article - LEFT JOIN ( - SELECT * FROM ( - SELECT c.Id_Article item_id, c.Id_Compra id, c.Id_Cubo,c.grouping - FROM vn2008.Compres c INNER JOIN vn2008.Entradas e USING(Id_Entrada) - INNER JOIN vn2008.travel t ON t.id = e.travel_id - WHERE t.landing BETWEEN vn2008.date_inv() AND CURDATE() - AND c.Novincular = FALSE - AND c.Tarifa2 >= 0 AND Id_Cubo IS NOT NULL - ORDER BY 1 = t.warehouse_id DESC, t.landing DESC - ) t1 GROUP BY item_id - ) as T ON T.item_id = A.Id_Article - LEFT JOIN vn2008.Cubos C USING(Id_Cubo) - WHERE %s AND CEIL(S.Suma/T.grouping) > 0',filtro)); - - - -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 `unary_delete` */; -/*!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 `unary_delete`(v_node INT, v_delete bool) -BEGIN -/** - * Borra un nodo. Se puede indicar si se quieren mantener los hijos. - * En este caso los hijos pasan al padre del nodo. - * Si no tiene padre, los hijos pasaran a ser padres. - * - * @v_node: Nodo que se quiere borrar. - * @v_delete: Se indica si se borran los nodos. - **/ - - DECLARE v_parent INT; - - SELECT parent - INTO v_parent - FROM unary - WHERE id = v_node; - - IF(v_delete = FALSE) THEN - UPDATE unary - SET parent = v_parent - WHERE parent = v_node; - END IF; - - DELETE FROM unary - WHERE id = v_node; - -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 `unary_insert` */; -/*!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 `unary_insert`(OUT v_unary INT, v_parent INT) -BEGIN - - /** - * Inserta un nuevo nodo. Se puede indicar el padre. - * - * @v_parent: Nodo padre. - * @v_unary: Id del nuevo nodo. - **/ - - INSERT INTO unary(parent) VALUES(v_parent); - - SELECT last_insert_id() INTO v_unary; - -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 `unary_leaves` */; -/*!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 `unary_leaves`(v_top INT) -BEGIN -/** - * A partir de un nodo devuelve todos sus descendientes. - * - * @table tmp.tree Tabla con los ids de los nodos descendientes; - **/ - DECLARE v_count INT; - DECLARE v_parent INT; - DECLARE v_depth INT DEFAULT 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.tree; - CREATE TEMPORARY TABLE tmp.tree - (INDEX (id)) + CREATE TEMPORARY TABLE weekly_ticket + (INDEX idx USING HASH (Id_Ticket)) ENGINE = MEMORY - SELECT v_top id, v_parent parent, v_depth depth; - - DROP TEMPORARY TABLE IF EXISTS tmp.parent; - CREATE TEMPORARY TABLE tmp.parent + SELECT Id_Ticket, to_weeks (DATE(Fecha)) week, warehouse_id + FROM Tickets t + JOIN warehouse w ON w.id = t.warehouse_id + WHERE Fecha >= v_date_ini AND Fecha < v_date_end + AND Id_Cliente NOT IN (400, 200) + AND NOT w.fuente + AND v_wh IN (t.warehouse_id, 0); + + CREATE TEMPORARY TABLE weekly_sales ENGINE = MEMORY - SELECT v_top id; - - l: LOOP - - SET v_depth = v_depth + 1; - - DROP TEMPORARY TABLE IF EXISTS tmp.child; - CREATE TEMPORARY TABLE tmp.child - ENGINE = MEMORY - SELECT c.`id`, c.parent - FROM `unary` c - JOIN tmp.parent p ON c.`parent` = p.id; - - DROP TEMPORARY TABLE tmp.parent; - CREATE TEMPORARY TABLE tmp.parent - ENGINE = MEMORY - SELECT c.id, c.parent - FROM tmp.child c - LEFT JOIN tmp.tree t ON t.id = c.id - WHERE t.id IS NULL; - - INSERT INTO tmp.tree - SELECT id, parent, v_depth FROM tmp.parent; - - SELECT COUNT(*) INTO v_count - FROM tmp.parent; - - IF v_count = 0 THEN - LEAVE l; - END IF; - END LOOP; - - DROP TEMPORARY TABLE - tmp.parent, - tmp.child; -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 `unary_scan_ident` */; -/*!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 `unary_scan_ident`(v_top INT, v_space INT) -BEGIN -/** - * A partir de un nodo devuelve el id y el nombre del nodod y sus hijos. - * El nombre viene identado segun el numero de espacios multiplicado por la profundiad del nodo. - * - * v_top: Id del nodo padre. - * v_space: Spacios a dejar al identar, - * @table tmp.tree_ident Tabla con los ids de los nodos descendientes y su nombre identado; - **/ - - DROP TEMPORARY TABLE IF EXISTS tmp.tree_ident; - CALL tree_leaves(v_top); - - CREATE TEMPORARY TABLE tmp.tree_ident - ENGINE = MEMORY - SELECT t.id, - CONCAT( REPEAT(REPEAT(" ",v_space), t.depth), sp.name) AS name - FROM tmp.tree t - INNER JOIN unary_scan sp - ON t.id = sp.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 `unary_scan_insert` */; -/*!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 `unary_scan_insert`(v_name VARCHAR(45), v_parent INT, v_type VARCHAR(45)) -BEGIN - - /** - * Inserta un nuevo nodo de tipo unary_scan. Se puede indicar el padre. - * - * @v_name: Nombre del nodo. - * @v_parent: Nodo padre. - * @v_type: Tipo del nodo a crear. - **/ - - DECLARE v_unary INT; - - CALL unary_insert(v_unary, v_parent); - - INSERT INTO unary_scan(name, unary_id, type) VALUES(v_name, v_unary, v_type); - -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 `unary_tops` */; -/*!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 `unary_tops`() -BEGIN -/** - * Devuelve todos los nodos que no tienen padre. - * - * @table tmp.tree Tabla con los ids de los nodos que no tienen padre; - **/ - - DROP TEMPORARY TABLE IF EXISTS tmp.tree; - CREATE TEMPORARY TABLE tmp.tree - ENGINE = MEMORY - SELECT s.`unary_id` AS id, s.name, s.odbc_date, s.type - FROM `unary_scan` s - INNER JOIN `unary` u ON s.unary_id = u.id - WHERE u.parent IS 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 `unary_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 `unary_update`(v_node INT, v_new_parent INT, v_move bool) -BEGIN -/** - * Cambia el padre de un nodo. Se puede indicar si se quieren mover los hijos. - * En este caso los hijos pasan al padre del nodo. - * Si no tiene padre, los hijos pasaran a ser padres. - * - * @v_node: Nodo que se quiere mover. - * @v_new_parent: Padre al que se quiere mover el nodo. - * @v_move: Se indica si se mueven los nodos. - **/ - - DECLARE v_parent INT; - - SELECT parent - INTO v_parent - FROM unary - WHERE id = v_node; - - IF(v_move = TRUE) THEN - UPDATE unary - SET parent = v_parent - WHERE parent = v_node; - END IF; - - UPDATE unary - SET parent = v_new_parent - WHERE id = v_node; - -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 `valor_faltas` */; -/*!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 `valor_faltas`(IN intReino_id INT,IN dateDesde DATE,IN dateHasta DATE,IN wh INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS item; - - CREATE TEMPORARY TABLE item - SELECT Id_Article id,Id_Movimiento,Cantidad,Id_Tipo,Fecha - FROM Tickets t - JOIN Movimientos m USING (Id_Ticket) - JOIN Articles a USING (Id_Article) - JOIN Tipos tip USING (tipo_id) - WHERE - Id_Cliente = 400 - AND Fecha BETWEEN dateDesde AND dateHasta - AND reino_id = 4; - - CREATE INDEX pk USING HASH ON item (id); - - CALL item_buy (wh, dateHasta); - CALL item_buy_price (1240,dateDesde,wh); - -SELECT *,Cantidad * price as total FROM item; - -DROP TEMPORARY TABLE 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 `valuatedInventory` */; -/*!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 `valuatedInventory`(IN vDate DATE, IN vIsItemised BOOLEAN) -BEGIN - - DECLARE vLastInventoryDate DATE; - - SELECT landing INTO vLastInventoryDate - FROM travel TR - INNER JOIN Entradas E ON E.travel_id = TR.id - WHERE landing <= vDate - AND E.Id_Proveedor = 4 - ORDER BY landing DESC - LIMIT 1; - - DROP TEMPORARY TABLE IF EXISTS inv; - - CREATE TEMPORARY TABLE inv - (warehouseFk SMALLINT, - itemFk BIGINT, - amount INT, - cost DOUBLE DEFAULT 0, - total DOUBLE DEFAULT 0) - ENGINE = MEMORY; - - ALTER TABLE inv ADD PRIMARY KEY USING HASH (warehouseFk, itemFk); - - -- Valor del inventario - INSERT INTO inv(warehouseFk, itemFk, amount) - SELECT TR.warehouse_id, C.Id_Article, C.Cantidad - FROM Compres C - JOIN Articles A USING(Id_Article) - JOIN Entradas E USING (Id_Entrada) - JOIN travel TR ON TR.id = E.travel_id - JOIN Tipos t USING(tipo_id) - JOIN warehouse w ON w.id = TR.warehouse_id - WHERE landing = vLastInventoryDate - AND E.Id_Proveedor = 4 - AND reino_id NOT IN (7) - ON DUPLICATE KEY UPDATE inv.amount = inv.amount + C.Cantidad; - - -- Añadimos compras - INSERT INTO inv(warehouseFk, itemFk, amount) - SELECT TR.warehouse_id, C.Id_Article, C.Cantidad - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = TR.warehouse_id - WHERE landing BETWEEN vLastInventoryDate AND vDate - AND NOT redada - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - AND E.Id_Proveedor <> 4 - ON DUPLICATE KEY UPDATE inv.amount = inv.amount + C.Cantidad; - - -- Restamos salidas - INSERT INTO inv(warehouseFk, itemFk, amount) - SELECT TR.warehouse_id_out, C.Id_Article, - C.Cantidad - FROM Compres C - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Entradas E USING (Id_Entrada) - INNER JOIN travel TR ON TR.id = E.travel_id - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id_out - WHERE shipment BETWEEN vLastInventoryDate AND vDate - AND NOT redada - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.amount = inv.amount - C.Cantidad; - - -- Restamos ventas - INSERT INTO inv(warehouseFk, itemFk, amount) - SELECT w.id, M.Id_Article, - M.Cantidad - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE T.Fecha BETWEEN vLastInventoryDate AND TIMESTAMPADD(DAY, -1 ,vDate) - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.amount = inv.amount - M.Cantidad; - - -- Restamos el dia de hoy - INSERT INTO inv(warehouseFk, itemFk, amount) - SELECT w.id, M.Id_Article, - M.Cantidad - FROM Movimientos M - INNER JOIN Tickets T USING (Id_Ticket) - INNER JOIN Clientes C USING(Id_Cliente) - INNER JOIN Articles A USING(Id_Article) - INNER JOIN Tipos t USING(tipo_id) - INNER JOIN warehouse w ON w.id = warehouse_id - WHERE date(T.Fecha) = vDate - AND (vDate <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) - AND NOT w.fuente - AND reino_id NOT IN (7) - AND t.inventory - ON DUPLICATE KEY UPDATE inv.amount = inv.amount - M.Cantidad ; - - CALL item_last_buy_from_interval(NULL,vLastInventoryDate,vDate); - - UPDATE inv - JOIN tmp.item_last_buy_from_interval lb - ON inv.warehouseFk = lb.warehouse_id AND inv.itemFk = lb.item_id - JOIN Compres C ON C.Id_Compra = lb.buy_id - SET total = inv.amount * (ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0)), - cost = ifnull(C.Costefijo,0) + IFNULL(C.Embalajefijo,0) + IFNULL(C.Portefijo,0) + IFNULL(C.Comisionfija,0) - WHERE inv.amount <> 0; - - DELETE FROM inv WHERE amount IS NULL or amount = 0; - - IF vIsItemised THEN - - SELECT inv.warehouseFk, a.Id_Article, a.Article, a.Medida, inv.amount, tp.Id_Tipo, - tp.reino_id, inv.cost, cast(inv.total as decimal(10,2)) total, an.nicho - FROM inv - JOIN warehouse w on w.id = inv.warehouseFk - JOIN Articles a ON a.Id_Article = inv.itemFk - JOIN Tipos tp ON tp.tipo_id = a.tipo_id - JOIN Articles_nicho an ON an.Id_Article = a.Id_Article AND an.warehouse_id = w.id - where w.valuatedInventory - and inv.total > 0 - order by inv.total desc; - - ELSE - - SELECT w.name as Almacen, r.reino as Reino, cast(inv.total as decimal) as Euros - FROM inv - JOIN warehouse w ON w.id = inv.warehouseFk - JOIN Articles A ON A.Id_Article = inv.itemFk - JOIN Tipos t ON t.tipo_id = A.tipo_id - JOIN reinos r ON r.id = t.reino_id - WHERE w.valuatedInventory; - - 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 `verdecora` */; -/*!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 `verdecora`(vDelivered DATE) -BEGIN - -DECLARE vConsigna INT DEFAULT 21025; -DECLARE vAgencia INT DEFAULT 639; - -DROP TEMPORARY TABLE IF EXISTS tmp.bionic_calc; - - CREATE TEMPORARY TABLE tmp.bionic_calc - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT Id_Article AS item_id - FROM Articles - JOIN Tipos using(tipo_id) - WHERE reino_id IN (1,5) - AND Id_Article < 170000; - -CALL vn2008.bionic_calc(vDelivered, vConsigna, vAgencia); - -SELECT - bi.item_id AS 'Ref_VN', - iv.codin, - NULL as Recomendado, - bi.available as Disponible, - CASE c.caja - WHEN 0 THEN 1 - WHEN 1 THEN c.grouping - WHEN 2 THEN c.packing - END AS 'Venta x', - c.Packing AS 'Uds/Caja', - bl.min_price as Precio, - REPLACE(bi.item,'_','') AS 'Artículo', - ita.tag1 as Caracter1, - ita.val1 as Valor1, - ita.tag2 as Caracter2, - ita.val2 as Valor2, - ita.tag3 as Caracter3, - ita.val3 as Valor3, - ita.tag4 as Caracter4, - ita.val4 as Valor4, - ita.tag5 as Caracter5, - ita.val5 as Valor5, - ita.tag6 as Caracter6, - ita.val6 as valor6 - -FROM tmp.bionic_item bi - JOIN vn.itemTagArranged ita ON ita.itemFk = bi.item_id - JOIN bi.Last_buy_id lb ON lb.Id_Article = bi.item_id - JOIN vn2008.Compres c ON c.Id_Compra = lb.Id_Compra - JOIN ( - SELECT MIN(price) min_price, item_id - FROM tmp.bionic_price - GROUP BY item_id - ) bl ON bl.item_id = bi.item_id - LEFT JOIN vn.itemVerdecora iv ON iv.itemFk = bi.item_id -WHERE lb.warehouse_id = 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 `vips_in_a_week` */; -/*!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 `vips_in_a_week`(vCondition VARCHAR(512)) -BEGIN - CALL util.exec (CONCAT( - 'SELECT C.Id_Cliente, C.Cliente, ROUND(SUM((M.Cantidad * M.Preu) * 100 - M.Descuento) / 100, 2) as Importe - FROM vn2008.Clientes C - JOIN vn2008.Tickets T ON T.Id_Cliente = C.Id_Cliente - JOIN vn2008.Movimientos M ON M.Id_Ticket = T.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos TP ON A.tipo_id = TP.tipo_id - JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador - WHERE ', vCondition, ' - GROUP BY Id_Cliente - HAVING Importe > 0 - ORDER BY Importe DESC' - )); -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 `vips_in_a_week_by_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 ;; -CREATE DEFINER=`root`@`%` PROCEDURE `vips_in_a_week_by_client`(vCondition VARCHAR(512)) -BEGIN - CALL util.exec (CONCAT( - 'SELECT M.Id_Article, A.Article, A.Medida, A.Color, A.Categoria, - SUM(M.Cantidad) Cantidad, M.Preu, M.Descuento, - RED(SUM(M.Cantidad) * M.Preu * (100 - M.Descuento) / 100) as Importe - FROM vn2008.Clientes C - JOIN vn2008.Tickets T ON T.Id_Cliente = C.Id_Cliente - JOIN vn2008.Movimientos M ON M.Id_Ticket = T.Id_Ticket - JOIN vn2008.Articles A ON A.Id_Article = M.Id_Article - JOIN vn2008.Tipos TP ON A.tipo_id = TP.tipo_id - JOIN vn2008.Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador - WHERE ', vCondition, ' - GROUP BY M.Id_Article, A.Article, A.Medida, A.Color, A.Categoria, M.Preu, M.Descuento' - )); -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 `volumetricoReparto` */; -/*!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 `volumetricoReparto`( IN IdTicket INT(11), OUT atot DOUBLE ) -BEGIN - - DECLARE ticket INT(11); - - DECLARE rutaid INT(11); - - DECLARE art INT(11); - - DECLARE ax, ay, az, atot double; - - DECLARE CUR1 CURSOR FOR SELECT a.Id_Article FROM vn2008.Movimientos m, vn2008.Articles a - WHERE m.Id_Ticket = IdTicket AND m.Id_Article = a.Id_Article ; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET @atot = 0; - - set @atot = 0; - - OPEN CUR1; - - REPEAT - - FETCH CUR1 INTO art ; - - SELECT x, y, z into ax,ay,az - FROM vn2008.Cubos cu, vn2008.Compres co - WHERE cu.Id_Cubo = co.Id_Cubo AND Id_Compra = - (SELECT max(Id_Compra) FROM vn2008.Compres c - WHERE c.Id_Article = @art); - - set @atot = @atot +((@ax * @ay * @az)* 1,10); - - UNTIL done END REPEAT; - CLOSE CUR1; - - - select 'hola ',@atot; - -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 `weekly_sales_new` */; -/*!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_new`(v_wh SMALLINT, v_date_ini DATETIME, v_date_end DATETIME) -BEGIN - IF v_date_end IS NULL THEN - SET v_date_end = v_date_ini; - END IF; - - SET v_date_end = TIMESTAMPADD(DAY, 1, v_date_end); - - CREATE TEMPORARY TABLE weekly_ticket - (INDEX idx USING HASH (Id_Ticket)) - ENGINE = MEMORY - SELECT Id_Ticket, to_weeks (DATE(Fecha)) week, warehouse_id - FROM Tickets t - JOIN warehouse w ON w.id = t.warehouse_id - WHERE Fecha >= v_date_ini AND Fecha < v_date_end - AND Id_Cliente NOT IN (400, 200) - AND NOT w.fuente - AND v_wh IN (t.warehouse_id, 0); - - CREATE TEMPORARY TABLE weekly_sales - ENGINE = MEMORY - SELECT week, warehouse_id, a.Id_Article item_id, SUM(Cantidad) AS amount, - SUM(Cantidad * Preu * (100 - Descuento) / 100) AS price - FROM Movimientos m - JOIN weekly_ticket t USING (Id_Ticket) - JOIN Articles a USING (Id_Article) - INNER JOIN Tipos USING (tipo_id) - WHERE reino_id != 6 - GROUP BY week, warehouse_id, item_id; - - DROP TEMPORARY TABLE weekly_ticket; -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 `XDiario_Quadrator` */; -/*!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 `XDiario_Quadrator`() -BEGIN - -UPDATE XDiario -SET EURODEBE = ROUND(EURODEBE,2), - EUROHABER = ROUND(EUROHABER,2) -WHERE NOT enlazado; - - -UPDATE XDiario XD -INNER JOIN -( -SELECT XD.id, SUBCTA, Quadre FROM XDiario XD -INNER JOIN ( -SELECT ASIEN, SUM(IFNULL(ROUND(Eurodebe,2),0))- SUM(IFNULL(ROUND(EUROHABER,2),0)) as Quadre -FROM XDiario -WHERE enlazado = FALSE -GROUP BY ASIEN -HAVING Quadre != 0 -) sub USING(ASIEN) -WHERE SUBCTA > '5999999999' -GROUP BY ASIEN -) sub2 USING(id) -SET Eurohaber = IF(IFNULL(Eurohaber,0) = 0, Eurohaber, Eurohaber + Quadre), - Eurodebe = IF(IFNULL(Eurodebe,0) = 0, Eurodebe, Eurodebe - Quadre); - -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 `__abono` */; -/*!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`@`localhost` PROCEDURE `__abono`(IN idT MEDIUMINT, IN idUSER SMALLINT) -BEGIN --- OBSOLETO USAR vn.refund() - DECLARE idC MEDIUMINT; - DECLARE newFEC DATE; - DECLARE idWH TINYINT; - DECLARE idUSER SMALLINT; - DECLARE idEMP MEDIUMINT; - DECLARE idCON MEDIUMINT; - DECLARE newTICKET MEDIUMINT; - - - SELECT Id_Cliente, TIMESTAMPADD(DAY, 1,Fecha), warehouse_id, empresa_id, Id_Consigna INTO idC, newFEC, idWH, idEMP, idCON - FROM Tickets WHERE Id_Ticket = idT; - - SELECT Id_Trabajador into idUSER from Trabajadores where user_id = account.userGetId(); - IF idUSER IS NULL THEN - SET idUSER = 20; - END IF; - - CALL ticket_new_complet(idC, newFEC, idWH, idUSER, idEMP, idCON, 23,NULL,newTICKET); - - UPDATE Tickets SET Etiquetasemitidas = 1 WHERE Id_Ticket = newTICKET; - - INSERT INTO Movimientos(Id_Ticket, Id_Article, Cantidad, Concepte, Preu, Descuento, PrecioFijado) - SELECT newTICKET, Id_Article, -1 * Cantidad, Concepte, Preu, Descuento, 1 FROM Movimientos WHERE Id_Ticket = idT; - SELECT newTICKET; - -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 `__proveedores_extracto` */; -/*!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 `__proveedores_extracto`(IN idPROV INT, IN idMONEDA INT, IN idEMP INT) -BEGIN - - -SET @saldo_eur:= 0; -SET @saldo_div:= 0; - -SELECT - *, - @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, - @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div -FROM - (SELECT - * - FROM - (SELECT - 'R', - NULL as banco_id, - r.empresa_id, - r.serie, - r.id, - r.fecha, - CONCAT('S/Fra ', r.sref) sref, - if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, - CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, - CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, - NULL AS Pago_Euros, - NULL AS Pago_Divisas, - r.moneda_id, - r.contabilizada, - Moneda, - NULL as pago_sdc_id - FROM - recibida r - JOIN recibida_vencimiento rv on rv.recibida_id = r.id - JOIN Monedas m on m.Id_Moneda = r.moneda_id - WHERE - r.fecha > '2014-12-31' - AND r.proveedor_id = idPROV - AND idMONEDA IN (r.moneda_id, 0) - AND idEMP IN (r.empresa_id,0) - GROUP BY r.id - - - - UNION ALL SELECT - - 'P', - p.id_banco, - p.empresa_id, - NULL, - p.id, - Fecha, - CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), - if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, - NULL, - NULL, - p.importe, - p.divisa, - p.id_moneda, - IFNULL(conciliado, 0), - Moneda, - pago_sdc_id - FROM - pago p - LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda - LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco - LEFT JOIN pay_met pm ON p.pay_met_id = pm.id - LEFT JOIN Pagares pre ON pre.pago_id = p.id - WHERE - Fecha > '2014-12-31' - AND p.Id_Proveedor = idPROV - AND idMONEDA IN (p.id_moneda,0) - AND idEMP IN (p.empresa_id,0) - ) AS SUB - ORDER BY fecha) t; - -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 `__proveedores_extracto_vtos` */; -/*!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 `__proveedores_extracto_vtos`(IN idPROV INT, IN idMONEDA INT, IN idEMP INT) -BEGIN - - -SET @saldo_eur:= 0; -SET @saldo_div:= 0; - -SELECT - *, - @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, - @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div -FROM - (SELECT - * - FROM - (SELECT - 'V', - NULL as banco_id, - r.empresa_id, - r.serie, - r.id, - rv.fecha, - CONCAT('S/Fra ', r.sref) sref, - if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, - CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, - CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, - NULL AS Pago_Euros, - NULL AS Pago_Divisas, - r.moneda_id, - r.contabilizada, - Moneda, - NULL as pago_sdc_id - FROM - recibida r - JOIN recibida_vencimiento rv on rv.recibida_id = r.id - JOIN Monedas m on m.Id_Moneda = r.moneda_id - WHERE - r.fecha > '2014-12-31' - AND r.proveedor_id = idPROV - AND idMONEDA IN (r.moneda_id, 0) - AND idEMP IN (r.empresa_id,0) - GROUP BY rv.id - - - - UNION ALL SELECT - - 'P', - p.id_banco, - p.empresa_id, - NULL, - p.id, - Fecha, - CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), - if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, - NULL, - NULL, - p.importe, - p.divisa, - p.id_moneda, - IFNULL(conciliado, 0), - Moneda, - pago_sdc_id - FROM - pago p - LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda - LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco - LEFT JOIN pay_met pm ON p.pay_met_id = pm.id - LEFT JOIN Pagares pre ON pre.pago_id = p.id - WHERE - Fecha > '2014-12-31' - AND p.Id_Proveedor = idPROV - AND idMONEDA IN (p.id_moneda,0) - AND idEMP IN (p.empresa_id,0) - ) AS SUB - ORDER BY fecha, id) t; - -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: `vn` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -USE `vn`; - --- --- 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; - --- --- Table structure for table `accountingType` --- - -DROP TABLE IF EXISTS `accountingType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `accountingType` ( - `id` smallint(6) NOT NULL DEFAULT '0', - `description` varchar(100) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='descripcio dels valors de la columna "cash" de la taula vn2008.Bancios'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `activityTaxDismissed` --- - -DROP TABLE IF EXISTS `activityTaxDismissed`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `activityTaxDismissed` ( - `clientFk` int(11) NOT NULL, - `isNotified` tinyint(1) DEFAULT '0', - `isDismissed` tinyint(1) DEFAULT '0', - `notified` int(11) DEFAULT '0', - PRIMARY KEY (`clientFk`), - CONSTRAINT `clientFk` FOREIGN KEY (`clientFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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 `clientFk`, - 1 AS `customer`, - 1 AS `street`, - 1 AS `city`, - 1 AS `postalCode`, - 1 AS `provinceFk`, - 1 AS `province`, - 1 AS `phone`, - 1 AS `mobile`, - 1 AS `celular`, - 1 AS `nickname`, - 1 AS `isDefaultAddress`, - 1 AS `defaultAddress`, - 1 AS `longitude`, - 1 AS `latitude`, - 1 AS `warehouseFk`, - 1 AS `warehouse`, - 1 AS `agencyFk`, - 1 AS `agency`, - 1 AS `isEqualizated`, - 1 AS `isActive`, - 1 AS `active`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `addressForPackaging` --- - -DROP TABLE IF EXISTS `addressForPackaging`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `addressForPackaging` ( - `addressFk` int(11) NOT NULL, - `packagingValue` decimal(10,2) NOT NULL DEFAULT '0.04', - PRIMARY KEY (`addressFk`), - CONSTRAINT `addresForPackaging_fk1` FOREIGN KEY (`addressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) 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 `addressObservation` --- - -DROP TABLE IF EXISTS `addressObservation`; -/*!50001 DROP VIEW IF EXISTS `addressObservation`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `addressObservation` AS SELECT - 1 AS `id`, - 1 AS `addressFk`, - 1 AS `observationTypeFk`, - 1 AS `description`*/; -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`, - 1 AS `own`, - 1 AS `labelZone`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `agencyHour` --- - -DROP TABLE IF EXISTS `agencyHour`; -/*!50001 DROP VIEW IF EXISTS `agencyHour`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `agencyHour` AS SELECT - 1 AS `id`, - 1 AS `agency`, - 1 AS `agencyFk`, - 1 AS `weekDay`, - 1 AS `warehouse`, - 1 AS `warehouseFk`, - 1 AS `province`, - 1 AS `provinceFk`, - 1 AS `substractDay`, - 1 AS `maxHour`*/; -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 `deliveryMethodFk`, - 1 AS `deliveryMethod`, - 1 AS `view`, - 1 AS `m3`, - 1 AS `cod71`, - 1 AS `web`, - 1 AS `agencyFk`, - 1 AS `agency`, - 1 AS `agencyServiceFk`, - 1 AS `agencyService`, - 1 AS `inflation`, - 1 AS `inflacion`, - 1 AS `isVolumetric`, - 1 AS `reportMail`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `agencyWarehouse` --- - -DROP TABLE IF EXISTS `agencyWarehouse`; -/*!50001 DROP VIEW IF EXISTS `agencyWarehouse`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `agencyWarehouse` AS SELECT - 1 AS `agencyFk`, - 1 AS `warehouseFk`, - 1 AS `agencyType`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `autoRadioConfig` --- - -DROP TABLE IF EXISTS `autoRadioConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `autoRadioConfig` ( - `id` int(11) NOT NULL, - `password` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `user` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `port` int(11) DEFAULT NULL, - `url` varchar(75) COLLATE utf8_unicode_ci 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 `autonomousRegion` --- - -DROP TABLE IF EXISTS `autonomousRegion`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `autonomousRegion` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(50) CHARACTER SET utf8 NOT NULL, - `geoFk` int(11) DEFAULT NULL, - `countryFk` mediumint(8) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `countryFk` (`countryFk`), - CONSTRAINT `countryFk` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `awb` --- - -DROP TABLE IF EXISTS `awb`; -/*!50001 DROP VIEW IF EXISTS `awb`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `awb` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `package`, - 1 AS `weight`, - 1 AS `created`, - 1 AS `transitoryFk`, - 1 AS `taxFk`, - 1 AS `docFk`, - 1 AS `amount`, - 1 AS `freightFk`, - 1 AS `m3`, - 1 AS `stems`, - 1 AS `flightFk`, - 1 AS `volumeWeight`, - 1 AS `hb`, - 1 AS `rate`, - 1 AS `booked`, - 1 AS `issued`, - 1 AS `operated`, - 1 AS `bookEntried`, - 1 AS `invoiceInFk`, - 1 AS `isChecked`*/; -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 `bankEntity` --- - -DROP TABLE IF EXISTS `bankEntity`; -/*!50001 DROP VIEW IF EXISTS `bankEntity`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `bankEntity` AS SELECT - 1 AS `id`, - 1 AS `countryFk`, - 1 AS `name`, - 1 AS `bic`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `bookingPlanner` --- - -DROP TABLE IF EXISTS `bookingPlanner`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `bookingPlanner` ( - `id` int(10) NOT NULL AUTO_INCREMENT, - `effectived` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `pgcFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `taxAreaFk` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT 'SPAIN', - `priority` int(2) unsigned DEFAULT NULL, - `taxClassFk` tinyint(3) unsigned NOT NULL DEFAULT '1', - `countryFk` mediumint(8) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - KEY `pgcFk_bookingPlanner_idx` (`pgcFk`), - KEY `taxClassFk` (`taxClassFk`), - KEY `countryFk` (`countryFk`), - KEY `bookingPlannerTaxArea` (`taxAreaFk`), - CONSTRAINT `bookingPlannerTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE, - CONSTRAINT `bookingPlanner_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE, - CONSTRAINT `bookingPlanner_ibfk_2` FOREIGN KEY (`taxClassFk`) REFERENCES `vn2008`.`iva_group` (`iva_group_id`) ON DELETE CASCADE, - CONSTRAINT `bookingPlanner_ibfk_3` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON DELETE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `botanicExport` --- - -DROP TABLE IF EXISTS `botanicExport`; -/*!50001 DROP VIEW IF EXISTS `botanicExport`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `botanicExport` AS SELECT - 1 AS `id`, - 1 AS `ediGenusFk`, - 1 AS `ediSpecieFk`, - 1 AS `countryFk`, - 1 AS `restriction`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `buy` --- - -DROP TABLE IF EXISTS `buy`; -/*!50001 DROP VIEW IF EXISTS `buy`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `buy` AS SELECT - 1 AS `id`, - 1 AS `entryFk`, - 1 AS `itemFk`, - 1 AS `amount`, - 1 AS `buyingValue`, - 1 AS `quantity`, - 1 AS `packageFk`, - 1 AS `stickers`, - 1 AS `freightValue`, - 1 AS `packageValue`, - 1 AS `comissionValue`, - 1 AS `packing`, - 1 AS `grouping`, - 1 AS `groupingMode`, - 1 AS `location`, - 1 AS `price1`, - 1 AS `price2`, - 1 AS `price3`, - 1 AS `minPrice`, - 1 AS `producer`, - 1 AS `printedStickers`, - 1 AS `isChecked`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `calendarHolidays` --- - -DROP TABLE IF EXISTS `calendarHolidays`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `calendarHolidays` ( - `calendarHolidaysTypeFk` int(11) NOT NULL, - `dated` date NOT NULL, - `calendarHolidaysNameFk` int(11) DEFAULT NULL, - `workCenterFk` int(11) NOT NULL, - PRIMARY KEY (`dated`,`workCenterFk`), - KEY `calendarholidaystypeFk_idx` (`calendarHolidaysTypeFk`), - KEY `calendarHolidaysNameFk_idx` (`calendarHolidaysNameFk`), - KEY `workCenterFk_idx` (`workCenterFk`), - CONSTRAINT `calendarHolidaysNameFk` FOREIGN KEY (`calendarHolidaysNameFk`) REFERENCES `calendarHolidaysName` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `calendarholidaystypeFk` FOREIGN KEY (`calendarHolidaysTypeFk`) REFERENCES `calendarHolidaysType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `workCenterFk` FOREIGN KEY (`workCenterFk`) REFERENCES `workCenter` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `calendarHolidaysName` --- - -DROP TABLE IF EXISTS `calendarHolidaysName`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `calendarHolidaysName` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(100) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `calendarHolidaysType` --- - -DROP TABLE IF EXISTS `calendarHolidaysType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `calendarHolidaysType` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(50) NOT NULL, - `hexColour` char(7) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `category` --- - -DROP TABLE IF EXISTS `category`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `category` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `nick` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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 `phone`, - 1 AS `mobile`, - 1 AS `fax`, - 1 AS `isRelevant`, - 1 AS `email`, - 1 AS `iban`, - 1 AS `dueDay`, - 1 AS `accountingAccount`, - 1 AS `isEqualizated`, - 1 AS `provinceFk`, - 1 AS `hasToInvoice`, - 1 AS `credit`, - 1 AS `countryFk`, - 1 AS `isActive`, - 1 AS `gestdocFk`, - 1 AS `quality`, - 1 AS `payMethodFk`, - 1 AS `created`, - 1 AS `isToBeMailed`, - 1 AS `contactChannelFk`, - 1 AS `hasSepaVnl`, - 1 AS `hasCoreVnl`, - 1 AS `hasCoreVnh`, - 1 AS `defaultAddressFk`, - 1 AS `riskCalculated`, - 1 AS `clientTypeFk`, - 1 AS `mailAddress`, - 1 AS `cplusTerIdNifFk`, - 1 AS `hasToInvoiceByAddress`, - 1 AS `isTaxDataChecked`, - 1 AS `isFreezed`, - 1 AS `creditInsurance`, - 1 AS `isCreatedAsServed`, - 1 AS `hasInvoiceSimplified`, - 1 AS `salesPersonFk`, - 1 AS `isVies`, - 1 AS `eypbc`*/; -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 `workerFk`, - 1 AS `amount`, - 1 AS `created`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `clientCreditLimit` --- - -DROP TABLE IF EXISTS `clientCreditLimit`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientCreditLimit` ( - `id` int(11) NOT NULL, - `maxAmount` int(10) unsigned NOT NULL, - `roleFk` int(10) unsigned NOT 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 `clientDefaultCompany` --- - -DROP TABLE IF EXISTS `clientDefaultCompany`; -/*!50001 DROP VIEW IF EXISTS `clientDefaultCompany`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `clientDefaultCompany` AS SELECT - 1 AS `id`, - 1 AS `clientFk`, - 1 AS `companyFk`, - 1 AS `started`, - 1 AS `finished`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `clientLog` --- - -DROP TABLE IF EXISTS `clientLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `clientLog` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - KEY `originFk` (`originFk`), - KEY `userFk` (`userFk`), - CONSTRAINT `clientLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `clientLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=150131 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `clientManaCache` --- - -DROP TABLE IF EXISTS `clientManaCache`; -/*!50001 DROP VIEW IF EXISTS `clientManaCache`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `clientManaCache` AS SELECT - 1 AS `clientFk`, - 1 AS `mana`, - 1 AS `dated`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `clientNotification` --- - -DROP TABLE IF EXISTS `clientNotification`; -/*!50001 DROP VIEW IF EXISTS `clientNotification`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `clientNotification` AS SELECT - 1 AS `id`, - 1 AS `clientFk`, - 1 AS `clientNotificationTypeFk`, - 1 AS `created`, - 1 AS `workerFk`, - 1 AS `userFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `clientNotificationType` --- - -DROP TABLE IF EXISTS `clientNotificationType`; -/*!50001 DROP VIEW IF EXISTS `clientNotificationType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `clientNotificationType` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `description`, - 1 AS `isVisible`*/; -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 `workerFk`, - 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 `color` --- - -DROP TABLE IF EXISTS `color`; -/*!50001 DROP VIEW IF EXISTS `color`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `color` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `company` --- - -DROP TABLE IF EXISTS `company`; -/*!50001 DROP VIEW IF EXISTS `company`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `company` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `supplierAccountFk`, - 1 AS `CodigoEmpresa`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `comparative` --- - -DROP TABLE IF EXISTS `comparative`; -/*!50001 DROP VIEW IF EXISTS `comparative`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `comparative` AS SELECT - 1 AS `timePeriod`, - 1 AS `itemFk`, - 1 AS `warehouseFk`, - 1 AS `quantity`, - 1 AS `price`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `comparativeFilter` --- - -DROP TABLE IF EXISTS `comparativeFilter`; -/*!50001 DROP VIEW IF EXISTS `comparativeFilter`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `comparativeFilter` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `whereSql`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `confectionType` --- - -DROP TABLE IF EXISTS `confectionType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `confectionType` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, - `mdbServer` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `fakeEmail` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `defaultersMaxAmount` int(10) DEFAULT '200' COMMENT 'maxima deuda permitida a partir de la cual se bloquea a un usuario', - 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 `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 `country`, - 1 AS `CEE`, - 1 AS `isUeeMember`, - 1 AS `code`, - 1 AS `currencyFk`, - 1 AS `politicalCountryFk`, - 1 AS `geoFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `cplusCorrectingType` --- - -DROP TABLE IF EXISTS `cplusCorrectingType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusCorrectingType` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusInvoiceType472` --- - -DROP TABLE IF EXISTS `cplusInvoiceType472`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusInvoiceType472` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*18) TIPO FACTURA (Asientos)SOPORTADO – DEDUCIBLE (472)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusInvoiceType477` --- - -DROP TABLE IF EXISTS `cplusInvoiceType477`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusInvoiceType477` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*18) TIPO FACTURA (Asientos)REPERCUTIDO - DEVENGADO (477)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusRectificationType` --- - -DROP TABLE IF EXISTS `cplusRectificationType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusRectificationType` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*20) TIPO RECTIFICATIVA (Asientos)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusSubjectOp` --- - -DROP TABLE IF EXISTS `cplusSubjectOp`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusSubjectOp` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*17) TIPO OPERACIÓN SUJETA/NO SUJETA (Asientos)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusTaxBreak` --- - -DROP TABLE IF EXISTS `cplusTaxBreak`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusTaxBreak` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*16) TIPO EXENCIÓN (Asientos)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusTerIdNif` --- - -DROP TABLE IF EXISTS `cplusTerIdNif`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusTerIdNif` ( - `id` int(11) NOT NULL, - `description` varchar(255) CHARACTER SET utf8 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 `cplusTrascendency472` --- - -DROP TABLE IF EXISTS `cplusTrascendency472`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusTrascendency472` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*15) CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA(Asientos)SOPORTADO – DEDUCIBLE (472)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `cplusTrascendency477` --- - -DROP TABLE IF EXISTS `cplusTrascendency477`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `cplusTrascendency477` ( - `id` int(10) unsigned NOT NULL, - `description` varchar(255) CHARACTER SET utf8 NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*15) CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA(Asientos) REPERCUTIDO - DEVENGADO (477)'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `creditClassification` --- - -DROP TABLE IF EXISTS `creditClassification`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `creditClassification` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `client` int(11) NOT NULL, - `dateStart` date NOT NULL, - `dateEnd` date DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `creditClassifClientFk_idx` (`client`), - KEY `creditClassifdateEnd_idx` (`dateEnd`), - CONSTRAINT `creditClassifClientFk` FOREIGN KEY (`client`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2649 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `vn` 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 `vn`.`creditClassification_BEFORE_UPDATE` BEFORE UPDATE ON `creditClassification` FOR EACH ROW -BEGIN - IF NEW.client <> OLD.client THEN - CALL util.throw('NOT_ALLOWED_CHANGE_CLIENT'); - END IF; - IF NEW.dateEnd IS NOT NULL AND OLD.dateEnd IS NULL THEN - UPDATE vn2008.Clientes c - SET creditInsurance = 0 WHERE c.Id_cliente = NEW.client; - 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- Table structure for table `creditInsurance` --- - -DROP TABLE IF EXISTS `creditInsurance`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `creditInsurance` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `creditClassification` int(11) DEFAULT NULL, - `credit` int(11) DEFAULT NULL, - `creationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `grade` tinyint(1) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `CreditInsurance_Fk1_idx` (`creditClassification`), - CONSTRAINT `CreditInsurance_Fk1` FOREIGN KEY (`creditClassification`) REFERENCES `creditClassification` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1720 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que tienen seguro de credito'; -/*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `vn` 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 `vn`.`creditInsurance_AFTER_INSERT` AFTER INSERT ON `creditInsurance` FOR EACH ROW -BEGIN - UPDATE vn2008.Clientes c - JOIN vn.creditClassification cc ON cc.client = c.Id_Cliente - SET creditInsurance = NEW.credit WHERE cc.id = NEW.creditClassification; - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- Temporary view structure for view `currency` --- - -DROP TABLE IF EXISTS `currency`; -/*!50001 DROP VIEW IF EXISTS `currency`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `currency` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `name`*/; -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; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `deliveryError` --- - -DROP TABLE IF EXISTS `deliveryError`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `deliveryError` ( - `ticket` int(11) NOT NULL, - `description` varchar(255) CHARACTER SET latin1 NOT NULL, - `worker` int(11) NOT NULL, - `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - KEY `errorTickets_idx` (`ticket`), - KEY `errorWorker_idx` (`worker`), - CONSTRAINT `errorTickets` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `errorWorker` FOREIGN KEY (`worker`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `deliveryMethod` --- - -DROP TABLE IF EXISTS `deliveryMethod`; -/*!50001 DROP VIEW IF EXISTS `deliveryMethod`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `deliveryMethod` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ediGenus` --- - -DROP TABLE IF EXISTS `ediGenus`; -/*!50001 DROP VIEW IF EXISTS `ediGenus`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ediGenus` AS SELECT - 1 AS `id`, - 1 AS `latinGenusName`, - 1 AS `entried`, - 1 AS `dued`, - 1 AS `modified`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ediSpecie` --- - -DROP TABLE IF EXISTS `ediSpecie`; -/*!50001 DROP VIEW IF EXISTS `ediSpecie`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ediSpecie` AS SELECT - 1 AS `id`, - 1 AS `genusFk`, - 1 AS `latinSpeciesName`, - 1 AS `entried`, - 1 AS `dued`, - 1 AS `modified`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `entity` --- - -DROP TABLE IF EXISTS `entity`; -/*!50001 DROP VIEW IF EXISTS `entity`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `entity` AS SELECT - 1 AS `countryFk`, - 1 AS `id`, - 1 AS `description`, - 1 AS `bic`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `entry` --- - -DROP TABLE IF EXISTS `entry`; -/*!50001 DROP VIEW IF EXISTS `entry`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `entry` AS SELECT - 1 AS `id`, - 1 AS `supplierFk`, - 1 AS `ref`, - 1 AS `isInventory`, - 1 AS `isConfirmed`, - 1 AS `isOrdered`, - 1 AS `isRaid`, - 1 AS `commission`, - 1 AS `created`, - 1 AS `evaNotes`, - 1 AS `travelFk`, - 1 AS `currencyFk`, - 1 AS `companyFk`, - 1 AS `gestDocFk`, - 1 AS `invoiceReceivedFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `entryLog` --- - -DROP TABLE IF EXISTS `entryLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `entryLog` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - KEY `userFk` (`userFk`), - KEY `logEntry_ibfk_1` (`originFk`), - CONSTRAINT `entryLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `entryLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=27324 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `especialPrice` --- - -DROP TABLE IF EXISTS `especialPrice`; -/*!50001 DROP VIEW IF EXISTS `especialPrice`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `especialPrice` AS SELECT - 1 AS `id`, - 1 AS `clientFk`, - 1 AS `itemFk`, - 1 AS `value`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `excuse` --- - -DROP TABLE IF EXISTS `excuse`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `excuse` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `txt` varchar(255) CHARACTER SET latin1 NOT NULL, - `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `expedition` --- - -DROP TABLE IF EXISTS `expedition`; -/*!50001 DROP VIEW IF EXISTS `expedition`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `expedition` AS SELECT - 1 AS `id`, - 1 AS `agency`, - 1 AS `agencyFk`, - 1 AS `agencyModeFk`, - 1 AS `ticket`, - 1 AS `ticketFk`, - 1 AS `isBox`, - 1 AS `printingTime`, - 1 AS `item`, - 1 AS `itemFk`, - 1 AS `counter`, - 1 AS `checked`, - 1 AS `workerFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `expence` --- - -DROP TABLE IF EXISTS `expence`; -/*!50001 DROP VIEW IF EXISTS `expence`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `expence` AS SELECT - 1 AS `id`, - 1 AS `taxTypeFk`, - 1 AS `name`, - 1 AS `isWithheld`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `firstTicketShipped` --- - -DROP TABLE IF EXISTS `firstTicketShipped`; -/*!50001 DROP VIEW IF EXISTS `firstTicketShipped`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `firstTicketShipped` AS SELECT - 1 AS `shipped`, - 1 AS `clientFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `gateArea` --- - -DROP TABLE IF EXISTS `gateArea`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `gateArea` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `name_UNIQUE` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `grant` --- - -DROP TABLE IF EXISTS `grant`; -/*!50001 DROP VIEW IF EXISTS `grant`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `grant` AS SELECT - 1 AS `group`, - 1 AS `worker`, - 1 AS `company`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `grantGroup` --- - -DROP TABLE IF EXISTS `grantGroup`; -/*!50001 DROP VIEW IF EXISTS `grantGroup`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `grantGroup` AS SELECT - 1 AS `id`, - 1 AS `description`, - 1 AS `observationType`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `greuge` --- - -DROP TABLE IF EXISTS `greuge`; -/*!50001 DROP VIEW IF EXISTS `greuge`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `greuge` AS SELECT - 1 AS `id`, - 1 AS `clientFk`, - 1 AS `description`, - 1 AS `amount`, - 1 AS `shipped`, - 1 AS `created`, - 1 AS `greugeTypeFk`, - 1 AS `ticketFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `greugeType` --- - -DROP TABLE IF EXISTS `greugeType`; -/*!50001 DROP VIEW IF EXISTS `greugeType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `greugeType` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ink` --- - -DROP TABLE IF EXISTS `ink`; -/*!50001 DROP VIEW IF EXISTS `ink`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ink` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `picture`, - 1 AS `showOrder`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `inkI18n` --- - -DROP TABLE IF EXISTS `inkI18n`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `inkI18n` ( - `inkFk` char(3) COLLATE utf8_unicode_ci NOT NULL, - `lang` char(2) CHARACTER SET utf8 NOT NULL, - `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`inkFk`,`lang`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `inkL10n` --- - -DROP TABLE IF EXISTS `inkL10n`; -/*!50001 DROP VIEW IF EXISTS `inkL10n`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `inkL10n` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `intrastat` --- - -DROP TABLE IF EXISTS `intrastat`; -/*!50001 DROP VIEW IF EXISTS `intrastat`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `intrastat` AS SELECT - 1 AS `id`, - 1 AS `description`, - 1 AS `taxClassFk`, - 1 AS `taxCodeFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceCorrection` --- - -DROP TABLE IF EXISTS `invoiceCorrection`; -/*!50001 DROP VIEW IF EXISTS `invoiceCorrection`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceCorrection` AS SELECT - 1 AS `correctingFk`, - 1 AS `correctedFk`, - 1 AS `cplusRectificationTypeFk`, - 1 AS `cplusInvoiceType477Fk`, - 1 AS `invoiceCorrectionTypeFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceCorrectionDataSource` --- - -DROP TABLE IF EXISTS `invoiceCorrectionDataSource`; -/*!50001 DROP VIEW IF EXISTS `invoiceCorrectionDataSource`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceCorrectionDataSource` AS SELECT - 1 AS `itemFk`, - 1 AS `quantity`, - 1 AS `concept`, - 1 AS `price`, - 1 AS `discount`, - 1 AS `refFk`, - 1 AS `saleFk`, - 1 AS `shipped`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `invoiceCorrectionType` --- - -DROP TABLE IF EXISTS `invoiceCorrectionType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceCorrectionType` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `description` varchar(100) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `description_UNIQUE` (`description`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `invoiceIn` --- - -DROP TABLE IF EXISTS `invoiceIn`; -/*!50001 DROP VIEW IF EXISTS `invoiceIn`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceIn` AS SELECT - 1 AS `id`, - 1 AS `serialNumber`, - 1 AS `serial`, - 1 AS `supplierFk`, - 1 AS `issued`, - 1 AS `supplierRef`, - 1 AS `isBooked`, - 1 AS `currencyFk`, - 1 AS `created`, - 1 AS `companyFk`, - 1 AS `docFk`, - 1 AS `booked`, - 1 AS `operated`, - 1 AS `cplusInvoiceType472Fk`, - 1 AS `cplusRectificationTypeFk`, - 1 AS `cplusSubjectOpFk`, - 1 AS `cplusTaxBreakFk`, - 1 AS `cplusTrascendency472Fk`, - 1 AS `bookEntried`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceInAwb` --- - -DROP TABLE IF EXISTS `invoiceInAwb`; -/*!50001 DROP VIEW IF EXISTS `invoiceInAwb`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceInAwb` AS SELECT - 1 AS `invoiceInFk`, - 1 AS `awbFk`, - 1 AS `dua`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceInDueDay` --- - -DROP TABLE IF EXISTS `invoiceInDueDay`; -/*!50001 DROP VIEW IF EXISTS `invoiceInDueDay`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceInDueDay` AS SELECT - 1 AS `id`, - 1 AS `invoiceInFk`, - 1 AS `dueDated`, - 1 AS `bankFk`, - 1 AS `amount`, - 1 AS `divisa`, - 1 AS `created`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceInEntry` --- - -DROP TABLE IF EXISTS `invoiceInEntry`; -/*!50001 DROP VIEW IF EXISTS `invoiceInEntry`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceInEntry` AS SELECT - 1 AS `id`, - 1 AS `invoiceInFk`, - 1 AS `entryFk`, - 1 AS `percentage`, - 1 AS `invoiceInAwbFk`, - 1 AS `isBooked`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceInIntrastat` --- - -DROP TABLE IF EXISTS `invoiceInIntrastat`; -/*!50001 DROP VIEW IF EXISTS `invoiceInIntrastat`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceInIntrastat` AS SELECT - 1 AS `invoiceInFk`, - 1 AS `intrastatFk`, - 1 AS `amount`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `invoiceInSerial` --- - -DROP TABLE IF EXISTS `invoiceInSerial`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceInSerial` ( - `code` varchar(2) COLLATE utf8_unicode_ci NOT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `cplusTerIdNifFk` int(11) NOT NULL DEFAULT '1', - `taxAreaFk` varchar(15) CHARACTER SET utf8 DEFAULT NULL, - PRIMARY KEY (`code`), - KEY `InvoiceInSerial_Fk1_idx` (`cplusTerIdNifFk`), - KEY `InvoiceInSerialTaxArea_idx` (`taxAreaFk`), - CONSTRAINT `InvoiceInSerialTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE, - CONSTRAINT `InvoiceInSerial_Fk1` FOREIGN KEY (`cplusTerIdNifFk`) REFERENCES `cplusTerIdNif` (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `invoiceInTax` --- - -DROP TABLE IF EXISTS `invoiceInTax`; -/*!50001 DROP VIEW IF EXISTS `invoiceInTax`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceInTax` AS SELECT - 1 AS `id`, - 1 AS `invoiceInFk`, - 1 AS `taxCodeFk`, - 1 AS `taxableBase`, - 1 AS `expenceFk`, - 1 AS `foreignValue`, - 1 AS `created`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `invoiceOut` --- - -DROP TABLE IF EXISTS `invoiceOut`; -/*!50001 DROP VIEW IF EXISTS `invoiceOut`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `invoiceOut` AS SELECT - 1 AS `id`, - 1 AS `ref`, - 1 AS `serial`, - 1 AS `issued`, - 1 AS `amount`, - 1 AS `clientFk`, - 1 AS `created`, - 1 AS `companyFk`, - 1 AS `dued`, - 1 AS `booked`, - 1 AS `cplusInvoiceType477Fk`, - 1 AS `cplusTaxBreakFk`, - 1 AS `cplusSubjectOpFk`, - 1 AS `cplusTrascendency477Fk`, - 1 AS `pdf`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `invoiceOutExpence` --- - -DROP TABLE IF EXISTS `invoiceOutExpence`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceOutExpence` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `invoiceOutFk` int(10) unsigned NOT NULL, - `amount` decimal(10,2) NOT NULL DEFAULT '0.00', - `expenceFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - UNIQUE KEY `invoiceOutExpence_restriccion` (`expenceFk`,`invoiceOutFk`), - KEY `invoiceOutExpence_FK_1_idx` (`invoiceOutFk`), - KEY `invoiceOutExpence_FK_2_idx` (`expenceFk`), - CONSTRAINT `invoiceOutExpence_FK_1` FOREIGN KEY (`invoiceOutFk`) REFERENCES `vn2008`.`Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `invoiceOutExpence_FK_2` FOREIGN KEY (`expenceFk`) REFERENCES `vn2008`.`Gastos` (`Id_Gasto`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=48717 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Desglosa la base imponible de una factura en funcion del tipo de gasto/venta'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `invoiceOutSerial` --- - -DROP TABLE IF EXISTS `invoiceOutSerial`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceOutSerial` ( - `code` varchar(2) COLLATE utf8_unicode_ci NOT NULL, - `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `isTaxed` tinyint(1) NOT NULL DEFAULT '1', - `taxAreaFk` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT 'NATIONAL', - `isCEE` tinyint(1) NOT NULL DEFAULT '0', - `cplusInvoiceType477Fk` int(10) unsigned DEFAULT '1', - PRIMARY KEY (`code`), - KEY `taxAreaFk_idx` (`taxAreaFk`), - CONSTRAINT `invoiceOutSeriaTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `invoiceOutTax` --- - -DROP TABLE IF EXISTS `invoiceOutTax`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `invoiceOutTax` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `invoiceOutFk` int(10) unsigned NOT NULL, - `taxableBase` decimal(10,2) NOT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `vat` decimal(10,2) NOT NULL DEFAULT '0.00', - `pgcFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0000000000', - PRIMARY KEY (`id`), - UNIQUE KEY `invoiceOutTax_Resctriccion` (`invoiceOutFk`,`pgcFk`), - KEY `invoiceOutFk_idx` (`invoiceOutFk`), - KEY `pgcFk` (`pgcFk`), - CONSTRAINT `invoiceOutFk` FOREIGN KEY (`invoiceOutFk`) REFERENCES `vn2008`.`Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `invoiceOutTax_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=867170 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `item` --- - -DROP TABLE IF EXISTS `item`; -/*!50001 DROP VIEW IF EXISTS `item`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `item` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `typeFk`, - 1 AS `size`, - 1 AS `inkFk`, - 1 AS `category`, - 1 AS `stems`, - 1 AS `originFk`, - 1 AS `description`, - 1 AS `producerFk`, - 1 AS `intrastatFk`, - 1 AS `isOnOffer`, - 1 AS `expenceFk`, - 1 AS `isBargain`, - 1 AS `comment`, - 1 AS `relevancy`, - 1 AS `image`, - 1 AS `taxClassFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `itemBarcode` --- - -DROP TABLE IF EXISTS `itemBarcode`; -/*!50001 DROP VIEW IF EXISTS `itemBarcode`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemBarcode` AS SELECT - 1 AS `id`, - 1 AS `itemFk`, - 1 AS `code`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `itemBotanical` --- - -DROP TABLE IF EXISTS `itemBotanical`; -/*!50001 DROP VIEW IF EXISTS `itemBotanical`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemBotanical` AS SELECT - 1 AS `itemFk`, - 1 AS `botanical`, - 1 AS `genusFk`, - 1 AS `specieFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `itemBotanicalWithGenus` --- - -DROP TABLE IF EXISTS `itemBotanicalWithGenus`; -/*!50001 DROP VIEW IF EXISTS `itemBotanicalWithGenus`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemBotanicalWithGenus` AS SELECT - 1 AS `itemFk`, - 1 AS `ediBotanic`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `itemCategory` --- - -DROP TABLE IF EXISTS `itemCategory`; -/*!50001 DROP VIEW IF EXISTS `itemCategory`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemCategory` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `display`, - 1 AS `color`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemCategoryI18n` --- - -DROP TABLE IF EXISTS `itemCategoryI18n`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemCategoryI18n` ( - `categoryFk` int(10) unsigned NOT NULL, - `lang` char(2) CHARACTER SET utf8 NOT NULL, - `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`categoryFk`,`lang`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `itemCategoryL10n` --- - -DROP TABLE IF EXISTS `itemCategoryL10n`; -/*!50001 DROP VIEW IF EXISTS `itemCategoryL10n`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemCategoryL10n` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemConversor` --- - -DROP TABLE IF EXISTS `itemConversor`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemConversor` ( - `espItemFk` int(11) NOT NULL, - `genItemFk` int(11) DEFAULT NULL, - PRIMARY KEY (`espItemFk`), - KEY `itemConversor_fk2_idx` (`genItemFk`), - CONSTRAINT `itemConversor_fk1` FOREIGN KEY (`espItemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `itemConversor_fk2` FOREIGN KEY (`genItemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona los item específicos con los genéricos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `itemLog` --- - -DROP TABLE IF EXISTS `itemLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemLog` ( - `id` int(11) NOT NULL DEFAULT '0', - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - KEY `itemLogItemFk_idx` (`originFk`), - KEY `itemLogUserFk_idx` (`userFk`), - CONSTRAINT `itemLogItemFk` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `itemLogUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION 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 `itemPlacement` --- - -DROP TABLE IF EXISTS `itemPlacement`; -/*!50001 DROP VIEW IF EXISTS `itemPlacement`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemPlacement` AS SELECT - 1 AS `itemFk`, - 1 AS `warehouseFk`, - 1 AS `code`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemTag` --- - -DROP TABLE IF EXISTS `itemTag`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemTag` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `itemFk` int(11) NOT NULL, - `tagFk` int(11) NOT NULL, - `value` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `priority` int(2) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - KEY `priorityItem` (`itemFk`,`priority`), - KEY `tagFk` (`tagFk`,`value`), - CONSTRAINT `itemFK` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=14418 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `itemTagArranged` --- - -DROP TABLE IF EXISTS `itemTagArranged`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemTagArranged` ( - `itemFk` int(11) NOT NULL, - `tag1` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val1` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `tag2` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val2` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `tag3` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val3` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `tag4` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val4` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `tag5` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val5` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `tag6` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `val6` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`itemFk`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Cache de columnas de características de artículo'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `itemTagged` --- - -DROP TABLE IF EXISTS `itemTagged`; -/*!50001 DROP VIEW IF EXISTS `itemTagged`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemTagged` AS SELECT - 1 AS `itemFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemTaxCountry` --- - -DROP TABLE IF EXISTS `itemTaxCountry`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemTaxCountry` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `itemFk` int(11) DEFAULT NULL, - `countryFk` mediumint(8) unsigned DEFAULT NULL, - `taxClassFk` tinyint(3) unsigned NOT NULL DEFAULT '1', - `effectived` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `taxClassFK_idx` (`taxClassFk`), - KEY `countryFK_paises_idx` (`countryFk`), - KEY `itemFK_Article_idx` (`itemFk`), - CONSTRAINT `countryFK_paises` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON UPDATE CASCADE, - CONSTRAINT `itemFK_Article` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `taxClassFK_Iva_Group` FOREIGN KEY (`taxClassFk`) REFERENCES `vn2008`.`iva_group` (`iva_group_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=444713 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define la clase de iva por artículo y pais'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `itemType` --- - -DROP TABLE IF EXISTS `itemType`; -/*!50001 DROP VIEW IF EXISTS `itemType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemType` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `name`, - 1 AS `categoryFk`, - 1 AS `life`, - 1 AS `workerFk`, - 1 AS `isPackaging`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemTypeI18n` --- - -DROP TABLE IF EXISTS `itemTypeI18n`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemTypeI18n` ( - `typeFk` smallint(5) unsigned NOT NULL, - `lang` char(2) CHARACTER SET utf8 NOT NULL, - `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`typeFk`,`lang`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `itemTypeL10n` --- - -DROP TABLE IF EXISTS `itemTypeL10n`; -/*!50001 DROP VIEW IF EXISTS `itemTypeL10n`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `itemTypeL10n` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `itemVerdecora` --- - -DROP TABLE IF EXISTS `itemVerdecora`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `itemVerdecora` ( - `itemFk` int(11) NOT NULL, - `codin` int(11) DEFAULT NULL, - PRIMARY KEY (`itemFk`), - CONSTRAINT `itemVerdecora_fk1` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona nuestros articulos con los de Verdecora'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `mail` --- - -DROP TABLE IF EXISTS `mail`; -/*!50001 DROP VIEW IF EXISTS `mail`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `mail` AS SELECT - 1 AS `id`, - 1 AS `senderFk`, - 1 AS `recipientFk`, - 1 AS `sender`, - 1 AS `replyTo`, - 1 AS `subject`, - 1 AS `body`, - 1 AS `plainTextBody`, - 1 AS `attachment`, - 1 AS `creationDate`, - 1 AS `sent`, - 1 AS `status`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `mailTemplates` --- - -DROP TABLE IF EXISTS `mailTemplates`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mailTemplates` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(50) CHARACTER SET utf8 NOT NULL, - `attachmentPath` text CHARACTER SET utf8 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 `manaSpellers` --- - -DROP TABLE IF EXISTS `manaSpellers`; -/*!50001 DROP VIEW IF EXISTS `manaSpellers`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `manaSpellers` AS SELECT - 1 AS `worker`, - 1 AS `size`, - 1 AS `used`, - 1 AS `pricesModifierRate`, - 1 AS `pricesModifierActivated`, - 1 AS `workerCode`, - 1 AS `firstname`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `mandate` --- - -DROP TABLE IF EXISTS `mandate`; -/*!50001 DROP VIEW IF EXISTS `mandate`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `mandate` AS SELECT - 1 AS `id`, - 1 AS `clientFk`, - 1 AS `companyFk`, - 1 AS `code`, - 1 AS `created`, - 1 AS `finished`, - 1 AS `mandateTypeFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `mandateType` --- - -DROP TABLE IF EXISTS `mandateType`; -/*!50001 DROP VIEW IF EXISTS `mandateType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `mandateType` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `manuscript` --- - -DROP TABLE IF EXISTS `manuscript`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `manuscript` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(45) CHARACTER SET utf8 NOT NULL, - `description` text COLLATE utf8_unicode_ci, - `enabled` tinyint(1) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=4 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(50) CHARACTER SET utf8 NOT NULL, - `sender` varchar(50) CHARACTER SET utf8 NOT NULL, - `recipient` varchar(50) CHARACTER SET utf8 NOT NULL, - `message` longtext CHARACTER SET utf8, - `sendDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `sender` (`sender`), - KEY `recipient` (`recipient`), - KEY `uuid` (`uuid`(8)) -) ENGINE=InnoDB AUTO_INCREMENT=1361661 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(50) CHARACTER SET utf8 NOT NULL, - `sender` varchar(50) CHARACTER SET utf8 NOT NULL, - `recipient` varchar(45) CHARACTER SET utf8 NOT NULL, - `finalRecipient` varchar(50) CHARACTER SET utf8 NOT NULL, - `message` longtext CHARACTER SET utf8, - `sendDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `read` varchar(45) CHARACTER SET utf8 NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - KEY `uuid` (`uuid`(8)), - KEY `finalRecipient` (`finalRecipient`) -) ENGINE=InnoDB AUTO_INCREMENT=1505618 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `movement` --- - -DROP TABLE IF EXISTS `movement`; -/*!50001 DROP VIEW IF EXISTS `movement`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `movement` AS SELECT - 1 AS `id`, - 1 AS `item`, - 1 AS `ticket`, - 1 AS `concept`, - 1 AS `amount`, - 1 AS `quantity`, - 1 AS `price`, - 1 AS `discount`, - 1 AS `cost`, - 1 AS `reservado`, - 1 AS `od`, - 1 AS `priceFixed`, - 1 AS `lastUpdate`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `movementkk` --- - -DROP TABLE IF EXISTS `movementkk`; -/*!50001 DROP VIEW IF EXISTS `movementkk`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `movementkk` AS SELECT - 1 AS `id`, - 1 AS `item`, - 1 AS `ticket`, - 1 AS `concept`, - 1 AS `amount`, - 1 AS `quantity`, - 1 AS `price`, - 1 AS `discount`, - 1 AS `cost`, - 1 AS `reservado`, - 1 AS `od`, - 1 AS `priceFixed`, - 1 AS `lastUpdate`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `noticeCategory` --- - -DROP TABLE IF EXISTS `noticeCategory`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `noticeCategory` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `keyName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `subject` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `description` text COLLATE utf8_unicode_ci, - `isEnabled` tinyint(1) NOT NULL DEFAULT '1', - `requiredRole` int(11) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - UNIQUE KEY `keyName_UNIQUE` (`keyName`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `noticeSubscription` --- - -DROP TABLE IF EXISTS `noticeSubscription`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `noticeSubscription` ( - `noticeCategoryFk` int(11) NOT NULL DEFAULT '0', - `userFk` int(10) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`noticeCategoryFk`,`userFk`), - KEY `noticeSubscription_ibfk_2` (`userFk`), - CONSTRAINT `noticeSubscription_ibfk_1` FOREIGN KEY (`noticeCategoryFk`) REFERENCES `noticeCategory` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `noticeSubscription_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 `observationType` --- - -DROP TABLE IF EXISTS `observationType`; -/*!50001 DROP VIEW IF EXISTS `observationType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `observationType` AS SELECT - 1 AS `id`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `origin` --- - -DROP TABLE IF EXISTS `origin`; -/*!50001 DROP VIEW IF EXISTS `origin`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `origin` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `originI18n` --- - -DROP TABLE IF EXISTS `originI18n`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `originI18n` ( - `originFk` tinyint(2) unsigned NOT NULL, - `lang` char(2) CHARACTER SET utf8 NOT NULL, - `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`originFk`,`lang`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `originL10n` --- - -DROP TABLE IF EXISTS `originL10n`; -/*!50001 DROP VIEW IF EXISTS `originL10n`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `originL10n` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `outgoingInvoice` --- - -DROP TABLE IF EXISTS `outgoingInvoice`; -/*!50001 DROP VIEW IF EXISTS `outgoingInvoice`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `outgoingInvoice` AS SELECT - 1 AS `id`, - 1 AS `serie`, - 1 AS `dateInvoice`, - 1 AS `total`, - 1 AS `dueDate`, - 1 AS `bank`, - 1 AS `client`, - 1 AS `remittance`, - 1 AS `remit`, - 1 AS `worker`, - 1 AS `creationDate`, - 1 AS `company`, - 1 AS `liquidacion?`, - 1 AS `isPdf`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `outgoingInvoiceVat` --- - -DROP TABLE IF EXISTS `outgoingInvoiceVat`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `outgoingInvoiceVat` ( - `outgoingInvoice` mediumint(8) NOT NULL, - `taxBase` decimal(12,2) DEFAULT NULL, - `equalizationTax` decimal(12,2) DEFAULT NULL, - `Vat` decimal(12,2) DEFAULT NULL, - PRIMARY KEY (`outgoingInvoice`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `package` --- - -DROP TABLE IF EXISTS `package`; -/*!50001 DROP VIEW IF EXISTS `package`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `package` AS SELECT - 1 AS `id`, - 1 AS `volume`, - 1 AS `width`, - 1 AS `height`, - 1 AS `depth`, - 1 AS `isPackageReturnable`, - 1 AS `created`, - 1 AS `itemFk`, - 1 AS `price`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `packageEquivalent` --- - -DROP TABLE IF EXISTS `packageEquivalent`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `packageEquivalent` ( - `packageFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `equivalentFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`packageFk`,`equivalentFk`), - KEY `packageEquivalent_fk2_idx` (`equivalentFk`), - CONSTRAINT `packageEquivalent_fk1` FOREIGN KEY (`packageFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `packageEquivalent_fk2` FOREIGN KEY (`equivalentFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='recoge los modelos de cubos que se han de sustituir a efectos de presentar informes resumidos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `packageEquivalentItem` --- - -DROP TABLE IF EXISTS `packageEquivalentItem`; -/*!50001 DROP VIEW IF EXISTS `packageEquivalentItem`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `packageEquivalentItem` AS SELECT - 1 AS `itemFk`, - 1 AS `equivalentFk`*/; -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 `payment` --- - -DROP TABLE IF EXISTS `payment`; -/*!50001 DROP VIEW IF EXISTS `payment`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `payment` AS SELECT - 1 AS `id`, - 1 AS `received`, - 1 AS `supplierFk`, - 1 AS `amount`, - 1 AS `currencyFk`, - 1 AS `divisa`, - 1 AS `bankFk`, - 1 AS `payMethod`, - 1 AS `companyFk`, - 1 AS `paymentExchangeInsuranceFk`, - 1 AS `isConciliate`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `paymentExchangeInsurance` --- - -DROP TABLE IF EXISTS `paymentExchangeInsurance`; -/*!50001 DROP VIEW IF EXISTS `paymentExchangeInsurance`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `paymentExchangeInsurance` AS SELECT - 1 AS `id`, - 1 AS `amount`, - 1 AS `created`, - 1 AS `dueDay`, - 1 AS `entityFk`, - 1 AS `ref`, - 1 AS `rate`, - 1 AS `companyFk`, - 1 AS `financialProductTypefk`, - 1 AS `upperBarrier`, - 1 AS `lowerBarrier`, - 1 AS `strike`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `payrollCenter` --- - -DROP TABLE IF EXISTS `payrollCenter`; -/*!50001 DROP VIEW IF EXISTS `payrollCenter`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `payrollCenter` AS SELECT - 1 AS `codCenter`, - 1 AS `name`, - 1 AS `nss`, - 1 AS `street`, - 1 AS `city`, - 1 AS `postcode`, - 1 AS `companyFk`, - 1 AS `companyCode`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `person` --- - -DROP TABLE IF EXISTS `person`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `person` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `firstname` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, - `surnames` varchar(60) COLLATE utf8_unicode_ci NOT NULL, - `fi` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `birth` date DEFAULT NULL, - `readerId` int(11) DEFAULT NULL, - `workerFk` int(11) DEFAULT NULL, - `isDisable` tinyint(1) NOT NULL DEFAULT '0', - `isFreelance` tinyint(1) NOT NULL DEFAULT '0', - `isSsDiscounted` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - UNIQUE KEY `nif` (`fi`), - KEY `nifIndex` (`fi`), - KEY `workerFk_idx` (`workerFk`) -) ENGINE=InnoDB AUTO_INCREMENT=818 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `pgc` --- - -DROP TABLE IF EXISTS `pgc`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pgc` ( - `code` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `rate` decimal(10,2) NOT NULL, - `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `cplusTaxBreakFk` int(10) unsigned DEFAULT '1', - `mod340` tinyint(1) NOT NULL DEFAULT '0', - `mod347` tinyint(1) NOT NULL DEFAULT '0', - `cplusTrascendency477Fk` int(10) unsigned DEFAULT '1', - PRIMARY KEY (`code`), - KEY `pgc_fk1_idx` (`cplusTaxBreakFk`), - KEY `pgc_fk2_idx` (`cplusTrascendency477Fk`), - CONSTRAINT `pgc_fk1` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `cplusTaxBreak` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pgc_fk2` FOREIGN KEY (`cplusTrascendency477Fk`) REFERENCES `cplusTrascendency477` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Plan General Contable'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `pgcEqu` --- - -DROP TABLE IF EXISTS `pgcEqu`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pgcEqu` ( - `vatFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Cuenta de IVA', - `equFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Cuenta de recargo de equivalencia', - PRIMARY KEY (`vatFk`,`equFk`), - KEY `pgcEqu_fk2_idx` (`equFk`), - CONSTRAINT `pgcEqu_fk1` FOREIGN KEY (`vatFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `pgcEqu_fk2` FOREIGN KEY (`equFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Recoge las cuentas contables con recargo de equivalencia e identifica a la que corresponde al iva y la que corresponde al recargo'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `plantpassport` --- - -DROP TABLE IF EXISTS `plantpassport`; -/*!50001 DROP VIEW IF EXISTS `plantpassport`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `plantpassport` AS SELECT - 1 AS `producerFk`, - 1 AS `plantpassportAuthorityFk`, - 1 AS `number`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `plantpassportAuthority` --- - -DROP TABLE IF EXISTS `plantpassportAuthority`; -/*!50001 DROP VIEW IF EXISTS `plantpassportAuthority`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `plantpassportAuthority` AS SELECT - 1 AS `id`, - 1 AS `denomination`, - 1 AS `countryFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `postCode` --- - -DROP TABLE IF EXISTS `postCode`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `postCode` ( - `code` char(5) COLLATE utf8_unicode_ci NOT NULL, - `townFk` int(11) NOT NULL, - `geoFk` int(11) DEFAULT NULL, - PRIMARY KEY (`code`,`townFk`), - KEY `postCodeTownFk_idx` (`townFk`), - CONSTRAINT `postCodeTownFk` FOREIGN KEY (`townFk`) REFERENCES `town` (`id`) ON DELETE NO ACTION 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 `priceFixed` --- - -DROP TABLE IF EXISTS `priceFixed`; -/*!50001 DROP VIEW IF EXISTS `priceFixed`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `priceFixed` AS SELECT - 1 AS `itemFk`, - 1 AS `rate0`, - 1 AS `rate1`, - 1 AS `rate2`, - 1 AS `rate3`, - 1 AS `started`, - 1 AS `ended`, - 1 AS `bonus`, - 1 AS `warehouseFk`, - 1 AS `created`, - 1 AS `id`, - 1 AS `grouping`, - 1 AS `packing`, - 1 AS `box`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `printServerQueue` --- - -DROP TABLE IF EXISTS `printServerQueue`; -/*!50001 DROP VIEW IF EXISTS `printServerQueue`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `printServerQueue` AS SELECT - 1 AS `id`, - 1 AS `printerFk`, - 1 AS `priorityFk`, - 1 AS `reportFk`, - 1 AS `statusFk`, - 1 AS `started`, - 1 AS `finished`, - 1 AS `param1`, - 1 AS `workerFk`, - 1 AS `param2`, - 1 AS `param3`, - 1 AS `error`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `printingQueue` --- - -DROP TABLE IF EXISTS `printingQueue`; -/*!50001 DROP VIEW IF EXISTS `printingQueue`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `printingQueue` AS SELECT - 1 AS `id`, - 1 AS `printer`, - 1 AS `priority`, - 1 AS `report`, - 1 AS `state`, - 1 AS `startingTime`, - 1 AS `endingTime`, - 1 AS `text`, - 1 AS `worker`, - 1 AS `text2`, - 1 AS `text3`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `producer` --- - -DROP TABLE IF EXISTS `producer`; -/*!50001 DROP VIEW IF EXISTS `producer`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `producer` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `profile` --- - -DROP TABLE IF EXISTS `profile`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `profile` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `personFk` int(11) DEFAULT NULL, - `profileTypeFk` int(11) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - KEY `personFk` (`personFk`), - KEY `profileTypeFk` (`profileTypeFk`), - CONSTRAINT `profile_ibfk_1` FOREIGN KEY (`personFk`) REFERENCES `person` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `profile_ibfk_2` FOREIGN KEY (`profileTypeFk`) REFERENCES `profileType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=697 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `profileType` --- - -DROP TABLE IF EXISTS `profileType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `profileType` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `promissoryNote` --- - -DROP TABLE IF EXISTS `promissoryNote`; -/*!50001 DROP VIEW IF EXISTS `promissoryNote`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `promissoryNote` AS SELECT - 1 AS `id`, - 1 AS `Concept`, - 1 AS `paymentFk`*/; -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`, - 1 AS `geoFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `receipt` --- - -DROP TABLE IF EXISTS `receipt`; -/*!50001 DROP VIEW IF EXISTS `receipt`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `receipt` AS SELECT - 1 AS `Id`, - 1 AS `invoiceFk`, - 1 AS `amountPaid`, - 1 AS `amountUnpaid`, - 1 AS `payed`, - 1 AS `workerFk`, - 1 AS `bankFk`, - 1 AS `clientFk`, - 1 AS `created`, - 1 AS `companyFk`, - 1 AS `isConciliate`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `referenceRate` --- - -DROP TABLE IF EXISTS `referenceRate`; -/*!50001 DROP VIEW IF EXISTS `referenceRate`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `referenceRate` AS SELECT - 1 AS `currencyFk`, - 1 AS `dated`, - 1 AS `value`*/; -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 `hasLogin`*/; -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 `workerFk`, - 1 AS `created`, - 1 AS `vehicleFk`, - 1 AS `agencyModeFk`, - 1 AS `time`, - 1 AS `isOk`, - 1 AS `kmStart`, - 1 AS `kmEnd`, - 1 AS `started`, - 1 AS `finished`, - 1 AS `gestdocFk`, - 1 AS `cost`, - 1 AS `m3`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `routeGate` --- - -DROP TABLE IF EXISTS `routeGate`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `routeGate` ( - `deviceId` varchar(30) CHARACTER SET utf8 NOT NULL, - `displayText` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `status` set('idle','doing','done','') CHARACTER SET utf8 DEFAULT 'idle', - `gateAreaFk` int(11) NOT NULL DEFAULT '1', - `routeFk` int(11) DEFAULT NULL, - `freeTickets` int(11) DEFAULT NULL, - `expeditions` int(11) DEFAULT NULL, - `scanned` int(11) DEFAULT NULL, - `flag` blob, - `pallets` int(11) DEFAULT NULL, - `lastScanned` datetime DEFAULT NULL, - PRIMARY KEY (`deviceId`), - UNIQUE KEY `routeFk_UNIQUE` (`routeFk`), - KEY `routeGate_fk1_idx` (`gateAreaFk`) -) ENGINE=InnoDB 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 `vn`.`routeGateBeforeUpdate` - BEFORE UPDATE ON `routeGate` - FOR EACH ROW -BEGIN - IF (NOT (NEW.expeditions <=> OLD.expeditions) - OR NOT (NEW.scanned <=> OLD.scanned)) - AND NEW.status <=> OLD.status - THEN - IF NEW.expeditions = 0 - THEN - SET NEW.status = 'idle'; - ELSEIF NEW.expeditions = NEW.scanned - THEN - SET NEW.status = 'done'; - ELSE - SET NEW.status = 'doing'; - 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 */ ; - --- --- Table structure for table `routeLog` --- - -DROP TABLE IF EXISTS `routeLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `routeLog` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=350028 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `routesControl` --- - -DROP TABLE IF EXISTS `routesControl`; -/*!50001 DROP VIEW IF EXISTS `routesControl`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `routesControl` AS SELECT - 1 AS `routeFk`, - 1 AS `expeditions`, - 1 AS `scanned`, - 1 AS `pallets`, - 1 AS `lastScanned`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `sale` --- - -DROP TABLE IF EXISTS `sale`; -/*!50001 DROP VIEW IF EXISTS `sale`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `sale` 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`, - 1 AS `created`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `saleComponent` --- - -DROP TABLE IF EXISTS `saleComponent`; -/*!50001 DROP VIEW IF EXISTS `saleComponent`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `saleComponent` AS SELECT - 1 AS `saleFk`, - 1 AS `componentFk`, - 1 AS `value`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `sms` --- - -DROP TABLE IF EXISTS `sms`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sms` ( - `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, - `senderFk` int(11) NOT NULL, - `destinationFk` int(11) DEFAULT NULL, - `sender` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '693474205', - `destination` varchar(15) CHARACTER SET utf8 NOT NULL, - `message` varchar(160) COLLATE utf8_unicode_ci NOT NULL, - `statusCode` smallint(9) NOT NULL DEFAULT '0', - `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=88555 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `smsConfig` --- - -DROP TABLE IF EXISTS `smsConfig`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `smsConfig` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `uri` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `user` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `password` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `title` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='SMS configuration parameters'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `solunionCAP` --- - -DROP TABLE IF EXISTS `solunionCAP`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `solunionCAP` ( - `creditInsurance` int(11) NOT NULL, - `dateStart` date NOT NULL, - `dateEnd` date NOT NULL, - `dateLeaving` date DEFAULT NULL, - PRIMARY KEY (`creditInsurance`,`dateStart`), - KEY `solunionCAPdateLeavingIdx` (`dateLeaving`), - CONSTRAINT `solunionCAP` FOREIGN KEY (`creditInsurance`) REFERENCES `creditInsurance` (`id`) 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 `vn` 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 `vn`.`solunionCAP_AFTER_INSERT` AFTER INSERT ON `solunionCAP` FOR EACH ROW -BEGIN - UPDATE vn2008.Clientes c - JOIN creditClassification cc ON c.Id_Cliente = cc.client - JOIN creditInsurance ci ON ci.creditClassification = cc.id - SET creditInsurance = ci.credit * 2 WHERE ci.id = NEW.creditInsurance; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -ALTER DATABASE `vn` 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 `vn`.`solunionCAP_AFTER_UPDATE` AFTER UPDATE ON `solunionCAP` FOR EACH ROW -BEGIN - IF NEW.dateLeaving IS NOT NULL THEN - UPDATE vn2008.Clientes c - JOIN creditClassification cc ON c.Id_Cliente = cc.client - JOIN creditInsurance ci ON ci.creditClassification = cc.id - SET creditInsurance = ci.credit WHERE ci.id = OLD.creditInsurance; - ELSE - UPDATE vn2008.Clientes c - JOIN creditClassification cc ON c.Id_Cliente = cc.client - JOIN creditInsurance ci ON ci.creditClassification = cc.id - SET creditInsurance = ci.credit * 2 WHERE ci.id = OLD.creditInsurance; - 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -ALTER DATABASE `vn` 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 `vn`.`solunionCAP_BEFORE_DELETE` BEFORE DELETE ON `solunionCAP` FOR EACH ROW -BEGIN - UPDATE vn2008.Clientes c - JOIN creditClassification cc ON c.Id_Cliente = cc.client - JOIN creditInsurance ci ON ci.creditClassification = cc.id - SET creditInsurance = ci.credit WHERE ci.id = OLD.creditInsurance; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- 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; - --- --- Table structure for table `stockBuyed` --- - -DROP TABLE IF EXISTS `stockBuyed`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `stockBuyed` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `user` int(10) unsigned DEFAULT NULL, - `buyed` decimal(10,2) DEFAULT NULL, - `date` date DEFAULT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `reserved` decimal(10,2) DEFAULT NULL, - `requested` decimal(10,2) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `date_UNIQUE` (`date`,`user`), - KEY `stockBuyed_user_idx` (`user`), - CONSTRAINT `stockBuyedUserFk` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=238454 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `supplier` --- - -DROP TABLE IF EXISTS `supplier`; -/*!50001 DROP VIEW IF EXISTS `supplier`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `supplier` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `account`, - 1 AS `countryFk`, - 1 AS `nif`, - 1 AS `isFarmer`, - 1 AS `retAccount`, - 1 AS `commission`, - 1 AS `created`, - 1 AS `postcodeFk`, - 1 AS `isActive`, - 1 AS `street`, - 1 AS `city`, - 1 AS `provinceFk`, - 1 AS `postCode`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `supplierAccount` --- - -DROP TABLE IF EXISTS `supplierAccount`; -/*!50001 DROP VIEW IF EXISTS `supplierAccount`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `supplierAccount` AS SELECT - 1 AS `id`, - 1 AS `supplierFk`, - 1 AS `iban`, - 1 AS `bankEntityFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `tag` --- - -DROP TABLE IF EXISTS `tag`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tag` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(25) CHARACTER SET utf8 NOT NULL, - `free` tinyint(1) NOT NULL DEFAULT '1', - `isQuantitatif` tinyint(4) NOT NULL DEFAULT '1', - `sourceTable` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `unit` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=67 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Categorias para etiquetar los productos'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tagI18n` --- - -DROP TABLE IF EXISTS `tagI18n`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tagI18n` ( - `tagFk` int(10) unsigned NOT NULL, - `lang` char(2) CHARACTER SET utf8 NOT NULL, - `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`tagFk`,`lang`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `tagL10n` --- - -DROP TABLE IF EXISTS `tagL10n`; -/*!50001 DROP VIEW IF EXISTS `tagL10n`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `tagL10n` AS SELECT - 1 AS `id`, - 1 AS `name`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `taxArea` --- - -DROP TABLE IF EXISTS `taxArea`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `taxArea` ( - `code` varchar(15) CHARACTER SET utf8 NOT NULL, - `ClaveOperacionFactura` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `CodigoTransaccion` int(2) DEFAULT NULL, - PRIMARY KEY (`code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `taxClass` --- - -DROP TABLE IF EXISTS `taxClass`; -/*!50001 DROP VIEW IF EXISTS `taxClass`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `taxClass` AS SELECT - 1 AS `id`, - 1 AS `description`, - 1 AS `code`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `taxClassCode` --- - -DROP TABLE IF EXISTS `taxClassCode`; -/*!50001 DROP VIEW IF EXISTS `taxClassCode`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `taxClassCode` AS SELECT - 1 AS `taxClassFk`, - 1 AS `effectived`, - 1 AS `taxCodeFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `taxCode` --- - -DROP TABLE IF EXISTS `taxCode`; -/*!50001 DROP VIEW IF EXISTS `taxCode`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `taxCode` AS SELECT - 1 AS `id`, - 1 AS `dated`, - 1 AS `code`, - 1 AS `taxTypeFk`, - 1 AS `rate`, - 1 AS `equalizationTax`, - 1 AS `type`, - 1 AS `link`, - 1 AS `isActive`, - 1 AS `updated`, - 1 AS `transactionCode`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `taxType` --- - -DROP TABLE IF EXISTS `taxType`; -/*!50001 DROP VIEW IF EXISTS `taxType`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `taxType` AS SELECT - 1 AS `id`, - 1 AS `nickname`, - 1 AS `isAccrued`, - 1 AS `serial`, - 1 AS `TIPOOPE`, - 1 AS `description`, - 1 AS `countryFk`*/; -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 `clientFk`, - 1 AS `warehouseFk`, - 1 AS `shipped`, - 1 AS `landed`, - 1 AS `nickname`, - 1 AS `refFk`, - 1 AS `addressFk`, - 1 AS `location`, - 1 AS `solution`, - 1 AS `routeFk`, - 1 AS `companyFk`, - 1 AS `agencyModeFk`, - 1 AS `priority`, - 1 AS `packages`, - 1 AS `created`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `ticketLog` --- - -DROP TABLE IF EXISTS `ticketLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticketLog` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete','select') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - KEY `logTicketoriginFk` (`originFk`), - KEY `logTicketuserFk` (`userFk`), - CONSTRAINT `ticketLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticketLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=359090 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 `vn`.`ticketLog_AFTER_INSERT` AFTER INSERT ON `ticketLog` FOR EACH ROW -BEGIN - DECLARE vActionId INT DEFAULT 84; - DECLARE vWorkerFk INT; - DECLARE vWebWorkerFk INT DEFAULT 4; - - SELECT id INTO vWorkerFk - FROM worker w - WHERE w.userFk = NEW.userFk; - - IF ISNULL(vWorkerFk) THEN - SET vWorkerFk = vWebWorkerFk; - END IF; - - INSERT INTO vn2008.Tickets_dits(idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) - VALUES (vActionId, vWorkerFk, NEW.originFk, NULL, 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 */ ; - --- --- Temporary view structure for view `ticketObservation` --- - -DROP TABLE IF EXISTS `ticketObservation`; -/*!50001 DROP VIEW IF EXISTS `ticketObservation`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticketObservation` AS SELECT - 1 AS `id`, - 1 AS `ticketFk`, - 1 AS `observationTypeFk`, - 1 AS `description`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `ticketPackage` --- - -DROP TABLE IF EXISTS `ticketPackage`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticketPackage` ( - `ticket` int(11) NOT NULL, - `counter` int(10) unsigned NOT NULL DEFAULT '0', - PRIMARY KEY (`ticket`), - CONSTRAINT `ticketPackage_ticketFk` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) 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 `ticketPackaging` --- - -DROP TABLE IF EXISTS `ticketPackaging`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticketPackaging` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `ticketFk` int(11) NOT NULL, - `packagingFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `quantity` int(10) DEFAULT '0', - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `pvp` double DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `ticketPackaging_fk1_idx` (`ticketFk`), - KEY `ticketPackaging_fk2_idx` (`packagingFk`), - CONSTRAINT `ticketPackaging_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticketPackaging_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8491 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `ticketPackagingStartingStock` --- - -DROP TABLE IF EXISTS `ticketPackagingStartingStock`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticketPackagingStartingStock` ( - `clientFk` int(11) NOT NULL, - `packagingFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `itemFk` int(11) NOT NULL, - `sent` int(11) DEFAULT NULL, - `returned` int(11) DEFAULT NULL, - PRIMARY KEY (`clientFk`,`packagingFk`), - KEY `ticketPackagingStartingStock_fk2_idx` (`packagingFk`), - KEY `ticketPackagingStartingStock_fk3_idx` (`itemFk`), - CONSTRAINT `ticketPackagingStartingStock_fk1` FOREIGN KEY (`clientFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticketPackagingStartingStock_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticketPackagingStartingStock_fk3` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) 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 `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 `updated`, - 1 AS `stateFk`, - 1 AS `workerFk`, - 1 AS `ticketFk`, - 1 AS `state`, - 1 AS `productionOrder`, - 1 AS `alertLevel`, - 1 AS `code`, - 1 AS `ticket`, - 1 AS `worker`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ticketStateToday` --- - -DROP TABLE IF EXISTS `ticketStateToday`; -/*!50001 DROP VIEW IF EXISTS `ticketStateToday`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticketStateToday` AS SELECT - 1 AS `ticket`, - 1 AS `state`, - 1 AS `productionOrder`, - 1 AS `alertLevel`, - 1 AS `worker`, - 1 AS `code`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ticketTracking` --- - -DROP TABLE IF EXISTS `ticketTracking`; -/*!50001 DROP VIEW IF EXISTS `ticketTracking`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticketTracking` AS SELECT - 1 AS `id`, - 1 AS `stateFk`, - 1 AS `created`, - 1 AS `ticketFk`, - 1 AS `workerFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `ticketTrolley` --- - -DROP TABLE IF EXISTS `ticketTrolley`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticketTrolley` ( - `ticket` int(11) NOT NULL, - `labelCount` int(11) NOT NULL DEFAULT '0', - PRIMARY KEY (`ticket`), - CONSTRAINT `fk_ticketTrolley_vs_ticket` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) 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 `time` --- - -DROP TABLE IF EXISTS `time`; -/*!50001 DROP VIEW IF EXISTS `time`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `time` AS SELECT - 1 AS `dated`, - 1 AS `period`, - 1 AS `month`, - 1 AS `year`, - 1 AS `day`, - 1 AS `week`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `town` --- - -DROP TABLE IF EXISTS `town`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `town` ( - `id` int(11) NOT NULL, - `name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, - `provinceFk` smallint(6) unsigned NOT NULL, - `geoFk` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `townProvinceFk_idx` (`provinceFk`), - CONSTRAINT `townProvinceFk` FOREIGN KEY (`provinceFk`) REFERENCES `vn2008`.`province` (`province_id`) ON DELETE NO ACTION 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 `travel` --- - -DROP TABLE IF EXISTS `travel`; -/*!50001 DROP VIEW IF EXISTS `travel`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `travel` AS SELECT - 1 AS `id`, - 1 AS `shipped`, - 1 AS `shipmentHour`, - 1 AS `landed`, - 1 AS `landingHour`, - 1 AS `warehouseInFk`, - 1 AS `warehouseOutFk`, - 1 AS `agencyFk`, - 1 AS `ref`, - 1 AS `isDelivered`, - 1 AS `isReceived`, - 1 AS `m3`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `travelObservation` --- - -DROP TABLE IF EXISTS `travelObservation`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `travelObservation` ( - `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(11) NOT NULL, - `description` text COLLATE utf8_unicode_ci NOT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de travel'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `unary` --- - -DROP TABLE IF EXISTS `unary`; -/*!50001 DROP VIEW IF EXISTS `unary`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `unary` AS SELECT - 1 AS `id`, - 1 AS `parent`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `unaryScan` --- - -DROP TABLE IF EXISTS `unaryScan`; -/*!50001 DROP VIEW IF EXISTS `unaryScan`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `unaryScan` AS SELECT - 1 AS `unaryFk`, - 1 AS `name`, - 1 AS `created`, - 1 AS `type`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `unaryScanLine` --- - -DROP TABLE IF EXISTS `unaryScanLine`; -/*!50001 DROP VIEW IF EXISTS `unaryScanLine`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `unaryScanLine` AS SELECT - 1 AS `id`, - 1 AS `code`, - 1 AS `created`, - 1 AS `unaryScanFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `unaryScanLineBuy` --- - -DROP TABLE IF EXISTS `unaryScanLineBuy`; -/*!50001 DROP VIEW IF EXISTS `unaryScanLineBuy`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `unaryScanLineBuy` AS SELECT - 1 AS `unaryScanLineFk`, - 1 AS `itemFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `unaryScanLineExpedition` --- - -DROP TABLE IF EXISTS `unaryScanLineExpedition`; -/*!50001 DROP VIEW IF EXISTS `unaryScanLineExpedition`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `unaryScanLineExpedition` AS SELECT - 1 AS `unaryScanLineFk`, - 1 AS `expeditionFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `user` --- - -DROP TABLE IF EXISTS `user`; -/*!50001 DROP VIEW IF EXISTS `user`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `user` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `password`, - 1 AS `role`, - 1 AS `active`, - 1 AS `recoverPass`, - 1 AS `lastPassChange`*/; -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 `isInventory`, - 1 AS `isComparative`, - 1 AS `hasComission`, - 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; - --- --- Table structure for table `workCenter` --- - -DROP TABLE IF EXISTS `workCenter`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workCenter` ( - `id` int(11) NOT NULL DEFAULT '0', - `name` varchar(255) DEFAULT NULL, - `payrollCenterFk` int(11) DEFAULT NULL, - `counter` bigint(20) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -/*!40101 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 `workerCode`, - 1 AS `firstName`, - 1 AS `name`, - 1 AS `userFk`, - 1 AS `phone`, - 1 AS `bossFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `workerDocument` --- - -DROP TABLE IF EXISTS `workerDocument`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workerDocument` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `worker` int(10) unsigned DEFAULT NULL, - `document` int(11) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `workerDocument_ibfk_1` (`worker`), - KEY `workerDocument_ibfk_2` (`document`), - CONSTRAINT `workerDocument_ibfk_1` FOREIGN KEY (`worker`) REFERENCES `vn2008`.`Trabajadores` (`user_id`) ON UPDATE CASCADE, - CONSTRAINT `workerDocument_ibfk_2` FOREIGN KEY (`document`) REFERENCES `vn2008`.`gestdoc` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3391 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `workerLog` --- - -DROP TABLE IF EXISTS `workerLog`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workerLog` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `originFk` int(11) NOT NULL, - `userFk` int(10) unsigned NOT NULL, - `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, - `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, - `description` text COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`), - KEY `workerFk_idx` (`originFk`), - KEY `userFk_idx` (`userFk`), - CONSTRAINT `userFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `workerFk` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=1300 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `workerTeam` --- - -DROP TABLE IF EXISTS `workerTeam`; -/*!50001 DROP VIEW IF EXISTS `workerTeam`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `workerTeam` AS SELECT - 1 AS `team`, - 1 AS `user`, - 1 AS `id`, - 1 AS `Id_Trabajador`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `workerTeam_kk` --- - -DROP TABLE IF EXISTS `workerTeam_kk`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workerTeam_kk` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `team` int(11) NOT NULL, - `user` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `user_team_idx` (`user`), - CONSTRAINT `user_team` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `workingHours` --- - -DROP TABLE IF EXISTS `workingHours`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `workingHours` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `timeIn` datetime NOT NULL, - `timeOut` datetime DEFAULT NULL, - `userId` int(10) unsigned NOT NULL, - PRIMARY KEY (`id`), - KEY `user_working_hour_idx` (`userId`), - CONSTRAINT `user_working_hour` FOREIGN KEY (`userId`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=15740 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena horas de Entrada y de Salida del personal'; -/*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `vn` 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 `vn`.`workingHoursBeforeInsert` BEFORE INSERT ON `workingHours` FOR EACH ROW -BEGIN - IF (SELECT COUNT(*) FROM workingHours WHERE userId = NEW.userId AND DATE(timeIn) = CURDATE()) > 0 THEN - CALL util.throw ('ALREADY_LOGGED'); - 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- Table structure for table `zone` --- - -DROP TABLE IF EXISTS `zone`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zone` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, - `hour` int(11) NOT NULL, - `warehouseFk` int(11) NOT NULL, - `agencyFk` int(11) NOT NULL, - `travelingDays` int(11) NOT NULL DEFAULT '1', - `price` double NOT NULL DEFAULT '0', - `bonus` double NOT NULL DEFAULT '0', - PRIMARY KEY (`id`,`name`), - UNIQUE KEY `name_UNIQUE` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `zoneCalendar` --- - -DROP TABLE IF EXISTS `zoneCalendar`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zoneCalendar` ( - `zoneFk` int(11) NOT NULL, - `delivered` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`zoneFk`,`delivered`), - CONSTRAINT `zoneFk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`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 `zoneGeo` --- - -DROP TABLE IF EXISTS `zoneGeo`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zoneGeo` ( - `zoneFk` int(11) NOT NULL, - `geoFk` int(11) NOT NULL, - `isIncluded` tinyint(1) DEFAULT NULL, - PRIMARY KEY (`zoneFk`,`geoFk`), - KEY `geoFk_idx` (`geoFk`), - CONSTRAINT `geoFk` FOREIGN KEY (`geoFk`) REFERENCES `zoneNest` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `zoneGeoFk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`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 `zoneNest` --- - -DROP TABLE IF EXISTS `zoneNest`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zoneNest` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `lft` int(11) DEFAULT NULL, - `rgt` int(11) DEFAULT NULL, - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=20944 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `zoneNestTree` --- - -DROP TABLE IF EXISTS `zoneNestTree`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `zoneNestTree` ( - `id` int(11) NOT NULL DEFAULT '0', - `name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, - `lft` int(11) DEFAULT NULL, - `rgt` int(11) DEFAULT NULL, - `depth` bigint(22) NOT NULL DEFAULT '0', - `sons` decimal(10,0) DEFAULT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping events for database 'vn' --- -/*!50106 SET @save_time_zone= @@TIME_ZONE */ ; -/*!50106 DROP EVENT IF EXISTS `ticketClosure` */; -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 = 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 `ticketClosure` ON SCHEDULE EVERY 1 DAY STARTS '2017-09-18 00:30:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'Realiza el cierre de todos los almacenes del dia actual' DO CALL ticketClosureMultiWarehouse(DATE_ADD(CURDATE(), INTERVAL -1 DAY)) */ ;; -/*!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 'vn' --- -/*!50003 DROP FUNCTION IF EXISTS `addressTaxArea` */; -/*!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 `addressTaxArea`(vAddresId INT, vCompanyId INT) RETURNS varchar(25) CHARSET utf8 - DETERMINISTIC -BEGIN -/** - * Devuelve el area de un Consignatario, - * intracomunitario, extracomunitario, nacional o recargo de equivalencia. - * Asumimos que no tenemos ninguna empresa - * - * @param vAddresId Id del Consignatario - * @param vCompanyId Compañia desde la que se factura - * @return Código de area - */ - DECLARE vTaxArea VARCHAR(25); - DECLARE vClientIsUeeMember INT; - DECLARE vSupplierIsUeeMember INT; - DECLARE vSpainCountryCode INT DEFAULT 1; - DECLARE vSupplierCountry INT; - DECLARE vClientCountry INT; - DECLARE vIsEqualizated BOOLEAN; - DECLARE vIsVies BOOLEAN; - - SELECT cClient.isUeeMember, c.countryFk, a.isEqualizated, cSupplier.isUeeMember, s.countryFk, c.isVies - INTO vClientIsUeeMember, vClientCountry, vIsEqualizated, vSupplierIsUeeMember, vSupplierCountry, vIsVies - FROM address a - JOIN `client` c ON c.id = a.clientFk - JOIN country cClient ON cClient.id = c.countryFk - JOIN supplier s ON s.id = vCompanyId - JOIN country cSupplier ON cSupplier.id = s.countryFk - WHERE a.id = vAddresId; - - CASE - WHEN (NOT vClientIsUeeMember OR NOT vSupplierIsUeeMember) AND vSupplierCountry != vClientCountry THEN - SET vTaxArea = 'WORLD'; - WHEN vClientIsUeeMember AND vSupplierIsUeeMember AND vClientCountry != vSupplierCountry AND vIsVies THEN - SET vTaxArea = 'CEE'; - WHEN vIsEqualizated AND vClientCountry = vSpainCountryCode THEN - SET vTaxArea = 'EQU'; - ELSE - SET vTaxArea = 'NATIONAL'; - END CASE; - - RETURN vTaxArea; -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 `agencyIsAvailable` */; -/*!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 `agencyIsAvailable`(vAgency INT, vDate DATE, vAddress INT) RETURNS tinyint(1) -BEGIN -/** - * Comprueba si la agencia esta disponible para la fecha y - * dirección dadas, es decir, si es posible enviar mercancía - * desde al menos uno de los almacenes por la agencia, fecha - * y direcciones especificadas. - * - * @param vAgency Id de agencia - * @param vDate Fecha de recepción de mercancía - * @param vAddress Id consignatario, %NULL para recogida - * @return %TRUE si la agencia esta disponible, %FALSE en caso contrario - */ - DECLARE vMaxDays INT DEFAULT DATEDIFF(vDate, CURDATE()); - DECLARE vWday TINYINT DEFAULT WEEKDAY(vDate); - DECLARE vHour TINYINT DEFAULT HOUR(NOW()); - DECLARE vProvince INT; - DECLARE isAvailable BOOL; - - SELECT provinceFk INTO vProvince - FROM address - WHERE id = vAddress; - - SELECT COUNT(*) > 0 INTO isAvailable - FROM agencyHour h - JOIN agencyMode a - ON a.agencyFk = h.agencyFk - WHERE (h.provinceFk = vProvince - OR h.provinceFk IS NULL) - AND (h.weekDay = vWday - OR h.weekDay IS NULL) - AND (h.substractDay < vMaxDays - OR (h.substractDay = vMaxDays AND h.maxHour > vHour)) - AND a.id = vAgency; - - RETURN isAvailable; -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`(vClient INT, vDate DATE) RETURNS decimal(10,2) -BEGIN -/** - * Devuelve el saldo de un cliente. - * - * @param vClient Identificador del cliente - * @param vDate Fecha hasta la que tener en cuenta - * @return Saldo del cliente - */ - DECLARE vDateEnd DATETIME; - DECLARE vDateIni DATETIME; - DECLARE vDebt DECIMAL(10,2); - - SET vDate = IFNULL(vDate, CURDATE()); - - SET vDateIni = TIMESTAMPADD(MONTH, -2, CURDATE()); - SET vDateEnd = TIMESTAMP(vDate, '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT id ticketFk - FROM ticket - WHERE clientFk = vClient - AND refFk IS NULL - AND shipped BETWEEN vDateIni AND vDateEnd; - - CALL vn.ticketGetTotal; - - SELECT IFNULL(SUM(t.amount), 0) INTO vDebt - FROM ( - SELECT SUM(total) amount - FROM tmp.ticketTotal - UNION ALL - SELECT SUM(Entregado) - FROM vn2008.Recibos - WHERE Id_Cliente = vClient - AND Fechacobro > vDateEnd - UNION ALL - SELECT SUM(amount) - FROM bi.customer_risk r - WHERE customer_id = vClient - UNION ALL - SELECT CAST(-SUM(amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction - WHERE clientFk = vClient - AND receiptFk IS NULL - AND `status` = 'ok' - ) t; - - DROP TEMPORARY TABLE - tmp.ticket, - tmp.ticketTotal; - - RETURN vDebt; -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 `clientGetMana` */; -/*!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 `clientGetMana`(vClient INT) RETURNS decimal(10,2) -BEGIN -/** - * Devuelve el maná del cliente. - * - * @param vClient Id del cliente - * @return Maná del cliente - */ - -DECLARE vMana DECIMAL(10,2); -DECLARE vFromDated DATE; - -SELECT max(dated) INTO vFromDated -FROM vn.clientManaCache -WHERE clientFk = vClient; - -SELECT sum(mana) INTO vMana - FROM - ( - SELECT mana - FROM vn.clientManaCache - WHERE clientFk = vClient - AND dated = vFromDated - - UNION ALL - - SELECT s.quantity * Valor - FROM vn.ticket t - JOIN vn.address a ON a.id = t.addressFk - JOIN vn.sale s on s.ticketFk = t.id - JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = s.id - WHERE Id_Componente IN (37, 39) - AND t.shipped > vFromDated - AND t.clientFk = vClient - - UNION ALL - - SELECT - Entregado - FROM vn2008.Recibos r - JOIN vn2008.Clientes c using(Id_Cliente) - WHERE r.Id_Banco = 66 - AND r.Fechacobro > vFromDated - AND c.Id_Cliente = vClient - - UNION ALL - - SELECT g.Importe - FROM vn2008.Greuges g - JOIN vn2008.Clientes c using(Id_Cliente) - WHERE g.Greuges_type_id = 3 -- Maná - AND g.Fecha > vFromDated - AND c.Id_Cliente = vClient - - ) sub; - -RETURN IFNULL(vMana,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 FUNCTION IF EXISTS `clientTaxArea` */; -/*!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 `clientTaxArea`(vClientId INT, vCompanyId INT) RETURNS varchar(25) CHARSET utf8 -BEGIN -/** - * Devuelve el area de un cliente, - * intracomunitario, extracomunitario y nacional. - * - * @param vClient Id del cliente - * @param vCompanyFk Compañia desde la que se factura - * @return Código de area - */ - DECLARE vTaxArea VARCHAR(25); - DECLARE vCee INT; - - SELECT ct.Cee INTO vCee - FROM `client` c - JOIN country ct ON ct.id = c.countryFk - JOIN supplier s ON s.id = vCompanyId - WHERE - c.id = vClientId - AND c.isVies - AND c.countryFk != s.countryFk; - - IF vCee < 2 THEN - SET vTaxArea = 'CEE'; - ELSEIF vCee = 2 THEN - SET vTaxArea = 'WORLD'; - ELSE - SET vTaxArea = 'NATIONAL'; - END IF; - - RETURN vTaxArea; -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 `getAlert3State` */; -/*!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 `getAlert3State`(vTicket INT) RETURNS varchar(45) CHARSET latin1 -BEGIN - DECLARE vDeliveryType INTEGER DEFAULT 0; - DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; - DECLARE vCode VARCHAR(45); - - SELECT a.Vista - INTO vDeliveryType - FROM vn2008.Tickets t - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - WHERE Id_Ticket = vTicket; - - CASE vDeliveryType - WHEN 1 THEN -- AGENCIAS - SET vCode = 'DELIVERED'; - - WHEN 2 THEN -- REPARTO - SET vCode = 'ON_DELIVERY'; - - ELSE -- MERCADO, OTROS - SELECT MIN(t.warehouse_id <> w.warehouse_id) INTO isWaitingForPickUp - FROM vn2008.Tickets t - LEFT JOIN vn2008.warehouse_pickup w - ON w.agency_id = t.Id_Agencia - WHERE t.Id_Ticket = vTicket; - - IF isWaitingForPickUp THEN - SET vCode = 'WAITING_FOR_PICKUP'; - ELSE - SET vCode = 'DELIVERED'; - END IF; - END CASE; - RETURN vCode; -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 `getAlert3StateKk` */; -/*!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 `getAlert3StateKk`(vTicket INT) RETURNS varchar(45) CHARSET latin1 -BEGIN - DECLARE vDeliveryType INTEGER DEFAULT 0; - DECLARE vWorker INT; - DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; - DECLARE vCode VARCHAR(45); - - SELECT IFNULL(aw.Vista,a.Vista) INTO vDeliveryType - FROM vn2008.Tickets t - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - LEFT JOIN vn2008.agency_warehouse aw ON a.agency_id = aw.agency_id AND t.warehouse_id = aw.warehouse_id - WHERE Id_Ticket = vTicket; - - SELECT getUser() INTO vWorker; - - CASE vDeliveryType - WHEN 1 THEN -- AGENCIAS - SELECT COUNT(*) INTO isWaitingForPickUp - FROM vn2008.Tickets t - JOIN vn2008.warehouse_pickup w ON w.agency_id = t.Id_Agencia - WHERE t.Id_Ticket = vTicket AND w.warehouse_id <> t.warehouse_id; - - IF isWaitingForPickUp THEN - SET vCode = 'WAITING_FOR_PICKUP'; - ELSE - SET vCode = 'DELIVERED'; - END IF; - - WHEN 2 THEN -- REPARTO - SET vCode = 'ON_DELIVERY'; - - ELSE -- MERCADO, OTROS - SET vCode = 'DELIVERED'; - END CASE; - RETURN vCode; -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 `getAlert3StateTest` */; -/*!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 `getAlert3StateTest`(vTicket INT) RETURNS varchar(45) CHARSET latin1 -BEGIN - DECLARE vDeliveryType INTEGER DEFAULT 0; - DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; - DECLARE vCode VARCHAR(45); - - SELECT - a.Vista - INTO vDeliveryType - FROM vn2008.Tickets t - JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia - WHERE Id_Ticket = vTicket; - - CASE vDeliveryType - WHEN 1 THEN -- AGENCIAS - SET vCode = 'DELIVERED'; - - WHEN 2 THEN -- REPARTO - SET vCode = 'ON_DELIVERY'; - - ELSE -- MERCADO, OTROS - SELECT t.warehouse_id <> w.warehouse_id INTO isWaitingForPickUp - FROM vn2008.Tickets t - LEFT JOIN vn2008.warehouse_pickup w - ON w.agency_id = t.Id_Agencia AND w.warehouse_id = t.warehouse_id - WHERE t.Id_Ticket = vTicket; - - IF isWaitingForPickUp THEN - SET vCode = 'WAITING_FOR_PICKUP'; - ELSE - SET vCode = 'DELIVERED'; - END IF; - END CASE; - RETURN vCode; -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 `getDueDate` */; -ALTER DATABASE `vn` 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 `getDueDate`(vDated DATE, vDayToPay INT) RETURNS date -BEGIN - -DECLARE vDued DATE; - -SET vDued = IF (vDayToPay > 30 or vDayToPay < 1 - ,TIMESTAMPADD(DAY, vDayToPay, vDated) - ,TIMESTAMPADD(DAY, vDayToPay, LAST_DAY(vDated))); - -RETURN vDued; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `getInventoryDate` */; -ALTER DATABASE `vn` 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 `getInventoryDate`() RETURNS date - DETERMINISTIC -BEGIN - RETURN vn2008.date_inv(); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `getShipmentHour` */; -/*!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 `getShipmentHour`(vTicket INT) RETURNS int(11) -BEGIN - DECLARE vShipmentHour INT; - - SELECT HOUR(shipped) INTO vShipmentHour - FROM ticket - WHERE id = vTicket; - - IF vShipmentHour = 0 - THEN - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - ENGINE = MEMORY - SELECT am.agency as agency_id - , t.warehouseFk as warehouse_id - , a.province as province_id - , 0 as Hora - , 0 as Departure - FROM ticket t - JOIN agencyMode am on am.id = t.agencyModeFk - JOIN address a on a.id = t.addressFk - WHERE t.id = vTicket; - - CALL vn2008.production_buffer_set_priority; - - SELECT Hora INTO vShipmentHour - FROM tmp.production_buffer; - END IF; - - RETURN vShipmentHour; -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 `getSpecialPrice` */; -/*!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 `getSpecialPrice`(vItemFk int(11),vClientFk int(11)) RETURNS decimal(10,2) -BEGIN - DECLARE price DECIMAL(10,2); - - SELECT rate3 INTO price - FROM vn.priceFixed - WHERE itemFk = vItemFk - AND CURDATE() BETWEEN started AND ended ORDER BY created DESC LIMIT 1; - - SELECT `value` INTO price - FROM vn.especialPrice - WHERE itemFk = vItemFk - AND clientFk = vClientFk ; -RETURN price; -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 `getTicketToPrepare` */; -/*!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 `getTicketToPrepare`(`vWorker` INT, `vWarehouse` INT) RETURNS int(11) -BEGIN -/** - * Devuelve el ticket que debe de preparar el trabajador - * - * @param vWorker Id del trabajador - * @param vWarehouse Id del almacén - * @return Id del ticket - **/ - - DECLARE vToday DATETIME DEFAULT CURDATE(); - DECLARE vYesterday DATETIME; - DECLARE vTodayvMidniight DATETIME DEFAULT midnight(vToday); - DECLARE vTicket INT DEFAULT NULL; - - SET vYesterday = TIMESTAMPADD(DAY,-1,vToday); - - DROP TEMPORARY TABLE IF EXISTS tmp.workerComercial; - CREATE TEMPORARY TABLE tmp.workerComercial - ENGINE = MEMORY - SELECT worker FROM `grant` g - JOIN grantGroup gg ON g.`group` = gg.id - WHERE gg.description = 'Comerciales' - AND worker != 2; -- PAKO numero - - - DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; - CREATE TEMPORARY TABLE tmp.production_buffer - ENGINE = MEMORY - SELECT t.id as ticket - , am.agency as agency_id - , t.warehouseFk as warehouse_id - , a.province as province_id - , Hour(t.shipped) as Hora - , Hour(t.shipped) as Departure - , Minute(t.shipped) as Minuto - , tls.code - , IFNULL(t.priority,0) loadingOrder - FROM ticket t - JOIN ticketState tls on t.id = tls.ticket - JOIN agencyMode am on am.id = t.agencyModeFk - JOIN address a on a.id = t.addressFk - LEFT JOIN tmp.workerComercial wc ON wc.worker = vWorker - WHERE t.shipped BETWEEN vYesterday AND vTodayvMidniight - AND t.warehouseFk = vWarehouse - AND - ( - (tls.code = 'PRINTED' AND wc.worker IS NULL) - OR - (tls.code ='PICKER_DESIGNED' AND tls.worker = vWorker) - OR - (tls.code = 'PRINTED_BACK') - ); - - - CALL vn2008.production_buffer_set_priority; - - SELECT ticket INTO vTicket - FROM tmp.production_buffer - ORDER BY (code = 'PICKER_DESIGNED') DESC , Hora, Minuto, loadingOrder - LIMIT 1; - - RETURN 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 FUNCTION IF EXISTS `getTicketTrolleyLabelCount` */; -ALTER DATABASE `vn` 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`@`%` FUNCTION `getTicketTrolleyLabelCount`(vTicket INT) RETURNS int(11) -BEGIN - -DECLARE vLabelCount INT DEFAULT 0; - -SELECT labelCount INTO vLabelCount -FROM ticketTrolley -WHERE ticket = vTicket; - -SET vLabelCount = vLabelCount +1 ; - -REPLACE ticketTrolley(ticket,labelCount) -SELECT vTicket, vLabelCount; - -RETURN vlabelCount; - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `getUser` */; -ALTER DATABASE `vn` 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`@`%` FUNCTION `getUser`() RETURNS int(11) - DETERMINISTIC -BEGIN - RETURN getWorker(); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `getUserId` */; -ALTER DATABASE `vn` 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 `getUserId`(userName varchar(30)) RETURNS int(11) -BEGIN - DECLARE vUser INT; - - SELECT id INTO vUser - FROM account.user - WHERE `name` = userName; - - RETURN vUser; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `getWorker` */; -/*!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 `getWorker`() RETURNS int(11) - DETERMINISTIC -BEGIN - DECLARE vUser INT; - - SELECT id INTO vUser - FROM worker - WHERE userFk = account.userGetId(); - - RETURN vUser; -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 `getWorkerkk` */; -/*!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 `getWorkerkk`() RETURNS int(11) - DETERMINISTIC -BEGIN - DECLARE vUser INT; - - SELECT id INTO vUser - FROM worker - WHERE user = account.userGetId(); - - RETURN vUser; -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 `hasAnyNegativeBase` */; -/*!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 `hasAnyNegativeBase`() RETURNS tinyint(1) -BEGIN - -/* Calcula si existe alguna base imponible negativa -* Requiere la tabla temporal vn.ticketToInvoice(id) -* -* returns BOOLEAN -*/ - - DECLARE vCountry INT; - DECLARE hasAnyNegativeBase BOOLEAN; - - SELECT s.countryFk - INTO vCountry - FROM supplier s - JOIN ticket t ON t.companyFk = s.id - JOIN vn.ticketToInvoice tl ON tl.id = t.id - LIMIT 1; - - SELECT COUNT(*) INTO hasAnyNegativeBase - FROM ( - SELECT SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2)) taxableBase - FROM sale s - JOIN item i ON i.id = s.itemFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = vCountry - JOIN vn.ticketToInvoice tl ON tl.id = s.ticketFk - GROUP BY itc.taxClassFk - HAVING taxableBase < 0 - ) t1 ; - - RETURN hasAnyNegativeBase; - -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 `hasSomeNegativeBase` */; -/*!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 `hasSomeNegativeBase`(vTicket INT) RETURNS tinyint(1) -BEGIN - - DECLARE vCountry INT; - DECLARE hasSomeNegativeBase BOOLEAN; - - SELECT s.countryFk - INTO vCountry - FROM supplier s - JOIN ticket t ON t.companyFk = s.id - WHERE t.id = vTicket; - - SELECT COUNT(*) INTO hasSomeNegativeBase - FROM ( - SELECT SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2)) taxableBase - FROM sale s - JOIN item i ON i.id = s.itemFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = vCountry - WHERE s.ticketFk = vTicket - GROUP BY itc.taxClassFk - HAVING taxableBase < 0 - ) t1 ; - - RETURN hasSomeNegativeBase; - -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 `invoiceOutAmount` */; -/*!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 `invoiceOutAmount`(vInvoiceRef VARCHAR(15)) RETURNS decimal(10,2) -BEGIN - DECLARE totalAmount DECIMAL(10,2); - - SELECT SUM(vat) INTO totalAmount - FROM - ( - SELECT iot.vat - FROM invoiceOutTax iot - JOIN invoiceOut io ON io.id = iot.invoiceOutFk - WHERE io.ref = vInvoiceRef - UNION ALL - SELECT ioe.amount - FROM invoiceOutExpence ioe - JOIN invoiceOut io ON io.id = ioe.invoiceOutFk - WHERE io.ref = vInvoiceRef - ) t1; - -RETURN totalAmount; -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 `invoiceSerial` */; -/*!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 `invoiceSerial`(vClientFk INT, vCompanyFk INT, vType CHAR(1)) RETURNS char(1) CHARSET utf8 -BEGIN - /** - * Obtiene la serie de de una factura - * dependiendo del area del cliente. - * - * @param vClientFk Id del cliente - * @param vCompanyFk Id de la empresa - * @param vType Tipo de factura ["R", "M", "G"] - * @return Serie de la factura - */ - DECLARE vArea VARCHAR(25); - DECLARE vSerie CHAR(1); - - IF (SELECT hasInvoiceSimplified FROM client WHERE id = vClientFk) THEN - RETURN 'S'; - END IF; - - SELECT clientTaxArea(vClientFk, vCompanyFk) INTO vArea; - -- Factura rápida - IF vType = 'R' THEN - SELECT - CASE vArea - WHEN 'CEE' - THEN 'H' - WHEN 'WORLD' - THEN 'E' - WHEN 'NATIONAL' - THEN 'T' - END - INTO vSerie; - -- Factura multiple - ELSEIF vType = 'M' THEN - SELECT - CASE vArea - WHEN 'CEE' - THEN 'H' - WHEN 'WORLD' - THEN 'E' - WHEN 'NATIONAL' - THEN 'M' - END - INTO vSerie; - -- Factura global - ELSEIF vType = 'G' THEN - SELECT - CASE vArea - WHEN 'CEE' - THEN 'V' - WHEN 'WORLD' - THEN 'X' - WHEN 'NATIONAL' - THEN 'A' - END - INTO vSerie; - END IF; - RETURN vSerie; -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 `isPalletHomogeneus` */; -/*!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 `isPalletHomogeneus`(vExpedition INT) RETURNS tinyint(1) -BEGIN - DECLARE vScanId INT; - DECLARE vDistinctRoutesInThePallet INT; - - SELECT scan_id INTO vScanId - FROM vn2008.scan_line - WHERE code = vExpedition - LIMIT 1; - - SELECT COUNT(*) INTO vDistinctRoutesInThePallet - FROM ( - SELECT DISTINCT t.Id_Ruta - FROM vn2008.scan_line sl - JOIN vn2008.expeditions e ON e.expeditions_id = sl.code - JOIN vn2008.Tickets t ON t.Id_Ticket = e.ticket_id - WHERE sl.scan_id = vScanId - AND t.Id_Ruta - ) t1; - - RETURN vDistinctRoutesInThePallet = 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 FUNCTION IF EXISTS `isWorkerBoss` */; -ALTER DATABASE `vn` 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 `isWorkerBoss`(vUserId INT(11)) RETURNS tinyint(1) - DETERMINISTIC -BEGIN - - DECLARE subjectId INT(11) DEFAULT vUserId; - DECLARE tmpSubjectId INT(11); - DECLARE tmpBossId INT(11); - - LOOP - SELECT - bossWorker.user_id AS tmpBossId, - subjectWorker.user_id AS tmpSubjectId - INTO tmpBossId, tmpSubjectId - FROM - vn2008.Trabajadores AS subjectWorker - JOIN - vn2008.Trabajadores AS bossWorker ON bossWorker.Id_Trabajador = subjectWorker.boss - WHERE - subjectWorker.user_id = subjectId; - - IF tmpBossId = tmpSubjectId THEN - RETURN FALSE; - ELSEIF tmpBossId = account.userGetId() THEN - RETURN TRUE; - ELSE - SET subjectId = tmpBossId; - END IF; - END LOOP; - -RETURN FALSE; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `messageSend` */; -ALTER DATABASE `vn` 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 `messageSend`(vRecipient VARCHAR(255), vMessage TEXT) RETURNS int(11) -BEGIN -/** - * Envia un mensaje a un usuario o a una lista de usuarios. - * - * @param vRecipient Nombre de usuario o de alias - * @param vMessage Texto del mensaje - * @return Número de destinatarios - **/ - DECLARE vCount INT; - DECLARE vUuid VARCHAR(255); - DECLARE vSendDate DATETIME DEFAULT NOW(); - DECLARE vUser VARCHAR(255) DEFAULT account.userGetName(); - - SET vRecipient = LOWER(vRecipient); - - DROP TEMPORARY TABLE IF EXISTS tRecipients; - CREATE TEMPORARY TABLE tRecipients - SELECT u.name finalRecipient - FROM account.mailAlias a - JOIN account.mailAliasAccount aa ON aa.mailAlias = a.id - JOIN account.user u ON u.id = aa.account - WHERE a.alias = vRecipient COLLATE utf8_unicode_ci - AND u.name != vUser - AND u.active - UNION - SELECT u.name FROM account.user u - WHERE u.name = vRecipient - AND u.active; - - SELECT COUNT(*) INTO vCount FROM tRecipients; - - IF vCount = 0 THEN - RETURN vCount; - END IF; - - SET vUuid = UUID(); - - INSERT INTO message - SET uuid = vUuid, - sender = vUser, - recipient = vRecipient, - message = vMessage, - sendDate = vSendDate; - - INSERT INTO messageInbox (uuid, sender, recipient, finalRecipient, message, sendDate) - SELECT vUuid, vUser, vRecipient, finalRecipient, vMessage, vSendDate - FROM tRecipients; - - DROP TEMPORARY TABLE tRecipients; - RETURN vCount; -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `midnight` */; -ALTER DATABASE `vn` 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`@`%` FUNCTION `MIDNIGHT`(vDate DATE) RETURNS datetime - DETERMINISTIC -BEGIN - RETURN TIMESTAMP(vDate,'23:59:59'); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `phytoPassport` */; -/*!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 `phytoPassport`(vRef VARCHAR(15)) RETURNS text CHARSET utf8 -BEGIN -DECLARE vPhyto TEXT CHARSET utf8 COLLATE utf8_unicode_ci; -SELECT - GROUP_CONCAT(i.id, - ':', - ppa.denomination, - ' ', - pp.number, - CHAR(13,10) - SEPARATOR '') fitosanitario - INTO vPhyto -FROM - sale s - JOIN - ticket t ON t.id = s.ticketFk - JOIN - item i ON i.id = s.itemFk - JOIN - plantpassport pp ON pp.producerFk = i.producerFk - JOIN - plantpassportAuthority ppa ON ppa.id = pp.plantpassportAuthorityFk - JOIN - itemBotanicalWithGenus ib ON ib.itemFk = i.id - JOIN - botanicExport be ON be.restriction = 'Se Requiere Certificado' - LEFT JOIN - ediGenus eg ON eg.id = be.ediGenusFk - LEFT JOIN - ediSpecie es ON es.id = be.ediSpecieFk -WHERE - t.refFk = vRef - AND ib.ediBotanic LIKE CONCAT(IFNULL(eg.latinGenusName, ''), - IF(latinSpeciesName > '', - CONCAT(' ', latinSpeciesName), - ''), - '%'); -RETURN vPhyto; -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 `ticketGetTotal` */; -/*!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 `ticketGetTotal`(vTicketId INT) RETURNS decimal(10,2) - READS SQL DATA - DETERMINISTIC -BEGIN -/** - * Calcula el total con IVA de un ticket. - * - * @param vTicketId Identificador del ticket - * @return Total del ticket - */ - DECLARE vTotal DECIMAL(10,2); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - ENGINE = MEMORY - SELECT vTicketId ticketFk; - - CALL ticketGetTotal; - - SELECT total INTO vTotal FROM tmp.ticketTotal; - - DROP TEMPORARY TABLE - tmp.ticket, - tmp.ticketTotal; - - 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 `ticketGetTotalkk` */; -/*!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 `ticketGetTotalkk`(vTicketId INT) RETURNS decimal(10,2) - READS SQL DATA - DETERMINISTIC -BEGIN -/** - * Calcula el total con IVA de un ticket. - * - * @param vTicketId Identificador del ticket - * @return Total del ticket - */ - DECLARE vTotal DECIMAL(10,2); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - ENGINE = MEMORY - SELECT vTicketId ticketFk; - - CALL ticketGetTotal; - - SELECT total INTO vTotal FROM tmp.ticketTotal; - - DROP TEMPORARY TABLE - tmp.ticket, - tmp.ticketTotal; - - 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 `ticketPositionInPath` */; -/*!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 `ticketPositionInPath`(vTicketId INT) RETURNS varchar(10) CHARSET utf8 -BEGIN - - DECLARE vRestTicketsMaxOrder INT; - DECLARE vRestTicketsMinOrder INT; - DECLARE vRestTicketsPacking INT; - DECLARE vMyProductionOrder INT; - DECLARE vPosition VARCHAR(10) DEFAULT 'MID'; - DECLARE vMyPath INT; - DECLARE vMyWarehouse INT; - DECLARE PACKING_ORDER INT; - DECLARE vExpeditionsCount INT; - DECLARE vIsValenciaPath BOOLEAN DEFAULT FALSE; - -SELECT `order` - INTO PACKING_ORDER - FROM state - WHERE code = 'PACKING'; - -SELECT t.routeFk, t.warehouseFk, IFNULL(ts.productionOrder,0) - INTO vMyPath, vMyWarehouse, vMyProductionOrder - FROM ticket t - LEFT JOIN ticketState ts on ts.ticket = t.id - WHERE t.id = vTicketId; - -SELECT (ag.`name` = 'VN_VALENCIA') - INTO vIsValenciaPath - FROM vn2008.Rutas r - JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia - JOIN vn2008.agency ag on ag.agency_id = a.agency_id - WHERE r.Id_Ruta = vMyPath; - -IF vIsValenciaPath THEN -- Rutas Valencia - - SELECT COUNT(*) - INTO vExpeditionsCount - FROM expedition e - JOIN ticket t ON t.id = e.ticket - WHERE t.routeFk = vMyPath; - - SELECT MAX(ts.productionOrder), MIN(ts.productionOrder) - INTO vRestTicketsMaxOrder, vRestTicketsMinOrder - FROM ticket t - LEFT JOIN ticketState ts on t.id = ts.ticket - WHERE t.routeFk = vMyPath - AND t.warehouseFk = vMyWarehouse - AND t.id != vTicketid; - - SELECT COUNT(*) - INTO vRestTicketsPacking - FROM ticket t - LEFT JOIN ticketState ts on t.id = ts.ticket - WHERE ts.productionOrder = PACKING_ORDER - AND t.routeFk = vMyPath - AND t.warehouseFk = vMyWarehouse - AND t.id != vTicketid; - - IF vExpeditionsCount = 1 THEN - SET vPosition = 'FIRST'; - ELSEIF vRestTicketsMinOrder > PACKING_ORDER THEN - SET vPosition = 'LAST'; - ELSEIF vRestTicketsPacking THEN - SET vPosition = 'SHARED'; - ELSE - SET vPosition = 'MID'; - END IF; - -ELSE - SET vPosition = 'MID'; - -END IF; - -RETURN vPosition; - -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 `ticketPositionInPathkk` */; -/*!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 `ticketPositionInPathkk`(vTicketId INT) RETURNS varchar(10) CHARSET utf8 -BEGIN - - -DECLARE vRestTicketsMaxOrder INT; -DECLARE vRestTicketsMinOrder INT; -DECLARE vRestTicketsPacking INT; -DECLARE vMyProductionOrder INT; -DECLARE vPosition VARCHAR(10) DEFAULT 'MID'; -DECLARE vMyPath INT; -DECLARE vMyWarehouse INT; -DECLARE PACKING_ORDER INT; -DECLARE vExpeditionsCount INT; -DECLARE vIsValenciaPath BOOLEAN DEFAULT FALSE; - -SELECT `order` - INTO PACKING_ORDER - FROM state - WHERE code = 'PACKING'; - -SELECT path, warehouse, IFNULL(productionOrder,0) - INTO vMyPath, vMyWarehouse, vMyProductionOrder - FROM ticket t - LEFT JOIN ticketState ts on ts.ticket = t.id - WHERE id = vTicketId; - -SELECT (ag.`name` = 'VN_VALENCIA') - INTO vIsValenciaPath - FROM vn2008.Rutas r - JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia - JOIN vn2008.agency ag on ag.agency_id = a.agency_id - WHERE r.Id_Ruta = vMyPath; - - -IF vIsValenciaPath THEN -- Rutas Valencia - - SELECT COUNT(*) - INTO vExpeditionsCount - FROM expedition e - JOIN ticket t ON t.id = e.ticket - WHERE t.path = vMyPath; - - SELECT MAX(productionOrder), MIN(productionOrder) - INTO vRestTicketsMaxOrder, vRestTicketsMinOrder - FROM ticket t - LEFT JOIN ticketState ts on t.id = ts.ticket - WHERE t.path = vMyPath - AND t.warehouse = vMyWarehouse - AND t.id != vTicketid; - - SELECT COUNT(*) - INTO vRestTicketsPacking - FROM ticket t - LEFT JOIN ticketState ts on t.id = ts.ticket - WHERE productionOrder = PACKING_ORDER - AND t.path = vMyPath - AND t.warehouse = vMyWarehouse - AND t.id != vTicketid; - - - - IF vExpeditionsCount = 1 THEN - - SET vPosition = 'FIRST'; - - ELSEIF vRestTicketsMinOrder > PACKING_ORDER THEN - - SET vPosition = 'LAST'; - - ELSEIF vRestTicketsPacking THEN - - SET vPosition = 'SHARED'; - - ELSE - - SET vPosition = 'MID'; - - END IF; - -ELSE - - SET vPosition = 'MID'; - -END IF; - -RETURN vPosition; - -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 `workerIsBoss` */; -/*!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 `workerIsBoss`(vUserId INT) RETURNS int(11) -BEGIN -/** - * Comprueba por jerarquía si el trabajador actual es jefe - * de un trabajador en concreto. - * - * @param vUserId Id del trabajador que se desea comprobar. - * @return Revuelve verdadero si es jefe del empleado por escala jerárquica. - */ - DECLARE vWorkerId INT; - DECLARE vBossId INT; - - SELECT id INTO vWorkerId - FROM vn.worker - WHERE userFk = vUserId; - IF vWorkerId IS NULL THEN - CALL util.throw('USER_NOT_FOUND'); - END IF; - - DROP TEMPORARY TABLE IF EXISTS tCheckedWorker; - CREATE TEMPORARY TABLE tCheckedWorker - (PRIMARY KEY (workerFk)) - ENGINE = MEMORY - SELECT id workerFk FROM worker LIMIT 0; - LOOP - SELECT bossFk INTO vBossId - FROM vn.worker - WHERE id = vWorkerId; - IF (SELECT COUNT(*) FROM tCheckedWorker WHERE workerFk = vBossId) THEN - CALL util.throw('INFINITE_LOOP'); - END IF; - IF vBossId = vWorkerId THEN - RETURN FALSE; - ELSEIF vBossId = vn.getWorker() THEN - RETURN TRUE; - ELSE - INSERT INTO tCheckedWorker VALUES (vWorkerId); - SET vWorkerId = vBossId; - END IF; - END LOOP; - DROP TEMPORARY TABLE tCheckedWorker; - RETURN FALSE; -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 `addressTaxArea` */; -/*!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 `addressTaxArea`() - READS SQL DATA -BEGIN -/** - * Devuelve el taxArea para un conjunto de Consignatarios y empresas, - * - * @table tmp.addressCompany(addressFk, companyFk) valores a calcular - * @return tmp.addressTaxArea(addressFk,companyFk) - */ - - DECLARE vSpainCountryCode INT DEFAULT 1; - - DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; - CREATE TEMPORARY TABLE tmp.addressTaxArea - (PRIMARY KEY (addressFk, companyFk)) - ENGINE = MEMORY - SELECT CASE - WHEN (NOT cClient.isUeeMember OR NOT cSupplier.isUeeMember) AND s.countryFk != c.countryFk THEN - 'WORLD' - WHEN cClient.isUeeMember AND cSupplier.isUeeMember AND c.countryFk != s.countryFk AND c.isVies THEN - 'CEE' - WHEN a.isEqualizated AND c.countryFk = vSpainCountryCode THEN - 'EQU' - ELSE - 'NATIONAL' - END AS areaFk, ac.addressFk, ac.companyFk - FROM tmp.addressCompany ac - JOIN address a ON a.id = ac.addressFk - JOIN `client` c ON c.id = a.clientFk - JOIN country cClient ON cClient.id = c.countryFk - JOIN supplier s ON s.id = ac.companyFk - JOIN country cSupplier ON cSupplier.id = s.countryFk; -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 `agencyListAvailable` */; -/*!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 `agencyListAvailable`(vDate DATE, vAddress INT) -BEGIN -/** - * Devuelve la lista de almacenes disponibles y la fecha de - * envío desde cada uno. - * - * @param vDate Fecha de recepción de mercancía - * @param vAddress Id consignatario, %NULL para recogida - * @return travel_tree Lista de almacenes disponibles - */ - DECLARE vMaxDays INT DEFAULT DATEDIFF(vDate, CURDATE()); - DECLARE vWday TINYINT DEFAULT WEEKDAY(vDate); - DECLARE vHour TINYINT DEFAULT HOUR(NOW()); - DECLARE vProvince INT; - - SELECT provinceFk INTO vProvince - FROM address - WHERE id = vAddress; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyAvailable; - CREATE TEMPORARY TABLE tmp.agencyAvailable - (INDEX (agencyFk)) - ENGINE = MEMORY - SELECT agencyFk, warehouseFk - FROM agencyHour h - WHERE (provinceFk = vProvince - OR provinceFk IS NULL) - AND (weekDay = vWday - OR weekDay IS NULL) - AND (substractDay < vMaxDays - OR (substractDay = vMaxDays AND maxHour > vHour)); -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; - - SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE()); - - DELETE FROM vn.dailyTaskLog WHERE created < vDateShort; - - INSERT INTO vn.dailyTaskLog(state) VALUES('clean START'); - - DELETE FROM vn.message WHERE sendDate < vDateShort; - DELETE FROM vn.messageInbox WHERE sendDate < vDateShort; - DELETE FROM vn.messageInbox WHERE sendDate < vDateShort; - - INSERT INTO vn.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 `clientFreeze` */; -/*!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 `clientFreeze`() -BEGIN - - IF day(CURDATE()) IN (10,20,30) THEN - - UPDATE vn.client c - JOIN vn.clientType ct ON ct.id = c.id - JOIN bi.defaulters d ON d.client = c.id AND d.date = CURDATE() - JOIN vn.config ON TRUE - SET c.isFreezed = TRUE - WHERE d.amount > config.defaultersMaxAmount AND ct.code = 'normal'; - - 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 `copyComponentsFromSaleList` */; -/*!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 `copyComponentsFromSaleList`(vTargetTicketFk INT) -BEGIN - -/* Copy sales and components to the target ticket -* -* ¡¡¡¡ Requires tmp.saleList(saleFk, itemFk, quantity, concept, price, discount, orden) !!!!! -* -* param VTargetTicketFk id del ticket a rellenar -*/ - - INSERT INTO vn.sale(ticketFk, itemFk, quantity,concept,price,discount) - SELECT vTargetTicketFk, itemFk, quantity,concept,price,discount - FROM tmp.saleList - ORDER BY orden; - - SET @order = 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.newSaleList; - - CREATE TEMPORARY TABLE tmp.newSaleList - SELECT id as saleFk, @order := @order + 1 as orden - FROM vn.sale - WHERE ticketFk = vTargetTicketFk - ORDER BY saleFk; - - INSERT INTO vn.saleComponent(saleFk,componentFk,value) - SELECT ns.saleFk, sc.componentFk, sc.value - FROM vn.saleComponent sc - JOIN tmp.saleList s ON s.saleFk = sc.saleFk - JOIN tmp.newSaleList ns ON ns.orden = s.orden; - -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 `createExternalWorkerkk` */; -/*!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 `createExternalWorkerkk`( - vFirstName VARCHAR(50), - vSurname1 VARCHAR(50), - vSurname2 VARCHAR(50), - vUser VARCHAR(20), - vPassword VARCHAR(50), - vWorkerCode VARCHAR(3) - ) -BEGIN - - DECLARE vUserId INT; - DECLARE vWorkerPako INT DEFAULT 2; - DECLARE vSurnames VARCHAR(100); - - INSERT INTO account.user(name,password,role) - SELECT vUser,MD5(vPassword),1; - - SET vUserId = LAST_INSERT_ID(); - /* - INSERT INTO vn.worker(firstName,name,bossFk,workerCode,user_id) - SELECT vFirstName,CONCAT(vSurname1,' ',vSurname2),2,vWorkerCode,vUser; - */ - - IF vSurname2 IS NULL THEN - SET vSurnames = vSurname1; - ELSE - SET vSurnames = CONCAT(vSurname1, ' ', vSurname2); - END IF; - - INSERT INTO vn2008.Trabajadores(Nombre, Apellidos, boss, CodigoTrabajador, user_id) - SELECT vFirstName, vSurnames, vWorkerPako, vWorkerCode, vUserId; -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 `entryConverter` */; -/*!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 `entryConverter`(vEntry INT) -BEGIN - - DECLARE vWarehouseIn INT; - DECLARE vWarehouseOut INT; - DECLARE vTravel INT; - - DECLARE done BOOL DEFAULT FALSE; - - DECLARE vId_Entrada INT; - DECLARE vId_Article INT; - DECLARE vEtiquetas INT; - DECLARE vId_Cubo VARCHAR(10); - DECLARE vPacking INT; - DECLARE vGrouping INT; - DECLARE vCantidad INT; - DECLARE vCostefijo DECIMAL(10,3); - DECLARE vPortefijo DECIMAL(10,3); - DECLARE vEmbalajefijo DECIMAL(10); - DECLARE vComisionfija DECIMAL(10,3); - DECLARE vCaja INT; - DECLARE vNicho VARCHAR(5); - DECLARE vTarifa1 DECIMAL(10,2); - DECLARE vTarifa2 DECIMAL(10,2); - DECLARE vTarifa3 DECIMAL(10,2); - DECLARE vPVP DECIMAL(10,2); - DECLARE vCompra INT; - - DECLARE rs CURSOR FOR - SELECT - b.Id_Entrada, - b.Id_Article, - b.Etiquetas, - b.Id_Cubo, - b.Packing, - b.grouping, - b.Cantidad, - b.Costefijo, - b.Portefijo, - b.Embalajefijo, - b.Comisionfija, - b.caja, - b.Nicho, - b.Tarifa1, - b.Tarifa2, - b.Tarifa3, - b.PVP - FROM vn2008.Compres b - JOIN vn.itemConversor ic ON ic.espItemFk = b.Id_Article - WHERE Id_Entrada = vEntry; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - SELECT warehouseInFk, warehouseOutFk, tr.id - INTO vWarehouseIn, vWarehouseOut, vTravel - FROM travel tr - JOIN entry e ON e.travelFk = tr.id - WHERE e.id = vEntry; - - UPDATE travel - SET warehouseInFk = vWarehouseOut, - warehouseOutFk = vWarehouseIn - WHERE id = vTravel; - - UPDATE vn2008.Compres c - LEFT JOIN vn.itemConversor ic ON ic.espItemFk = c.Id_Article - SET Etiquetas = 0, Cantidad = 0 - WHERE c.Id_Entrada = vEntry - AND ic.espItemFk IS NULL; - - OPEN rs; - - DELETE FROM vn2008.Compres WHERE Id_Entrada = vEntry; - - FETCH rs INTO - vId_Entrada, - vId_Article, - vEtiquetas, - vId_Cubo, - vPacking, - vGrouping, - vCantidad, - vCostefijo, - vPortefijo, - vEmbalajefijo, - vComisionfija, - vCaja, - vNicho, - vTarifa1, - vTarifa2, - vTarifa3, - vPVP; - - WHILE NOT done DO - - -- Primero la linea original con las cantidades invertidas - INSERT INTO vn2008.Compres - ( - Id_Entrada, - Id_Article, - Etiquetas, - Id_Cubo, - Packing, - grouping, - Cantidad, - Costefijo, - Portefijo, - Embalajefijo, - Comisionfija, - caja, - Nicho, - Tarifa1, - Tarifa2, - Tarifa3, - PVP - ) - VALUES - ( - vId_Entrada, - vId_Article, - - vEtiquetas, - vId_Cubo, - vPacking, - vGrouping, - - vCantidad, - vCostefijo, - vPortefijo, - vEmbalajefijo, - vComisionfija, - vCaja, - vNicho, - vTarifa1, - vTarifa2, - vTarifa3, - vPVP); - - -- Ahora la linea nueva, con el item genérico - INSERT INTO vn2008.Compres - ( - Id_Entrada, - Id_Article, - Etiquetas, - Id_Cubo, - Packing, - grouping, - Cantidad, - Costefijo, - Portefijo, - Embalajefijo, - Comisionfija, - caja, - Nicho, - Tarifa1, - Tarifa2, - Tarifa3, - PVP - ) - SELECT - vId_Entrada, - genItemFk as Id_Article, - vEtiquetas, - vId_Cubo, - vPacking, - vGrouping, - vCantidad, - vCostefijo, - vPortefijo, - vEmbalajefijo, - vComisionfija, - vCaja, - vNicho, - vTarifa1, - vTarifa2, - vTarifa3, - vPVP - FROM itemConversor - WHERE espItemFk = vId_Article; - - SELECT LAST_INSERT_ID() - INTO vCompra; - - REPLACE vn2008.Compres_mark(Id_Compra,`comment`) - SELECT vCompra, vId_Article; - - - FETCH rs INTO - vId_Entrada, - vId_Article, - vEtiquetas, - vId_Cubo, - vPacking, - vGrouping, - vCantidad, - vCostefijo, - vPortefijo, - vEmbalajefijo, - vComisionfija, - vCaja, - vNicho, - vTarifa1, - vTarifa2, - vTarifa3, - vPVP; - - 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 `getDebt` */; -/*!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 `getDebt`(vDate DATE) -BEGIN -/** - * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list - * - * @table tmp.client_list - * @param vDate Fecha maxima de los registros - * @treturn tmp.risk - */ - DECLARE vDateIni DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, CURDATE()); - DECLARE vDateEnd DATETIME; - DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; - - SET vDateEnd = TIMESTAMP(IFNULL(vDate, CURDATE()), '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS tmp.clientList2; - CREATE TEMPORARY TABLE tmp.clientList2 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.clientList3; - CREATE TEMPORARY TABLE tmp.clientList3 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT id ticketFk, cl.Id_Cliente - FROM ticket t - JOIN tmp.clientList2 cl ON t.clientFk = cl.Id_Cliente - WHERE refFk IS NULL - AND shipped BETWEEN vDateIni AND vDateEnd; - - CALL vn.ticketGetTotal(); - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT Id_Cliente, SUM(amount) risk - FROM vn2008.Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk cr - JOIN tmp.client_list on tmp.client_list.Id_Cliente = cr.customer_id - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM vn2008.Recibos - JOIN tmp.clientList2 using(Id_Cliente) - WHERE Fechacobro > vDateIni - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, total - FROM tmp.ticketTotal tt - JOIN tmp.ticket t ON t.ticketFk = tt.ticketFk - UNION ALL - SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - JOIN tmp.clientList3 l ON l.Id_Cliente = t.clientFk - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DROP TEMPORARY TABLE - tmp.ticket, - tmp.clientList2, - tmp.clientList3; -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 `getDebtKk` */; -/*!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 `getDebtKk`(vDate DATE) -BEGIN -/** - * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list - * - * @deprecated usar vn.clientGetDebt - * @table tmp.client_list - * @param vDate Fecha maxima de los registros - * @treturn tmp.risk - */ - DECLARE vDateIni DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, CURDATE()); - DECLARE vDateEnd DATETIME; - DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; - - SET vDateEnd = TIMESTAMP(IFNULL(vDate, CURDATE()), '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS tmp.clientList2; - CREATE TEMPORARY TABLE tmp.clientList2 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS tmp.clientList3; - CREATE TEMPORARY TABLE tmp.clientList3 - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * - FROM tmp.client_list; - - DROP TEMPORARY TABLE IF EXISTS vn2008.ticket_tmp; - CREATE TEMPORARY TABLE vn2008.ticket_tmp - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT id ticket_id, cl.Id_Cliente - FROM ticket t - JOIN tmp.clientList2 cl ON t.clientFk = cl.Id_Cliente - WHERE refFk IS NULL - AND shipped BETWEEN vDateIni AND vDateEnd; - - CALL vn2008.ticket_total; - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - CREATE TEMPORARY TABLE tmp.risk - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT Id_Cliente, SUM(amount) risk - FROM vn2008.Clientes c - JOIN ( - SELECT customer_id, SUM(amount) amount - FROM bi.customer_risk cr - JOIN tmp.client_list on tmp.client_list.Id_Cliente = cr.customer_id - GROUP BY customer_id - UNION ALL - SELECT Id_Cliente, SUM(Entregado) - FROM vn2008.Recibos - JOIN tmp.clientList2 using(Id_Cliente) - WHERE Fechacobro > vDateIni - GROUP BY Id_Cliente - UNION ALL - SELECT t.Id_Cliente, total - FROM vn2008.ticket_total tt - JOIN vn2008.ticket_tmp t ON tt.ticket_id = t.ticket_id - UNION ALL - SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpvTransaction t - JOIN tmp.clientList3 l ON l.Id_Cliente = t.clientFk - WHERE t.receiptFk IS NULL - AND t.status = 'ok' - GROUP BY t.clientFk - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DROP TEMPORARY TABLE - vn2008.ticket_tmp, - vn2008.ticket_total, - tmp.clientList2, - tmp.clientList3; -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 `getItemVisibleAvailable` */; -ALTER DATABASE `vn` 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 `getItemVisibleAvailable`(IN vItem INT,IN vDate DATE,IN vWarehouse TINYINT,IN isForcedToRecalculate BOOLEAN) -BEGIN - - DECLARE vCacheVisibleCalculated INTEGER; - DECLARE vCacheAvailableCalculated INTEGER; - - CALL cache.visible_refresh(vCacheVisibleCalculated, isForcedToRecalculate, vWarehouse); - CALL cache.available_refresh(vCacheAvailableCalculated, isForcedToRecalculate, vWarehouse, vDate); - - SELECT a.Id_Article, a.Article, a.Medida, a.Tallos, a.caja, O.Abreviatura as origen, a.Color, tipo_id, an.Nicho, - a.Categoria, p.`name` as producer, v.visible, av.available - FROM vn2008.Articles a - LEFT JOIN vn2008.Articles_nicho an ON a.Id_Article = an.Id_Article AND an.warehouse_id = vWarehouse - LEFT JOIN vn2008.Origen O ON O.id = a.id_origen - LEFT JOIN vn2008.producer p ON p.producer_id = a.producer_id - LEFT JOIN cache.visible v ON (vItem IS NULL OR v.item_id = vItem) AND v.calc_id = vCacheVisibleCalculated - LEFT JOIN cache.available av ON (vItem IS NULL OR av.item_id = vItem) AND av.calc_id = vCacheAvailableCalculated - WHERE (vItem IS NULL OR a.Id_Article = vItem); - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceCorrectedSalekk` */; -/*!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 `invoiceCorrectedSalekk`(vInvoiceOut INT) -BEGIN - -/* Devuelve los registros de la factura en cuestion, para preparar la factura rectificativa -* -* param vInvoiceOutId Referencia de la factura emitida, tal como se ve en el ticket -* -*/ - - -SELECT - s.id, - s.itemFk, - s.quantity, - s.price, - s.discount - FROM sale s - JOIN ticket t ON t.id = s.ticketFk - WHERE t.invoice = vInvoiceOut; - - - -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 `invoiceExpenceMake` */; -/*!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 `invoiceExpenceMake`(IN vInvoice INT) -BEGIN -/* Inserta las partidas de gasto correspondientes a la factura - * REQUIERE tabla ticketToInvoice - * - * @param vInvoice Numero de factura - * - */ - DELETE FROM invoiceOutExpence - WHERE invoiceOutFk = vInvoice; - - INSERT INTO invoiceOutExpence( - invoiceOutFk, - expenceFk, - amount - ) - SELECT - vInvoice, - expenceFk, - SUM(ROUND(quantity * price * (100 - discount)/100,2)) amount - FROM ticketToInvoice t - JOIN sale s ON s.ticketFk = t.id - JOIN item i ON i.id = s.itemFk - GROUP BY i.expenceFk - HAVING 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 `invoiceFromAddress` */; -ALTER DATABASE `vn` 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 `invoiceFromAddress`(vMaxTicketDate DATETIME,vAddress INT,vCompany INT) -BEGIN - - DECLARE vMinDateTicket DATE DEFAULT TIMESTAMPADD(MONTH, -3, CURDATE()); - - SET vMaxTicketDate = vn2008.DAYEND(vMaxTicketDate); - - DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; - - CREATE TEMPORARY TABLE `ticketToInvoice` - (PRIMARY KEY (`id`)) - ENGINE = MEMORY - SELECT Id_Ticket id FROM vn2008.Tickets WHERE (Fecha BETWEEN vMinDateTicket - AND vMaxTicketDate) AND Id_Consigna = vAddress - AND Factura IS NULL AND empresa_id = 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceFromClient` */; -ALTER DATABASE `vn` 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 `invoiceFromClient`(vMaxTicketDate DATETIME, vClient INT, vCompany INT) -BEGIN - - DECLARE vMinDateTicket DATE DEFAULT TIMESTAMPADD(YEAR, -3, CURDATE()); - - SET vMaxTicketDate = vn2008.DAYEND(vMaxTicketDate); - - DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; - - CREATE TEMPORARY TABLE `ticketToInvoice` - (PRIMARY KEY (`id`)) - ENGINE = MEMORY - SELECT Id_Ticket id FROM vn2008.Tickets - WHERE Id_Cliente = vClient - AND Factura IS NULL - AND empresa_id = vCompany - AND (Fecha BETWEEN vMinDateTicket AND vMaxTicketDate) - ; - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `invoiceFromTicket` */; -/*!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 `invoiceFromTicket`(IN vTicket INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; - - CREATE TEMPORARY TABLE `ticketToInvoice` - (PRIMARY KEY (`id`)) - ENGINE = MEMORY - SELECT id FROM vn.ticket - WHERE id = vTicket AND refFk IS 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 `invoiceInBookingCommon` */; -/*!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 `invoiceInBookingCommon`(vInvoiceInId INT, OUT vSerialNumber INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS newInvoiceIn; - - CREATE TEMPORARY TABLE newInvoiceIn - SELECT - i.*, - YEAR(i.booked) datedYear, - -- CONCAT('s/fra',RIGHT(i.supplierRef,8)) concept, - CONCAT('s/fra',RIGHT(i.supplierRef,8),':',LEFT(s.name, 10)) conceptWithSupplier, - (cc.id = c.id) isSameCountry, - cit.id invoicesCount - FROM invoiceIn i - JOIN cplusInvoiceType472 cit ON cit.id = i.cplusInvoiceType472Fk - JOIN supplier s ON s.id = i.supplierFk - JOIN country c ON c.id = s.countryFk - JOIN supplier sc ON sc.id = i.companyFk - JOIN country cc ON cc.id = sc.countryFk - WHERE i.id = vInvoiceInId; - - DROP TEMPORARY TABLE IF EXISTS newSupplier; - CREATE TEMPORARY TABLE newSupplier - SELECT - s.*, - REPLACE(s.account,' ','') supplierAccount, - IF(c.CEE < 2, TRUE, FALSE) isUeeMember - FROM supplier s - JOIN newInvoiceIn n - JOIN country c ON c.id = s.countryFk - WHERE s.id = n.supplierFk; - - IF (SELECT isActive FROM newSupplier) = 0 THEN - CALL util.throw('INACTIVE_PROVIDER'); - END IF; - - SELECT IFNULL(MAX(i.serialNumber) + 1,1) - INTO vSerialNumber - FROM invoiceIn i - JOIN newInvoiceIn n - WHERE i.serial LIKE n.serial - AND YEAR(i.booked) = n.datedYear - AND i.companyFk = n.companyFk - GROUP BY i.companyFk; - -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 `invoiceInBookingExtra` */; -/*!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 `invoiceInBookingExtra`(vInvoiceInId INT) -BEGIN - DECLARE vBookNumber,vSerialNumber INT; - - CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - -- Actualizacion de la fecha de contabilizado y de operacion de las importaciones - UPDATE invoiceInEntry iie - JOIN invoiceIn ii ON ii.id = iie.invoiceInFk - JOIN invoiceInAwb iia ON iia.invoiceInFk = iie.invoiceInAwbFk - JOIN awb a ON a.id = iia.awbFk - SET ii.isBooked = TRUE, - ii.booked = IFNULL(ii.booked,a.booked), - ii.operated = IFNULL(ii.operated,a.operated), - ii.issued = IFNULL(ii.issued,a.issued), - ii.bookEntried = IFNULL(ii.bookEntried,a.bookEntried) - WHERE iie.invoiceInAwbFk = vInvoiceInId; - - -- Extracomunitarias gasto contra proveedor/acreedor - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - CONCEPTO, - CAMBIO, - DEBEME, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber ASIEN, - IFNULL(a.bookEntried, n.bookEntried) FECHA, - iit.expenceFk SUBCTA, - s.account CONTRA, - ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EURODEBE, - CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - SUM(iit.taxableBase) / SUM(iit.foreignValue) CAMBIO, - ROUND(SUM(iit.foreignValue) * (iie.percentage / 100),2) DEBEME, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id - JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk - JOIN invoiceIn i ON i.id = iit.invoiceInFk - JOIN supplier s ON s.id = i.supplierFk - LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id - LEFT JOIN awb a ON a.id = iia.awbFk - WHERE iie.percentage - GROUP BY i.id; - - -- Extracomunitarias proveedor contra gasto - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - CONCEPTO, - CAMBIO, - HABERME, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber ASIEN, - IFNULL(a.bookEntried, n.bookEntried) FECHA, - s.account SUBCTA, - iit.expenceFk CONTRA, - ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EUROHABER, - CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - SUM(iit.taxableBase) / SUM(iit.foreignValue) CAMBIO, - SUM(iit.foreignValue) HABERME, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id - JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk - JOIN invoiceIn i ON i.id = iit.invoiceInFk - JOIN supplier s ON s.id = i.supplierFk - LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id - LEFT JOIN awb a ON a.id = iia.awbFk - WHERE iie.percentage - GROUP BY i.id; - - -- Iva Importacion pendiente - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONCEPTO, - EUROHABER,-- EURODEBE - SERIE, - empresa_id) - - SELECT - vBookNumber, - a.bookEntried, - '4700000999', - n.conceptWithSupplier, - ROUND(SUM(iii.amount * (tc.rate/100)),2) eurohaber, - n.serial, - n.companyFk - FROM newInvoiceIn n - JOIN invoiceInIntrastat iii ON n.id = iii.invoiceInFk - JOIN intrastat ii ON ii.id = iii.intrastatFk - JOIN taxCode tc ON tc.id = ii.taxCodeFk - JOIN invoiceInAwb iia ON iia.invoiceInFk = iii.invoiceInFk - JOIN awb a ON a.id = iia.awbFk - HAVING eurohaber IS NOT NULL; - - -- Linea iva importacion extracomunitaria - - SET @cont:=1; - SET @total:=0; - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - FECHA_EX, - FECHA_OP, - FACTURAEX, - NFACTICK, - L340, - LDIFADUAN, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - empresa_id, - FECREGCON - ) - - SELECT - vBookNumber ASIEN, - x.FECHA, - x.SUBCTA, - x.CONTRA, - IF (n.isSameCountry OR NOT s.isUeeMember, - x.EURODEBE, - NULL - ) EURODEBE, - x.BASEEURO, - x.CONCEPTO, - vSerialNumber FACTURA, - x.IVA, - '*' AUXILIAR, - x.SERIE, - x.FECHA_EX, - x.FECHA_OP, - x.dua FACTURAEX, - n.invoicesCount NFACTICK, - IF(@total:=@total + x.EURODEBE AND @cont:=@cont + 1 ,1,1) L340, - TRUE LDIFADUAN, - x.TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - 5 TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - x.TERIDNIF, - x.TERNIF, - x.TERNOM, - n.companyFk, - IFNULL(x.FECREGCON,n.booked) FECREGCON - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN ( - SELECT - -- CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) - CONCAT('COMPRA s/fra ',ii.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - tc.code SUBCTA, - s.account CONTRA, - tc.rate IVA, - ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount)*(tc.rate/100),2) EURODEBE, - ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount),2) BASEEURO, - ii.serial SERIE, - e.supplierFk, - iia.dua, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - ii.booked FECREGCON, - ii.cplusTrascendency472Fk TIPOCLAVE, - a.issued FECHA_EX, - a.operated FECHA_OP, - a.bookEntried FECHA - FROM invoiceInAwb iia - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = iia.invoiceInFk - JOIN awb a ON a.id = iia.awbFk - JOIN invoiceIn ii ON ii.id = iie.invoiceInFk - JOIN invoiceInSerial iis ON iis.code = ii.serial - JOIN buy b ON b.entryFk = iie.entryFk - JOIN item i ON i.id = b.itemFk - JOIN ( - SELECT - i.intrastatFk, - sum(b.buyingValue * b.quantity) as intrastatSum - FROM buy b - JOIN item i ON i.id = b.itemFk - JOIN invoiceInEntry iie ON iie.entryFk = b.entryFk - JOIN invoiceInAwb iia ON iia.invoiceInFk = iie.invoiceInAwbFk - JOIN awb aw ON aw.id =iia.awbFk - WHERE iie.percentage AND iia.invoiceInFk = vInvoiceInId - GROUP BY i.intrastatFk - ) intraSub ON intraSub.intrastatFk = i.intrastatFk - JOIN ( - SELECT - iii.intrastatFk, - iii.amount, - intr.taxCodeFk - FROM invoiceInIntrastat iii - JOIN intrastat intr ON intr.id = iii.intrastatFk - WHERE iii.invoiceInFk = vInvoiceInId - ) taxSub ON taxSub.intrastatFk = i.intrastatFk - JOIN taxCode tc ON tc.id = taxSub.taxCodeFk - JOIN entry e ON e.id = iie.entryFk - JOIN supplier s ON s.id = e.supplierFk - WHERE iie.invoiceInAwbFk = vInvoiceInId AND iie.percentage - GROUP BY e.supplierFk, taxSub.taxCodeFk - ) x - GROUP BY x.supplierFk, x.IVA; - - /*UPDATE newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = vInvoiceInId - JOIN invoiceIn ii ON ii.id = iie.invoiceInFk - SET ii.isBooked = TRUE, - ii.booked = IFNULL(ii.booked,n.booked), - ii.operated = IFNULL(ii.operated,n.operated), - ii.issued = IFNULL(ii.issued,n.issued);*/ - -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 `invoiceInBookingkk` */; -/*!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 `invoiceInBookingkk`(vInvoiceInId INT) -BEGIN - /* OBSOLETO usar invoiceInBookingMain o invoiceInBookingExtra */ - DECLARE vSerialNumber, vBookNumber, vBookNumberPlus1 INT; - DECLARE vTotalAmount DECIMAL(10,2); - - DROP TEMPORARY TABLE IF EXISTS newInvoiceIn; - - CREATE TEMPORARY TABLE newInvoiceIn - SELECT - i.*, - YEAR(i.booked) datedYear, - -- CONCAT('s/fra',RIGHT(i.supplierRef,8)) concept, - CONCAT('s/fra',RIGHT(i.supplierRef,8),':',LEFT(s.name, 10)) conceptWithSupplier, - (cc.id = c.id) isSameCountry, - cit.id invoicesCount - FROM invoiceIn i - JOIN cplusInvoiceType472 cit ON cit.id = i.cplusInvoiceType472Fk - JOIN supplier s ON s.id = i.supplierFk - JOIN country c ON c.id = s.countryFk - JOIN supplier sc ON sc.id = i.companyFk - JOIN country cc ON cc.id = sc.countryFk - WHERE i.id = vInvoiceInId; - - DROP TEMPORARY TABLE IF EXISTS newSupplier; - CREATE TEMPORARY TABLE newSupplier - SELECT - s.*, - REPLACE(s.account,' ','') supplierAccount, - IF(c.CEE < 2, TRUE, FALSE) isUeeMember - FROM supplier s - JOIN newInvoiceIn n - JOIN country c ON c.id = s.countryFk - WHERE s.id = n.supplierFk; - - IF (SELECT isActive FROM newSupplier) = 0 THEN - CALL util.throw('INACTIVE_PROVIDER'); - END IF; - - SELECT IFNULL(MAX(i.serialNumber) + 1,1) - INTO vSerialNumber - FROM invoiceIn i - JOIN newInvoiceIn n - WHERE i.serial LIKE n.serial - AND YEAR(i.booked) = n.datedYear - AND i.companyFk = n.companyFk - GROUP BY i.companyFk; - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - SET vBookNumberPlus1 = vBookNumber + 1; - - SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)) - INTO vTotalAmount - FROM invoiceIn i - JOIN invoiceInTax iit ON iit.invoiceInFk = i.id - JOIN taxCode tc ON iit.taxCodeFk = tc.id - WHERE i.id = vInvoiceInId; - - -- Apunte del proveedor - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - EUROHABER, - CONCEPTO, - NFACTICK, - empresa_id) - SELECT - vBookNumber, - n.booked, - s.supplierAccount, - vTotalAmount, - n.conceptWithSupplier, - n.invoicesCount, - n.companyFk - FROM newInvoiceIn n - JOIN newSupplier s; - - -- ----------------------------------------------------------- Linea de Gastos - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - EUROHABER, - CONCEPTO, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber ASIEN, - n.booked FECHA, - if( - e.isWithheld, - LPAD(RIGHT(s.supplierAccount ,5),10,iit.expenceFk), - iit.expenceFk - ) SUBCTA, - s.supplierAccount CONTRA, - if( - e.isWithheld, - NULL, - ABS(ROUND(SUM(iit.taxableBase),2)) - ) EURODEBE, - if( - e.isWithheld, - ABS(ROUND(SUM(iit.taxableBase),2)), - NULL - ) EUROHABER, - n.conceptWithSupplier CONCEPTO, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax iit ON iit.invoiceInFk = n.id - JOIN taxCode tc ON tc.id = iit.taxCodeFk - JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE iit.expenceFk != 5660000002 - GROUP BY iit.expenceFk; - - -- Extracomunitarias gasto contra proveedor/acreedor - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - CONCEPTO, - NFACTICK, - empresa_id - ) - SELECT - vBookNumberPlus1 ASIEN, - IFNULL(a.booked, n.booked) FECHA, - iit.expenceFk SUBCTA, - s.account CONTRA, - ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EURODEBE, - CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id - JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk - JOIN invoiceIn i ON i.id = iit.invoiceInFk - JOIN supplier s ON s.id = i.supplierFk - LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id - LEFT JOIN awb a ON a.id = iia.awbFk - WHERE iie.percentage - GROUP BY i.id; - - -- Extracomunitarias proveedor contra gasto - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - CONCEPTO, - NFACTICK, - empresa_id - ) - SELECT - vBookNumberPlus1 ASIEN, - IFNULL(a.booked, n.booked) FECHA, - s.account SUBCTA, - iit.expenceFk CONTRA, - ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EUROHABER, - CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id - JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk - JOIN invoiceIn i ON i.id = iit.invoiceInFk - JOIN supplier s ON s.id = i.supplierFk - LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id - LEFT JOIN awb a ON a.id = iia.awbFk - WHERE iie.percentage - GROUP BY i.id; - - -- -------------------------------------------------------------------- - -- ------- Lineas de IVA --------------- - -- -------------------------------------------------------------------- - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - FECREGCON, - empresa_id - ) - SELECT vBookNumber ASIEN, - n.booked FECHA, - tc.code SUBCTA, - s.supplierAccount CONTRA, - SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, - SUM(it.taxableBase) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tc.rate IVA, - IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - TRUE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - n.cplusTrascendency472Fk TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.booked FECREGCON, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - LEFT JOIN - (SELECT eWithheld.id - FROM invoiceInTax hold - JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld - WHERE hold.invoiceInFk = 58262 LIMIT 1 - ) eWithheld ON TRUE - WHERE tc.type != '-' - AND tc.isActive - GROUP BY tc.rate; - - -- Linea iva inversor sujeto pasivo - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - empresa_id - ) - - SELECT - vBookNumber ASIEN, - n.booked FECHA, - tcLink.code SUBCTA, - s.supplierAccount CONTRA, - ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, - ROUND(SUM(it.taxableBase),2) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tcLink.rate IVA, - '*' AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - FALSE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - 1 TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN taxCode tcLink ON tcLink.linkFk = tc.linkFk AND tc.id != tcLink.id - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE tc.isActive - GROUP BY tcLink.rate, e.id; - - -- Iva Importacion pendiente - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONCEPTO, - EUROHABER,-- EURODEBE - SERIE, - empresa_id) - - SELECT - vBookNumberPlus1, - a.booked, - '4700000999', - n.conceptWithSupplier, - ROUND(SUM(iii.amount * (tc.rate/100)),2) eurohaber, - n.serial, - n.companyFk - FROM newInvoiceIn n - JOIN invoiceInIntrastat iii ON n.id = iii.invoiceInFk - JOIN intrastat ii ON ii.id = iii.intrastatFk - JOIN taxCode tc ON tc.id = ii.taxCodeFk - JOIN invoiceInAwb iia ON iia.invoiceInFk = iii.invoiceInFk - JOIN awb a ON a.id = iia.awbFk - HAVING eurohaber IS NOT NULL; - - - -- Linea iva importacion extracomunitaria - - SET @cont:=1; - SET @total:=0; - SET @base:=2; - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - FECHA_EX, - FECHA_OP, - FACTURAEX, - NFACTICK, - L340, - LDIFADUAN, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - empresa_id, - FECREGCON - ) - - SELECT - vBookNumberPlus1 ASIEN, - x.FECHA, - x.SUBCTA, - x.CONTRA, - IF (n.isSameCountry OR NOT s.isUeeMember, - x.EURODEBE, - NULL - ) EURODEBE, - x.BASEEURO, - x.CONCEPTO, - vSerialNumber FACTURA, - x.IVA, - '*' AUXILIAR, - x.SERIE, - x.FECHA_EX, - x.FECHA_OP, - x.dua FACTURAEX, - n.invoicesCount NFACTICK, - IF(@total:=@total + x.EURODEBE AND @cont:=@cont + 1 ,1,1) L340, - TRUE LDIFADUAN, - x.TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - 5 TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - x.TERIDNIF, - x.TERNIF, - x.TERNOM, - n.companyFk, - IFNULL(x.FECREGCON,n.booked) FECREGCON - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN ( - SELECT - -- CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) - CONCAT('COMPRA s/fra ',ii.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, - tc.code SUBCTA, - s.account CONTRA, - tc.rate IVA, - ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount)*(tc.rate/100),2) EURODEBE, - ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount),2) BASEEURO, - ii.serial SERIE, - e.supplierFk, - iia.dua, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - ii.booked FECREGCON, - ii.cplusTrascendency472Fk TIPOCLAVE, - a.issued FECHA_EX, - a.operated FECHA_OP, - a.booked FECHA - FROM invoiceInAwb iia - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = iia.invoiceInFk - JOIN awb a ON a.id = iia.awbFk - JOIN invoiceIn ii ON ii.id = iie.invoiceInFk - JOIN invoiceInSerial iis ON iis.code = ii.serial - JOIN buy b ON b.entryFk = iie.entryFk - JOIN item i ON i.id = b.itemFk - JOIN ( - SELECT - i.intrastatFk, - sum(b.buyingValue * b.quantity) as intrastatSum - FROM buy b - JOIN item i ON i.id = b.itemFk - JOIN invoiceInEntry iie - ON iie.entryFk = b.entryFk - JOIN invoiceInAwb iia - ON iia.invoiceInFk = iie.invoiceInAwbFk - JOIN awb aw ON aw.id =iia.awbFk - WHERE iie.percentage AND iia.invoiceInFk = vInvoiceInId - GROUP BY i.intrastatFk - ) intraSub ON intraSub.intrastatFk = i.intrastatFk - JOIN ( - SELECT - iii.intrastatFk, - iii.amount, - intr.taxCodeFk - FROM invoiceInIntrastat iii - JOIN intrastat intr - ON intr.id = iii.intrastatFk - WHERE iii.invoiceInFk = vInvoiceInId - ) taxSub ON taxSub.intrastatFk = i.intrastatFk - JOIN taxCode tc ON tc.id = taxSub.taxCodeFk - JOIN entry e ON e.id = iie.entryFk - JOIN supplier s ON s.id = e.supplierFk - WHERE iie.invoiceInAwbFk = vInvoiceInId AND iie.percentage - GROUP BY e.supplierFk, taxSub.taxCodeFk - ) x - GROUP BY x.supplierFk, x.IVA; - - -- Actualizacion de la fecha de contabilizado y de operacion de las importaciones - UPDATE newInvoiceIn n - JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = vInvoiceInId - JOIN invoiceIn ii ON ii.id = iie.invoiceInFk - SET ii.booked = IFNULL(ii.booked,n.booked), - ii.operated = IFNULL(ii.operated,n.issued); - - -- Actualización del registro original - UPDATE invoiceIn - SET - serialNumber = vSerialNumber, - isBooked = TRUE - WHERE - id = vInvoiceInId; -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 `invoiceInBookingMain` */; -/*!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 `invoiceInBookingMain`(vInvoiceInId INT) -BEGIN - DECLARE vTotalAmount,vTotalAmountDivisa DECIMAL(10,2); - DECLARE vBookNumber,vSerialNumber INT; - DECLARE vRate DECIMAL(10,4); - - CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); - - SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)), - SUM(iit.foreignValue * IF(i.serial = 'R', 1 +(tc.rate/100),1)), - iit.taxableBase/iit.foreignValue - INTO vTotalAmount, vTotalAmountDivisa, vRate - FROM newInvoiceIn i - JOIN invoiceInTax iit ON iit.invoiceInFk = i.id - JOIN taxCode tc ON iit.taxCodeFk = tc.id; - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - -- Apunte del proveedor - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - EUROHABER, - CONCEPTO, - CAMBIO, - HABERME, - NFACTICK, - CLAVE, - empresa_id) - SELECT - vBookNumber, - n.bookEntried, - s.supplierAccount, - vTotalAmount, - n.conceptWithSupplier, - vRate, - vTotalAmountDivisa, - n.invoicesCount, - vInvoiceInId, - n.companyFk - FROM newInvoiceIn n - JOIN newSupplier s; - - -- ----------------------------------------------------------- Linea de Gastos - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - EUROHABER, - CONCEPTO, - CAMBIO, - DEBEME, - HABERME, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber ASIEN, - n.bookEntried FECHA, - if( - e.isWithheld, - LPAD(RIGHT(s.supplierAccount,5),10,iit.expenceFk), - iit.expenceFk - ) SUBCTA, - s.supplierAccount CONTRA, - if( - e.isWithheld, - NULL, - ABS(ROUND(SUM(iit.taxableBase),2)) - ) EURODEBE, - if( - e.isWithheld, - ABS(ROUND(SUM(iit.taxableBase),2)), - NULL - ) EUROHABER, - n.conceptWithSupplier CONCEPTO, - vRate, - if( - e.isWithheld, - NULL, - ABS(ROUND(SUM(iit.foreignValue),2)) - ) DEBEME, - if( - e.isWithheld, - ABS(ROUND(SUM(iit.foreignValue),2)), - NULL - ) HABERME, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax iit ON iit.invoiceInFk = n.id - JOIN taxCode tc ON tc.id = iit.taxCodeFk - JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE iit.expenceFk != 5660000002 - GROUP BY iit.expenceFk; - - - -- -------------------------------------------------------------------- - -- ------- Lineas de IVA --------------- - -- -------------------------------------------------------------------- - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - FECREGCON, - empresa_id - ) - SELECT vBookNumber ASIEN, - n.bookEntried FECHA, - tc.code SUBCTA, - s.supplierAccount CONTRA, - SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, - SUM(it.taxableBase) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tc.rate IVA, - IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - TRUE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - n.cplusTrascendency472Fk TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.booked FECREGCON, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - LEFT JOIN - (SELECT eWithheld.id - FROM invoiceInTax hold - JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld - WHERE hold.invoiceInFk = 58262 LIMIT 1 - ) eWithheld ON TRUE - WHERE tc.type != '-' - AND tc.isActive - GROUP BY tc.rate; - - -- Linea iva inversor sujeto pasivo - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - empresa_id - ) - - SELECT - vBookNumber ASIEN, - n.bookEntried FECHA, - tcLink.code SUBCTA, - s.supplierAccount CONTRA, - ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, - ROUND(SUM(it.taxableBase),2) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tcLink.rate IVA, - '*' AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - FALSE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - 1 TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN taxCode tcLink ON tcLink.link = tc.link AND tc.id != tcLink.id - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE tc.isActive - GROUP BY tcLink.rate, e.id; - --- Actualización del registro original - UPDATE invoiceIn ii - JOIN newInvoiceIn ni ON ii.id = ni.id - SET - ii.serialNumber = vSerialNumber, - ii.isBooked = 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 `invoiceInBookingMainkk` */; -/*!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 `invoiceInBookingMainkk`(vInvoiceInId INT) -BEGIN - DECLARE vTotalAmount DECIMAL(10,2); - DECLARE vBookNumber,vSerialNumber INT; - - CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); - - SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)) - INTO vTotalAmount - FROM newInvoiceIn i - JOIN invoiceInTax iit ON iit.invoiceInFk = i.id - JOIN taxCode tc ON iit.taxCodeFk = tc.id; - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - -- Apunte del proveedor - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - EUROHABER, - CONCEPTO, - NFACTICK, - empresa_id) - SELECT - vBookNumber, - n.bookEntried, - s.supplierAccount, - vTotalAmount, - n.conceptWithSupplier, - n.invoicesCount, - n.companyFk - FROM newInvoiceIn n - JOIN newSupplier s; - - -- ----------------------------------------------------------- Linea de Gastos - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - EUROHABER, - CONCEPTO, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber ASIEN, - n.bookEntried FECHA, - if( - e.isWithheld, - LPAD(RIGHT(s.supplierAccount ,5),10,iit.expenceFk), - iit.expenceFk - ) SUBCTA, - s.supplierAccount CONTRA, - if( - e.isWithheld, - NULL, - ABS(ROUND(SUM(iit.taxableBase),2)) - ) EURODEBE, - if( - e.isWithheld, - ABS(ROUND(SUM(iit.taxableBase),2)), - NULL - ) EUROHABER, - n.conceptWithSupplier CONCEPTO, - n.invoicesCount NFACTICK, - n.companyFk empresa_id - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax iit ON iit.invoiceInFk = n.id - JOIN taxCode tc ON tc.id = iit.taxCodeFk - JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE iit.expenceFk != 5660000002 - GROUP BY iit.expenceFk; - - - -- -------------------------------------------------------------------- - -- ------- Lineas de IVA --------------- - -- -------------------------------------------------------------------- - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - FECREGCON, - empresa_id - ) - SELECT vBookNumber ASIEN, - n.bookEntried FECHA, - tc.code SUBCTA, - s.supplierAccount CONTRA, - SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, - SUM(it.taxableBase) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tc.rate IVA, - IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - TRUE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - n.cplusTrascendency472Fk TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.booked FECREGCON, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - LEFT JOIN - (SELECT eWithheld.id - FROM invoiceInTax hold - JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld - WHERE hold.invoiceInFk = 58262 LIMIT 1 - ) eWithheld ON TRUE - WHERE tc.type != '-' - AND tc.isActive - GROUP BY tc.rate; - - -- Linea iva inversor sujeto pasivo - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - AUXILIAR, - SERIE, - TIPOOPE, - FECHA_EX, - FECHA_OP, - NFACTICK, - FACTURAEX, - L340, - LRECT349, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - TERIDNIF, - TERNIF, - TERNOM, - empresa_id - ) - - SELECT - vBookNumber ASIEN, - n.bookEntried FECHA, - tcLink.code SUBCTA, - s.supplierAccount CONTRA, - ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, - ROUND(SUM(it.taxableBase),2) BASEEURO, - GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, - vSerialNumber FACTURA, - tcLink.rate IVA, - '*' AUXILIAR, - n.serial SERIE, - tt.TIPOOPE, - n.issued FECHA_EX, - n.operated FECHA_OP, - n.invoicesCount NFACTICK, - n.supplierRef FACTURAEX, - FALSE L340, - (isSameCountry OR NOT isUeeMember) LRECT349, - 1 TIPOCLAVE, - n.cplusTaxBreakFk TIPOEXENCI, - n.cplusSubjectOpFk TIPONOSUJE, - n.cplusInvoiceType472Fk TIPOFACT, - n.cplusRectificationTypeFk TIPORECTIF, - iis.cplusTerIdNifFk TERIDNIF, - s.nif AS TERNIF, - s.name AS TERNOM, - n.companyFk - - FROM newInvoiceIn n - JOIN newSupplier s - JOIN invoiceInTax it ON n.id = it.invoiceInFk - JOIN taxCode tc ON tc.id = it.taxCodeFk - JOIN taxType tt ON tt.id = tc.taxTypeFk - JOIN invoiceInSerial iis ON iis.code = tt.serial - JOIN taxCode tcLink ON tcLink.linkFk = tc.linkFk AND tc.id != tcLink.id - JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk - WHERE tc.isActive - GROUP BY tcLink.rate, e.id; - --- Actualización del registro original - UPDATE invoiceIn ii - JOIN newInvoiceIn ni ON ii.id = ni.id - SET - ii.serialNumber = vSerialNumber, - ii.isBooked = 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 `invoiceMakeByClient` */; -/*!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 `invoiceMakeByClient`(vClientFk INT, vSerial CHAR(1), vShipped DATE, vCompanyFk INT, OUT vInvoiceId INT) -BEGIN -/** - * Factura un ticket - * @param vTicketFk Id del ticket - * @param vSerial Serie de factura - * @return Id factura - */ - CALL invoiceFromClient(vShipped, vClientFk, vCompanyFk); - CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); - - IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN - CALL invoiceOutBooking(vInvoiceId); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); - 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 `invoiceMakeByTicket` */; -/*!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 `invoiceMakeByTicket`(vTicketFk INT, vSerial CHAR(1), OUT vInvoiceId INT) -BEGIN -/** - * Factura un ticket - * @param vTicketFk Id del ticket - * @param vSerial Serie de factura - * @return Id factura - */ - CALL invoiceFromTicket(vTicketFk); - CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); - - IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN - CALL invoiceOutBooking(vInvoiceId); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); - 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 `invoiceOutAgain` */; -/*!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 `invoiceOutAgain`(IN vInvoiceRef VARCHAR(15)) -BEGIN - -/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. -* -* @param vInvoice Numero de factura -*/ - - DECLARE vInvoice INT; - DECLARE vCountry INT; - DECLARE vTaxArea VARCHAR(15); - DECLARE vSpainCountryCode INT DEFAULT 1; - - SELECT id - INTO vInvoice - FROM invoiceOut - WHERE ref = vInvoiceRef; - - UPDATE invoiceOut - SET pdf = 0 - WHERE id = vInvoice; - - SELECT s.countryFk - INTO vCountry - FROM supplier s - JOIN invoiceOut io ON io.companyFk = s.id - WHERE io.id = vInvoice; - /* - SELECT IF(a.isEqualizated - AND c.countryFk = vSpainCountryCode - AND i.taxAreaFk = 'NATIONAL', - 'EQU', - i.taxAreaFk) - INTO vTaxArea - FROM invoiceOutSerial i - JOIN invoiceOut io - JOIN ticket t ON t.refFk = io.ref - JOIN address a ON a.id = t.addressFk - JOIN client c ON c.id = t.clientFk - WHERE io.id = vInvoice AND i.code = invoiceSerial(io.clientFk,io.companyFk,'R') - LIMIT 1; - */ - DROP TEMPORARY TABLE IF EXISTS ticketToInvoice; - - CREATE TEMPORARY TABLE ticketToInvoice - SELECT id - FROM ticket - WHERE refFk = vInvoiceRef; - - CALL invoiceExpenceMake(vInvoice); - - -- CALL invoiceTaxMake(vInvoice,vCountry,vTaxArea); - CALL invoiceTaxMake(vInvoice,vCountry); - - UPDATE invoiceOut io - JOIN ( - SELECT SUM(amount) AS total - FROM invoiceOutExpence - WHERE invoiceOutFk = vInvoice - ) base - JOIN ( - SELECT SUM(vat) AS total - FROM invoiceOutTax - WHERE invoiceOutFk = vInvoice - ) vat - SET io.amount = base.total + vat.total - WHERE io.id = vInvoice; - - CALL vn.invoiceOutBooking(vInvoice); - - -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 `invoiceOutAgainDateRange` */; -/*!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 `invoiceOutAgainDateRange`(IN vFirstDate DATE, IN vLastDate DATE) -BEGIN - - DECLARE done BOOL DEFAULT FALSE; - DECLARE vInvoice INT; - DECLARE vInvoiceRef VARCHAR(15); - DECLARE vContador INT DEFAULT 0; - - DECLARE rs CURSOR FOR - SELECT id, ref - FROM vn.invoiceOut - WHERE issued BETWEEN vFirstDate AND vLastDate - AND booked IS NULL; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - OPEN rs; - - FETCH rs INTO vInvoice, vInvoiceRef; - - WHILE NOT done DO - - CALL vn.invoiceOutAgain(vInvoiceRef); - - FETCH rs INTO vInvoice, vInvoiceRef; - - SET vContador = vContador + 1; - - IF vContador MOD 50 = 0 THEN - - SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; - - END IF; - END WHILE; - - CLOSE rs; - - SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; -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 `invoiceOutBooking` */; -/*!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 `invoiceOutBooking`(IN vInvoice INT) -BEGIN - -/* Asienta la factura emitida -* -* param vInvoice factura_id -*/ - - DECLARE vBookNumber INT; - DECLARE vExpenceConcept VARCHAR(50); - DECLARE isUEENotSpain INT DEFAULT 1; - DECLARE vSpain INT DEFAULT 1; - DECLARE vOldBookNumber INT; - - SELECT ASIEN - INTO vOldBookNumber - FROM vn2008.XDiario x - JOIN vn.invoiceOut io ON io.id = vInvoice - WHERE x.SERIE = io.serial - AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) - LIMIT 1; - - DELETE - FROM vn2008.XDiario - WHERE ASIEN = vOldBookNumber; - - DROP TEMPORARY TABLE IF EXISTS rs; - CREATE TEMPORARY TABLE rs - SELECT - c.accountingAccount AS clientBookingAccount, - io.amount as totalAmount, - CONCAT('n/fra ', io.ref) as simpleConcept, - CONCAT('n/fra ', io.ref, ' ', c.name) as Concept, - io.serial AS SERIE, - io.issued AS FECHA_EX, - opDate.FECHA_OP, - io.issued AS FECHA, - 1 AS NFACTICK, - IF(ic.correctingFk,'D','') AS TIPOOPE, - io.cplusTrascendency477Fk AS TIPOCLAVE, - io.cplusTaxBreakFk AS TIPOEXENCI, - io.cplusSubjectOpFk AS TIPONOSUJE, - io.cplusInvoiceType477Fk AS TIPOFACT, - ic.cplusRectificationTypeFk AS TIPORECTIF, - io.companyFk, - RIGHT(io.ref, LENGTH(io.ref) - 1) AS invoiceNum, - IF(ct.politicalCountryFk = vSpain, 1, IF(ct.CEE = isUEENotSpain,2,4)) AS TERIDNIF, - CONCAT(IF(ct.CEE = isUEENotSpain,ct.code,''),c.fi) AS TERNIF, - c.socialName AS TERNOM, - ior.serial AS SERIE_RT, - RIGHT(ior.ref, LENGTH(ior.ref) - 1) AS FACTU_RT, - ior.issued AS FECHA_RT, - IF(ior.id,TRUE,FALSE) AS RECTIFICA - - FROM invoiceOut io - JOIN ( - SELECT GREATEST(MAX(shipped), TIMESTAMPADD(DAY,-15,io.issued)) as FECHA_OP - FROM ticket t - JOIN invoiceOut io ON io.ref = t.refFk - WHERE io.id = vInvoice ) opDate - JOIN invoiceOutSerial ios ON ios.code = io.serial - JOIN client c ON c.id = io.clientFk - JOIN country ct ON ct.id = c.countryFk - LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id - LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk - WHERE io.id = vInvoice; - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - -- Linea del cliente - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - EURODEBE, - CONCEPTO, - FECHA_EX, - FECHA_OP, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - rs.clientBookingAccount AS SUBCTA, - rs.totalAmount AS EURODEBE, - rs.simpleConcept AS CONCEPTO, - rs.FECHA_EX, - rs.FECHA_OP, - rs.companyFk AS empresa_id - FROM rs; - - -- Lineas de gasto - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - CONCEPTO, - FECHA_EX, - FECHA_OP, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - ioe.expenceFk AS SUBCTA, - rs.clientBookingAccount AS CONTRA, - ioe.amount AS EUROHABER, - rs.Concept AS CONCEPTO, - rs.FECHA_EX, - rs.FECHA_OP, - rs.companyFk AS empresa_id - FROM rs - JOIN invoiceOutExpence ioe - WHERE ioe.invoiceOutFk = vInvoice; - - SELECT GROUP_CONCAT(`name` SEPARATOR ',') - INTO vExpenceConcept - FROM expence e - JOIN invoiceOutExpence ioe ON ioe.expenceFk = e.id - WHERE ioe.invoiceOutFk = vInvoice; - - -- Lineas de IVA - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - RECEQUIV, - AUXILIAR, - SERIE, - SERIE_RT, - FACTU_RT, - RECTIFICA, - FECHA_RT, - FECHA_OP, - FECHA_EX, - TIPOOPE, - NFACTICK, - TERIDNIF, - TERNIF, - TERNOM, - L340, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - iot.pgcFk AS SUBCTA, - rs.clientBookingAccount AS CONTRA, - iot.vat AS EUROHABER, - iot.taxableBase AS BASEEURO, - CONCAT(vExpenceConcept,' : ',rs.Concept) AS CONCEPTO, - rs.invoiceNum AS FACTURA, - IF(pe2.equFk,0,pgc.rate) AS IVA, - IF(pe2.equFk,0,pgce.rate) AS RECEQUIV, - IF(pgc.mod347,'','*') AS AUXILIAR, - rs.SERIE, - rs.SERIE_RT, - rs.FACTU_RT, - rs.RECTIFICA, - rs.FECHA_RT, - rs.FECHA_OP, - rs.FECHA_EX, - rs.TIPOOPE, - rs.NFACTICK, - rs.TERIDNIF, - rs.TERNIF, - rs.TERNOM, - pgc.mod340 AS L340, - pgc.cplusTrascendency477Fk AS TIPOCLAVE, - pgc.cplusTaxBreakFk as TIPOEXENCI, - rs.TIPONOSUJE, - rs.TIPOFACT, - rs.TIPORECTIF, - rs.companyFk AS empresa_id - FROM rs - JOIN invoiceOutTax iot - JOIN pgc ON pgc.code = iot.pgcFk - LEFT JOIN pgcEqu pe ON pe.vatFk = iot.pgcFk -- --------------- Comprueba si la linea es de iva con rec.equiv. asociado - LEFT JOIN pgc pgce ON pgce.code = pe.equFk - LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv. - WHERE iot.invoiceOutFk = vInvoice; - - UPDATE invoiceOut - SET booked = CURDATE() - WHERE id = vInvoice; - - -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 `invoiceOutBookingkk` */; -/*!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 `invoiceOutBookingkk`(IN vInvoice INT) -BEGIN - -/* Asienta la factura emitida -* -* param vInvoice factura_id -*/ - - DECLARE vBookNumber INT; - DECLARE vExpenceConcept VARCHAR(50); - DECLARE isUEENotSpain INT DEFAULT 1; - DECLARE vOldBookNumber INT; - - SELECT ASIEN - INTO vOldBookNumber - FROM vn2008.XDiario x - JOIN vn.invoiceOut io ON io.id = vInvoice - WHERE x.SERIE = io.serial - AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) - LIMIT 1; - - DELETE - FROM vn2008.XDiario - WHERE ASIEN = vOldBookNumber; - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - DROP TEMPORARY TABLE IF EXISTS rs; - CREATE TEMPORARY TABLE rs - SELECT - c.accountingAccount AS clientBookingAccount, - io.amount as totalAmount, - CONCAT('n/fra ', io.ref) as simpleConcept, - CONCAT('n/fra ', io.ref, ' ', c.name) as Concept, - io.serial AS SERIE, - io.issued AS FECHA_EX, - opDate.FECHA_OP, - io.issued AS FECHA, - 1 AS NFACTICK, - IF(ic.correctingFk,'D','') AS TIPOOPE, - io.cplusTrascendency477Fk AS TIPOCLAVE, - io.cplusTaxBreakFk AS TIPOEXENCI, - io.cplusSubjectOpFk AS TIPONOSUJE, - io.cplusInvoiceType477Fk AS TIPOFACT, - ic.cplusRectificationTypeFk AS TIPORECTIF, - io.companyFk, - RIGHT(io.ref, LENGTH(io.ref) - 1) AS invoiceNum, - IF(ct.CEE = 0, 1, IF(ct.CEE = isUEENotSpain,2,4)) AS TERIDNIF, - CONCAT(IF(ct.CEE = isUEENotSpain,ct.code,''),c.fi) AS TERNIF, - c.socialName AS TERNOM, - ior.serial AS SERIE_RT, - RIGHT(ior.ref, LENGTH(ior.ref) - 1) AS FACTU_RT, - ior.issued AS FECHA_RT, - IF(ior.id,TRUE,FALSE) AS RECTIFICA - - FROM invoiceOut io - JOIN ( - SELECT MAX(shipped) as FECHA_OP - FROM ticket t - JOIN invoiceOut io ON io.ref = t.refFk - WHERE io.id = vInvoice ) opDate - JOIN invoiceOutSerial ios ON ios.code = io.serial - JOIN client c ON c.id = io.clientFk - JOIN country ct ON ct.id = c.countryFk - LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id - LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk - WHERE io.id = vInvoice; - - -- Linea del cliente - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - EURODEBE, - CONCEPTO, - FECHA_EX, - FECHA_OP, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - rs.clientBookingAccount AS SUBCTA, - rs.totalAmount AS EURODEBE, - rs.simpleConcept AS CONCEPTO, - rs.FECHA_EX, - rs.FECHA_OP, - rs.companyFk AS empresa_id - FROM rs; - - -- Lineas de gasto - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - CONCEPTO, - FECHA_EX, - FECHA_OP, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - ioe.expenceFk AS SUBCTA, - rs.clientBookingAccount AS CONTRA, - ioe.amount AS EUROHABER, - rs.Concept AS CONCEPTO, - rs.FECHA_EX, - rs.FECHA_OP, - rs.companyFk AS empresa_id - FROM rs - JOIN invoiceOutExpence ioe - WHERE ioe.invoiceOutFk = vInvoice; - - SELECT GROUP_CONCAT(`name` SEPARATOR ',') - INTO vExpenceConcept - FROM expence e - JOIN invoiceOutExpence ioe ON ioe.expenceFk = e.id - WHERE ioe.invoiceOutFk = vInvoice; - - -- Lineas de IVA - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EUROHABER, - BASEEURO, - CONCEPTO, - FACTURA, - IVA, - RECEQUIV, - AUXILIAR, - SERIE, - SERIE_RT, - FACTU_RT, - RECTIFICA, - FECHA_RT, - FECHA_OP, - FECHA_EX, - TIPOOPE, - NFACTICK, - TERIDNIF, - TERNIF, - TERNOM, - L340, - TIPOCLAVE, - TIPOEXENCI, - TIPONOSUJE, - TIPOFACT, - TIPORECTIF, - empresa_id - ) - SELECT - vBookNumber AS ASIEN, - rs.FECHA, - iot.pgcFk AS SUBCTA, - rs.clientBookingAccount AS CONTRA, - iot.vat AS EUROHABER, - iot.taxableBase AS BASEEURO, - CONCAT(vExpenceConcept,' : ',rs.Concept) AS CONCEPTO, - rs.invoiceNum AS FACTURA, - IF(pe2.equFk,0,pgc.rate) AS IVA, - IF(pe2.equFk,0,pgce.rate) AS RECEQUIV, - IF(pgc.mod347,'','*') AS AUXILIAR, - rs.SERIE, - rs.SERIE_RT, - rs.FACTU_RT, - rs.RECTIFICA, - rs.FECHA_RT, - rs.FECHA_OP, - rs.FECHA_EX, - rs.TIPOOPE, - rs.NFACTICK, - rs.TERIDNIF, - rs.TERNIF, - rs.TERNOM, - pgc.mod340 AS L340, - pgc.cplusTrascendency477Fk AS TIPOCLAVE, - pgc.cplusTaxBreakFk as TIPOEXENCI, - rs.TIPONOSUJE, - rs.TIPOFACT, - rs.TIPORECTIF, - rs.companyFk AS empresa_id - FROM rs - JOIN invoiceOutTax iot - JOIN pgc ON pgc.code = iot.pgcFk - LEFT JOIN pgcEqu pe ON pe.vatFk = iot.pgcFk -- --------------- Comprueba si la linea es de iva con rec.equiv. asociado - LEFT JOIN pgc pgce ON pgce.code = pe.equFk - LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv. - WHERE iot.invoiceOutFk = vInvoice; - - UPDATE invoiceOut - SET booked = CURDATE() - WHERE id = vInvoice; - - -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 `invoiceOutBookingRange` */; -/*!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 `invoiceOutBookingRange`() -BEGIN - -/* Reasentar facturas -*/ - - - DECLARE vInvoice INT; - DECLARE vContador INT DEFAULT 0; - - DECLARE done BOOL DEFAULT FALSE; - - DECLARE rs CURSOR FOR - SELECT io.id - FROM invoiceOut io - WHERE RIGHT(ref,7) BETWEEN 1724215 AND 1724224 - AND serial = 'T'; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - OPEN rs; - - FETCH rs INTO vInvoice; - - WHILE NOT done DO - - CALL invoiceOutBooking(vInvoice); - - FETCH rs INTO vInvoice ; - - SET vContador = vContador + 1; - - IF vContador MOD 50 = 0 THEN - - SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; - - END IF; - - END WHILE; - - CLOSE rs; - - SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; - -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 `invoiceOutDelete` */; -/*!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 `invoiceOutDelete`(vRef VARCHAR(15)) -BEGIN - - UPDATE ticket - SET refFk = NULL - WHERE refFk = vRef; - - DELETE - FROM invoiceOut - WHERE ref = vRef; - -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 `invoiceOutFix_BI_RE_IVA` */; -/*!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 `invoiceOutFix_BI_RE_IVA`() -BEGIN - -DECLARE done BOOL DEFAULT FALSE; -DECLARE vInvoice INT; - -DECLARE rs CURSOR FOR - SELECT factura_id - FROM vn2008.Facturas - WHERE Importe != BI7 + BI16 + RE4 + RE1 + IVA7 + IVA16 - AND Fecha >= '2017-07-01'; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - -OPEN rs; - -FETCH rs INTO vInvoice; - -SELECT vInvoice, done; - -WHILE NOT done DO - - UPDATE invoiceOut io - JOIN ( - SELECT SUM(amount) AS total - FROM invoiceOutExpence - WHERE invoiceOutFk = vInvoice - ) base - JOIN ( - SELECT SUM(vat) AS total - FROM invoiceOutTax - WHERE invoiceOutFk = vInvoice - ) vat - SET io.amount = base.total + vat.total - WHERE io.id = vInvoice; - - UPDATE vn2008.Facturas - SET BI16 = 0, - BI7 = 0, - RE1 = 0, - RE4 = 0, - IVA7 = 0, - IVA16 = 0 - WHERE factura_id = vInvoice; - - UPDATE vn2008.Facturas f - JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id - SET f.BI16 = iot.taxableBase, f.IVA16 = iot.vat - WHERE f.factura_id = vInvoice - AND iot.pgcFk IN ('4770000021' ,'4770000215', '4770000002','4771000000','4770000000','4770000020'); - - UPDATE vn2008.Facturas f - JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id - SET f.RE4 = iot.vat - WHERE f.factura_id = vInvoice - AND iot.pgcFk = '4770000521'; - - UPDATE vn2008.Facturas f - JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id - SET f.BI7 = iot.taxableBase, f.IVA7 = iot.vat - WHERE f.factura_id = vInvoice - AND iot.pgcFk IN ('4770000010' ,'4770000101'); - - UPDATE vn2008.Facturas f - JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id - SET f.RE1 = iot.vat - WHERE f.factura_id = vInvoice - AND iot.pgcFk = '4770000110'; - -FETCH rs INTO vInvoice; - -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 `invoiceOutListByCompany` */; -/*!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 `invoiceOutListByCompany`(vCompany INT, vStarted DATE, vEnded DATE) -BEGIN - -SELECT - c.socialName as RazonSocial, - c.fi as NIF, - io.ref as Factura, - io.serial as Serie, - io.issued as Fecha, - io.amount as Importe, - c.id as Id_Cliente, - iot.taxableBase as Base, - pgc.rate as Tipo, - iot.vat as Cuota, - pgc.name as Concepto - - FROM vn.invoiceOut io - JOIN vn.invoiceOutTax iot ON iot.invoiceOutFk = io.id - JOIN vn.client c ON c.id = io.clientFk - JOIN vn.pgc ON pgc.code = iot.pgcFk - WHERE io.companyFk = vCompany - AND io.issued BETWEEN vStarted AND vEnded - ORDER BY io.ref DESC; - -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 `invoiceOutMake` */; -/*!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 `invoiceOutMake`( - vSerial VARCHAR(255), - vInvoiceDate DATETIME, - OUT vNewInvoiceId INT) -BEGIN - -/* Creación de facturas emitidas. -* REQUIERE previamente tabla ticketToInvoice. -* -* @param vSerial, vInvoiceDate, vCompany, vClient -* -* @return vNewInvoiceId -*/ - - DECLARE vSpainCountryCode INT DEFAULT 1; - DECLARE vIsAnySaleToInvoice BOOL; - DECLARE vCountry TINYINT DEFAULT 1; - DECLARE vNewRef VARCHAR(255); - DECLARE vWorker INT DEFAULT vn.getWorker(); - DECLARE vCompany INT; - DECLARE vClient INT; - DECLARE vCplusStandardInvoiceTypeFk INT DEFAULT 1; - DECLARE vCplusCorrectingInvoiceTypeFk INT DEFAULT 6; - DECLARE vCplusSimplifiedInvoiceTypeFk INT DEFAULT 2; - DECLARE vCorrectingSerial VARCHAR(1) DEFAULT 'R'; - DECLARE vSimplifiedSerial VARCHAR(1) DEFAULT 'S'; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - ROLLBACK; - RESIGNAL; - END; - - SET vInvoiceDate = IFNULL(vInvoiceDate,CURDATE()); - - SELECT t.clientFk, t.companyFk - INTO vClient, vCompany - FROM ticketToInvoice tt - JOIN ticket t ON t.id = tt.id - LIMIT 1; - - START TRANSACTION; - - -- Elimina tickets sense moviments -/* UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - LEFT JOIN sale s ON s.ticketFk = ti.id - LEFT JOIN expedition e ON e.ticketFk = t.id - LEFT JOIN ticketPackaging tp ON tp.ticketFk = t.id - SET t.shipped = '2000-02-01 00:00:00' - WHERE s.ticketFk IS NULL AND e.ticketFk IS NULL AND e.ticketFk IS NULL; -*/ - -- Eliminem de ticketToInvoice els tickets que no han de ser facturats - DELETE ti.* - FROM ticketToInvoice ti - JOIN ticket t ON t.id = ti.id - JOIN client c ON c.id = t.clientFk - WHERE YEAR(t.shipped) < 2001 - OR c.isTaxDataChecked = FALSE; - - SELECT SUM(quantity * price * (100 - discount)/100) - INTO vIsAnySaleToInvoice - FROM sale s - JOIN ticketToInvoice t on t.id = s.ticketFk; - - IF vIsAnySaleToInvoice THEN - - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - INSERT INTO invoiceOut - ( - ref, - serial, - issued, - clientFk, - dued, - companyFk, - cplusInvoiceType477Fk - ) - SELECT - 1, - vSerial, - vInvoiceDate, - vClient, - getDueDate(vInvoiceDate, dueDay), - vCompany, - IF(vSerial = vCorrectingSerial, - vCplusCorrectingInvoiceTypeFk, - IF(vSerial = vSimplifiedSerial, - vCplusSimplifiedInvoiceTypeFk, - vCplusStandardInvoiceTypeFk)) - FROM client - WHERE id = vClient; - - - SET vNewInvoiceId = LAST_INSERT_ID(); - - SELECT ref - INTO vNewRef - FROM invoiceOut - WHERE id = vNewInvoiceId; - - UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - SET t.refFk = vNewRef; - - DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; - CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY - SELECT s.id,ti.id ticket_id,vWorker Id_Trabajador - FROM ticketToInvoice ti - JOIN vn.ticketState ts ON ti.id = ts.ticket - JOIN state s - WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.id); - - INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) - SELECT * FROM tmp.updateInter; - - - INSERT INTO ticketLog (action, userFk,originFk, description) - SELECT 'UPDATE',account.userGetId(),ti.id, CONCAT('Crea factura ',vNewRef) - FROM ticketToInvoice ti; - - CALL invoiceExpenceMake(vNewInvoiceId); - CALL invoiceTaxMake(vNewInvoiceId,vCountry); - - UPDATE invoiceOut io - JOIN ( - SELECT SUM(amount) AS total - FROM invoiceOutExpence - WHERE invoiceOutFk = vNewInvoiceId - ) base - JOIN ( - SELECT SUM(vat) AS total - FROM invoiceOutTax - WHERE invoiceOutFk = vNewInvoiceId - ) vat - SET io.amount = base.total + vat.total - WHERE io.id = vNewInvoiceId; - - END IF; - - DROP TEMPORARY TABLE `ticketToInvoice`; - 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 `invoiceOutMakekk` */; -/*!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 `invoiceOutMakekk`( - vSerial VARCHAR(255), - vInvoiceDate DATETIME, - OUT vNewInvoiceId INT) -BEGIN - -/* Creación de facturas emitidas. -* REQUIERE previamente tabla ticketToInvoice. -* -* @param vSerial, vInvoiceDate, vCompany, vClient -* -* @return vNewInvoiceId -*/ - - DECLARE vSpainCountryCode INT DEFAULT 1; - DECLARE vIsAnySaleToInvoice BOOL; - DECLARE vCountry TINYINT DEFAULT 1; - DECLARE vTaxArea VARCHAR(15); - DECLARE vNewRef VARCHAR(255); - DECLARE vWorker INT DEFAULT vn.getWorker(); - DECLARE vCompany INT; - DECLARE vClient INT; - DECLARE vCplusStandardInvoiceTypeFk INT DEFAULT 1; - DECLARE vCplusCorrectingInvoiceTypeFk INT DEFAULT 6; - DECLARE vCorrectingSerial VARCHAR(1) DEFAULT 'R'; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - ROLLBACK; - RESIGNAL; - END; - - SET vInvoiceDate = IFNULL(vInvoiceDate,CURDATE()); - - SELECT t.clientFk, t.companyFk - INTO vClient, vCompany - FROM ticketToInvoice tt - JOIN ticket t ON t.id = tt.id - LIMIT 1; - - SELECT countryFk - INTO vCountry - FROM supplier - WHERE id = vCompany; - - SELECT IF(a.isEqualizated - AND c.countryFk = vSpainCountryCode - AND i.taxAreaFk = 'NATIONAL', - 'EQU', - i.taxAreaFk) - INTO vTaxArea - FROM invoiceOutSerial i - JOIN ticketToInvoice tti - JOIN ticket t ON t.id = tti.id - JOIN address a ON a.id = t.addressFk - JOIN client c ON c.id = t.clientFk - WHERE i.code = invoiceSerial(t.clientFk,t.companyFk,'R') - LIMIT 1; - - START TRANSACTION; - - -- Elimina tickets sense moviments -/* UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - LEFT JOIN sale s ON s.ticketFk = ti.id - LEFT JOIN expedition e ON e.ticketFk = t.id - LEFT JOIN ticketPackaging tp ON tp.ticketFk = t.id - SET t.shipped = '2000-02-01 00:00:00' - WHERE s.ticketFk IS NULL AND e.ticketFk IS NULL AND e.ticketFk IS NULL; -*/ - -- Eliminem de ticketToInvoice els tickets que no han de ser facturats - DELETE ti.* - FROM ticketToInvoice ti - JOIN ticket t ON t.id = ti.id - JOIN client c ON c.id = t.clientFk - WHERE YEAR(t.shipped) < 2001 - OR c.isTaxDataChecked = FALSE; - - SELECT SUM(quantity * price * (100 - discount)/100) - INTO vIsAnySaleToInvoice - FROM sale s - JOIN ticketToInvoice t on t.id = s.ticketFk; - - IF vIsAnySaleToInvoice THEN - - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial - INSERT INTO invoiceOut - ( - ref, - serial, - issued, - clientFk, - dued, - companyFk, - cplusInvoiceType477Fk - ) - SELECT - 1, - vSerial, - vInvoiceDate, - vClient, - getDueDate(vInvoiceDate, dueDay), - vCompany, - IF(vSerial = vCorrectingSerial, vCplusCorrectingInvoiceTypeFk, vCplusStandardInvoiceTypeFk) - FROM client - WHERE id = vClient; - - - SET vNewInvoiceId = LAST_INSERT_ID(); - - SELECT ref - INTO vNewRef - FROM invoiceOut - WHERE id = vNewInvoiceId; - - UPDATE ticket t - JOIN ticketToInvoice ti ON ti.id = t.id - SET t.refFk = vNewRef; - - DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; - CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY - SELECT s.id,ti.id ticket_id,vWorker Id_Trabajador - FROM ticketToInvoice ti - JOIN vn.ticketState ts ON ti.id = ts.ticket - JOIN state s - WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.id); - - INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) - SELECT * FROM tmp.updateInter; - - - INSERT INTO ticketLog (action, userFk,originFk, description) - SELECT 'UPDATE',account.userGetId(),ti.id, CONCAT('Crea factura ',vNewRef) - FROM ticketToInvoice ti; - - CALL invoiceExpenceMake(vNewInvoiceId); - CALL invoiceTaxMake(vNewInvoiceId,vCountry,vTaxArea); - - UPDATE invoiceOut io - JOIN ( - SELECT SUM(amount) AS total - FROM invoiceOutExpence - WHERE invoiceOutFk = vNewInvoiceId - ) base - JOIN ( - SELECT SUM(vat) AS total - FROM invoiceOutTax - WHERE invoiceOutFk = vNewInvoiceId - ) vat - SET io.amount = base.total + vat.total - WHERE io.id = vNewInvoiceId; - - END IF; - - DROP TEMPORARY TABLE `ticketToInvoice`; - 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 `invoiceOutTaxAndExpence` */; -/*!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 `invoiceOutTaxAndExpence`() -BEGIN - -/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. -* -* @param vInvoice Numero de factura -*/ - - - - DECLARE vInvoice INT; - DECLARE vInvoiceRef VARCHAR(15); - DECLARE vCountry INT; - DECLARE vTaxArea VARCHAR(15); - DECLARE vContador INT DEFAULT 0; - - DECLARE done BOOL DEFAULT FALSE; - - DECLARE rs CURSOR FOR - SELECT id,ref - FROM invoiceOut io - - WHERE issued >= '2017-07-01' - AND companyFk = 1381 - AND io.amount IS NULL - ; - - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - OPEN rs; - - FETCH rs INTO vInvoice ,vInvoiceRef; - - WHILE NOT done DO - - SELECT s.countryFk - INTO vCountry - FROM supplier s - JOIN invoiceOut io ON io.companyFk = s.id - WHERE io.id = vInvoice; - - SELECT IF(c.isEqualizated AND i.taxAreaFk = 'NATIONAL','EQU',i.taxAreaFk) - INTO vTaxArea - FROM invoiceOutSerial i - JOIN invoiceOut io ON io.serial = i.code - JOIN client c ON c.id = io.clientFk - WHERE io.id = vInvoice; - - DROP TEMPORARY TABLE IF EXISTS ticketToInvoice; - - CREATE TEMPORARY TABLE ticketToInvoice - SELECT id - FROM ticket - WHERE refFk = vInvoiceRef; - - CALL invoiceExpenceMake(vInvoice); - CALL invoiceTaxMake(vInvoice,vCountry,vTaxArea); - - FETCH rs INTO vInvoice ,vInvoiceRef; - - SET vContador = vContador + 1; - - IF vContador MOD 50 = 0 THEN - - SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; - - END IF; - - END WHILE; - - CLOSE rs; - - SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; - -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 `invoiceTaxMake` */; -/*!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 `invoiceTaxMake`(IN vInvoice INT, IN vCountry INT) -BEGIN - - DELETE FROM invoiceOutTax - WHERE invoiceOutFk = vInvoice; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - (KEY (ticketFk)) - ENGINE = MEMORY - SELECT id ticketFk - FROM ticketToInvoice; - - CALL ticketGetTax(); - - INSERT INTO invoiceOutTax( - invoiceOutFk, - pgcFk, - taxableBase, - vat - ) - SELECT vInvoice, - pgcFk, - SUM(taxableBase), - SUM(tax) - FROM tmp.ticketTax - GROUP BY pgcFk; - - DROP TEMPORARY TABLE tmp.ticket; - DROP TEMPORARY TABLE tmp.ticketTax; - DROP TEMPORARY TABLE tmp.ticketAmount; -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 `invoiceTaxMakekk` */; -/*!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 `invoiceTaxMakekk`(IN vInvoice INT, IN vCountry INT, IN vTaxArea VARCHAR(15)) -BEGIN -/* Inserta los registros de iva de la factura emitida -* REQUIERE tabla ticketToInvoice -* -* @param vInvoice Id de la factura -*/ - - DELETE FROM invoiceOutTax - WHERE invoiceOutFk = vInvoice; - - INSERT INTO invoiceOutTax( - invoiceOutFk, - pgcFk, - taxableBase, - vat - ) - SELECT vInvoice, - bp.pgcFk, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) taxableBase, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) * pgc.rate / 100 - FROM ticketToInvoice t - JOIN sale s ON s.ticketFk = t.id - JOIN item i ON i.id = s.itemFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = vCountry - JOIN bookingPlanner bp - ON bp.countryFk = vCountry - AND bp.taxAreaFk = vTaxArea - AND bp.taxClassFk = itc.taxClassFk - JOIN pgc ON pgc.code = bp.pgcFk - GROUP BY pgc.code - HAVING taxableBase != 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 `itemTagArrangedUpdate` */; -ALTER DATABASE `vn` 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 `itemTagArrangedUpdate`(IN vItem BIGINT) -BEGIN -/** - * Actualiza la tabla itemTagArranged - * - * @param vItem El Id_item de toda la vida. Si es cero, equivale a todos. - **/ - DELETE - FROM itemTagArranged - WHERE vItem IS NULL - OR vItem = itemFk; - - INSERT INTO itemTagArranged(itemFk) - SELECT id - FROM item - WHERE vItem IS NULL - OR vItem = id; - - REPLACE itemTagArranged - SELECT i.id, - 'Medida' as tag1, - LEFT(i.size,15) as val1, - 'Color' as tag2, - LEFT(ink.`name`,15) as val2, - 'Categoria' as tag3, - LEFT(i.category,15) as val3, - 'Productor' as tag4, - LEFT(p.`name`,15) as val4, - 'Tallos' as tag5, - i.stems as val5, - 'Origen' as tag6, - o.code as val6, - i.description - FROM item i - LEFT JOIN itemTagged it ON it.itemFk = i.id - LEFT JOIN ink on ink.id = i.inkFk - JOIN origin o ON o.id = i.originFk - LEFT JOIN producer p ON p.id = i.producerFk - WHERE it.itemFk IS NULL - AND (vItem IS NULL OR vItem = i.id); - - CALL itemTagUpdatePriority(vItem); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag1 = t.name, val1 = it.value - WHERE it.priority = 1 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag2 = t.name, val2 = it.value - WHERE it.priority = 2 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag3 = t.name, val3 = it.value - WHERE it.priority = 3 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag4 = t.name, val4 = it.value - WHERE it.priority = 4 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag5 = t.name, val5 = it.value - WHERE it.priority = 5 - AND (vItem IS NULL OR vItem = it.itemFk); - - UPDATE itemTagArranged ita - JOIN itemTag it ON it.itemFk = ita.itemFk - JOIN tag t ON t.id = it.tagFk - SET tag6 = t.name, val6 = it.value - WHERE it.priority = 6 - AND (vItem IS NULL OR vItem = it.itemFk); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `itemTagUpdatePriority` */; -ALTER DATABASE `vn` 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 `itemTagUpdatePriority`(IN vItem INT) -BEGIN -/* -* Recalcula las prioridades de articleTag -* -* @param vItem Id_Article. Si es 0, lo recalcula todo -*/ - - SET vItem = IFNULL(vItem,0); - - SET @p := 0; - SET @a := 0; - - UPDATE itemTag a - JOIN ( - SELECT - id, - @p := IF(itemFk = @a, @p, 0) + 1 as NewPriority, - @a := itemFk - FROM itemTag - WHERE vItem IS NULL - OR vItem = itemFk - ORDER BY itemFk, priority - ) sub ON sub.id = a.id - SET a.priority = NewPriority; - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `itemTagUpdatePriority_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 `itemTagUpdatePriority_launcher`() -BEGIN - - CALL vn.itemTagUpdatePriority(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 `logAdd` */; -/*!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 `logAdd`(vOriginFk INT, vActionCode VARCHAR(45), vEntity VARCHAR(45), vDescription TEXT) -BEGIN -/** - * Guarda las acciones realizadas por el usuario - * - * @param vOriginFk Id del registro de origen - * @param vActionCode Código de la acción {insert | delete | update} - * @param vEntity Nombre que hace referencia a la tabla. - * @param descripcion Descripción de la acción realizada por el usuario - */ - DECLARE vTableName VARCHAR(45); - - SET vTableName = CONCAT(vEntity, 'Log'); - - SET @qryLog := CONCAT( - 'INSERT INTO ', vTableName, ' (originFk, userFk, action, description)', - ' VALUES (', vOriginFk, ', ', account.userGetId(), ', "', vActionCode, '", "', vDescription, '")' - ); - - PREPARE stmt FROM @qryLog; - EXECUTE stmt; -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 `logShow` */; -/*!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 `logShow`(vOriginFk INT, vEntity VARCHAR(45)) -BEGIN -/** - * Muestra las acciones realizadas por el usuario - * - * @param vOriginFk Id del registro de origen - * @param vEntity Nombre que hace referencia a la tabla. - */ - DECLARE vTableName VARCHAR(45); - - SET vTableName = CONCAT(vEntity, 'Log'); - - SET @qryLog := CONCAT( - 'SELECT ot.id, ot.originFk, ot.userFk, u.name, ot.action, ot.creationDate, ot.description FROM ', vTableName, ' AS ot', - ' INNER JOIN account.user u ON u.id = ot.userFk', - ' WHERE ot.originFk = ', vOriginFk, ' ORDER BY ot.creationDate DESC' - ); - - PREPARE stmt FROM @qryLog; - EXECUTE stmt; -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 `mergeTicketUnattended` */; -ALTER DATABASE `vn` 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 `mergeTicketUnattended`(IN vMainTicket INT(11), IN hasSameAgency BOOLEAN) -BEGIN - - DECLARE isBilled BOOLEAN; - DECLARE arrayTickets VARCHAR(255); - - SELECT Factura IS NOT NULL INTO isBilled FROM vn2008.Tickets WHERE Id_Ticket = vMainTicket; - - IF NOT isBilled THEN - - SELECT GROUP_CONCAT(distinct T.Id_Ticket) INTO arrayTickets - FROM vn2008.Tickets T LEFT JOIN vn.ticketState ts ON T.Id_Ticket = ts.ticket - JOIN vn2008.Tickets ticketOriginal ON ticketOriginal.Id_Ticket = vMainTicket - AND T.empresa_id = ticketOriginal.empresa_id - AND T.Id_Consigna = ticketOriginal.Id_Consigna - AND DATE(T.Fecha) = DATE(ticketOriginal.Fecha) - AND T.warehouse_id = ticketOriginal.warehouse_id - AND IF(hasSameAgency <> 0,T.Id_Agencia = ticketOriginal.Id_Agencia,TRUE) - LEFT JOIN vn.ticketState tsOriginal ON ticketOriginal.Id_Ticket = tsOriginal.ticket - WHERE ts.alertLevel < 3 - AND T.Factura IS NULL - AND T.Anotadoencaja = FALSE - AND T.Id_Ticket <> vMainTicket - AND ts.alertLevel = tsOriginal.alertLevel; - - CALL mergeTicketWithArray(vMainTicket,arrayTickets); - - 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `mergeTicketWithArray` */; -/*!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 `mergeTicketWithArray`(IN vMainTicket INT(11), IN arrayTickets VARCHAR(50)) -BEGIN - - DECLARE isBilled BOOLEAN; - DECLARE messageLog VARCHAR(50); - DECLARE company INT; - DECLARE messageForSplit VARCHAR(255); - DECLARE vMainSplit INT; - DECLARE worker INT(3); - - SELECT Factura IS NOT NULL INTO isBilled FROM vn2008.Tickets WHERE Id_Ticket = vMainTicket; - - IF NOT isBilled THEN - - SELECT Id_Trabajador INTO worker from vn2008.Trabajadores where user_id = account.userGetId(); - IF worker IS NULL THEN - SET worker = 20; - END IF; - - DROP TEMPORARY TABLE IF EXISTS vn2008.Tickets_to_fusion; - - -- He usado el util.exec porque da error la variable strId_Tickets puesta dentro del IN() - CALL util.exec(sql_printf(' - CREATE TEMPORARY TABLE vn2008.Tickets_to_fusion - SELECT Id_Ticket, Localizacion - FROM vn2008.Tickets T - WHERE Id_Ticket IN (%s);',arrayTickets)); - - INSERT INTO vn2008.ticket_observation (Id_Ticket,observation_type_id,text) - SELECT vMainTicket,observation_type_id,CONCAT(' Ticket ', Id_Ticket, ':' , tco.text, '. ') - FROM vn2008.Tickets_to_fusion tf - INNER JOIN vn2008.ticket_observation tco USING(Id_Ticket) - ON DUPLICATE KEY UPDATE `text` = CONCAT(ticket_observation.`text`,CONCAT(' Ticket ', VALUES(Id_Ticket), ':' , VALUES(`text`), '. ')); - - UPDATE vn2008.Movimientos M - JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) - SET M.Id_Ticket = vMainTicket; - - UPDATE vn2008.expeditions M - JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = M.ticket_id - SET M.ticket_id = vMainTicket; - - UPDATE vn.ticketPackaging tp - JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = tp.ticketFk - SET tp.ticketFk = vMainTicket; - - UPDATE vn2008.Tickets - SET Bultos = (SELECT COUNT(*) FROM vn2008.expeditions WHERE ticket_id = vMainTicket AND EsBulto) - WHERE Id_Ticket = vMainTicket; - - UPDATE vn2008.Tickets - JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) - SET Fecha = TIMESTAMPADD(YEAR,-1 * (YEAR(Fecha)-2000), Fecha); - - UPDATE vn2008.Tickets_dits ts - JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket) - SET ts.Id_Ticket = vMainTicket; - - UPDATE vn2008.Tickets - SET Localizacion = CONCAT(Tickets.Localizacion,' ',IFNULL((SELECT GROUP_CONCAT(Localizacion SEPARATOR ' ') FROM vn2008.Tickets_to_fusion),'')) - WHERE Id_Ticket = vMainTicket; - - UPDATE vn2008.Splits s - RIGHT JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket) - SET s.Id_Ticket = vMainTicket; - - IF (SELECT COUNT(*) FROM vn2008.Splits WHERE Id_Ticket=vMainTicket) > 1 THEN - - SELECT Id_Split INTO vMainSplit FROM vn2008.Splits WHERE Id_Ticket = vMainTicket LIMIT 1; - - SELECT group_concat(Notas,',') INTO messageForSplit FROM vn2008.Splits WHERE Id_Ticket = vMainTicket; - UPDATE vn2008.Splits SET Notas = messageForSplit WHERE Id_Split=vMainSplit; - UPDATE vn2008.Split_lines sl JOIN vn2008.Splits s USING (Id_Split) SET sl.Id_Split=vMainSplit WHERE Id_Ticket=vMainTicket; - DELETE FROM vn2008.Splits WHERE Id_Ticket=vMainTicket AND Id_Split<>vMainSplit; - END IF; - - SELECT GROUP_CONCAT(Id_Ticket SEPARATOR ',') into messageLog FROM vn2008.Tickets_to_fusion; - CALL vn2008.Ditacio(vMainTicket,'Fusion','T',worker,messageLog,NULL); - - DELETE ts FROM vn2008.Tickets_state ts JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket); - /* - UPDATE vncontrol.inter M - JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) - SET M.Id_Ticket = vMainTicket; - */ - 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 `nestAdd` */; -/*!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 `nestAdd`(vScheme VARCHAR(45), vTable VARCHAR(45), vParentFk INT, vChild VARCHAR(45)) -BEGIN - DECLARE vSql TEXT; - - -- Check parent childs - SET vSql = sql_printf(' - SELECT COUNT(c.id) INTO @childs - FROM %t.%t p - LEFT JOIN %t.%t c ON c.lft BETWEEN p.lft AND p.rgt AND c.id != %v - WHERE p.id = %v', - vScheme, vTable, vScheme, vTable, vParentFk, vParentFk); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - -- Select left from last child - IF @childs = 0 THEN - SET vSql = sql_printf('SELECT lft INTO @vLeft FROM %t.%t WHERE id = %v', vScheme, vTable, vParentFk); - SET @qrySql := vSql; - ELSE - SET vSql = sql_printf(' - SELECT c.rgt INTO @vLeft - FROM %t.%t p - JOIN %t.%t c ON c.lft BETWEEN p.lft AND p.rgt - WHERE p.id = %v - ORDER BY c.lft - DESC LIMIT 1', - vScheme, vTable, vScheme, vTable, vParentFk); - SET @qrySql := vSql; - END IF; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - -- Update right - SET vSql = sql_printf('UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC', vScheme, vTable, @vLeft); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - SET vSql = sql_printf('UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC', vScheme, vTable, @vLeft); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - -- Escape character - SET vChild = REPLACE(vChild, "'", "\\'"); - - -- Add child - SET vSql = sql_printf('INSERT INTO %t.%t (name, lft, rgt) VALUES (%v, %v, %v)', vScheme, vTable, vChild, @vLeft + 1, @vLeft + 2); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; -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 `nestLeave` */; -/*!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 `nestLeave`(vScheme VARCHAR(45), vTable VARCHAR(45), vParentFk INT) -BEGIN - DECLARE vSql TEXT; - - DROP TEMPORARY TABLE IF EXISTS tmp.tree; - - SET vSql = sql_printf(' - CREATE TEMPORARY TABLE tmp.tree ENGINE = MEMORY - SELECT - node.id, - node.name, - node.lft, - node.rgt, - node.depth, - node.sons - FROM - %t.%t AS node, - %t.%t AS parent - WHERE - node.lft BETWEEN parent.lft AND parent.rgt - AND node.depth = parent.depth + 1 - AND parent.id = %v - GROUP BY node.id - ORDER BY node.lft', - vScheme, vTable, vScheme, vTable, vParentFk); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; -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 `nestTree` */; -/*!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 `nestTree`( - vSourceSchema VARCHAR(45), - vSourceTable VARCHAR(45), - vDestinationSchema VARCHAR(45), - vDestinationTable VARCHAR(45)) -BEGIN - DECLARE vSql TEXT; - - - SET vSql = sql_printf('DROP TABLE IF EXISTS %t.%t', vDestinationSchema, vDestinationTable); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; - - SET vSql = sql_printf(' - CREATE TABLE %t.%t - SELECT - node.id, - CONCAT( REPEAT(" ", 5 * (COUNT(parent.id) - 1)),UCASE(node.name)) name, - node.lft, - node.rgt, - COUNT(parent.id) - 1 depth, - CAST((node.rgt - node.lft - 1) / 2 as DECIMAL) as sons - FROM - %t.%t AS node, - %t.%t AS parent - WHERE node.lft BETWEEN parent.lft AND parent.rgt - GROUP BY node.id - ORDER BY node.lft', - vDestinationSchema, vDestinationTable, vSourceSchema, vSourceTable, vSourceSchema, vSourceTable); - SET @qrySql := vSql; - - PREPARE stmt FROM @qrySql; - EXECUTE stmt; - DEALLOCATE PREPARE stmt; -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 `observationAdd` */; -/*!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 `observationAdd`(vOriginFk INT, vTableCode VARCHAR(45), vDescription TEXT) -BEGIN -/** - * Guarda las observaciones realizadas por el usuario - * - * @param vOriginFk Id del registro de origen - * @param vTypeCode Código que referencia a la tabla. - * @param descripcion Texto de la observacion - */ - DECLARE vTableName VARCHAR(45); - - SET vTableName = CONCAT(vTableCode,'Observation'); - - IF ISNULL(vTableName) THEN - CALL util.throw('CODE_NOT_FOUND'); - END IF; - - SET @qryLog := CONCAT( - 'INSERT INTO ', vTableName, ' (originFk, userFk, description)', - ' VALUES (', vOriginFk, ', ', account.userGetId(), ', "', vDescription, '")' - ); - - PREPARE stmt FROM @qryLog; - EXECUTE stmt; -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 `packageInvoicing` */; -/*!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 `packageInvoicing`( - IN vClient INT, - IN vDate DATE, - IN vCompany INT, - IN vIsAllInvoiceable BOOLEAN, - OUT vNewTicket INT(11) - ) -BEGIN - - DECLARE vGraceDays INT; - DECLARE vDateStart DATE DEFAULT '2017-11-21'; - DECLARE vIsInvoiceable BOOLEAN; - DECLARE vWarehouse INT DEFAULT 13; - DECLARE vAgenciaEmbalajes INT DEFAULT 628; - DECLARE vComponentCost INT DEFAULT 28; - DECLARE vGraceDate DATE; - - SET vGraceDays = IF(vIsAllInvoiceable,0,30); - SET vGraceDate = TIMESTAMPADD(DAY, - vGraceDays, vDate); - - /* Clientes especiales: - 3240 MADEFLOR - 992 JAVIER FELIU - */ - - IF vClient IN (992, 3240) THEN - - SET vGraceDays = 365; - - END IF; - - /* Fin clientes especiales */ - - - DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoice; - - CREATE TEMPORARY TABLE tmp.packageToInvoice - SELECT p.itemFk, - tp.packagingFk, - IF(tp.quantity < 0 OR t.shipped < vGraceDate, tp.quantity, 0) quantity, - tp.ticketFk, - p.price - FROM ticketPackaging tp - JOIN package p ON p.id = tp.packagingFk - JOIN ticket t ON t.id = tp.ticketFk - WHERE t.shipped BETWEEN vDateStart AND vDate - AND t.clientFk = vClient; - - DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoicePositives; - - CREATE TEMPORARY TABLE tmp.packageToInvoicePositives - SELECT itemFk, sum(quantity) as totalQuantity - FROM tmp.packageToInvoice - GROUP BY itemFk - HAVING totalQuantity > 0; - - SELECT GREATEST(COUNT(*),vIsAllInvoiceable) - INTO vIsInvoiceable - FROM tmp.packageToInvoicePositives; - - IF vIsInvoiceable THEN - - CALL vn.ticketCreate(vClient, vDate, vWarehouse, vCompany, 0, vAgenciaEmbalajes, 0, vDate, vNewTicket); - - INSERT INTO ticketPackaging( - ticketFk, - packagingFk, - quantity, - pvp) - SELECT vNewTicket, - pti.packagingFk, - - SUM(pti.quantity) AS totalQuantity, - pti.price - FROM tmp.packageToInvoice pti - LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk - WHERE ptip.itemFK IS NOT NULL - OR vIsAllInvoiceable - GROUP BY packagingFk - HAVING totalQuantity; - - INSERT INTO sale( - ticketFk, - itemFk, - concept, - quantity, - price - ) - SELECT vNewTicket, - pti.itemFk, - i.name as concept, - sum(pti.quantity) as totalQuantity, - pti.price - FROM tmp.packageToInvoice pti - JOIN item i ON i.id = pti.itemFk - LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk - WHERE ptip.itemFK IS NOT NULL - OR vIsAllInvoiceable - GROUP BY pti.itemFk - HAVING totalQuantity; - - INSERT INTO saleComponent(saleFk, componentFk, value) - SELECT id, vComponentCost, price - FROM sale - WHERE ticketFk = vNewTicket; - - 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 `printTrolleyLabel` */; -ALTER DATABASE `vn` 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 `printTrolleyLabel`(vTicket INT, vPrinter INT, vReport INT) -BEGIN -/** - * Inserta en la cola de impresion una nueva etiqueta de carro, para el sacador - * - * @param vTicket Numero del ticket - * @param vPrinter Numero de impresora - * @param vReport Numero del informe - **/ - DECLARE vlabelCount INT DEFAULT 0; - DECLARE PRIORITY INT DEFAULT 3; - DECLARE vWorker INT; - DECLARE vShipmentHour VARCHAR(10); - - SELECT getTicketTrolleyLabelCount(vTicket) INTO vLabelCount; - SELECT getUser() INTO vWorker; - SELECT CONCAT(getShipmentHour(vTicket),':00') INTO vShipmentHour; - - INSERT INTO printingQueue(printer - , priority - , report - , `text` - , worker - , text2 - , text3) - VALUES (vPrinter - , PRIORITY - , vReport - , vTicket - , vWorker - , vLabelCount - , vShipmentHour); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `refund` */; -/*!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`@`localhost` PROCEDURE `refund`(IN vMainTicket INT, OUT vNewTicket INT) -BEGIN - - DECLARE vCustomer MEDIUMINT; - DECLARE vNewDate DATE; - DECLARE vWarehouse TINYINT; - DECLARE vCompany MEDIUMINT; - DECLARE vAddress MEDIUMINT; - DECLARE vRefundAgencyMode INT DEFAULT 23; - - SELECT clientFk, TIMESTAMPADD(DAY, 1,shipped), warehouseFk, companyFk, addressFk - INTO vCustomer, vNewDate, vWarehouse, vCompany, vAddress - FROM ticket - WHERE id = vMainTicket; - - CALL ticketCreate(vCustomer, vNewDate, vWarehouse, vCompany, vAddress, vRefundAgencyMode,NULL,vNewDate,vNewTicket); - - INSERT INTO vn2008.Movimientos(Id_Ticket, Id_Article, Cantidad, Concepte, Preu, Descuento, PrecioFijado) - SELECT vNewTicket, Id_Article, - Cantidad, Concepte, Preu, Descuento, TRUE FROM vn2008.Movimientos WHERE Id_Ticket = vMainTicket; - SELECT vNewTicket; - -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 `routeGateAsign` */; -/*!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 `routeGateAsign`(vDevice VARCHAR(30), vRouteFk INT) -BEGIN - - UPDATE routeGate - SET displayText = NULL, - routeFk = NULL, - freeTickets = NULL, - expeditions = NULL, - scanned = NULL, - flag = NULL, - pallets = NULL, - lastScanned = NULL - WHERE routeFk = vRouteFk; - - UPDATE routeGate - SET routeFk = vRouteFk - WHERE deviceId = vDevice COLLATE utf8_general_ci; - -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 `routeGateUpdate` */; -/*!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 `routeGateUpdate`() -BEGIN - - UPDATE vn.routeGate rg - LEFT JOIN vn.routesControl rc ON rg.routeFk = rc.routeFk - LEFT JOIN vn.route r ON r.id = rg.routeFk - LEFT JOIN vn2008.Agencias a ON a.Id_Agencia = r.agencyModeFk - LEFT JOIN - ( - SELECT Id_Ruta, count(*) AS pedidosLibres - FROM vn2008.Tickets t - JOIN vn2008.Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket - JOIN vncontrol.inter i ON i.inter_id = ts.inter_id - JOIN vn2008.state s ON i.state_id = s.id AND s.alert_level = 0 - WHERE t.Fecha BETWEEN CURDATE() AND util.dayend(CURDATE()) - AND Id_Ruta - GROUP BY Id_Ruta - ) t ON t.Id_Ruta = rg.routeFk - SET rg.scanned = rc.scanned, - rg.expeditions = rc.expeditions, - rg.flag = a.flag, - rg.freeTickets = t.pedidosLibres, - rg.pallets = rc.pallets, - rg.lastScanned = rc.lastScanned, - rg.displayText = IF(rg.routeFk is null, rg.displayText, rg.routeFk MOD 1000); - - -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 `saleSplit` */; -/*!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 `saleSplit`(IN vIdMovement BIGINT, IN vQuantity int) -BEGIN - DECLARE vId INT; - DECLARE vCreated DATE; - DECLARE vWarehouseId INT; - DECLARE vCompanyId INT; - DECLARE vAddressId INT; - DECLARE vAgencyMode INT; - DECLARE vNewTicketId BIGINT; - DECLARE vNewSale BIGINT; - DECLARE vLanded DATE; - DECLARE vStarted DATETIME; - DECLARE vEnded DATETIME; - DECLARE vCurrentTicket INT; - - - - SELECT clientFk - , shipped - , warehouseFk - , companyFk - , addressFk - , AgencyModeFk - , Landed - , t.id - - INTO vId - , vCreated - , vWarehouseId - , vCompanyId - , vAddressId - , vAgencyMode - , vLanded - , vCurrentTicket - FROM ticket t - JOIN sale m on t.id = m.ticketFk - WHERE m.id = vIdMovement; - - -- Busca un ticket existente que coincida con los parametros del nuevo pedido - - SET vStarted = TIMESTAMP(vCreated); - SET vEnded = TIMESTAMP(vCreated, '23:59:59'); - - SELECT id INTO vNewTicketId - FROM ticket t - JOIN ticketState ts on t.id = ts.ticketFk - WHERE vAddressId = t.addressFk - AND vWarehouseId = t.warehouseFk - AND vAgencyMode = t.AgencyModeFk - AND vLanded <=> t.landed - AND t.shipment BETWEEN vStarted AND vEnded -- uso BETWEEN para aprovechar el indice - AND t.refFk IS NULL - AND ts.alertLevel = 0 - AND t.clientFk <> 1118 - AND t.id <> vCurrentTicket - LIMIT 1; - - IF vNewTicketId IS NULL THEN - Call vn.ticketCreate( vId - , vCreated - , vWarehouseId - , vCompanyId - , vAddressId - , vAgencyMode - , NULL - , vLanded - , vNewTicketId); - - CALL vn2008.bionic_calc_ticket(vNewTicketId); - ELSE - UPDATE ticket SET landed = vLanded WHERE id = vNewTicketId; - END IF; - - INSERT INTO vncontrol.inter(Id_Ticket, state_id) - SELECT vNewTicketId, s.id - FROM state s - WHERE s.code = 'FIXING'; - - INSERT INTO sale(ticketFk, itemFk, concept, quantity, price, discount) - SELECT vNewTicketId, itemFk, Concept, vQuantity, price, discount - FROM sale - WHERE id = vIdMovement; - - SELECT LAST_INSERT_ID() INTO vNewSale; - - INSERT INTO saleComponent(saleFk, componentFk, `value`) - SELECT vNewSale, componentFk, `value` - FROM saleComponent - WHERE saleFk = vIdMovement; -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 `scanTreeCreate` */; -/*!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 `scanTreeCreate`() -BEGIN - - CALL vn.nestTree( 'vn2008', - 'scan', - 'vn2008', - 'scanTree'); - - ALTER TABLE vn2008.scanTree - ADD COLUMN lastScanned DATETIME NULL, - ADD COLUMN routeCount INT NULL, - ADD COLUMN minRoute INT, - ADD COLUMN maxRoute INT, - ADD COLUMN scanned INT; - - UPDATE vn2008.scanTree st - JOIN ( - SELECT sl.scan_id, - MAX(sl.odbc_date) lastScanned, - COUNT(DISTINCT t.routeFk) routeCount, - MIN(t.routeFk) mod 1000 as minRoute, - MAX(t.routeFk) mod 1000 as maxRoute, - COUNT(sl.scan_line_id) as scanned - FROM vn2008.scan_line sl - JOIN vn.expedition e ON e.id = sl.`code` - JOIN vn.ticket t ON t.id = e.ticketFk - WHERE t.routeFk - GROUP BY sl.scan_id - ) rs ON rs.scan_id = st.id - SET st.lastScanned = rs.lastScanned, - st.routeCount = rs.routeCount, - st.minRoute = rs.minRoute, - st.maxRoute = IF(rs.minRoute != rs.maxRoute, rs.maxRoute,NULL), - st.scanned = rs.scanned; - - -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 `solunionRiskRequest` */; -ALTER DATABASE `vn` 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 `solunionRiskRequest`() -BEGIN - - DROP TEMPORARY TABLE IF EXISTS tmp.client_list; - CREATE TEMPORARY TABLE tmp.client_list - (PRIMARY KEY (Id_Cliente)) - ENGINE = MEMORY - SELECT * FROM (SELECT cc.client Id_Cliente, ci.grade FROM vn.creditClassification cc - JOIN vn.creditInsurance ci ON cc.id = ci.creditClassification - WHERE dateEnd IS NULL - ORDER BY ci.creationDate DESC) t1 GROUP BY Id_Cliente; - - CALL vn2008.risk_vs_client_list(CURDATE()); - - SELECT - c.Id_Cliente, c.Cliente, c.Credito credito_vn, c.creditInsurance solunion, cast(r.risk as DECIMAL(10,0)) riesgo_vivo, - cast(c.creditInsurance - r.risk as decimal(10,0)) margen_vivo, - f.Consumo consumo_anual, c.Vencimiento, ci.grade - FROM - vn2008.Clientes c - JOIN tmp.risk r ON r.Id_Cliente = c.Id_Cliente - JOIN tmp.client_list ci ON c.Id_Cliente = ci.Id_Cliente - JOIN bi.facturacion_media_anual f ON c.Id_Cliente = f.Id_Cliente - GROUP BY Id_cliente; - - DROP TEMPORARY TABLE IF EXISTS tmp.risk; - DROP TEMPORARY TABLE IF EXISTS tmp.client_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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `stockBuyed` */; -ALTER DATABASE `vn` 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 `stockBuyed`(vDate DATE) -BEGIN - DECLARE vVolume DECIMAL(10,2); - DECLARE vWarehouse INT DEFAULT 7; - - CALL stockTraslation(vDate); - - SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; - - INSERT INTO stockBuyed(user, buyed, `date`) - SELECT tr.user_id, SUM(0.6 * ( amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed, vDate - FROM tmp_item i - JOIN vn2008.Articles a ON a.Id_Article = i.item_id - JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id - JOIN vn2008.reinos r ON r.id = t.reino_id - JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador - JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = Id_Article AND ilb.warehouse_id = vWarehouse - JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id - WHERE r.display <> 0 - GROUP BY tr.Id_Trabajador - ON DUPLICATE KEY UPDATE buyed = VALUES(buyed); - -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `stockBuyedByWorker` */; -/*!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 `stockBuyedByWorker`(vDate DATE, vWorker INT) -BEGIN - - DECLARE vVolume DECIMAL(10,2); - DECLARE vWarehouse INT DEFAULT 7; - CALL stockTraslation(vDate); - - SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; - - SELECT c.Id_Entrada, a.Id_Article, a.Article, i.amount Cantidad, (0.6 * ( i.amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed - FROM tmp_item i - JOIN vn2008.Articles a ON a.Id_Article = i.item_id - JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id - JOIN vn2008.reinos r ON r.id = t.reino_id - JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador - JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = a.Id_Article AND ilb.warehouse_id = vWarehouse - JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id - WHERE r.display <> 0 AND tr.user_id = vWorker; - -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 `stockBuyedByWorkerTest` */; -/*!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 `stockBuyedByWorkerTest`(vDate DATE, vWorker INT) -BEGIN - - DECLARE vVolume DECIMAL(10,2); - DECLARE vWarehouse INT DEFAULT 7; - CALL stockTraslationTest(vDate); - - SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; - - SELECT c.Id_Entrada, a.Id_Article, a.Article, i.amount Cantidad, (0.6 * ( i.amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed - FROM tmp.item i - JOIN vn2008.Articles a ON a.Id_Article = i.item_id - JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id - JOIN vn2008.reinos r ON r.id = t.reino_id - JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador - JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = a.Id_Article AND ilb.warehouse_id = vWarehouse - JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id - WHERE r.display <> 0 AND tr.user_id = vWorker; - DROP TEMPORARY TABLE IF EXISTS 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `stockTraslation` */; -/*!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 `stockTraslation`(vDate DATE) -BEGIN - /** - * Calcula el stock del vWarehouse desde FechaInventario hasta v_date - sin tener en cuenta las salidas del mismo dia vDate - para ver el transporte a reservar - **/ - - DECLARE vWarehouse INT DEFAULT 7; - - DELETE FROM stockBuyed WHERE `date` = vDate; - - DROP TEMPORARY TABLE IF EXISTS tmp_item; - CREATE TEMPORARY TABLE tmp_item - (UNIQUE INDEX i USING HASH (item_id)) - ENGINE = MEMORY - SELECT item_id, SUM(amount) amount FROM vn2008.item_entry_in - WHERE dat = vDate and vDate >= CURDATE() - AND warehouse_id = vWarehouse - GROUP BY item_id HAVING amount != 0; - - CALL `cache`.stock_refresh (FALSE); - - INSERT INTO tmp_item (item_id,amount) - SELECT item_id,s.amount FROM `cache`.stock s - WHERE warehouse_id = vWarehouse - ON DUPLICATE KEY UPDATE - amount = tmp_item.amount + VALUES(amount); - - CALL vn2008.item_last_buy_(vWarehouse,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 PROCEDURE IF EXISTS `stockTraslationkk` */; -/*!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 `stockTraslationkk`(vDate DATE) -BEGIN - /** - * Calcula el stock del vWarehouse desde FechaInventario hasta v_date - sin tener en cuenta las salidas del mismo dia vDate - para ver el transporte a reservar - **/ - - DECLARE vWarehouse INT DEFAULT 7; - - DELETE FROM stockBuyed WHERE `date` = vDate; - DROP TEMPORARY TABLE IF EXISTS tmp.item; - - CREATE TEMPORARY TABLE tmp.item ( - `item_id` INT, - `amount` DECIMAL(10, 2) DEFAULT 0.00, - PRIMARY KEY(item_id) - ) ENGINE = MEMORY; - - - IF vDate >= CURDATE() THEN - INSERT INTO tmp.item - SELECT item_id, SUM(amount) amount - FROM vn2008.item_entry_in - WHERE dat = vDate - AND warehouse_id = vWarehouse - GROUP BY item_id HAVING amount != 0; - END IF; - - CALL `cache`.stock_refresh (FALSE); - - INSERT INTO tmp.item (item_id,amount) - SELECT item_id,s.amount FROM `cache`.stock s - WHERE warehouse_id = vWarehouse - ON DUPLICATE KEY UPDATE - amount = tmp.item.amount + VALUES(amount); - - CALL vn2008.item_last_buy_(vWarehouse,vDate); - - select * FROM 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `stockTraslationTest` */; -/*!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 `stockTraslationTest`(vDate DATE) -BEGIN - /** - * Calcula el stock del vWarehouse desde FechaInventario hasta v_date - sin tener en cuenta las salidas del mismo dia vDate - para ver el transporte a reservar - **/ - - DECLARE vWarehouse INT DEFAULT 7; - - DELETE FROM stockBuyed WHERE `date` = vDate; - DROP TEMPORARY TABLE IF EXISTS tmp.item; - - CREATE TEMPORARY TABLE tmp.item ( - `item_id` INT, - `amount` DECIMAL(10, 2) DEFAULT 0.00, - PRIMARY KEY(item_id) - ) ENGINE = MEMORY; - - - IF vDate >= CURDATE() THEN - INSERT INTO tmp.item - SELECT item_id, SUM(amount) amount - FROM vn2008.item_entry_in - WHERE dat = vDate - AND warehouse_id = vWarehouse - GROUP BY item_id HAVING amount != 0; - END IF; - - CALL `cache`.stock_refresh (FALSE); - - INSERT INTO tmp.item (item_id,amount) - SELECT item_id,s.amount FROM `cache`.stock s - WHERE warehouse_id = vWarehouse - ON DUPLICATE KEY UPDATE - amount = tmp.item.amount + VALUES(amount); - - CALL vn2008.item_last_buy_(vWarehouse,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 PROCEDURE IF EXISTS `taxGetRates` */; -/*!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 `taxGetRates`(vTaxDate DATE) - READS SQL DATA -BEGIN -/** - * Calcula una tabla con el IVA aplicable para la fecha data. - * - * @param vTaxDate - * @treturn tmp.taxGroup - * @treturn tmp.taxTax - */ - SET vTaxDate = IFNULL(vTaxDate, CURDATE()); - - DROP TEMPORARY TABLE IF EXISTS - tmp.taxClass, - tmp.taxType; - - -- Calcula el tipo de IVA para cada clase en cada país. - - CREATE TEMPORARY TABLE tmp.taxClass - (INDEX (countryFk, taxClassFk)) - ENGINE = MEMORY - SELECT * - FROM ( - SELECT t.countryFk, g.taxClassFk, c.type - FROM vn.taxClassCode g - JOIN vn.taxCode c ON c.id = g.taxCodeFk - JOIN vn.taxType t ON t.id = c.taxTypeFk - WHERE g.effectived <= vTaxDate - ORDER BY g.effectived DESC - ) t - GROUP BY countryFk, taxClassFk; - - -- Calcula el impuesto para cada tipo de IVA en cada país. - - CREATE TEMPORARY TABLE tmp.taxType - (INDEX (countryFk, type)) - ENGINE = MEMORY - SELECT * - FROM ( - SELECT t.countryFk, c.type, - c.rate / 100 rate, - c.equalizationTax / 100 equalizationTax - FROM vn.taxCode c - JOIN vn.taxType t ON t.id = c.taxTypeFk - WHERE c.dated <= vTaxDate AND t.isAccrued - ORDER BY c.dated DESC, c.equalizationTax DESC - ) t - GROUP BY countryFk, type; -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 `ticketClosure` */; -/*!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 `ticketClosure`() -BEGIN -/** - * Realiza el cierre de todos los - * tickets de la table ticketClosure. - */ - - DECLARE vDone BOOL; - DECLARE vClientFk INT; - DECLARE vTicketFk INT; - DECLARE vIsTaxDataChecked BOOL; - DECLARE vCompanyFk INT; - DECLARE vShipped DATE; - DECLARE vPriority INT DEFAULT 1; - DECLARE vReportDeliveryNote INT DEFAULT 1; - DECLARE vNewInvoiceId INT; - DECLARE vIsUeeMember BOOL; - DECLARE vWithPackage BOOL; - - DECLARE cur CURSOR FOR - SELECT ticketFk FROM tmp.ticketClosure; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - RESIGNAL; - END; - - INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: START'); - - OPEN cur; - - proc: LOOP - SET vDone = FALSE; - - FETCH cur INTO vTicketFk; - - IF vDone THEN - LEAVE proc; - END IF; - - -- ticketClosure start - SELECT - c.id, - c.isTaxDataChecked, - t.companyFk, - t.shipped, - co.isUeeMember, - w.isManaged - INTO vClientFk, - vIsTaxDataChecked, - vCompanyFk, - vShipped, - vIsUeeMember, - vWithPackage - FROM ticket t - JOIN `client` c ON c.id = t.clientFk - JOIN province p ON p.id = c.provinceFk - JOIN country co ON co.id = p.countryFk - JOIN warehouse w ON w.id = t.warehouseFk - WHERE t.id = vTicketFk; - - -- Fusión de ticket - -- CALL mergeTicketUnattended(vTicketFk, TRUE); JGF 2017/12/04 - - INSERT INTO ticketPackaging (ticketFk, packagingFk, quantity) - (SELECT vTicketFk, p.id, COUNT(*) - FROM expedition e - JOIN package p ON p.itemFk = e.itemFk - WHERE e.ticketFk = vTicketFk AND p.isPackageReturnable - AND vWithPackage - GROUP BY p.itemFk); - - -- No retornables o no catalogados - INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) - (SELECT e.itemFk, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 - FROM expedition e - JOIN item i ON i.id = e.itemFk - LEFT JOIN package p ON p.itemFk = i.id - WHERE e.ticketFk = vTicketFk AND IFNULL(p.isPackageReturnable, 0) = 0 - AND getSpecialPrice(e.itemFk, vClientFk) > 0 - GROUP BY e.itemFk); - - IF(vIsUeeMember = FALSE) THEN - - -- Facturacion rapida - CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); - -- Facturar si está contabilizado - IF vIsTaxDataChecked THEN - - IF (SELECT clientTaxArea(vClientFk, vCompanyFk)) = 'NATIONAL' THEN - CALL invoiceMakeByClient( - vClientFk, - (SELECT invoiceSerial(vClientFk, vCompanyFk, 'M')), - vShipped, - vCompanyFk, - vNewInvoiceId); - ELSE - CALL invoiceMakeByTicket(vTicketFk, (SELECT invoiceSerial(vClientFk, vCompanyFk, 'R')), vNewInvoiceId); - END IF; - - END IF; - ELSE - -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); - END IF; - - -- ticketClosure end - END LOOP; - - CLOSE cur; - - INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: 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 `ticketClosureAgencyList` */; -/*!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 `ticketClosureAgencyList`(vWarehouseFk INT, vDateTo DATE) -BEGIN -/** - * Inserta los tickets de todos los almacenes en la tabla temporal - * para ser cerrados. - * - * @param vWarehouseFk Id del almacén - * @param vDate Fecha del cierre - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; - - CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( - SELECT - t.id AS ticketFk - FROM expedition e - INNER JOIN ticket t ON t.id = e.ticketFk - INNER JOIN tmp.ticketClosureAgencyList al ON al.agencyModeFk = t.agencyModeFk - LEFT JOIN ticketState ts ON ts.ticketFk = t.id - WHERE - ts.alertLevel = 2 - AND t.warehouseFk = vWarehouseFk - AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo - AND t.refFk IS NULL - GROUP BY e.ticketFk); - - DROP TEMPORARY TABLE tmp.ticketClosureAgencyList; - - CALL ticketClosure(); - - DROP TEMPORARY TABLE tmp.ticketClosure; -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 `ticketClosureAgencyListAdd` */; -/*!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 `ticketClosureAgencyListAdd`(vAgencyModeFk INT) -BEGIN -/** - * Prepara un listado de agencias sobre los que se realizará el cierre. - * Es necesario llamar al procedimiento por cada agencia. - * - * @param vAgencyModeFk Id almacén - */ - CREATE TEMPORARY TABLE IF NOT EXISTS tmp.ticketClosureAgencyList ( - `agencyModeFk` INT, - PRIMARY KEY(agencyModeFk)) ENGINE = MEMORY; - - INSERT INTO tmp.ticketClosureAgencyList(agencyModeFk) VALUES(vAgencyModeFk); -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 `ticketClosurekk` */; -/*!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 `ticketClosurekk`() -BEGIN -/** - * Realiza el cierre de todos los - * tickets de la table ticketClosure. - */ - - DECLARE vDone BOOL; - DECLARE vClientFk INT; - DECLARE vCredit INT; - DECLARE vPayMethod INT; - DECLARE vTicketFk INT; - DECLARE vIsToBeMailed BOOL; - DECLARE vIsTaxDataChecked BOOL; - DECLARE vCompanyFk INT; - DECLARE vDeliveryMethod INT; - DECLARE vAgencyFk INT; - DECLARE vAgencyModeFk INT; - DECLARE vWarehouseFk INT; - DECLARE vShipped DATE; - DECLARE vPayMethodCard INT DEFAULT 5; - DECLARE vPriority INT DEFAULT 1; - DECLARE vReportDeliveryNote INT DEFAULT 1; - DECLARE vNewInvoiceId INT; - DECLARE vHasToInvoice BOOL; - - DECLARE cur CURSOR FOR - SELECT ticketFk FROM tmp.ticketClosure; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - RESIGNAL; - END; - - INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: START'); - - OPEN cur; - - proc: LOOP - SET vDone = FALSE; - - FETCH cur INTO vTicketFk; - - IF vDone THEN - LEAVE proc; - END IF; - - -- ticketClosure start - SELECT - c.id, - c.credit, - c.paymentMethodFk, - c.isToBeMailed, - c.isTaxDataChecked, - t.companyFk, - IFNULL(aw.agencyType, a.deliveryMethod) AS deliveryMethod, - a.id AS agencyFk, - t.agencyModeFk, - t.warehouseFk, - t.shipped, - c.hasToInvoice - INTO vClientFk, - vCredit, - vPayMethod, - vIsToBeMailed, - vIsTaxDataChecked, - vCompanyFk, - vDeliveryMethod, - vAgencyFk, - vAgencyModeFk, - vWarehouseFk, - vShipped, - vHasToInvoice - FROM ticket t - INNER JOIN `client` c ON c.id = t.clientFk - LEFT JOIN agencyMode a ON a.id = t.agencyModeFk - LEFT JOIN agencyWarehouse aw ON a.id = aw.agencyFk AND t.warehouseFk = aw.warehouseFk - WHERE t.id = vTicketFk; - - -- Fusión de ticket - CALL mergeTicketUnattended(vTicketFk, TRUE); - - INSERT INTO ticketPackaging (ticketFk, packagingFk, quantity) - (SELECT vTicketFk, p.id, COUNT(*) - FROM expedition e - JOIN package p ON p.itemFk = e.itemFk - WHERE e.ticketFk = vTicketFk AND p.isPackageReturnable - GROUP BY p.itemFk); - - -- No retornables o no catalogados - INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) - (SELECT e.itemFk, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 - FROM expedition e - JOIN item i ON i.id = e.itemFk - LEFT JOIN package p ON p.itemFk = i.id - WHERE e.ticketFk = vTicketFk AND IFNULL(p.isPackageReturnable, 0) = 0 - GROUP BY e.itemFk); - - -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); - - IF((vCredit <= 1 OR vPayMethod = vPayMethodCard) AND vHasToInvoice <> FALSE) THEN - - -- Facturacion rapida - CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); - -- Facturar si está contabilizado - IF vIsTaxDataChecked THEN - - IF (SELECT clientTaxArea(vClientFk, vCompanyFk)) = 'NATIONAL' THEN - CALL invoiceMakeByClient( - vClientFk, - (SELECT invoiceSerial(vClientFk, vCompanyFk, 'M')), - vShipped, - vCompanyFk, - vNewInvoiceId); - ELSE - CALL invoiceMakeByTicket(vTicketFk, (SELECT invoiceSerial(vClientFk, vCompanyFk, 'R')), vNewInvoiceId); - END IF; - - END IF; - ELSE - -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); - END IF; - - -- ticketClosure end - END LOOP; - - CLOSE cur; - - INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: 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 `ticketClosureMultiWarehouse` */; -/*!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 `ticketClosureMultiWarehouse`(vDateTo DATE) -BEGIN -/** - * Inserta los tickets de todos los almacenes en la tabla temporal - * para ser cerrados. - * - * @param vDate Fecha del cierre - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; - - CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( - SELECT - t.id AS ticketFk - FROM expedition e - INNER JOIN ticket t ON t.id = e.ticketFk - INNER JOIN warehouse w ON w.id = t.warehouseFk AND hasComission - LEFT JOIN ticketState ts ON ts.ticketFk = t.id - WHERE - ts.alertLevel = 2 - AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo - AND t.refFk IS NULL - GROUP BY e.ticketFk); - - CALL ticketClosure(); - - DROP TEMPORARY TABLE tmp.ticketClosure; -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 `ticketClosureRoute` */; -/*!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 `ticketClosureRoute`(vWarehouseFk INT, vRouteFk INT, vDateTo DATE) -BEGIN -/** - * Inserta los tickets de la ruta en la tabla temporal - * para ser cerrados. - * - * @param vWarehouseFk Almacén a cerrar - * @param vRouteFk Ruta a cerrar - * @param vDate Fecha del cierre - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; - - CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( - SELECT - t.id AS ticketFk - FROM expedition e - INNER JOIN ticket t ON t.id = e.ticketFk - LEFT JOIN ticketState ts ON ts.ticketFk = t.id - WHERE - ts.alertLevel = 2 - AND t.warehouseFk = vWarehouseFk - AND t.routeFk = vRouteFk - AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo - AND t.refFk IS NULL - GROUP BY e.ticketFk); - - CALL ticketClosure(); - - DROP TEMPORARY TABLE tmp.ticketClosure; -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 `ticketClosureTicket` */; -/*!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 `ticketClosureTicket`(vTicketFk INT) -BEGIN - -/** - * Inserta el ticket en la tabla temporal - * para ser cerrado. - * - * @param vTicketFk Id del ticket - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; - - CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( - SELECT - t.id AS ticketFk - FROM expedition e - INNER JOIN ticket t ON t.id = e.ticketFk - LEFT JOIN ticketState ts ON ts.ticketFk = t.id - WHERE - ts.alertLevel = 2 - AND t.id = vTicketFk - AND t.refFk IS NULL - GROUP BY e.ticketFk); - - CALL ticketClosure(); - - DROP TEMPORARY TABLE tmp.ticketClosure; -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 `ticketClosureWarehouse` */; -/*!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 `ticketClosureWarehouse`(vWarehouseFk INT, vDateTo DATE) -BEGIN -/** - * Inserta los tickets del almacen en la tabla temporal - * para ser cerrados. - * - * @param vWarehouseFk Almacén a cerrar - * @param vDate Fecha del cierre - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; - - CREATE TEMPORARY TABLE ticketClosure ENGINE = MEMORY( - SELECT - t.id AS ticketFk - FROM expedition e - INNER JOIN ticket t ON t.id = e.ticketFk - LEFT JOIN ticketState ts ON ts.ticketFk = t.id - WHERE - ts.alertLevel = 2 - AND t.warehouseFk = vWarehouseFk - AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo - AND t.refFk IS NULL - GROUP BY e.ticketFk); - - CALL ticketClosure(); - - DROP TEMPORARY TABLE tmp.ticketClosure; -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 `ticketCreate` */; -/*!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 `ticketCreate`( - vClientId INT - ,vShipped DATE - ,vWarehouseId INT - ,vCompanyFk INT - ,vAddressFk INT - ,vAgencyType INT - ,vRouteFk INT - ,vlanded DATE - ,OUT vNewTicket INT) -BEGIN - DECLARE vClientOrnamentales INT DEFAULT 5270; - DECLARE vCompanyOrn INT DEFAULT 1381; - DECLARE vProvinceName VARCHAR(255); - - SELECT p.name INTO vProvinceName - FROM vn.client c - JOIN province p ON p.id = c.provinceFk - WHERE c.id = vClientId; - - IF vProvinceName IN ('SANTA CRUZ DE TENERIFE', 'LAS PALMAS DE GRAN CANARIA') - AND vClientId <> vClientOrnamentales - THEN - SET vCompanyFk = vCompanyOrn; - END IF; - - INSERT INTO vn2008.Tickets ( - Id_Cliente, - Fecha, - Id_Consigna, - Id_Agencia, - Alias, - warehouse_id, - Id_Ruta, - empresa_id, - landing - ) - SELECT - vClientId, - vShipped, - a.id, - IF(vAgencyType,vAgencyType,a.agencyFk), - a.nickname, - vWarehouseId, - IF(vRouteFk,vRouteFk,NULL), - vCompanyFk, - vlanded - FROM address a - JOIN agencyMode am ON am.id = a.agencyFk - WHERE IF(vAddressFk, a.id = vAddressFk, a.isDefaultAddress != FALSE) - AND a.clientFk = vClientId - LIMIT 1; - - SET vNewTicket = LAST_INSERT_ID(); - - INSERT INTO ticketObservation(ticketFk, observationTypeFk, description) - SELECT vNewTicket,ao.observationTypeFk, ao.description - FROM addressObservation ao - JOIN address a ON a.id = ao.addressFk - WHERE a.clientFk = vClientId AND a.isDefaultAddress != FALSE; - - CALL logAdd(vNewTicket, 'insert', 'ticket', CONCAT('Ha creado el ticket', ' ', vNewTicket)); - - IF (SELECT isCreatedAsServed FROM vn.client WHERE id = vClientId ) <> FALSE - THEN - INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) - SELECT id, vNewTicket, getWorker() - FROM state - WHERE `code` = 'DELIVERED'; - 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 `ticketGetTax` */; -/*!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 `ticketGetTax`() - READS SQL DATA -BEGIN -/** - * Calcula la base imponible, el IVA y el recargo de equivalencia para - * un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @return tmp.ticketTax Impuesto desglosado para cada ticket - * @return tmp.ticketAmount - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - CREATE TEMPORARY TABLE tmp.addressCompany - (INDEX (addressFk, companyFk)) - ENGINE = MEMORY - SELECT DISTINCT t.addressFk, t.companyFk - FROM tmp.ticket tmpTicket - JOIN ticket t ON t.id = tmpTicket.ticketFk; - - CALL addressTaxArea (); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; - CREATE TEMPORARY TABLE tmp.ticketTax - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT tmpTicket.ticketFk, - bp.pgcFk, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) AS taxableBase, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) * pgc.rate / 100 AS tax, - tc.code - - FROM tmp.ticket tmpTicket - JOIN sale s ON s.ticketFk = tmpTicket.ticketFk - JOIN item i ON i.id = s.itemFk - JOIN ticket t ON t.id = tmpTicket.ticketFk - JOIN supplier su ON su.id = t.companyFk - JOIN tmp.addressTaxArea ata - ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = su.countryFk - JOIN bookingPlanner bp - ON bp.countryFk = su.countryFk - AND bp.taxAreaFk = ata.areaFk - AND bp.taxClassFk = itc.taxClassFk - JOIN pgc ON pgc.code = bp.pgcFk - JOIN taxClass tc ON tc.id = bp.taxClassFk - GROUP BY tmpTicket.ticketFk, pgc.code - HAVING taxableBase != 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; - CREATE TEMPORARY TABLE tmp.ticketAmount - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticketFk, taxableBase, SUM(tax) tax - FROM tmp.ticketTax - GROUP BY ticketFk, code; - - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; - -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 `ticketGetTaxAdd` */; -/*!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 `ticketGetTaxAdd`(vTicketFk INT) -BEGIN -/** - * Añade un ticket a la tabla tmp.ticket para calcular - * el IVA y el recargo de equivalencia y devuelve el resultado. - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.ticket; - CREATE TEMPORARY TABLE tmp.ticket - ENGINE = MEMORY - SELECT vTicketFk ticketFk; - - CALL vn.ticketGetTax(); - - SELECT - tt.ticketFk, - CAST(tt.taxableBase AS DECIMAL(10, 2)) AS taxableBase, - CAST(tt.tax AS DECIMAL(10, 2)) AS tax, - pgc.*, - CAST(IF(pe.equFk IS NULL, taxableBase, 0) AS DECIMAL(10, 2)) AS Base, - pgc.rate / 100 as vatPercent - FROM tmp.ticketTax tt - JOIN vn.pgc ON pgc.code = tt.pgcFk - LEFT JOIN vn.pgcEqu pe ON pe.equFk = pgc.code; - - DROP TEMPORARY TABLE tmp.ticket; - DROP TEMPORARY TABLE tmp.ticketTax; - DROP TEMPORARY TABLE tmp.ticketAmount; -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 `ticketGetTaxkk` */; -/*!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 `ticketGetTaxkk`(vBillingDate DATE) - READS SQL DATA -BEGIN -/** - * Calcula la base imponible, el IVA y el recargo de equivalencia para - * un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @param vBillingDate Fecha de facturación - * @treturn tmp.ticketTax Impuesto desglosado para cada ticket - */ - CALL vn.taxGetRates (vBillingDate); - - -- Calcula el IVA y el recargo desglosado para cada ticket. - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; - CREATE TEMPORARY TABLE tmp.ticketTax - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT t.ticketFk, 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 i.ticketFk, g.countryFk, g.type - ,SUM(CAST(m.quantity * m.price * (100 - m.discount) / 100 AS DECIMAL(10,2))) AS taxBase - ,NOT(c.isVies AND p.countryFk <> c.countryFk) hasTax - ,c.isEqualizated != FALSE AS hasEqualizationTax - FROM tmp.ticket i - JOIN vn.ticket t ON t.id = i.ticketFk - JOIN vn.sale m ON m.ticketFk = t.id - JOIN vn.item a ON a.id = m.itemFk - JOIN vn.client c ON c.id = t.clientFk - JOIN vn.supplier p ON p.id = t.companyFk - JOIN tmp.taxClass g - ON g.countryFk = p.countryFk AND g.taxClassFk = a.taxClassFk - GROUP BY i.ticketFk, 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 `ticketGetTax_new` */; -/*!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 `ticketGetTax_new`() - READS SQL DATA -BEGIN -/** - * Calcula la base imponible, el IVA y el recargo de equivalencia para - * un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @return tmp.ticketTax Impuesto desglosado para cada ticket - * @return tmp.ticketAmount - */ - - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - CREATE TEMPORARY TABLE tmp.addressCompany - (INDEX (addressFk, companyFk)) - ENGINE = MEMORY - SELECT DISTINCT t.addressFk, t.companyFk - FROM tmp.ticket tmpTicket - JOIN ticket t ON t.id = tmpTicket.ticketFk; - - CALL addressTaxArea (); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; - CREATE TEMPORARY TABLE tmp.ticketTax - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT tmpTicket.ticketFk, - bp.pgcFk, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) AS taxableBase, - SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) - ) * pgc.rate / 100 AS tax, - tc.code - - FROM tmp.ticket tmpTicket - JOIN sale s ON s.ticketFk = tmpTicket.ticketFk - JOIN item i ON i.id = s.itemFk - JOIN ticket t ON t.id = tmpTicket.ticketFk - JOIN supplier su ON su.id = t.companyFk - JOIN tmp.addressTaxArea ata - ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk - JOIN itemTaxCountry itc - ON itc.itemFk = i.id AND itc.countryFk = su.countryFk - JOIN bookingPlanner bp - ON bp.countryFk = su.countryFk - AND bp.taxAreaFk = ata.areaFk - AND bp.taxClassFk = itc.taxClassFk - JOIN pgc ON pgc.code = bp.pgcFk - JOIN taxClass tc ON tc.id = bp.taxClassFk - GROUP BY tmpTicket.ticketFk, pgc.code - HAVING taxableBase != 0; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; - CREATE TEMPORARY TABLE tmp.ticketAmount - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticketFk, taxableBase, SUM(tax) tax - FROM tmp.ticketTax - GROUP BY ticketFk, code; - - DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; - DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; - -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 `ticketGetTotal` */; -/*!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 `ticketGetTotal`() - READS SQL DATA -BEGIN -/** - * Calcula el total con IVA para un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @return tmp.ticketTotal Total para cada ticket - */ - CALL ticketGetTax (); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTotal; - CREATE TEMPORARY TABLE tmp.ticketTotal - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticketFk, SUM(ta.taxableBase + ta.tax) AS total - FROM tmp.ticketAmount ta GROUP BY ticketFk; - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; - DROP TEMPORARY TABLE IF EXISTS 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 `ticketGetTotalkk` */; -/*!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 `ticketGetTotalkk`() - READS SQL DATA -BEGIN -/** - * Calcula el total con IVA para un conjunto de tickets. - * - * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular - * @treturn tmp.ticketTotal Total para cada ticket - */ - CALL ticketGetTax (NULL); - - DROP TEMPORARY TABLE IF EXISTS tmp.ticketTotal; - CREATE TEMPORARY TABLE tmp.ticketTotal - (INDEX (ticketFk)) - ENGINE = MEMORY - SELECT ticketFk, SUM(taxBase + tax + equalizationTax) AS total - FROM tmp.ticketTax GROUP BY ticketFk; - - DROP TEMPORARY TABLE 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 `ticketToInvoiceByAddress` */; -/*!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 `ticketToInvoiceByAddress`( - vStarted DATE, - vEnded DATETIME, - vAddress INT, - vCompany INT - ) -BEGIN - - SET vEnded = util.dayEnd(vEnded); - - DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; - - CREATE TEMPORARY TABLE vn.ticketToInvoice - SELECT id - FROM vn.ticket - WHERE addressFk = vAddress - AND companyFk = vCompany - AND shipped BETWEEN vStarted AND vEnded - AND refFk IS 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 `ticketToInvoiceByClient` */; -/*!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 `ticketToInvoiceByClient`( - vStarted DATE, - vEnded DATETIME, - vClient INT, - vCompany INT - ) -BEGIN - - SET vEnded = util.dayEnd(vEnded); - - DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; - - CREATE TEMPORARY TABLE vn.ticketToInvoice - SELECT id - FROM vn.ticket - WHERE clientFk = vClient - AND companyFk = vCompany - AND shipped BETWEEN vStarted AND vEnded - AND refFk IS 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 `ticketToInvoiceByDate` */; -/*!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 `ticketToInvoiceByDate`( - vStarted DATE, - vEnded DATETIME, - vClient INT, - vCompany INT - ) -BEGIN - - SET vEnded = util.dayEnd(vEnded); - - DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; - - CREATE TEMPORARY TABLE vn.ticketToInvoice - SELECT id - FROM vn.ticket - WHERE clientFk = vClient - AND companyFk = vCompany - AND shipped BETWEEN vStarted AND vEnded - AND refFk IS 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 `ticketToInvoiceByRef` */; -/*!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 `ticketToInvoiceByRef`(IN vInvoiceRef VARCHAR(15)) -BEGIN - -/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. -* -* @param vInvoiceRef Factura -*/ - - DECLARE vInvoice INT; - DECLARE vCountry INT; - DECLARE vTaxArea VARCHAR(15); - DECLARE vSpainCountryCode INT DEFAULT 1; - - SELECT id - INTO vInvoice - FROM vn.invoiceOut - WHERE ref = vInvoiceRef; - - SELECT s.countryFk - INTO vCountry - FROM vn.supplier s - JOIN vn.invoiceOut io ON io.companyFk = s.id - WHERE io.id = vInvoice; - - SELECT IF( - c.isEqualizated - AND c.countryFk = vSpainCountryCode - AND i.taxAreaFk = 'NATIONAL', - 'EQU', - i.taxAreaFk - ) - INTO vTaxArea - FROM vn.invoiceOutSerial i - JOIN vn.invoiceOut io ON io.serial = i.code - JOIN vn.client c ON c.id = io.clientFk - WHERE io.id = vInvoice; - - DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; - - CREATE TEMPORARY TABLE vn.ticketToInvoice - SELECT id - FROM vn.ticket - WHERE refFk = vInvoiceRef; - -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 `ticketToInvoiceByTicketkk` */; -/*!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 `ticketToInvoiceByTicketkk`(vTicket INT) -BEGIN - - DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; - - CREATE TEMPORARY TABLE vn.ticketToInvoice - SELECT id - FROM vn.ticket - WHERE id = vTicket - AND refFk IS 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 `ticketTrackingAdd` */; -/*!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 `ticketTrackingAdd`(vTicketFk INT, vState VARCHAR(25) CHARSET UTF8, vWorkerFk INT) -BEGIN -/** - * Inserta un registro de cambios en un ticket. - * @param vTicketFk Id del ticket - * @param vState Código del estado - * @param vWorkerFk Id del trabajador - */ - INSERT INTO ticketTracking (stateFk, ticketFk, workerFk) - SELECT s.id, vTicketFk, vWorkerFk FROM state s WHERE s.code = vState; -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 `workerCreateExternal` */; -/*!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 `workerCreateExternal`( - vFirstName VARCHAR(50), - vSurname1 VARCHAR(50), - vSurname2 VARCHAR(50), - vUser VARCHAR(20), - vPassword VARCHAR(50), - vWorkerCode VARCHAR(3), - vRole INT(2) - ) -BEGIN - - DECLARE vUserId INT; - DECLARE vWorkerPako INT DEFAULT 2; - DECLARE vSurnames VARCHAR(100); - - INSERT INTO account.user(name,password,role) - SELECT vUser,MD5(vPassword),vRole; - - SET vUserId = LAST_INSERT_ID(); - /* - INSERT INTO vn.worker(firstName,name,bossFk,workerCode,user_id) - SELECT vFirstName,CONCAT(vSurname1,' ',vSurname2),2,vWorkerCode,vUser; - */ - - IF vSurname2 IS NULL THEN - SET vSurnames = vSurname1; - ELSE - SET vSurnames = CONCAT(vSurname1, ' ', vSurname2); - END IF; - - INSERT INTO vn2008.Trabajadores(Nombre, Apellidos, boss, CodigoTrabajador, user_id) - SELECT vFirstName, vSurnames, vWorkerPako, vWorkerCode, vUserId; -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 `workerDisable` */; -/*!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`@`localhost` PROCEDURE `workerDisable`(vUserId int) -BEGIN - - DELETE FROM account.account - WHERE id = vUserId; - - UPDATE account.user - SET role = 2 - WHERE id = vUserId; - - UPDATE `client` - SET credit = 0 - WHERE id = vUserId; - -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 `workingHours` */; -ALTER DATABASE `vn` 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 `workingHours`(username varchar(255), logon boolean) -BEGIN - DECLARE userid int(11); - - SELECT vn.getUserId(username) INTO userid; - SELECT username, userid; - IF userid IS NOT NULL THEN - IF (logon) THEN - CALL vn.workingHoursTimeIn(userid); - ELSE - CALL vn.workingHoursTimeOut(userid); - 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `workingHoursTimeIn` */; -ALTER DATABASE `vn` 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 `workingHoursTimeIn`(vUserId INT(11)) -BEGIN - INSERT INTO vn.workingHours (timeIn, userId) - VALUES (NOW(),vUserId); -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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `workingHoursTimeOut` */; -ALTER DATABASE `vn` 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 `workingHoursTimeOut`(vUserId INT(11)) -BEGIN - UPDATE vn.workingHours - SET timeOut = NOW() - WHERE userId = vUserId - AND DATE(timeIn) = 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `zoneNest` */; -/*!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 `zoneNest`() -BEGIN - - DECLARE vDone BOOL; - DECLARE vParent INT DEFAULT 1; - DECLARE vGeoFk INT; - DECLARE vChildFk INT; - DECLARE vChildName VARCHAR(45); - - DECLARE townCur CURSOR FOR - SELECT p.geoFk, t.id, t.`name` - FROM town t - JOIN province p ON p.id = t.provinceFk - WHERE t.id BETWEEN 30001 AND 40000; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - -- > Town cursor start - OPEN townCur; - - townLoop: LOOP - SET vDone = FALSE; - - FETCH townCur INTO vParent, vChildFk, vChildName; - - IF vDone THEN - LEAVE townLoop; - END IF; - - CALL nestAdd('vn', 'zoneNest', vParent, vChildName); - - -- Update town geoFk - SET vGeoFk = LAST_INSERT_ID(); - UPDATE town SET geoFk = vGeoFk WHERE id = vChildFk; - END LOOP; - CLOSE townCur; - -- < Town cursor 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 */ ; - --- --- 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 `PriceDetails` --- - -DROP TABLE IF EXISTS `PriceDetails`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `PriceDetails` ( - `ID` int(11) NOT NULL, - `SuplyResponseID` int(11) NOT NULL, - `PriceType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `Location` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `Price` decimal(10,2) DEFAULT NULL, - `BasisQuantitiy` int(11) DEFAULT NULL, - `BasisQuantityType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `MinimumQuantity` int(11) DEFAULT NULL, - `MinimumQuantityType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `MaximumQuantity Integer` int(11) DEFAULT NULL, - `MaximumQuantityType` varchar(255) COLLATE utf8_unicode_ci 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 `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=281078 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 AUTO_INCREMENT, - `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, - `supplyResponseID` int(11) DEFAULT NULL, - PRIMARY KEY (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=2046639 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=301051 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 `putOrder` --- - -DROP TABLE IF EXISTS `putOrder`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `putOrder` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `deliveryInformationID` int(11) DEFAULT NULL, - `supplyResponsID` int(11) DEFAULT NULL, - `orderTradelineItemID` int(11) DEFAULT NULL COMMENT 'ticketFk', - `OrderTradeLineDateTime` datetime DEFAULT NULL, - `quantity` int(11) DEFAULT NULL, - `EndUserPartyID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `EndUserPartyGLN` tinyint(4) DEFAULT NULL, - `OrderStatus` int(11) DEFAULT NULL COMMENT '1 pending\n2 confirmed\n3 canceled', - `isOrderProcessed` tinyint(4) DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `orderTradelineItemID_UNIQUE` (`orderTradelineItemID`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!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 AUTO_INCREMENT, - `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, - `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, - `CountryOfOrigin` 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, - `AgentGLN` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `MaximumNumberToOrder` int(11) DEFAULT NULL, - `MaximumOrderType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', - `IncrementalOrderableQuantity` int(11) DEFAULT NULL, - `IncrementalOrderableQuantityType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', - `PackingPrice` decimal(10,2) DEFAULT NULL, - `PackingPriceType` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, - `PackingPriceQuantity` int(11) DEFAULT NULL, - `PackingQuantityType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', - `MarketPlaceID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`ID`), - UNIQUE KEY `ID_UNIQUE` (`ID`) -) ENGINE=InnoDB AUTO_INCREMENT=523827 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: `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 '2016-01-01'; -DECLARE vDateEnd DATE DEFAULT '2016-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 - AND empresa_id IN (442,567) - GROUP BY mc.Id_Componente; - - SET vDate = TIMESTAMPADD(DAY,1,vDate); - - IF DAY(vDate) MOD 28 = 0 THEN - - SELECT vDate; - - END IF; - -END WHILE; - - SELECT 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 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `vivosMuertos` */; -/*!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 `vivosMuertos`() -BEGIN - -SET @datSTART = TIMESTAMPADD(YEAR,-2,CURDATE()); -SET @datEND = TIMESTAMPADD(DAY,-DAY(CURDATE()),CURDATE()); - -DROP TEMPORARY TABLE IF EXISTS tmp.VivosMuertos; - -CREATE TEMPORARY TABLE tmp.VivosMuertos -SELECT c.Id_Cliente, tm.yearMonth, f.Compra, 0 as Nuevo, 0 as Muerto -FROM vn2008.Clientes c -JOIN (SELECT DISTINCT yearMonth FROM vn2008.time WHERE date BETWEEN @datSTART AND @datEND ) tm -LEFT JOIN - (SELECT DISTINCT tm.yearMonth, f.Id_Cliente , 1 as Compra - FROM vn2008.Facturas f - JOIN vn2008.time tm ON tm.date = f.Fecha - WHERE Fecha BETWEEN @datSTART AND @datEND) f ON f.yearMonth = tm.yearMonth AND f.Id_Cliente = c.Id_Cliente; - -UPDATE tmp.VivosMuertos vm -JOIN ( - SELECT MIN(tm.yearMonth) firstMonth, f.Id_Cliente - FROM vn2008.Facturas f - JOIN vn2008.time tm ON tm.date = f.Fecha - WHERE Fecha BETWEEN @datSTART AND @datEND - GROUP BY f.Id_Cliente ) fm ON fm.firstMonth = vm.yearMonth AND fm.Id_Cliente = vm.Id_Cliente -SET Nuevo = 1; - -SELECT max(yearMonth) INTO @lastYearMonth FROM tmp.VivosMuertos; - -UPDATE tmp.VivosMuertos vm -JOIN ( - SELECT MAX(tm.yearMonth) firstMonth, f.Id_Cliente - FROM vn2008.Facturas f - JOIN vn2008.time tm ON tm.date = f.Fecha - WHERE Fecha BETWEEN @datSTART AND @datEND - GROUP BY f.Id_Cliente ) fm ON fm.firstMonth = vm.yearMonth AND fm.Id_Cliente = vm.Id_Cliente -SET Muerto = 1 -WHERE yearMonth < @lastYearMonth; - - SELECT * FROM tmp.VivosMuertos; - -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)); - --- Protección neonatos -/* -UPDATE bi.claims_ratio cr - JOIN vn2008.Clientes c ON c.Id_Cliente = cr.Id_Cliente - SET recobro = 0, Ratio = 0 - WHERE c.created > TIMESTAMPADD(MONTH,-1,CURDATE()); - */ -UPDATE bi.claims_ratio cr - JOIN vn.firstTicketShipped fts ON fts.clientFk = cr.Id_Cliente - SET recobro = 0, Ratio = 0 - WHERE fts.shipped > TIMESTAMPADD(MONTH,-1,CURDATE()); - --- 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; -DECLARE vOneYearAgo DATETIME; - -SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE()); -SET vDateLong = TIMESTAMPADD(MONTH, -18,CURDATE()); -SET vOneYearAgo = TIMESTAMPADD(YEAR, -1,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) - OR Fecha < vOneYearAgo; - -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=180582 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: `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=73723 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(), reserveTime) INTO v_reserve_date - FROM hedera.orderConfig; - - -- 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(), reserveTime) INTO v_reserve_date - FROM hedera.orderConfig; - - -- 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`(vWarehouseId INT) -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 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; - - 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; - - -- 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 = vWarehouseId - AND fecha = CURDATE(); - - REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed) - VALUES (vWarehouseId, 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` */; -/*!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`(vWarehouseId INT) -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 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; - -OPEN rs; - -FETCH rs INTO rsDeparture, rsHoras , rsInicio; - -SELECT rsDeparture, rsHoras , rsInicio, vWarehouseId, 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 (vWarehouseId, 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 */ ; -/*!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) + SELECT week, warehouse_id, a.Id_Article item_id, SUM(Cantidad) AS amount, + SUM(Cantidad * Preu * (100 - Descuento) / 100) AS price + FROM Movimientos m + JOIN weekly_ticket t USING (Id_Ticket) + JOIN Articles a USING (Id_Article) + INNER JOIN Tipos USING (tipo_id) + WHERE reino_id != 6 + GROUP BY week, warehouse_id, item_id; + + DROP TEMPORARY TABLE weekly_ticket; +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 `XDiario_Quadrator` */; +/*!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 `XDiario_Quadrator`() +BEGIN + +UPDATE XDiario +SET EURODEBE = ROUND(EURODEBE,2), + EUROHABER = ROUND(EUROHABER,2) +WHERE NOT enlazado; + + +UPDATE XDiario XD +INNER JOIN +( +SELECT XD.id, SUBCTA, Quadre FROM XDiario XD +INNER JOIN ( +SELECT ASIEN, SUM(IFNULL(ROUND(Eurodebe,2),0))- SUM(IFNULL(ROUND(EUROHABER,2),0)) as Quadre +FROM XDiario +WHERE enlazado = FALSE +GROUP BY ASIEN +HAVING Quadre != 0 +) sub USING(ASIEN) +WHERE SUBCTA > '5999999999' +GROUP BY ASIEN +) sub2 USING(id) +SET Eurohaber = IF(IFNULL(Eurohaber,0) = 0, Eurohaber, Eurohaber + Quadre), + Eurodebe = IF(IFNULL(Eurodebe,0) = 0, Eurodebe, Eurodebe - Quadre); + +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 `__abono` */; +/*!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`@`localhost` PROCEDURE `__abono`(IN idT MEDIUMINT, IN idUSER SMALLINT) +BEGIN +-- OBSOLETO USAR vn.refund() + DECLARE idC MEDIUMINT; + DECLARE newFEC DATE; + DECLARE idWH TINYINT; + DECLARE idUSER SMALLINT; + DECLARE idEMP MEDIUMINT; + DECLARE idCON MEDIUMINT; + DECLARE newTICKET MEDIUMINT; + + + SELECT Id_Cliente, TIMESTAMPADD(DAY, 1,Fecha), warehouse_id, empresa_id, Id_Consigna INTO idC, newFEC, idWH, idEMP, idCON + FROM Tickets WHERE Id_Ticket = idT; + + SELECT Id_Trabajador into idUSER from Trabajadores where user_id = account.userGetId(); + IF idUSER IS NULL THEN + SET idUSER = 20; + END IF; + + CALL ticket_new_complet(idC, newFEC, idWH, idUSER, idEMP, idCON, 23,NULL,newTICKET); + + UPDATE Tickets SET Etiquetasemitidas = 1 WHERE Id_Ticket = newTICKET; + + INSERT INTO Movimientos(Id_Ticket, Id_Article, Cantidad, Concepte, Preu, Descuento, PrecioFijado) + SELECT newTICKET, Id_Article, -1 * Cantidad, Concepte, Preu, Descuento, 1 FROM Movimientos WHERE Id_Ticket = idT; + SELECT newTICKET; + +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 `__proveedores_extracto` */; +/*!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 `__proveedores_extracto`(IN idPROV INT, IN idMONEDA INT, IN idEMP INT) +BEGIN + + +SET @saldo_eur:= 0; +SET @saldo_div:= 0; + +SELECT + *, + @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, + @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div +FROM + (SELECT + * + FROM + (SELECT + 'R', + NULL as banco_id, + r.empresa_id, + r.serie, + r.id, + r.fecha, + CONCAT('S/Fra ', r.sref) sref, + if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, + CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, + CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, + NULL AS Pago_Euros, + NULL AS Pago_Divisas, + r.moneda_id, + r.contabilizada, + Moneda, + NULL as pago_sdc_id + FROM + recibida r + JOIN recibida_vencimiento rv on rv.recibida_id = r.id + JOIN Monedas m on m.Id_Moneda = r.moneda_id + WHERE + r.fecha > '2014-12-31' + AND r.proveedor_id = idPROV + AND idMONEDA IN (r.moneda_id, 0) + AND idEMP IN (r.empresa_id,0) + GROUP BY r.id + + + + UNION ALL SELECT + + 'P', + p.id_banco, + p.empresa_id, + NULL, + p.id, + Fecha, + CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), + if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, + NULL, + NULL, + p.importe, + p.divisa, + p.id_moneda, + IFNULL(conciliado, 0), + Moneda, + pago_sdc_id + FROM + pago p + LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda + LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco + LEFT JOIN pay_met pm ON p.pay_met_id = pm.id + LEFT JOIN Pagares pre ON pre.pago_id = p.id + WHERE + Fecha > '2014-12-31' + AND p.Id_Proveedor = idPROV + AND idMONEDA IN (p.id_moneda,0) + AND idEMP IN (p.empresa_id,0) + ) AS SUB + ORDER BY fecha) t; + +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 `__proveedores_extracto_vtos` */; +/*!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 `__proveedores_extracto_vtos`(IN idPROV INT, IN idMONEDA INT, IN idEMP INT) +BEGIN + + +SET @saldo_eur:= 0; +SET @saldo_div:= 0; + +SELECT + *, + @saldo_eur:= round(@saldo_eur + IFNULL(Pago_Euros, 0) - IFNULL(Fac_Euros, 0) ,2 ) AS saldo_eur, + @saldo_div:= round(@saldo_div + IFNULL(Pago_Divisas, 0) - IFNULL(Fac_Divisas, 0) ,2 ) AS saldo_div +FROM + (SELECT + * + FROM + (SELECT + 'V', + NULL as banco_id, + r.empresa_id, + r.serie, + r.id, + rv.fecha, + CONCAT('S/Fra ', r.sref) sref, + if(r.moneda_id > 1,round(sum(divisa) / sum(cantidad),3),NULL) val_cambio, + CAST(sum(cantidad) as DECIMAL(10,2)) as Fac_Euros, + CAST(sum(divisa) as DECIMAL(10,2)) as Fac_Divisas, + NULL AS Pago_Euros, + NULL AS Pago_Divisas, + r.moneda_id, + r.contabilizada, + Moneda, + NULL as pago_sdc_id + FROM + recibida r + JOIN recibida_vencimiento rv on rv.recibida_id = r.id + JOIN Monedas m on m.Id_Moneda = r.moneda_id + WHERE + r.fecha > '2014-12-31' + AND r.proveedor_id = idPROV + AND idMONEDA IN (r.moneda_id, 0) + AND idEMP IN (r.empresa_id,0) + GROUP BY rv.id + + + + UNION ALL SELECT + + 'P', + p.id_banco, + p.empresa_id, + NULL, + p.id, + Fecha, + CONCAT(IFNULL(name, ''), IF(pre.concepto <> '', CONCAT(' : ', pre.concepto), '')), + if(p.id_moneda > 1, p.divisa / importe, NULL) tip_cambio, + NULL, + NULL, + p.importe, + p.divisa, + p.id_moneda, + IFNULL(conciliado, 0), + Moneda, + pago_sdc_id + FROM + pago p + LEFT JOIN Monedas ON Monedas.Id_Moneda = p.id_moneda + LEFT JOIN Bancos ON p.id_banco = Bancos.Id_banco + LEFT JOIN pay_met pm ON p.pay_met_id = pm.id + LEFT JOIN Pagares pre ON pre.pago_id = p.id + WHERE + Fecha > '2014-12-31' + AND p.Id_Proveedor = idPROV + AND idMONEDA IN (p.id_moneda,0) + AND idEMP IN (p.empresa_id,0) + ) AS SUB + ORDER BY fecha, id) t; + +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: `vn` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `vn`; + +-- +-- Temporary table 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 TABLE `accounting` ( + `id` tinyint NOT NULL, + `bank` tinyint NOT NULL, + `account` tinyint NOT NULL, + `accountingTypeFk` tinyint NOT NULL, + `entityFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `accountingType` +-- + +DROP TABLE IF EXISTS `accountingType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `accountingType` ( + `id` smallint(6) NOT NULL DEFAULT '0', + `description` varchar(100) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='descripcio dels valors de la columna "cash" de la taula vn2008.Bancios'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `activityTaxDismissed` +-- + +DROP TABLE IF EXISTS `activityTaxDismissed`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `activityTaxDismissed` ( + `clientFk` int(11) NOT NULL, + `isNotified` tinyint(1) DEFAULT '0', + `isDismissed` tinyint(1) DEFAULT '0', + `notified` int(11) DEFAULT '0', + PRIMARY KEY (`clientFk`), + CONSTRAINT `clientFk` FOREIGN KEY (`clientFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `address` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `customer` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postalCode` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `province` tinyint NOT NULL, + `phone` tinyint NOT NULL, + `mobile` tinyint NOT NULL, + `celular` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `isDefaultAddress` tinyint NOT NULL, + `defaultAddress` tinyint NOT NULL, + `longitude` tinyint NOT NULL, + `latitude` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `warehouse` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `agency` tinyint NOT NULL, + `isEqualizated` tinyint NOT NULL, + `isActive` tinyint NOT NULL, + `active` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `addressForPackaging` +-- + +DROP TABLE IF EXISTS `addressForPackaging`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `addressForPackaging` ( + `addressFk` int(11) NOT NULL, + `packagingValue` decimal(10,2) NOT NULL DEFAULT '0.04', + PRIMARY KEY (`addressFk`), + CONSTRAINT `addresForPackaging_fk1` FOREIGN KEY (`addressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `addressObservation` +-- + +DROP TABLE IF EXISTS `addressObservation`; +/*!50001 DROP VIEW IF EXISTS `addressObservation`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `addressObservation` ( + `id` tinyint NOT NULL, + `addressFk` tinyint NOT NULL, + `observationTypeFk` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `agency` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `isVolumetric` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `warehouseAliasFk` tinyint NOT NULL, + `own` tinyint NOT NULL, + `labelZone` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `agencyHour` +-- + +DROP TABLE IF EXISTS `agencyHour`; +/*!50001 DROP VIEW IF EXISTS `agencyHour`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `agencyHour` ( + `id` tinyint NOT NULL, + `agency` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `weekDay` tinyint NOT NULL, + `warehouse` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `province` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `substractDay` tinyint NOT NULL, + `maxHour` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `agencyMode` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `description` tinyint NOT NULL, + `deliveryMethodFk` tinyint NOT NULL, + `deliveryMethod` tinyint NOT NULL, + `view` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `cod71` tinyint NOT NULL, + `web` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `agency` tinyint NOT NULL, + `agencyServiceFk` tinyint NOT NULL, + `agencyService` tinyint NOT NULL, + `inflation` tinyint NOT NULL, + `inflacion` tinyint NOT NULL, + `isVolumetric` tinyint NOT NULL, + `reportMail` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `agencyWarehouse` +-- + +DROP TABLE IF EXISTS `agencyWarehouse`; +/*!50001 DROP VIEW IF EXISTS `agencyWarehouse`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `agencyWarehouse` ( + `agencyFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `agencyType` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `autoRadioConfig` +-- + +DROP TABLE IF EXISTS `autoRadioConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `autoRadioConfig` ( + `id` int(11) NOT NULL, + `password` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `user` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `port` int(11) DEFAULT NULL, + `url` varchar(75) COLLATE utf8_unicode_ci 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 `autonomousRegion` +-- + +DROP TABLE IF EXISTS `autonomousRegion`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `autonomousRegion` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) CHARACTER SET utf8 NOT NULL, + `geoFk` int(11) DEFAULT NULL, + `countryFk` mediumint(8) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `countryFk` (`countryFk`), + CONSTRAINT `countryFk` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `awb` +-- + +DROP TABLE IF EXISTS `awb`; +/*!50001 DROP VIEW IF EXISTS `awb`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `awb` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `package` tinyint NOT NULL, + `weight` tinyint NOT NULL, + `created` tinyint NOT NULL, + `transitoryFk` tinyint NOT NULL, + `taxFk` tinyint NOT NULL, + `docFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `freightFk` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `stems` tinyint NOT NULL, + `flightFk` tinyint NOT NULL, + `volumeWeight` tinyint NOT NULL, + `hb` tinyint NOT NULL, + `rate` tinyint NOT NULL, + `booked` tinyint NOT NULL, + `issued` tinyint NOT NULL, + `operated` tinyint NOT NULL, + `bookEntried` tinyint NOT NULL, + `invoiceInFk` tinyint NOT NULL, + `isChecked` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `bank` ( + `id` tinyint NOT NULL, + `bank` tinyint NOT NULL, + `account` tinyint NOT NULL, + `cash` tinyint NOT NULL, + `entityFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `bankEntity` +-- + +DROP TABLE IF EXISTS `bankEntity`; +/*!50001 DROP VIEW IF EXISTS `bankEntity`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `bankEntity` ( + `id` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `name` tinyint NOT NULL, + `bic` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `bookingPlanner` +-- + +DROP TABLE IF EXISTS `bookingPlanner`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `bookingPlanner` ( + `id` int(10) NOT NULL AUTO_INCREMENT, + `effectived` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `pgcFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `taxAreaFk` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT 'SPAIN', + `priority` int(2) unsigned DEFAULT NULL, + `taxClassFk` tinyint(3) unsigned NOT NULL DEFAULT '1', + `countryFk` mediumint(8) unsigned NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + KEY `pgcFk_bookingPlanner_idx` (`pgcFk`), + KEY `taxClassFk` (`taxClassFk`), + KEY `countryFk` (`countryFk`), + KEY `bookingPlannerTaxArea` (`taxAreaFk`), + CONSTRAINT `bookingPlannerTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE, + CONSTRAINT `bookingPlanner_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE, + CONSTRAINT `bookingPlanner_ibfk_2` FOREIGN KEY (`taxClassFk`) REFERENCES `vn2008`.`iva_group` (`iva_group_id`) ON DELETE CASCADE, + CONSTRAINT `bookingPlanner_ibfk_3` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `botanicExport` +-- + +DROP TABLE IF EXISTS `botanicExport`; +/*!50001 DROP VIEW IF EXISTS `botanicExport`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `botanicExport` ( + `id` tinyint NOT NULL, + `ediGenusFk` tinyint NOT NULL, + `ediSpecieFk` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `restriction` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `buy` +-- + +DROP TABLE IF EXISTS `buy`; +/*!50001 DROP VIEW IF EXISTS `buy`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `buy` ( + `id` tinyint NOT NULL, + `entryFk` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `buyingValue` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `packageFk` tinyint NOT NULL, + `stickers` tinyint NOT NULL, + `freightValue` tinyint NOT NULL, + `packageValue` tinyint NOT NULL, + `comissionValue` tinyint NOT NULL, + `packing` tinyint NOT NULL, + `grouping` tinyint NOT NULL, + `groupingMode` tinyint NOT NULL, + `location` tinyint NOT NULL, + `price1` tinyint NOT NULL, + `price2` tinyint NOT NULL, + `price3` tinyint NOT NULL, + `minPrice` tinyint NOT NULL, + `producer` tinyint NOT NULL, + `printedStickers` tinyint NOT NULL, + `isChecked` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `calendarHolidays` +-- + +DROP TABLE IF EXISTS `calendarHolidays`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `calendarHolidays` ( + `calendarHolidaysTypeFk` int(11) NOT NULL, + `dated` date NOT NULL, + `calendarHolidaysNameFk` int(11) DEFAULT NULL, + `workCenterFk` int(11) NOT NULL, + PRIMARY KEY (`dated`,`workCenterFk`), + KEY `calendarholidaystypeFk_idx` (`calendarHolidaysTypeFk`), + KEY `calendarHolidaysNameFk_idx` (`calendarHolidaysNameFk`), + KEY `workCenterFk_idx` (`workCenterFk`), + CONSTRAINT `calendarHolidaysNameFk` FOREIGN KEY (`calendarHolidaysNameFk`) REFERENCES `calendarHolidaysName` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `calendarholidaystypeFk` FOREIGN KEY (`calendarHolidaysTypeFk`) REFERENCES `calendarHolidaysType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `workCenterFk` FOREIGN KEY (`workCenterFk`) REFERENCES `workCenter` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `calendarHolidaysName` +-- + +DROP TABLE IF EXISTS `calendarHolidaysName`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `calendarHolidaysName` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `calendarHolidaysType` +-- + +DROP TABLE IF EXISTS `calendarHolidaysType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `calendarHolidaysType` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL, + `hexColour` char(7) NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `category` +-- + +DROP TABLE IF EXISTS `category`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `category` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `nick` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `city` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `client` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `fi` tinyint NOT NULL, + `socialName` tinyint NOT NULL, + `contact` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postcode` tinyint NOT NULL, + `phone` tinyint NOT NULL, + `mobile` tinyint NOT NULL, + `fax` tinyint NOT NULL, + `isRelevant` tinyint NOT NULL, + `email` tinyint NOT NULL, + `iban` tinyint NOT NULL, + `dueDay` tinyint NOT NULL, + `accountingAccount` tinyint NOT NULL, + `isEqualizated` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `hasToInvoice` tinyint NOT NULL, + `credit` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL, + `gestdocFk` tinyint NOT NULL, + `quality` tinyint NOT NULL, + `payMethodFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `isToBeMailed` tinyint NOT NULL, + `contactChannelFk` tinyint NOT NULL, + `hasSepaVnl` tinyint NOT NULL, + `hasCoreVnl` tinyint NOT NULL, + `hasCoreVnh` tinyint NOT NULL, + `defaultAddressFk` tinyint NOT NULL, + `riskCalculated` tinyint NOT NULL, + `clientTypeFk` tinyint NOT NULL, + `mailAddress` tinyint NOT NULL, + `cplusTerIdNifFk` tinyint NOT NULL, + `hasToInvoiceByAddress` tinyint NOT NULL, + `isTaxDataChecked` tinyint NOT NULL, + `isFreezed` tinyint NOT NULL, + `creditInsurance` tinyint NOT NULL, + `isCreatedAsServed` tinyint NOT NULL, + `hasInvoiceSimplified` tinyint NOT NULL, + `salesPersonFk` tinyint NOT NULL, + `isVies` tinyint NOT NULL, + `eypbc` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `clientCredit` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `clientCreditLimit` +-- + +DROP TABLE IF EXISTS `clientCreditLimit`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientCreditLimit` ( + `id` int(11) NOT NULL, + `maxAmount` int(10) unsigned NOT NULL, + `roleFk` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `clientDefaultCompany` +-- + +DROP TABLE IF EXISTS `clientDefaultCompany`; +/*!50001 DROP VIEW IF EXISTS `clientDefaultCompany`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `clientDefaultCompany` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `started` tinyint NOT NULL, + `finished` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `clientLog` +-- + +DROP TABLE IF EXISTS `clientLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `clientLog` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + KEY `originFk` (`originFk`), + KEY `userFk` (`userFk`), + CONSTRAINT `clientLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT `clientLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=152389 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `clientManaCache` +-- + +DROP TABLE IF EXISTS `clientManaCache`; +/*!50001 DROP VIEW IF EXISTS `clientManaCache`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `clientManaCache` ( + `clientFk` tinyint NOT NULL, + `mana` tinyint NOT NULL, + `dated` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `clientNotification` +-- + +DROP TABLE IF EXISTS `clientNotification`; +/*!50001 DROP VIEW IF EXISTS `clientNotification`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `clientNotification` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `clientNotificationTypeFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `userFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `clientNotificationType` +-- + +DROP TABLE IF EXISTS `clientNotificationType`; +/*!50001 DROP VIEW IF EXISTS `clientNotificationType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `clientNotificationType` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `description` tinyint NOT NULL, + `isVisible` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `clientObservation` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `text` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `clientType` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `type` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `color` +-- + +DROP TABLE IF EXISTS `color`; +/*!50001 DROP VIEW IF EXISTS `color`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `color` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `company` +-- + +DROP TABLE IF EXISTS `company`; +/*!50001 DROP VIEW IF EXISTS `company`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `company` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `supplierAccountFk` tinyint NOT NULL, + `CodigoEmpresa` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `comparative` +-- + +DROP TABLE IF EXISTS `comparative`; +/*!50001 DROP VIEW IF EXISTS `comparative`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `comparative` ( + `timePeriod` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `price` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `comparativeFilter` +-- + +DROP TABLE IF EXISTS `comparativeFilter`; +/*!50001 DROP VIEW IF EXISTS `comparativeFilter`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `comparativeFilter` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `whereSql` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `componentRate` +-- + +DROP TABLE IF EXISTS `componentRate`; +/*!50001 DROP VIEW IF EXISTS `componentRate`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `componentRate` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `componentTypeRate` tinyint NOT NULL, + `classRate` tinyint NOT NULL, + `tax` tinyint NOT NULL, + `isRenewable` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `componentTypeRate` +-- + +DROP TABLE IF EXISTS `componentTypeRate`; +/*!50001 DROP VIEW IF EXISTS `componentTypeRate`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `componentTypeRate` ( + `id` tinyint NOT NULL, + `type` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `confectionType` +-- + +DROP TABLE IF EXISTS `confectionType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `confectionType` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!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` int(10) unsigned NOT NULL AUTO_INCREMENT, + `mdbServer` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `fakeEmail` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `defaultersMaxAmount` int(10) DEFAULT '200' COMMENT 'maxima deuda permitida a partir de la cual se bloquea a un usuario', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `contactChannel` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `country` ( + `id` tinyint NOT NULL, + `country` tinyint NOT NULL, + `CEE` tinyint NOT NULL, + `isUeeMember` tinyint NOT NULL, + `code` tinyint NOT NULL, + `currencyFk` tinyint NOT NULL, + `politicalCountryFk` tinyint NOT NULL, + `geoFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `cplusCorrectingType` +-- + +DROP TABLE IF EXISTS `cplusCorrectingType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusCorrectingType` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusInvoiceType472` +-- + +DROP TABLE IF EXISTS `cplusInvoiceType472`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusInvoiceType472` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*18) TIPO FACTURA (Asientos)SOPORTADO – DEDUCIBLE (472)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusInvoiceType477` +-- + +DROP TABLE IF EXISTS `cplusInvoiceType477`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusInvoiceType477` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*18) TIPO FACTURA (Asientos)REPERCUTIDO - DEVENGADO (477)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusRectificationType` +-- + +DROP TABLE IF EXISTS `cplusRectificationType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusRectificationType` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*20) TIPO RECTIFICATIVA (Asientos)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusSubjectOp` +-- + +DROP TABLE IF EXISTS `cplusSubjectOp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusSubjectOp` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*17) TIPO OPERACIÓN SUJETA/NO SUJETA (Asientos)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusTaxBreak` +-- + +DROP TABLE IF EXISTS `cplusTaxBreak`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusTaxBreak` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*16) TIPO EXENCIÓN (Asientos)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusTerIdNif` +-- + +DROP TABLE IF EXISTS `cplusTerIdNif`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusTerIdNif` ( + `id` int(11) NOT NULL, + `description` varchar(255) CHARACTER SET utf8 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 `cplusTrascendency472` +-- + +DROP TABLE IF EXISTS `cplusTrascendency472`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusTrascendency472` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*15) CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA(Asientos)SOPORTADO – DEDUCIBLE (472)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `cplusTrascendency477` +-- + +DROP TABLE IF EXISTS `cplusTrascendency477`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `cplusTrascendency477` ( + `id` int(10) unsigned NOT NULL, + `description` varchar(255) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='(*15) CLAVE DE RÉGIMEN ESPECIAL O TRASCENDENCIA(Asientos) REPERCUTIDO - DEVENGADO (477)'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `creditClassification` +-- + +DROP TABLE IF EXISTS `creditClassification`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `creditClassification` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `client` int(11) NOT NULL, + `dateStart` date NOT NULL, + `dateEnd` date DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `creditClassifClientFk_idx` (`client`), + KEY `creditClassifdateEnd_idx` (`dateEnd`), + CONSTRAINT `creditClassifClientFk` FOREIGN KEY (`client`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2667 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; +ALTER DATABASE `vn` 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 `vn`.`creditClassification_BEFORE_UPDATE` BEFORE UPDATE ON `creditClassification` FOR EACH ROW +BEGIN + IF NEW.client <> OLD.client THEN + CALL util.throw('NOT_ALLOWED_CHANGE_CLIENT'); + END IF; + IF NEW.dateEnd IS NOT NULL AND OLD.dateEnd IS NULL THEN + UPDATE vn2008.Clientes c + SET creditInsurance = 0 WHERE c.Id_cliente = NEW.client; + 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Table structure for table `creditInsurance` +-- + +DROP TABLE IF EXISTS `creditInsurance`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `creditInsurance` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `creditClassification` int(11) DEFAULT NULL, + `credit` int(11) DEFAULT NULL, + `creationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `grade` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `CreditInsurance_Fk1_idx` (`creditClassification`), + CONSTRAINT `CreditInsurance_Fk1` FOREIGN KEY (`creditClassification`) REFERENCES `creditClassification` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1752 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que tienen seguro de credito'; +/*!40101 SET character_set_client = @saved_cs_client */; +ALTER DATABASE `vn` 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 `vn`.`creditInsurance_AFTER_INSERT` AFTER INSERT ON `creditInsurance` FOR EACH ROW +BEGIN + UPDATE vn2008.Clientes c + JOIN vn.creditClassification cc ON cc.client = c.Id_Cliente + SET creditInsurance = NEW.credit WHERE cc.id = NEW.creditClassification; + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Temporary table structure for view `currency` +-- + +DROP TABLE IF EXISTS `currency`; +/*!50001 DROP VIEW IF EXISTS `currency`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `currency` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +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; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `deliveryError` +-- + +DROP TABLE IF EXISTS `deliveryError`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `deliveryError` ( + `ticket` int(11) NOT NULL, + `description` varchar(255) CHARACTER SET latin1 NOT NULL, + `worker` int(11) NOT NULL, + `creation_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + KEY `errorTickets_idx` (`ticket`), + KEY `errorWorker_idx` (`worker`), + CONSTRAINT `errorTickets` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT `errorWorker` FOREIGN KEY (`worker`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `deliveryMethod` +-- + +DROP TABLE IF EXISTS `deliveryMethod`; +/*!50001 DROP VIEW IF EXISTS `deliveryMethod`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `deliveryMethod` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `ediGenus` +-- + +DROP TABLE IF EXISTS `ediGenus`; +/*!50001 DROP VIEW IF EXISTS `ediGenus`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ediGenus` ( + `id` tinyint NOT NULL, + `latinGenusName` tinyint NOT NULL, + `entried` tinyint NOT NULL, + `dued` tinyint NOT NULL, + `modified` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `ediSpecie` +-- + +DROP TABLE IF EXISTS `ediSpecie`; +/*!50001 DROP VIEW IF EXISTS `ediSpecie`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ediSpecie` ( + `id` tinyint NOT NULL, + `genusFk` tinyint NOT NULL, + `latinSpeciesName` tinyint NOT NULL, + `entried` tinyint NOT NULL, + `dued` tinyint NOT NULL, + `modified` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `entity` +-- + +DROP TABLE IF EXISTS `entity`; +/*!50001 DROP VIEW IF EXISTS `entity`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `entity` ( + `countryFk` tinyint NOT NULL, + `id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `bic` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `entry` +-- + +DROP TABLE IF EXISTS `entry`; +/*!50001 DROP VIEW IF EXISTS `entry`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `entry` ( + `id` tinyint NOT NULL, + `supplierFk` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `isInventory` tinyint NOT NULL, + `isConfirmed` tinyint NOT NULL, + `isOrdered` tinyint NOT NULL, + `isRaid` tinyint NOT NULL, + `commission` tinyint NOT NULL, + `created` tinyint NOT NULL, + `evaNotes` tinyint NOT NULL, + `travelFk` tinyint NOT NULL, + `currencyFk` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `gestDocFk` tinyint NOT NULL, + `invoiceReceivedFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `entryLog` +-- + +DROP TABLE IF EXISTS `entryLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `entryLog` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + KEY `userFk` (`userFk`), + KEY `logEntry_ibfk_1` (`originFk`), + CONSTRAINT `entryLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `entryLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=28693 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `especialPrice` +-- + +DROP TABLE IF EXISTS `especialPrice`; +/*!50001 DROP VIEW IF EXISTS `especialPrice`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `especialPrice` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `value` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `excuse` +-- + +DROP TABLE IF EXISTS `excuse`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `excuse` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `txt` varchar(255) CHARACTER SET latin1 NOT NULL, + `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `expedition` +-- + +DROP TABLE IF EXISTS `expedition`; +/*!50001 DROP VIEW IF EXISTS `expedition`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `expedition` ( + `id` tinyint NOT NULL, + `agency` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL, + `ticket` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `isBox` tinyint NOT NULL, + `printingTime` tinyint NOT NULL, + `item` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `counter` tinyint NOT NULL, + `checked` tinyint NOT NULL, + `workerFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `expence` +-- + +DROP TABLE IF EXISTS `expence`; +/*!50001 DROP VIEW IF EXISTS `expence`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `expence` ( + `id` tinyint NOT NULL, + `taxTypeFk` tinyint NOT NULL, + `name` tinyint NOT NULL, + `isWithheld` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `firstTicketShipped` +-- + +DROP TABLE IF EXISTS `firstTicketShipped`; +/*!50001 DROP VIEW IF EXISTS `firstTicketShipped`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `firstTicketShipped` ( + `shipped` tinyint NOT NULL, + `clientFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `gateArea` +-- + +DROP TABLE IF EXISTS `gateArea`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gateArea` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `grant` +-- + +DROP TABLE IF EXISTS `grant`; +/*!50001 DROP VIEW IF EXISTS `grant`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `grant` ( + `group` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `company` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `grantGroup` +-- + +DROP TABLE IF EXISTS `grantGroup`; +/*!50001 DROP VIEW IF EXISTS `grantGroup`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `grantGroup` ( + `id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `observationType` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `greuge` +-- + +DROP TABLE IF EXISTS `greuge`; +/*!50001 DROP VIEW IF EXISTS `greuge`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `greuge` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `description` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `shipped` tinyint NOT NULL, + `created` tinyint NOT NULL, + `greugeTypeFk` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `greugeType` +-- + +DROP TABLE IF EXISTS `greugeType`; +/*!50001 DROP VIEW IF EXISTS `greugeType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `greugeType` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `ink` +-- + +DROP TABLE IF EXISTS `ink`; +/*!50001 DROP VIEW IF EXISTS `ink`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ink` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `picture` tinyint NOT NULL, + `showOrder` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `inkI18n` +-- + +DROP TABLE IF EXISTS `inkI18n`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `inkI18n` ( + `inkFk` char(3) COLLATE utf8_unicode_ci NOT NULL, + `lang` char(2) CHARACTER SET utf8 NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`inkFk`,`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `inkL10n` +-- + +DROP TABLE IF EXISTS `inkL10n`; +/*!50001 DROP VIEW IF EXISTS `inkL10n`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `inkL10n` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `intrastat` +-- + +DROP TABLE IF EXISTS `intrastat`; +/*!50001 DROP VIEW IF EXISTS `intrastat`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `intrastat` ( + `id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `taxClassFk` tinyint NOT NULL, + `taxCodeFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceCorrection` +-- + +DROP TABLE IF EXISTS `invoiceCorrection`; +/*!50001 DROP VIEW IF EXISTS `invoiceCorrection`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceCorrection` ( + `correctingFk` tinyint NOT NULL, + `correctedFk` tinyint NOT NULL, + `cplusRectificationTypeFk` tinyint NOT NULL, + `cplusInvoiceType477Fk` tinyint NOT NULL, + `invoiceCorrectionTypeFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceCorrectionDataSource` +-- + +DROP TABLE IF EXISTS `invoiceCorrectionDataSource`; +/*!50001 DROP VIEW IF EXISTS `invoiceCorrectionDataSource`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceCorrectionDataSource` ( + `itemFk` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `price` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `refFk` tinyint NOT NULL, + `saleFk` tinyint NOT NULL, + `shipped` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `invoiceCorrectionType` +-- + +DROP TABLE IF EXISTS `invoiceCorrectionType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceCorrectionType` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `description` varchar(100) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `description_UNIQUE` (`description`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `invoiceIn` +-- + +DROP TABLE IF EXISTS `invoiceIn`; +/*!50001 DROP VIEW IF EXISTS `invoiceIn`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceIn` ( + `id` tinyint NOT NULL, + `serialNumber` tinyint NOT NULL, + `serial` tinyint NOT NULL, + `supplierFk` tinyint NOT NULL, + `issued` tinyint NOT NULL, + `supplierRef` tinyint NOT NULL, + `isBooked` tinyint NOT NULL, + `currencyFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `docFk` tinyint NOT NULL, + `booked` tinyint NOT NULL, + `operated` tinyint NOT NULL, + `cplusInvoiceType472Fk` tinyint NOT NULL, + `cplusRectificationTypeFk` tinyint NOT NULL, + `cplusSubjectOpFk` tinyint NOT NULL, + `cplusTaxBreakFk` tinyint NOT NULL, + `cplusTrascendency472Fk` tinyint NOT NULL, + `bookEntried` tinyint NOT NULL, + `isVatDeductible` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceInAwb` +-- + +DROP TABLE IF EXISTS `invoiceInAwb`; +/*!50001 DROP VIEW IF EXISTS `invoiceInAwb`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceInAwb` ( + `invoiceInFk` tinyint NOT NULL, + `awbFk` tinyint NOT NULL, + `dua` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceInDueDay` +-- + +DROP TABLE IF EXISTS `invoiceInDueDay`; +/*!50001 DROP VIEW IF EXISTS `invoiceInDueDay`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceInDueDay` ( + `id` tinyint NOT NULL, + `invoiceInFk` tinyint NOT NULL, + `dueDated` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `foreignValue` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceInEntry` +-- + +DROP TABLE IF EXISTS `invoiceInEntry`; +/*!50001 DROP VIEW IF EXISTS `invoiceInEntry`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceInEntry` ( + `id` tinyint NOT NULL, + `invoiceInFk` tinyint NOT NULL, + `entryFk` tinyint NOT NULL, + `percentage` tinyint NOT NULL, + `invoiceInAwbFk` tinyint NOT NULL, + `isBooked` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceInIntrastat` +-- + +DROP TABLE IF EXISTS `invoiceInIntrastat`; +/*!50001 DROP VIEW IF EXISTS `invoiceInIntrastat`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceInIntrastat` ( + `invoiceInFk` tinyint NOT NULL, + `intrastatFk` tinyint NOT NULL, + `amount` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `invoiceInSerial` +-- + +DROP TABLE IF EXISTS `invoiceInSerial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceInSerial` ( + `code` varchar(2) COLLATE utf8_unicode_ci NOT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `cplusTerIdNifFk` int(11) NOT NULL DEFAULT '1', + `taxAreaFk` varchar(15) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`code`), + KEY `InvoiceInSerial_Fk1_idx` (`cplusTerIdNifFk`), + KEY `InvoiceInSerialTaxArea_idx` (`taxAreaFk`), + CONSTRAINT `InvoiceInSerialTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE, + CONSTRAINT `InvoiceInSerial_Fk1` FOREIGN KEY (`cplusTerIdNifFk`) REFERENCES `cplusTerIdNif` (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `invoiceInTax` +-- + +DROP TABLE IF EXISTS `invoiceInTax`; +/*!50001 DROP VIEW IF EXISTS `invoiceInTax`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceInTax` ( + `id` tinyint NOT NULL, + `invoiceInFk` tinyint NOT NULL, + `taxCodeFk` tinyint NOT NULL, + `taxableBase` tinyint NOT NULL, + `expenceFk` tinyint NOT NULL, + `foreignValue` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `invoiceOut` +-- + +DROP TABLE IF EXISTS `invoiceOut`; +/*!50001 DROP VIEW IF EXISTS `invoiceOut`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `invoiceOut` ( + `id` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `serial` tinyint NOT NULL, + `issued` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `dued` tinyint NOT NULL, + `booked` tinyint NOT NULL, + `cplusInvoiceType477Fk` tinyint NOT NULL, + `cplusTaxBreakFk` tinyint NOT NULL, + `cplusSubjectOpFk` tinyint NOT NULL, + `cplusTrascendency477Fk` tinyint NOT NULL, + `pdf` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `invoiceOutExpence` +-- + +DROP TABLE IF EXISTS `invoiceOutExpence`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceOutExpence` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `invoiceOutFk` int(10) unsigned NOT NULL, + `amount` decimal(10,2) NOT NULL DEFAULT '0.00', + `expenceFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `created` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `invoiceOutExpence_restriccion` (`expenceFk`,`invoiceOutFk`), + KEY `invoiceOutExpence_FK_1_idx` (`invoiceOutFk`), + KEY `invoiceOutExpence_FK_2_idx` (`expenceFk`), + CONSTRAINT `invoiceOutExpence_FK_1` FOREIGN KEY (`invoiceOutFk`) REFERENCES `vn2008`.`Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `invoiceOutExpence_FK_2` FOREIGN KEY (`expenceFk`) REFERENCES `vn2008`.`Gastos` (`Id_Gasto`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=48930 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Desglosa la base imponible de una factura en funcion del tipo de gasto/venta'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoiceOutSerial` +-- + +DROP TABLE IF EXISTS `invoiceOutSerial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceOutSerial` ( + `code` varchar(2) COLLATE utf8_unicode_ci NOT NULL, + `description` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `isTaxed` tinyint(1) NOT NULL DEFAULT '1', + `taxAreaFk` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT 'NATIONAL', + `isCEE` tinyint(1) NOT NULL DEFAULT '0', + `cplusInvoiceType477Fk` int(10) unsigned DEFAULT '1', + PRIMARY KEY (`code`), + KEY `taxAreaFk_idx` (`taxAreaFk`), + CONSTRAINT `invoiceOutSeriaTaxArea` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `invoiceOutTax` +-- + +DROP TABLE IF EXISTS `invoiceOutTax`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `invoiceOutTax` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `invoiceOutFk` int(10) unsigned NOT NULL, + `taxableBase` decimal(10,2) NOT NULL, + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `vat` decimal(10,2) NOT NULL DEFAULT '0.00', + `pgcFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL DEFAULT '0000000000', + PRIMARY KEY (`id`), + UNIQUE KEY `invoiceOutTax_Resctriccion` (`invoiceOutFk`,`pgcFk`), + KEY `invoiceOutFk_idx` (`invoiceOutFk`), + KEY `pgcFk` (`pgcFk`), + CONSTRAINT `invoiceOutFk` FOREIGN KEY (`invoiceOutFk`) REFERENCES `vn2008`.`Facturas` (`factura_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `invoiceOutTax_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=867471 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `item` +-- + +DROP TABLE IF EXISTS `item`; +/*!50001 DROP VIEW IF EXISTS `item`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `item` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `typeFk` tinyint NOT NULL, + `size` tinyint NOT NULL, + `inkFk` tinyint NOT NULL, + `category` tinyint NOT NULL, + `stems` tinyint NOT NULL, + `originFk` tinyint NOT NULL, + `description` tinyint NOT NULL, + `producerFk` tinyint NOT NULL, + `intrastatFk` tinyint NOT NULL, + `isOnOffer` tinyint NOT NULL, + `expenceFk` tinyint NOT NULL, + `isBargain` tinyint NOT NULL, + `comment` tinyint NOT NULL, + `relevancy` tinyint NOT NULL, + `image` tinyint NOT NULL, + `taxClassFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `itemBarcode` +-- + +DROP TABLE IF EXISTS `itemBarcode`; +/*!50001 DROP VIEW IF EXISTS `itemBarcode`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemBarcode` ( + `id` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `itemBotanical` +-- + +DROP TABLE IF EXISTS `itemBotanical`; +/*!50001 DROP VIEW IF EXISTS `itemBotanical`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemBotanical` ( + `itemFk` tinyint NOT NULL, + `botanical` tinyint NOT NULL, + `genusFk` tinyint NOT NULL, + `specieFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `itemBotanicalWithGenus` +-- + +DROP TABLE IF EXISTS `itemBotanicalWithGenus`; +/*!50001 DROP VIEW IF EXISTS `itemBotanicalWithGenus`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemBotanicalWithGenus` ( + `itemFk` tinyint NOT NULL, + `ediBotanic` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `itemCategory` +-- + +DROP TABLE IF EXISTS `itemCategory`; +/*!50001 DROP VIEW IF EXISTS `itemCategory`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemCategory` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `display` tinyint NOT NULL, + `color` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemCategoryI18n` +-- + +DROP TABLE IF EXISTS `itemCategoryI18n`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemCategoryI18n` ( + `categoryFk` int(10) unsigned NOT NULL, + `lang` char(2) CHARACTER SET utf8 NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`categoryFk`,`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemCategoryL10n` +-- + +DROP TABLE IF EXISTS `itemCategoryL10n`; +/*!50001 DROP VIEW IF EXISTS `itemCategoryL10n`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemCategoryL10n` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemConversor` +-- + +DROP TABLE IF EXISTS `itemConversor`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemConversor` ( + `espItemFk` int(11) NOT NULL, + `genItemFk` int(11) DEFAULT NULL, + PRIMARY KEY (`espItemFk`), + KEY `itemConversor_fk2_idx` (`genItemFk`), + CONSTRAINT `itemConversor_fk1` FOREIGN KEY (`espItemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `itemConversor_fk2` FOREIGN KEY (`genItemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona los item específicos con los genéricos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `itemLog` +-- + +DROP TABLE IF EXISTS `itemLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemLog` ( + `id` int(11) NOT NULL DEFAULT '0', + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + KEY `itemLogItemFk_idx` (`originFk`), + KEY `itemLogUserFk_idx` (`userFk`), + CONSTRAINT `itemLogItemFk` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `itemLogUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemPlacement` +-- + +DROP TABLE IF EXISTS `itemPlacement`; +/*!50001 DROP VIEW IF EXISTS `itemPlacement`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemPlacement` ( + `itemFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemTag` +-- + +DROP TABLE IF EXISTS `itemTag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemTag` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `itemFk` int(11) NOT NULL, + `tagFk` int(11) NOT NULL, + `value` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `priority` int(2) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `priorityItem` (`itemFk`,`priority`), + KEY `tagFk` (`tagFk`,`value`), + CONSTRAINT `itemFK` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=261948 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `itemTagArranged` +-- + +DROP TABLE IF EXISTS `itemTagArranged`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemTagArranged` ( + `itemFk` int(11) NOT NULL, + `tag1` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val1` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `tag2` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val2` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `tag3` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val3` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `tag4` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val4` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `tag5` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val5` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `tag6` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `val6` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `description` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`itemFk`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Cache de columnas de características de artículo'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemTagged` +-- + +DROP TABLE IF EXISTS `itemTagged`; +/*!50001 DROP VIEW IF EXISTS `itemTagged`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemTagged` ( + `itemFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemTaxCountry` +-- + +DROP TABLE IF EXISTS `itemTaxCountry`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemTaxCountry` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `itemFk` int(11) DEFAULT NULL, + `countryFk` mediumint(8) unsigned DEFAULT NULL, + `taxClassFk` tinyint(3) unsigned NOT NULL DEFAULT '1', + `effectived` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `taxClassFK_idx` (`taxClassFk`), + KEY `countryFK_paises_idx` (`countryFk`), + KEY `itemFK_Article_idx` (`itemFk`), + CONSTRAINT `countryFK_paises` FOREIGN KEY (`countryFk`) REFERENCES `vn2008`.`Paises` (`Id`) ON UPDATE CASCADE, + CONSTRAINT `itemFK_Article` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `taxClassFK_Iva_Group` FOREIGN KEY (`taxClassFk`) REFERENCES `vn2008`.`iva_group` (`iva_group_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=447959 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define la clase de iva por artículo y pais'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemType` +-- + +DROP TABLE IF EXISTS `itemType`; +/*!50001 DROP VIEW IF EXISTS `itemType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemType` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `name` tinyint NOT NULL, + `categoryFk` tinyint NOT NULL, + `life` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `isPackaging` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemTypeI18n` +-- + +DROP TABLE IF EXISTS `itemTypeI18n`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemTypeI18n` ( + `typeFk` smallint(5) unsigned NOT NULL, + `lang` char(2) CHARACTER SET utf8 NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`typeFk`,`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `itemTypeL10n` +-- + +DROP TABLE IF EXISTS `itemTypeL10n`; +/*!50001 DROP VIEW IF EXISTS `itemTypeL10n`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `itemTypeL10n` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `itemVerdecora` +-- + +DROP TABLE IF EXISTS `itemVerdecora`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `itemVerdecora` ( + `itemFk` int(11) NOT NULL, + `codin` int(11) DEFAULT NULL, + PRIMARY KEY (`itemFk`), + CONSTRAINT `itemVerdecora_fk1` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona nuestros articulos con los de Verdecora'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `mail` +-- + +DROP TABLE IF EXISTS `mail`; +/*!50001 DROP VIEW IF EXISTS `mail`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `mail` ( + `id` tinyint NOT NULL, + `senderFk` tinyint NOT NULL, + `recipientFk` tinyint NOT NULL, + `sender` tinyint NOT NULL, + `replyTo` tinyint NOT NULL, + `subject` tinyint NOT NULL, + `body` tinyint NOT NULL, + `plainTextBody` tinyint NOT NULL, + `attachment` tinyint NOT NULL, + `creationDate` tinyint NOT NULL, + `sent` tinyint NOT NULL, + `status` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `mailTemplates` +-- + +DROP TABLE IF EXISTS `mailTemplates`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `mailTemplates` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) CHARACTER SET utf8 NOT NULL, + `attachmentPath` text CHARACTER SET utf8 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 table structure for view `manaSpellers` +-- + +DROP TABLE IF EXISTS `manaSpellers`; +/*!50001 DROP VIEW IF EXISTS `manaSpellers`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `manaSpellers` ( + `worker` tinyint NOT NULL, + `size` tinyint NOT NULL, + `used` tinyint NOT NULL, + `pricesModifierRate` tinyint NOT NULL, + `pricesModifierActivated` tinyint NOT NULL, + `workerCode` tinyint NOT NULL, + `firstname` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `mandate` +-- + +DROP TABLE IF EXISTS `mandate`; +/*!50001 DROP VIEW IF EXISTS `mandate`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `mandate` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `code` tinyint NOT NULL, + `created` tinyint NOT NULL, + `finished` tinyint NOT NULL, + `mandateTypeFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `mandateType` +-- + +DROP TABLE IF EXISTS `mandateType`; +/*!50001 DROP VIEW IF EXISTS `mandateType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `mandateType` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `manuscript` +-- + +DROP TABLE IF EXISTS `manuscript`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `manuscript` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(45) CHARACTER SET utf8 NOT NULL, + `description` text COLLATE utf8_unicode_ci, + `enabled` tinyint(1) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `code_UNIQUE` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=4 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(50) CHARACTER SET utf8 NOT NULL, + `sender` varchar(50) CHARACTER SET utf8 NOT NULL, + `recipient` varchar(50) CHARACTER SET utf8 NOT NULL, + `message` longtext CHARACTER SET utf8, + `sendDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + KEY `sender` (`sender`), + KEY `recipient` (`recipient`), + KEY `uuid` (`uuid`(8)) +) ENGINE=InnoDB AUTO_INCREMENT=1371512 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(50) CHARACTER SET utf8 NOT NULL, + `sender` varchar(50) CHARACTER SET utf8 NOT NULL, + `recipient` varchar(45) CHARACTER SET utf8 NOT NULL, + `finalRecipient` varchar(50) CHARACTER SET utf8 NOT NULL, + `message` longtext CHARACTER SET utf8, + `sendDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `read` varchar(45) CHARACTER SET utf8 NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + KEY `uuid` (`uuid`(8)), + KEY `finalRecipient` (`finalRecipient`) +) ENGINE=InnoDB AUTO_INCREMENT=1515823 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `movement` +-- + +DROP TABLE IF EXISTS `movement`; +/*!50001 DROP VIEW IF EXISTS `movement`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `movement` ( + `id` tinyint NOT NULL, + `item` tinyint NOT NULL, + `ticket` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `price` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `cost` tinyint NOT NULL, + `reservado` tinyint NOT NULL, + `od` tinyint NOT NULL, + `priceFixed` tinyint NOT NULL, + `lastUpdate` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `movementkk` +-- + +DROP TABLE IF EXISTS `movementkk`; +/*!50001 DROP VIEW IF EXISTS `movementkk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `movementkk` ( + `id` tinyint NOT NULL, + `item` tinyint NOT NULL, + `ticket` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `price` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `cost` tinyint NOT NULL, + `reservado` tinyint NOT NULL, + `od` tinyint NOT NULL, + `priceFixed` tinyint NOT NULL, + `lastUpdate` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `noticeCategory` +-- + +DROP TABLE IF EXISTS `noticeCategory`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `noticeCategory` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `keyName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `subject` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `description` text COLLATE utf8_unicode_ci, + `isEnabled` tinyint(1) NOT NULL DEFAULT '1', + `requiredRole` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `keyName_UNIQUE` (`keyName`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `noticeSubscription` +-- + +DROP TABLE IF EXISTS `noticeSubscription`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `noticeSubscription` ( + `noticeCategoryFk` int(11) NOT NULL DEFAULT '0', + `userFk` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`noticeCategoryFk`,`userFk`), + KEY `noticeSubscription_ibfk_2` (`userFk`), + CONSTRAINT `noticeSubscription_ibfk_1` FOREIGN KEY (`noticeCategoryFk`) REFERENCES `noticeCategory` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `noticeSubscription_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 table structure for view `observationType` +-- + +DROP TABLE IF EXISTS `observationType`; +/*!50001 DROP VIEW IF EXISTS `observationType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `observationType` ( + `id` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `origin` +-- + +DROP TABLE IF EXISTS `origin`; +/*!50001 DROP VIEW IF EXISTS `origin`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `origin` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `originI18n` +-- + +DROP TABLE IF EXISTS `originI18n`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `originI18n` ( + `originFk` tinyint(2) unsigned NOT NULL, + `lang` char(2) CHARACTER SET utf8 NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`originFk`,`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `originL10n` +-- + +DROP TABLE IF EXISTS `originL10n`; +/*!50001 DROP VIEW IF EXISTS `originL10n`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `originL10n` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `outgoingInvoice` +-- + +DROP TABLE IF EXISTS `outgoingInvoice`; +/*!50001 DROP VIEW IF EXISTS `outgoingInvoice`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `outgoingInvoice` ( + `id` tinyint NOT NULL, + `serie` tinyint NOT NULL, + `dateInvoice` tinyint NOT NULL, + `total` tinyint NOT NULL, + `dueDate` tinyint NOT NULL, + `bank` tinyint NOT NULL, + `client` tinyint NOT NULL, + `remittance` tinyint NOT NULL, + `remit` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `creationDate` tinyint NOT NULL, + `company` tinyint NOT NULL, + `liquidacion?` tinyint NOT NULL, + `isPdf` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `outgoingInvoiceVat` +-- + +DROP TABLE IF EXISTS `outgoingInvoiceVat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `outgoingInvoiceVat` ( + `outgoingInvoice` mediumint(8) NOT NULL, + `taxBase` decimal(12,2) DEFAULT NULL, + `equalizationTax` decimal(12,2) DEFAULT NULL, + `Vat` decimal(12,2) DEFAULT NULL, + PRIMARY KEY (`outgoingInvoice`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `package` +-- + +DROP TABLE IF EXISTS `package`; +/*!50001 DROP VIEW IF EXISTS `package`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `package` ( + `id` tinyint NOT NULL, + `volume` tinyint NOT NULL, + `width` tinyint NOT NULL, + `height` tinyint NOT NULL, + `depth` tinyint NOT NULL, + `isPackageReturnable` tinyint NOT NULL, + `created` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `price` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `packageEquivalent` +-- + +DROP TABLE IF EXISTS `packageEquivalent`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `packageEquivalent` ( + `packageFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `equivalentFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`packageFk`,`equivalentFk`), + KEY `packageEquivalent_fk2_idx` (`equivalentFk`), + CONSTRAINT `packageEquivalent_fk1` FOREIGN KEY (`packageFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `packageEquivalent_fk2` FOREIGN KEY (`equivalentFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='recoge los modelos de cubos que se han de sustituir a efectos de presentar informes resumidos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `packageEquivalentItem` +-- + +DROP TABLE IF EXISTS `packageEquivalentItem`; +/*!50001 DROP VIEW IF EXISTS `packageEquivalentItem`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `packageEquivalentItem` ( + `itemFk` tinyint NOT NULL, + `equivalentFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `payMethod` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `graceDays` tinyint NOT NULL, + `outstandingDebt` tinyint NOT NULL, + `ibanRequired` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `payment` +-- + +DROP TABLE IF EXISTS `payment`; +/*!50001 DROP VIEW IF EXISTS `payment`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `payment` ( + `id` tinyint NOT NULL, + `received` tinyint NOT NULL, + `supplierFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `currencyFk` tinyint NOT NULL, + `divisa` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `payMethod` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `paymentExchangeInsuranceFk` tinyint NOT NULL, + `isConciliate` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `paymentExchangeInsurance` +-- + +DROP TABLE IF EXISTS `paymentExchangeInsurance`; +/*!50001 DROP VIEW IF EXISTS `paymentExchangeInsurance`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `paymentExchangeInsurance` ( + `id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `created` tinyint NOT NULL, + `dueDay` tinyint NOT NULL, + `entityFk` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `rate` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `financialProductTypefk` tinyint NOT NULL, + `upperBarrier` tinyint NOT NULL, + `lowerBarrier` tinyint NOT NULL, + `strike` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `payrollCenter` +-- + +DROP TABLE IF EXISTS `payrollCenter`; +/*!50001 DROP VIEW IF EXISTS `payrollCenter`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `payrollCenter` ( + `codCenter` tinyint NOT NULL, + `name` tinyint NOT NULL, + `nss` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postcode` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `companyCode` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `person` +-- + +DROP TABLE IF EXISTS `person`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `person` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `firstname` varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL, + `surnames` varchar(60) COLLATE utf8_unicode_ci NOT NULL, + `fi` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `birth` date DEFAULT NULL, + `readerId` int(11) DEFAULT NULL, + `workerFk` int(11) DEFAULT NULL, + `isDisable` tinyint(1) NOT NULL DEFAULT '0', + `isFreelance` tinyint(1) NOT NULL DEFAULT '0', + `isSsDiscounted` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `nif` (`fi`), + KEY `nifIndex` (`fi`), + KEY `workerFk_idx` (`workerFk`) +) ENGINE=InnoDB AUTO_INCREMENT=818 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `pgc` +-- + +DROP TABLE IF EXISTS `pgc`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pgc` ( + `code` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `rate` decimal(10,2) NOT NULL, + `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `cplusTaxBreakFk` int(10) unsigned DEFAULT '1', + `mod340` tinyint(1) NOT NULL DEFAULT '0', + `mod347` tinyint(1) NOT NULL DEFAULT '0', + `cplusTrascendency477Fk` int(10) unsigned DEFAULT '1', + PRIMARY KEY (`code`), + KEY `pgc_fk1_idx` (`cplusTaxBreakFk`), + KEY `pgc_fk2_idx` (`cplusTrascendency477Fk`), + CONSTRAINT `pgc_fk1` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `cplusTaxBreak` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pgc_fk2` FOREIGN KEY (`cplusTrascendency477Fk`) REFERENCES `cplusTrascendency477` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Plan General Contable'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `pgcEqu` +-- + +DROP TABLE IF EXISTS `pgcEqu`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `pgcEqu` ( + `vatFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Cuenta de IVA', + `equFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Cuenta de recargo de equivalencia', + PRIMARY KEY (`vatFk`,`equFk`), + KEY `pgcEqu_fk2_idx` (`equFk`), + CONSTRAINT `pgcEqu_fk1` FOREIGN KEY (`vatFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `pgcEqu_fk2` FOREIGN KEY (`equFk`) REFERENCES `pgc` (`code`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Recoge las cuentas contables con recargo de equivalencia e identifica a la que corresponde al iva y la que corresponde al recargo'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `plantpassport` +-- + +DROP TABLE IF EXISTS `plantpassport`; +/*!50001 DROP VIEW IF EXISTS `plantpassport`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `plantpassport` ( + `producerFk` tinyint NOT NULL, + `plantpassportAuthorityFk` tinyint NOT NULL, + `number` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `plantpassportAuthority` +-- + +DROP TABLE IF EXISTS `plantpassportAuthority`; +/*!50001 DROP VIEW IF EXISTS `plantpassportAuthority`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `plantpassportAuthority` ( + `id` tinyint NOT NULL, + `denomination` tinyint NOT NULL, + `countryFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `postCode` +-- + +DROP TABLE IF EXISTS `postCode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `postCode` ( + `code` char(5) COLLATE utf8_unicode_ci NOT NULL, + `townFk` int(11) NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`code`,`townFk`), + KEY `postCodeTownFk_idx` (`townFk`), + CONSTRAINT `postCodeTownFk` FOREIGN KEY (`townFk`) REFERENCES `town` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `priceBuilder` +-- + +DROP TABLE IF EXISTS `priceBuilder`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `priceBuilder` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `itemTypeFk` smallint(5) unsigned NOT NULL COMMENT 'Sirve para definir precios en tarifa2 para grupos de items', + `started` date DEFAULT NULL, + `finished` date DEFAULT NULL, + `price` decimal(10,3) NOT NULL, + `userFk` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `priceBuilder_fk1_idx` (`itemTypeFk`), + KEY `priceBuilder_fk2_idx` (`userFk`), + CONSTRAINT `priceBuilder_fk1` FOREIGN KEY (`itemTypeFk`) REFERENCES `vn2008`.`Tipos` (`tipo_id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `priceBuilder_fk2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `priceBuilderDistinctTags` +-- + +DROP TABLE IF EXISTS `priceBuilderDistinctTags`; +/*!50001 DROP VIEW IF EXISTS `priceBuilderDistinctTags`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `priceBuilderDistinctTags` ( + `priceBuilderFk` tinyint NOT NULL, + `numTags` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `priceBuilderTag` +-- + +DROP TABLE IF EXISTS `priceBuilderTag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `priceBuilderTag` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `priceBuilderFk` int(11) NOT NULL, + `tagFk` int(11) NOT NULL, + `value` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + KEY `priceBuilderTag_fk1_idx` (`priceBuilderFk`), + KEY `priceBuilderTag_fk2_idx` (`tagFk`), + CONSTRAINT `priceBuilderTag_fk1` FOREIGN KEY (`priceBuilderFk`) REFERENCES `priceBuilder` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `priceBuilderTag_fk2` FOREIGN KEY (`tagFk`) REFERENCES `tag` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `priceBuilderWarehouse` +-- + +DROP TABLE IF EXISTS `priceBuilderWarehouse`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `priceBuilderWarehouse` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `warehouseFk` smallint(6) unsigned NOT NULL, + `priceBuilderFk` int(11) NOT NULL, + PRIMARY KEY (`id`), + KEY `priceBuilderWarehouse_fk1_idx` (`warehouseFk`), + KEY `priceBuilderWarehouse_fk2_idx` (`priceBuilderFk`), + CONSTRAINT `priceBuilderWarehouse_fk1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `priceBuilderWarehouse_fk2` FOREIGN KEY (`priceBuilderFk`) REFERENCES `priceBuilder` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `priceFixed` +-- + +DROP TABLE IF EXISTS `priceFixed`; +/*!50001 DROP VIEW IF EXISTS `priceFixed`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `priceFixed` ( + `itemFk` tinyint NOT NULL, + `rate0` tinyint NOT NULL, + `rate1` tinyint NOT NULL, + `rate2` tinyint NOT NULL, + `rate3` tinyint NOT NULL, + `started` tinyint NOT NULL, + `ended` tinyint NOT NULL, + `bonus` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `id` tinyint NOT NULL, + `grouping` tinyint NOT NULL, + `packing` tinyint NOT NULL, + `box` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `printServerQueue` +-- + +DROP TABLE IF EXISTS `printServerQueue`; +/*!50001 DROP VIEW IF EXISTS `printServerQueue`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `printServerQueue` ( + `id` tinyint NOT NULL, + `printerFk` tinyint NOT NULL, + `priorityFk` tinyint NOT NULL, + `reportFk` tinyint NOT NULL, + `statusFk` tinyint NOT NULL, + `started` tinyint NOT NULL, + `finished` tinyint NOT NULL, + `param1` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `param2` tinyint NOT NULL, + `param3` tinyint NOT NULL, + `error` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `printingQueue` +-- + +DROP TABLE IF EXISTS `printingQueue`; +/*!50001 DROP VIEW IF EXISTS `printingQueue`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `printingQueue` ( + `id` tinyint NOT NULL, + `printer` tinyint NOT NULL, + `priority` tinyint NOT NULL, + `report` tinyint NOT NULL, + `state` tinyint NOT NULL, + `startingTime` tinyint NOT NULL, + `endingTime` tinyint NOT NULL, + `text` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `text2` tinyint NOT NULL, + `text3` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `producer` +-- + +DROP TABLE IF EXISTS `producer`; +/*!50001 DROP VIEW IF EXISTS `producer`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `producer` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `profile` +-- + +DROP TABLE IF EXISTS `profile`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `profile` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `personFk` int(11) DEFAULT NULL, + `profileTypeFk` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + KEY `personFk` (`personFk`), + KEY `profileTypeFk` (`profileTypeFk`), + CONSTRAINT `profile_ibfk_1` FOREIGN KEY (`personFk`) REFERENCES `person` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `profile_ibfk_2` FOREIGN KEY (`profileTypeFk`) REFERENCES `profileType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=697 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `profileType` +-- + +DROP TABLE IF EXISTS `profileType`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `profileType` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `promissoryNote` +-- + +DROP TABLE IF EXISTS `promissoryNote`; +/*!50001 DROP VIEW IF EXISTS `promissoryNote`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `promissoryNote` ( + `id` tinyint NOT NULL, + `Concept` tinyint NOT NULL, + `paymentFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `province` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `zoneFk` tinyint NOT NULL, + `geoFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `receipt` +-- + +DROP TABLE IF EXISTS `receipt`; +/*!50001 DROP VIEW IF EXISTS `receipt`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `receipt` ( + `Id` tinyint NOT NULL, + `invoiceFk` tinyint NOT NULL, + `amountPaid` tinyint NOT NULL, + `amountUnpaid` tinyint NOT NULL, + `payed` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `isConciliate` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `referenceRate` +-- + +DROP TABLE IF EXISTS `referenceRate`; +/*!50001 DROP VIEW IF EXISTS `referenceRate`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `referenceRate` ( + `currencyFk` tinyint NOT NULL, + `dated` tinyint NOT NULL, + `value` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `role` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `description` tinyint NOT NULL, + `hasLogin` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `route` ( + `id` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `vehicleFk` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL, + `time` tinyint NOT NULL, + `isOk` tinyint NOT NULL, + `kmStart` tinyint NOT NULL, + `kmEnd` tinyint NOT NULL, + `started` tinyint NOT NULL, + `finished` tinyint NOT NULL, + `gestdocFk` tinyint NOT NULL, + `cost` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `routeGate` +-- + +DROP TABLE IF EXISTS `routeGate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `routeGate` ( + `deviceId` varchar(30) CHARACTER SET utf8 NOT NULL, + `displayText` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `status` set('idle','doing','done','') CHARACTER SET utf8 DEFAULT 'idle', + `gateAreaFk` int(11) NOT NULL DEFAULT '1', + `routeFk` int(11) DEFAULT NULL, + `freeTickets` int(11) DEFAULT NULL, + `expeditions` int(11) DEFAULT NULL, + `scanned` int(11) DEFAULT NULL, + `flag` blob, + `pallets` int(11) DEFAULT NULL, + `lastScanned` datetime DEFAULT NULL, + PRIMARY KEY (`deviceId`), + UNIQUE KEY `routeFk_UNIQUE` (`routeFk`), + KEY `routeGate_fk1_idx` (`gateAreaFk`) +) ENGINE=InnoDB 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 `vn`.`routeGateBeforeUpdate` + BEFORE UPDATE ON `routeGate` + FOR EACH ROW +BEGIN + IF (NOT (NEW.expeditions <=> OLD.expeditions) + OR NOT (NEW.scanned <=> OLD.scanned)) + AND NEW.status <=> OLD.status + THEN + IF NEW.expeditions = 0 + THEN + SET NEW.status = 'idle'; + ELSEIF NEW.expeditions = NEW.scanned + THEN + SET NEW.status = 'done'; + ELSE + SET NEW.status = 'doing'; + 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 */ ; + +-- +-- Table structure for table `routeLog` +-- + +DROP TABLE IF EXISTS `routeLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `routeLog` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=360288 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `routesControl` +-- + +DROP TABLE IF EXISTS `routesControl`; +/*!50001 DROP VIEW IF EXISTS `routesControl`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `routesControl` ( + `routeFk` tinyint NOT NULL, + `expeditions` tinyint NOT NULL, + `scanned` tinyint NOT NULL, + `pallets` tinyint NOT NULL, + `lastScanned` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `sale` +-- + +DROP TABLE IF EXISTS `sale`; +/*!50001 DROP VIEW IF EXISTS `sale`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `sale` ( + `id` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `price` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `reserved` tinyint NOT NULL, + `isPicked` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `saleComponent` +-- + +DROP TABLE IF EXISTS `saleComponent`; +/*!50001 DROP VIEW IF EXISTS `saleComponent`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `saleComponent` ( + `saleFk` tinyint NOT NULL, + `componentFk` tinyint NOT NULL, + `value` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `sms` +-- + +DROP TABLE IF EXISTS `sms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sms` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `senderFk` int(11) NOT NULL, + `destinationFk` int(11) DEFAULT NULL, + `sender` varchar(15) CHARACTER SET utf8 NOT NULL DEFAULT '693474205', + `destination` varchar(15) CHARACTER SET utf8 NOT NULL, + `message` varchar(160) COLLATE utf8_unicode_ci NOT NULL, + `statusCode` smallint(9) NOT NULL DEFAULT '0', + `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=89119 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `smsConfig` +-- + +DROP TABLE IF EXISTS `smsConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `smsConfig` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `uri` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + `user` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `password` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `title` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='SMS configuration parameters'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `solunionCAP` +-- + +DROP TABLE IF EXISTS `solunionCAP`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `solunionCAP` ( + `creditInsurance` int(11) NOT NULL, + `dateStart` date NOT NULL, + `dateEnd` date NOT NULL, + `dateLeaving` date DEFAULT NULL, + PRIMARY KEY (`creditInsurance`,`dateStart`), + KEY `solunionCAPdateLeavingIdx` (`dateLeaving`), + CONSTRAINT `solunionCAP` FOREIGN KEY (`creditInsurance`) REFERENCES `creditInsurance` (`id`) 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 `vn` 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 `vn`.`solunionCAP_AFTER_INSERT` AFTER INSERT ON `solunionCAP` FOR EACH ROW +BEGIN + UPDATE vn2008.Clientes c + JOIN creditClassification cc ON c.Id_Cliente = cc.client + JOIN creditInsurance ci ON ci.creditClassification = cc.id + SET creditInsurance = ci.credit * 2 WHERE ci.id = NEW.creditInsurance; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +ALTER DATABASE `vn` 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 `vn`.`solunionCAP_AFTER_UPDATE` AFTER UPDATE ON `solunionCAP` FOR EACH ROW +BEGIN + IF NEW.dateLeaving IS NOT NULL THEN + UPDATE vn2008.Clientes c + JOIN creditClassification cc ON c.Id_Cliente = cc.client + JOIN creditInsurance ci ON ci.creditClassification = cc.id + SET creditInsurance = ci.credit WHERE ci.id = OLD.creditInsurance; + ELSE + UPDATE vn2008.Clientes c + JOIN creditClassification cc ON c.Id_Cliente = cc.client + JOIN creditInsurance ci ON ci.creditClassification = cc.id + SET creditInsurance = ci.credit * 2 WHERE ci.id = OLD.creditInsurance; + 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +ALTER DATABASE `vn` 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 `vn`.`solunionCAP_BEFORE_DELETE` BEFORE DELETE ON `solunionCAP` FOR EACH ROW +BEGIN + UPDATE vn2008.Clientes c + JOIN creditClassification cc ON c.Id_Cliente = cc.client + JOIN creditInsurance ci ON ci.creditClassification = cc.id + SET creditInsurance = ci.credit WHERE ci.id = OLD.creditInsurance; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Temporary table 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 TABLE `state` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `order` tinyint NOT NULL, + `alertLevel` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `stockBuyed` +-- + +DROP TABLE IF EXISTS `stockBuyed`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `stockBuyed` ( + `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `user` int(10) unsigned DEFAULT NULL, + `buyed` decimal(10,2) DEFAULT NULL, + `date` date DEFAULT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `reserved` decimal(10,2) DEFAULT NULL, + `requested` decimal(10,2) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `date_UNIQUE` (`date`,`user`), + KEY `stockBuyed_user_idx` (`user`), + CONSTRAINT `stockBuyedUserFk` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=244147 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `supplier` +-- + +DROP TABLE IF EXISTS `supplier`; +/*!50001 DROP VIEW IF EXISTS `supplier`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `supplier` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `account` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `nif` tinyint NOT NULL, + `isFarmer` tinyint NOT NULL, + `retAccount` tinyint NOT NULL, + `commission` tinyint NOT NULL, + `created` tinyint NOT NULL, + `postcodeFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `postCode` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `supplierAccount` +-- + +DROP TABLE IF EXISTS `supplierAccount`; +/*!50001 DROP VIEW IF EXISTS `supplierAccount`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `supplierAccount` ( + `id` tinyint NOT NULL, + `supplierFk` tinyint NOT NULL, + `iban` tinyint NOT NULL, + `bankEntityFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `tag` +-- + +DROP TABLE IF EXISTS `tag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tag` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(25) CHARACTER SET utf8 NOT NULL, + `free` tinyint(1) NOT NULL DEFAULT '1', + `isQuantitatif` tinyint(4) NOT NULL DEFAULT '1', + `sourceTable` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `unit` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Categorias para etiquetar los productos'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `tagI18n` +-- + +DROP TABLE IF EXISTS `tagI18n`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tagI18n` ( + `tagFk` int(10) unsigned NOT NULL, + `lang` char(2) CHARACTER SET utf8 NOT NULL, + `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`tagFk`,`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `tagL10n` +-- + +DROP TABLE IF EXISTS `tagL10n`; +/*!50001 DROP VIEW IF EXISTS `tagL10n`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `tagL10n` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `taxArea` +-- + +DROP TABLE IF EXISTS `taxArea`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `taxArea` ( + `code` varchar(15) CHARACTER SET utf8 NOT NULL, + `ClaveOperacionFactura` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `CodigoTransaccion` int(2) DEFAULT NULL, + PRIMARY KEY (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `taxClass` +-- + +DROP TABLE IF EXISTS `taxClass`; +/*!50001 DROP VIEW IF EXISTS `taxClass`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `taxClass` ( + `id` tinyint NOT NULL, + `description` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `taxClassCode` +-- + +DROP TABLE IF EXISTS `taxClassCode`; +/*!50001 DROP VIEW IF EXISTS `taxClassCode`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `taxClassCode` ( + `taxClassFk` tinyint NOT NULL, + `effectived` tinyint NOT NULL, + `taxCodeFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `taxCode` +-- + +DROP TABLE IF EXISTS `taxCode`; +/*!50001 DROP VIEW IF EXISTS `taxCode`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `taxCode` ( + `id` tinyint NOT NULL, + `dated` tinyint NOT NULL, + `code` tinyint NOT NULL, + `taxTypeFk` tinyint NOT NULL, + `rate` tinyint NOT NULL, + `equalizationTax` tinyint NOT NULL, + `type` tinyint NOT NULL, + `link` tinyint NOT NULL, + `isActive` tinyint NOT NULL, + `updated` tinyint NOT NULL, + `transactionCode` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `taxType` +-- + +DROP TABLE IF EXISTS `taxType`; +/*!50001 DROP VIEW IF EXISTS `taxType`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `taxType` ( + `id` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `isAccrued` tinyint NOT NULL, + `serial` tinyint NOT NULL, + `TIPOOPE` tinyint NOT NULL, + `description` tinyint NOT NULL, + `countryFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ticket` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `shipped` tinyint NOT NULL, + `landed` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `refFk` tinyint NOT NULL, + `addressFk` tinyint NOT NULL, + `location` tinyint NOT NULL, + `solution` tinyint NOT NULL, + `routeFk` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL, + `priority` tinyint NOT NULL, + `packages` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `ticketLog` +-- + +DROP TABLE IF EXISTS `ticketLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticketLog` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete','select') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + KEY `logTicketoriginFk` (`originFk`), + KEY `logTicketuserFk` (`userFk`), + CONSTRAINT `ticketLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ticketLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=389086 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 `vn`.`ticketLog_AFTER_INSERT` AFTER INSERT ON `ticketLog` FOR EACH ROW +BEGIN + DECLARE vActionId INT DEFAULT 84; + DECLARE vWorkerFk INT; + DECLARE vWebWorkerFk INT DEFAULT 4; + + SELECT id INTO vWorkerFk + FROM worker w + WHERE w.userFk = NEW.userFk; + + IF ISNULL(vWorkerFk) THEN + SET vWorkerFk = vWebWorkerFk; + END IF; + + INSERT INTO vn2008.Tickets_dits(idaccion_dits,Id_Trabajador,Id_Ticket,value_old,value_new) + VALUES (vActionId, vWorkerFk, NEW.originFk, NULL, 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 */ ; + +-- +-- Temporary table structure for view `ticketObservation` +-- + +DROP TABLE IF EXISTS `ticketObservation`; +/*!50001 DROP VIEW IF EXISTS `ticketObservation`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ticketObservation` ( + `id` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `observationTypeFk` tinyint NOT NULL, + `description` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `ticketPackage` +-- + +DROP TABLE IF EXISTS `ticketPackage`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticketPackage` ( + `ticket` int(11) NOT NULL, + `counter` int(10) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`ticket`), + CONSTRAINT `ticketPackage_ticketFk` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) 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 `ticketPackaging` +-- + +DROP TABLE IF EXISTS `ticketPackaging`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticketPackaging` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ticketFk` int(11) NOT NULL, + `packagingFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `quantity` int(10) DEFAULT '0', + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `pvp` double DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `ticketPackaging_fk1_idx` (`ticketFk`), + KEY `ticketPackaging_fk2_idx` (`packagingFk`), + CONSTRAINT `ticketPackaging_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ticketPackaging_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=9690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `ticketPackagingStartingStock` +-- + +DROP TABLE IF EXISTS `ticketPackagingStartingStock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticketPackagingStartingStock` ( + `clientFk` int(11) NOT NULL, + `packagingFk` varchar(10) COLLATE utf8_unicode_ci NOT NULL, + `itemFk` int(11) NOT NULL, + `sent` int(11) DEFAULT NULL, + `returned` int(11) DEFAULT NULL, + PRIMARY KEY (`clientFk`,`packagingFk`), + KEY `ticketPackagingStartingStock_fk2_idx` (`packagingFk`), + KEY `ticketPackagingStartingStock_fk3_idx` (`itemFk`), + CONSTRAINT `ticketPackagingStartingStock_fk1` FOREIGN KEY (`clientFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ticketPackagingStartingStock_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `ticketPackagingStartingStock_fk3` FOREIGN KEY (`itemFk`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `ticketState` ( + `updated` tinyint NOT NULL, + `stateFk` tinyint NOT NULL, + `workerFk` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `state` tinyint NOT NULL, + `productionOrder` tinyint NOT NULL, + `alertLevel` tinyint NOT NULL, + `code` tinyint NOT NULL, + `ticket` tinyint NOT NULL, + `worker` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `ticketStateToday` +-- + +DROP TABLE IF EXISTS `ticketStateToday`; +/*!50001 DROP VIEW IF EXISTS `ticketStateToday`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ticketStateToday` ( + `ticket` tinyint NOT NULL, + `state` tinyint NOT NULL, + `productionOrder` tinyint NOT NULL, + `alertLevel` tinyint NOT NULL, + `worker` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `ticketTracking` +-- + +DROP TABLE IF EXISTS `ticketTracking`; +/*!50001 DROP VIEW IF EXISTS `ticketTracking`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `ticketTracking` ( + `id` tinyint NOT NULL, + `stateFk` tinyint NOT NULL, + `created` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `workerFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `ticketTrolley` +-- + +DROP TABLE IF EXISTS `ticketTrolley`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ticketTrolley` ( + `ticket` int(11) NOT NULL, + `labelCount` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`ticket`), + CONSTRAINT `fk_ticketTrolley_vs_ticket` FOREIGN KEY (`ticket`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `till` +-- + +DROP TABLE IF EXISTS `till`; +/*!50001 DROP VIEW IF EXISTS `till`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `till` ( + `id` tinyint NOT NULL, + `created` tinyint NOT NULL, + `serie` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `in` tinyint NOT NULL, + `out` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `supplierFk` tinyint NOT NULL, + `isAccountable` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `tillConfig` +-- + +DROP TABLE IF EXISTS `tillConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `tillConfig` ( + `id` int(11) NOT NULL, + `openingBalance` decimal(10,2) NOT NULL, + `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `time` +-- + +DROP TABLE IF EXISTS `time`; +/*!50001 DROP VIEW IF EXISTS `time`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `time` ( + `dated` tinyint NOT NULL, + `period` tinyint NOT NULL, + `month` tinyint NOT NULL, + `year` tinyint NOT NULL, + `day` tinyint NOT NULL, + `week` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `town` +-- + +DROP TABLE IF EXISTS `town`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `town` ( + `id` int(11) NOT NULL, + `name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, + `provinceFk` smallint(6) unsigned NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `townProvinceFk_idx` (`provinceFk`), + CONSTRAINT `townProvinceFk` FOREIGN KEY (`provinceFk`) REFERENCES `vn2008`.`province` (`province_id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `travel` +-- + +DROP TABLE IF EXISTS `travel`; +/*!50001 DROP VIEW IF EXISTS `travel`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `travel` ( + `id` tinyint NOT NULL, + `shipped` tinyint NOT NULL, + `shipmentHour` tinyint NOT NULL, + `landed` tinyint NOT NULL, + `landingHour` tinyint NOT NULL, + `warehouseInFk` tinyint NOT NULL, + `warehouseOutFk` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `isDelivered` tinyint NOT NULL, + `isReceived` tinyint NOT NULL, + `m3` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `travelObservation` +-- + +DROP TABLE IF EXISTS `travelObservation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `travelObservation` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(11) NOT NULL, + `description` text COLLATE utf8_unicode_ci NOT NULL, + `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de travel'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `unary` +-- + +DROP TABLE IF EXISTS `unary`; +/*!50001 DROP VIEW IF EXISTS `unary`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `unary` ( + `id` tinyint NOT NULL, + `parent` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `unaryScan` +-- + +DROP TABLE IF EXISTS `unaryScan`; +/*!50001 DROP VIEW IF EXISTS `unaryScan`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `unaryScan` ( + `unaryFk` tinyint NOT NULL, + `name` tinyint NOT NULL, + `created` tinyint NOT NULL, + `type` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `unaryScanLine` +-- + +DROP TABLE IF EXISTS `unaryScanLine`; +/*!50001 DROP VIEW IF EXISTS `unaryScanLine`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `unaryScanLine` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `created` tinyint NOT NULL, + `unaryScanFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `unaryScanLineBuy` +-- + +DROP TABLE IF EXISTS `unaryScanLineBuy`; +/*!50001 DROP VIEW IF EXISTS `unaryScanLineBuy`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `unaryScanLineBuy` ( + `unaryScanLineFk` tinyint NOT NULL, + `itemFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `unaryScanLineExpedition` +-- + +DROP TABLE IF EXISTS `unaryScanLineExpedition`; +/*!50001 DROP VIEW IF EXISTS `unaryScanLineExpedition`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `unaryScanLineExpedition` ( + `unaryScanLineFk` tinyint NOT NULL, + `expeditionFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!50001 DROP VIEW IF EXISTS `user`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `user` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `password` tinyint NOT NULL, + `role` tinyint NOT NULL, + `active` tinyint NOT NULL, + `recoverPass` tinyint NOT NULL, + `lastPassChange` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `vehicle` ( + `id` tinyint NOT NULL, + `numberPlate` tinyint NOT NULL, + `tradeMark` tinyint NOT NULL, + `model` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `description` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `warehouse` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `isInventory` tinyint NOT NULL, + `isComparative` tinyint NOT NULL, + `hasComission` tinyint NOT NULL, + `isManaged` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `warehouseAlias` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `workCenter` +-- + +DROP TABLE IF EXISTS `workCenter`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workCenter` ( + `id` int(11) NOT NULL DEFAULT '0', + `name` varchar(255) DEFAULT NULL, + `payrollCenterFk` int(11) DEFAULT NULL, + `counter` bigint(20) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `worker` ( + `id` tinyint NOT NULL, + `workerCode` tinyint NOT NULL, + `firstName` tinyint NOT NULL, + `name` tinyint NOT NULL, + `userFk` tinyint NOT NULL, + `phone` tinyint NOT NULL, + `bossFk` tinyint NOT NULL, + `photo` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `workerDocument` +-- + +DROP TABLE IF EXISTS `workerDocument`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workerDocument` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `worker` int(10) unsigned DEFAULT NULL, + `document` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `workerDocument_ibfk_1` (`worker`), + KEY `workerDocument_ibfk_2` (`document`), + CONSTRAINT `workerDocument_ibfk_1` FOREIGN KEY (`worker`) REFERENCES `vn2008`.`Trabajadores` (`user_id`) ON UPDATE CASCADE, + CONSTRAINT `workerDocument_ibfk_2` FOREIGN KEY (`document`) REFERENCES `vn2008`.`gestdoc` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3643 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `workerLog` +-- + +DROP TABLE IF EXISTS `workerLog`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workerLog` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `originFk` int(11) NOT NULL, + `userFk` int(10) unsigned NOT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `description` text COLLATE utf8_unicode_ci NOT NULL, + PRIMARY KEY (`id`), + KEY `workerFk_idx` (`originFk`), + KEY `userFk_idx` (`userFk`), + CONSTRAINT `userFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT `workerFk` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION +) ENGINE=InnoDB AUTO_INCREMENT=1367 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `workerTeam` +-- + +DROP TABLE IF EXISTS `workerTeam`; +/*!50001 DROP VIEW IF EXISTS `workerTeam`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `workerTeam` ( + `team` tinyint NOT NULL, + `user` tinyint NOT NULL, + `id` tinyint NOT NULL, + `Id_Trabajador` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Table structure for table `workerTeam_kk` +-- + +DROP TABLE IF EXISTS `workerTeam_kk`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workerTeam_kk` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `team` int(11) NOT NULL, + `user` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `user_team_idx` (`user`), + CONSTRAINT `user_team` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `workingHours` +-- + +DROP TABLE IF EXISTS `workingHours`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `workingHours` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `timeIn` datetime NOT NULL, + `timeOut` datetime DEFAULT NULL, + `userId` int(10) unsigned NOT NULL, + PRIMARY KEY (`id`), + KEY `user_working_hour_idx` (`userId`), + CONSTRAINT `user_working_hour` FOREIGN KEY (`userId`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=16492 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena horas de Entrada y de Salida del personal'; +/*!40101 SET character_set_client = @saved_cs_client */; +ALTER DATABASE `vn` 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 `vn`.`workingHoursBeforeInsert` BEFORE INSERT ON `workingHours` FOR EACH ROW +BEGIN + IF (SELECT COUNT(*) FROM workingHours WHERE userId = NEW.userId AND DATE(timeIn) = CURDATE()) > 0 THEN + CALL util.throw ('ALREADY_LOGGED'); + 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Table structure for table `zone` +-- + +DROP TABLE IF EXISTS `zone`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zone` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(45) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, + `hour` int(11) NOT NULL, + `warehouseFk` int(11) NOT NULL, + `agencyFk` int(11) NOT NULL, + `travelingDays` int(11) NOT NULL DEFAULT '1', + `price` double NOT NULL DEFAULT '0', + `bonus` double NOT NULL DEFAULT '0', + PRIMARY KEY (`id`,`name`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `zoneCalendar` +-- + +DROP TABLE IF EXISTS `zoneCalendar`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zoneCalendar` ( + `zoneFk` int(11) NOT NULL, + `delivered` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`zoneFk`,`delivered`), + CONSTRAINT `zoneFk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`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 `zoneGeo` +-- + +DROP TABLE IF EXISTS `zoneGeo`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zoneGeo` ( + `zoneFk` int(11) NOT NULL, + `geoFk` int(11) NOT NULL, + `isIncluded` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`zoneFk`,`geoFk`), + KEY `geoFk_idx` (`geoFk`), + CONSTRAINT `geoFk` FOREIGN KEY (`geoFk`) REFERENCES `zoneNest` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, + CONSTRAINT `zoneGeoFk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`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 `zoneNest` +-- + +DROP TABLE IF EXISTS `zoneNest`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zoneNest` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `lft` int(11) DEFAULT NULL, + `rgt` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=20944 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `zoneNestTree` +-- + +DROP TABLE IF EXISTS `zoneNestTree`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `zoneNestTree` ( + `id` int(11) NOT NULL DEFAULT '0', + `name` varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL, + `lft` int(11) DEFAULT NULL, + `rgt` int(11) DEFAULT NULL, + `depth` bigint(22) NOT NULL DEFAULT '0', + `sons` decimal(10,0) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'vn' +-- +/*!50106 SET @save_time_zone= @@TIME_ZONE */ ; +/*!50106 DROP EVENT IF EXISTS `ticketClosure` */; +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 = 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 `ticketClosure` ON SCHEDULE EVERY 1 DAY STARTS '2017-09-18 00:30:00' ON COMPLETION NOT PRESERVE ENABLE COMMENT 'Realiza el cierre de todos los almacenes del dia actual' DO CALL ticketClosureMultiWarehouse(DATE_ADD(CURDATE(), INTERVAL -1 DAY)) */ ;; +/*!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 'vn' +-- +/*!50003 DROP FUNCTION IF EXISTS `addressTaxArea` */; +/*!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 `addressTaxArea`(vAddresId INT, vCompanyId INT) RETURNS varchar(25) CHARSET utf8 + DETERMINISTIC +BEGIN +/** + * Devuelve el area de un Consignatario, + * intracomunitario, extracomunitario, nacional o recargo de equivalencia. + * Asumimos que no tenemos ninguna empresa + * + * @param vAddresId Id del Consignatario + * @param vCompanyId Compañia desde la que se factura + * @return Código de area + */ + DECLARE vTaxArea VARCHAR(25); + DECLARE vClientIsUeeMember INT; + DECLARE vSupplierIsUeeMember INT; + DECLARE vSpainCountryCode INT DEFAULT 1; + DECLARE vSupplierCountry INT; + DECLARE vClientCountry INT; + DECLARE vIsEqualizated BOOLEAN; + DECLARE vIsVies BOOLEAN; + + SELECT cClient.isUeeMember, c.countryFk, a.isEqualizated, cSupplier.isUeeMember, s.countryFk, c.isVies + INTO vClientIsUeeMember, vClientCountry, vIsEqualizated, vSupplierIsUeeMember, vSupplierCountry, vIsVies + FROM address a + JOIN `client` c ON c.id = a.clientFk + JOIN country cClient ON cClient.id = c.countryFk + JOIN supplier s ON s.id = vCompanyId + JOIN country cSupplier ON cSupplier.id = s.countryFk + WHERE a.id = vAddresId; + + CASE + WHEN (NOT vClientIsUeeMember OR NOT vSupplierIsUeeMember) AND vSupplierCountry != vClientCountry THEN + SET vTaxArea = 'WORLD'; + WHEN vClientIsUeeMember AND vSupplierIsUeeMember AND vClientCountry != vSupplierCountry AND vIsVies THEN + SET vTaxArea = 'CEE'; + WHEN vIsEqualizated AND vClientCountry = vSpainCountryCode THEN + SET vTaxArea = 'EQU'; + ELSE + SET vTaxArea = 'NATIONAL'; + END CASE; + + RETURN vTaxArea; +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 `agencyIsAvailable` */; +/*!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 `agencyIsAvailable`(vAgency INT, vDate DATE, vAddress INT) RETURNS tinyint(1) +BEGIN +/** + * Comprueba si la agencia esta disponible para la fecha y + * dirección dadas, es decir, si es posible enviar mercancía + * desde al menos uno de los almacenes por la agencia, fecha + * y direcciones especificadas. + * + * @param vAgency Id de agencia + * @param vDate Fecha de recepción de mercancía + * @param vAddress Id consignatario, %NULL para recogida + * @return %TRUE si la agencia esta disponible, %FALSE en caso contrario + */ + DECLARE vMaxDays INT DEFAULT DATEDIFF(vDate, CURDATE()); + DECLARE vWday TINYINT DEFAULT WEEKDAY(vDate); + DECLARE vHour TINYINT DEFAULT HOUR(NOW()); + DECLARE vProvince INT; + DECLARE isAvailable BOOL; + + SELECT provinceFk INTO vProvince + FROM address + WHERE id = vAddress; + + SELECT COUNT(*) > 0 INTO isAvailable + FROM agencyHour h + JOIN agencyMode a + ON a.agencyFk = h.agencyFk + WHERE (h.provinceFk = vProvince + OR h.provinceFk IS NULL) + AND (h.weekDay = vWday + OR h.weekDay IS NULL) + AND (h.substractDay < vMaxDays + OR (h.substractDay = vMaxDays AND h.maxHour > vHour)) + AND a.id = vAgency; + + RETURN isAvailable; +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`(vClient INT, vDate DATE) RETURNS decimal(10,2) +BEGIN +/** + * Devuelve el saldo de un cliente. + * + * @param vClient Identificador del cliente + * @param vDate Fecha hasta la que tener en cuenta + * @return Saldo del cliente + */ + DECLARE vDateEnd DATETIME; + DECLARE vDateIni DATETIME; + DECLARE vDebt DECIMAL(10,2); + + SET vDate = IFNULL(vDate, CURDATE()); + + SET vDateIni = TIMESTAMPADD(MONTH, -2, CURDATE()); + SET vDateEnd = TIMESTAMP(vDate, '23:59:59'); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT id ticketFk + FROM ticket + WHERE clientFk = vClient + AND refFk IS NULL + AND shipped BETWEEN vDateIni AND vDateEnd; + + CALL vn.ticketGetTotal; + + SELECT IFNULL(SUM(t.amount), 0) INTO vDebt + FROM ( + SELECT SUM(total) amount + FROM tmp.ticketTotal + UNION ALL + SELECT SUM(Entregado) + FROM vn2008.Recibos + WHERE Id_Cliente = vClient + AND Fechacobro > vDateEnd + UNION ALL + SELECT SUM(amount) + FROM bi.customer_risk r + WHERE customer_id = vClient + UNION ALL + SELECT CAST(-SUM(amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction + WHERE clientFk = vClient + AND receiptFk IS NULL + AND `status` = 'ok' + ) t; + + DROP TEMPORARY TABLE + tmp.ticket, + tmp.ticketTotal; + + RETURN vDebt; +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 `clientGetMana` */; +/*!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 `clientGetMana`(vClient INT) RETURNS decimal(10,2) +BEGIN +/** + * Devuelve el maná del cliente. + * + * @param vClient Id del cliente + * @return Maná del cliente + */ + +DECLARE vMana DECIMAL(10,2); +DECLARE vFromDated DATE; + +SELECT max(dated) INTO vFromDated +FROM vn.clientManaCache +WHERE clientFk = vClient; + +SELECT sum(mana) INTO vMana + FROM + ( + SELECT mana + FROM vn.clientManaCache + WHERE clientFk = vClient + AND dated = vFromDated + + UNION ALL + + SELECT s.quantity * Valor + FROM vn.ticket t + JOIN vn.address a ON a.id = t.addressFk + JOIN vn.sale s on s.ticketFk = t.id + JOIN vn2008.Movimientos_componentes mc on mc.Id_Movimiento = s.id + WHERE Id_Componente IN (37, 39) + AND t.shipped > vFromDated + AND t.clientFk = vClient + + UNION ALL + + SELECT - Entregado + FROM vn2008.Recibos r + JOIN vn2008.Clientes c using(Id_Cliente) + WHERE r.Id_Banco = 66 + AND r.Fechacobro > vFromDated + AND c.Id_Cliente = vClient + + UNION ALL + + SELECT g.Importe + FROM vn2008.Greuges g + JOIN vn2008.Clientes c using(Id_Cliente) + WHERE g.Greuges_type_id = 3 -- Maná + AND g.Fecha > vFromDated + AND c.Id_Cliente = vClient + + ) sub; + +RETURN IFNULL(vMana,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 FUNCTION IF EXISTS `clientTaxArea` */; +/*!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 `clientTaxArea`(vClientId INT, vCompanyId INT) RETURNS varchar(25) CHARSET utf8 +BEGIN +/** + * Devuelve el area de un cliente, + * intracomunitario, extracomunitario y nacional. + * + * @param vClient Id del cliente + * @param vCompanyFk Compañia desde la que se factura + * @return Código de area + */ + DECLARE vTaxArea VARCHAR(25); + DECLARE vCee INT; + + SELECT ct.Cee INTO vCee + FROM `client` c + JOIN country ct ON ct.id = c.countryFk + JOIN supplier s ON s.id = vCompanyId + WHERE + c.id = vClientId + AND c.isVies + AND c.countryFk != s.countryFk; + + IF vCee < 2 THEN + SET vTaxArea = 'CEE'; + ELSEIF vCee = 2 THEN + SET vTaxArea = 'WORLD'; + ELSE + SET vTaxArea = 'NATIONAL'; + END IF; + + RETURN vTaxArea; +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 `getAlert3State` */; +/*!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 `getAlert3State`(vTicket INT) RETURNS varchar(45) CHARSET latin1 +BEGIN + DECLARE vDeliveryType INTEGER DEFAULT 0; + DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; + DECLARE vCode VARCHAR(45); + + SELECT a.Vista + INTO vDeliveryType + FROM vn2008.Tickets t + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + WHERE Id_Ticket = vTicket; + + CASE vDeliveryType + WHEN 1 THEN -- AGENCIAS + SET vCode = 'DELIVERED'; + + WHEN 2 THEN -- REPARTO + SET vCode = 'ON_DELIVERY'; + + ELSE -- MERCADO, OTROS + SELECT MIN(t.warehouse_id <> w.warehouse_id) INTO isWaitingForPickUp + FROM vn2008.Tickets t + LEFT JOIN vn2008.warehouse_pickup w + ON w.agency_id = t.Id_Agencia + WHERE t.Id_Ticket = vTicket; + + IF isWaitingForPickUp THEN + SET vCode = 'WAITING_FOR_PICKUP'; + ELSE + SET vCode = 'DELIVERED'; + END IF; + END CASE; + RETURN vCode; +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 `getAlert3StateKk` */; +/*!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 `getAlert3StateKk`(vTicket INT) RETURNS varchar(45) CHARSET latin1 +BEGIN + DECLARE vDeliveryType INTEGER DEFAULT 0; + DECLARE vWorker INT; + DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; + DECLARE vCode VARCHAR(45); + + SELECT IFNULL(aw.Vista,a.Vista) INTO vDeliveryType + FROM vn2008.Tickets t + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN vn2008.agency_warehouse aw ON a.agency_id = aw.agency_id AND t.warehouse_id = aw.warehouse_id + WHERE Id_Ticket = vTicket; + + SELECT getUser() INTO vWorker; + + CASE vDeliveryType + WHEN 1 THEN -- AGENCIAS + SELECT COUNT(*) INTO isWaitingForPickUp + FROM vn2008.Tickets t + JOIN vn2008.warehouse_pickup w ON w.agency_id = t.Id_Agencia + WHERE t.Id_Ticket = vTicket AND w.warehouse_id <> t.warehouse_id; + + IF isWaitingForPickUp THEN + SET vCode = 'WAITING_FOR_PICKUP'; + ELSE + SET vCode = 'DELIVERED'; + END IF; + + WHEN 2 THEN -- REPARTO + SET vCode = 'ON_DELIVERY'; + + ELSE -- MERCADO, OTROS + SET vCode = 'DELIVERED'; + END CASE; + RETURN vCode; +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 `getAlert3StateTest` */; +/*!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 `getAlert3StateTest`(vTicket INT) RETURNS varchar(45) CHARSET latin1 +BEGIN + DECLARE vDeliveryType INTEGER DEFAULT 0; + DECLARE isWaitingForPickUp BOOLEAN DEFAULT FALSE; + DECLARE vCode VARCHAR(45); + + SELECT + a.Vista + INTO vDeliveryType + FROM vn2008.Tickets t + JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia + WHERE Id_Ticket = vTicket; + + CASE vDeliveryType + WHEN 1 THEN -- AGENCIAS + SET vCode = 'DELIVERED'; + + WHEN 2 THEN -- REPARTO + SET vCode = 'ON_DELIVERY'; + + ELSE -- MERCADO, OTROS + SELECT t.warehouse_id <> w.warehouse_id INTO isWaitingForPickUp + FROM vn2008.Tickets t + LEFT JOIN vn2008.warehouse_pickup w + ON w.agency_id = t.Id_Agencia AND w.warehouse_id = t.warehouse_id + WHERE t.Id_Ticket = vTicket; + + IF isWaitingForPickUp THEN + SET vCode = 'WAITING_FOR_PICKUP'; + ELSE + SET vCode = 'DELIVERED'; + END IF; + END CASE; + RETURN vCode; +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 `getDueDate` */; +ALTER DATABASE `vn` 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 `getDueDate`(vDated DATE, vDayToPay INT) RETURNS date +BEGIN + +DECLARE vDued DATE; + +SET vDued = IF (vDayToPay > 30 or vDayToPay < 1 + ,TIMESTAMPADD(DAY, vDayToPay, vDated) + ,TIMESTAMPADD(DAY, vDayToPay, LAST_DAY(vDated))); + +RETURN vDued; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `getInventoryDate` */; +ALTER DATABASE `vn` 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 `getInventoryDate`() RETURNS date + DETERMINISTIC +BEGIN + RETURN vn2008.date_inv(); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `getNewItemId` */; +/*!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 `getNewItemId`() RETURNS int(11) +BEGIN + + DECLARE newItemId INT; + + SELECT i1.id + 1 INTO newItemId + FROM item i1 + LEFT JOIN item i2 ON i1.id + 1 = i2.id + WHERE i2.id IS NULL + ORDER BY i1.id + LIMIT 1; + + RETURN newItemId; + +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 `getShipmentHour` */; +/*!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 `getShipmentHour`(vTicket INT) RETURNS int(11) +BEGIN + DECLARE vShipmentHour INT; + + SELECT HOUR(shipped) INTO vShipmentHour + FROM ticket + WHERE id = vTicket; + + IF vShipmentHour = 0 + THEN + DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; + CREATE TEMPORARY TABLE tmp.production_buffer + ENGINE = MEMORY + SELECT am.agency as agency_id + , t.warehouseFk as warehouse_id + , a.province as province_id + , 0 as Hora + , 0 as Departure + FROM ticket t + JOIN agencyMode am on am.id = t.agencyModeFk + JOIN address a on a.id = t.addressFk + WHERE t.id = vTicket; + + CALL vn2008.production_buffer_set_priority; + + SELECT Hora INTO vShipmentHour + FROM tmp.production_buffer; + END IF; + + RETURN vShipmentHour; +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 `getSpecialPrice` */; +/*!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 `getSpecialPrice`(vItemFk int(11),vClientFk int(11)) RETURNS decimal(10,2) +BEGIN + DECLARE price DECIMAL(10,2); + + SELECT rate3 INTO price + FROM vn.priceFixed + WHERE itemFk = vItemFk + AND CURDATE() BETWEEN started AND ended ORDER BY created DESC LIMIT 1; + + SELECT `value` INTO price + FROM vn.especialPrice + WHERE itemFk = vItemFk + AND clientFk = vClientFk ; +RETURN price; +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 `getTicketToPrepare` */; +/*!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 `getTicketToPrepare`(`vWorker` INT, `vWarehouse` INT) RETURNS int(11) +BEGIN +/** + * Devuelve el ticket que debe de preparar el trabajador + * + * @param vWorker Id del trabajador + * @param vWarehouse Id del almacén + * @return Id del ticket + **/ + + DECLARE vToday DATETIME DEFAULT CURDATE(); + DECLARE vYesterday DATETIME; + DECLARE vTodayvMidniight DATETIME DEFAULT midnight(vToday); + DECLARE vTicket INT DEFAULT NULL; + + SET vYesterday = TIMESTAMPADD(DAY,-1,vToday); + + DROP TEMPORARY TABLE IF EXISTS tmp.workerComercial; + CREATE TEMPORARY TABLE tmp.workerComercial + ENGINE = MEMORY + SELECT worker FROM `grant` g + JOIN grantGroup gg ON g.`group` = gg.id + WHERE gg.description = 'Comerciales' + AND worker != 2; -- PAKO numero + + + DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; + CREATE TEMPORARY TABLE tmp.production_buffer + ENGINE = MEMORY + SELECT t.id as ticket + , am.agencyFk as agency_id + , t.warehouseFk as warehouse_id + , a.province as province_id + , Hour(t.shipped) as Hora + , Hour(t.shipped) as Departure + , Minute(t.shipped) as Minuto + , tls.code + , IFNULL(t.priority,0) loadingOrder + FROM ticket t + JOIN ticketState tls on t.id = tls.ticket + JOIN agencyMode am on am.id = t.agencyModeFk + JOIN address a on a.id = t.addressFk + LEFT JOIN tmp.workerComercial wc ON wc.worker = vWorker + WHERE t.shipped BETWEEN vYesterday AND vTodayvMidniight + AND t.warehouseFk = vWarehouse + AND + ( + (tls.code = 'PRINTED' AND wc.worker IS NULL) + OR + (tls.code ='PICKER_DESIGNED' AND tls.worker = vWorker) + OR + (tls.code = 'PRINTED_BACK') + ); + + + CALL vn2008.production_buffer_set_priority; + + SELECT ticket INTO vTicket + FROM tmp.production_buffer + ORDER BY (code = 'PICKER_DESIGNED') DESC , Hora, Minuto, loadingOrder + LIMIT 1; + + RETURN 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 FUNCTION IF EXISTS `getTicketTrolleyLabelCount` */; +ALTER DATABASE `vn` 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`@`%` FUNCTION `getTicketTrolleyLabelCount`(vTicket INT) RETURNS int(11) +BEGIN + +DECLARE vLabelCount INT DEFAULT 0; + +SELECT labelCount INTO vLabelCount +FROM ticketTrolley +WHERE ticket = vTicket; + +SET vLabelCount = vLabelCount +1 ; + +REPLACE ticketTrolley(ticket,labelCount) +SELECT vTicket, vLabelCount; + +RETURN vlabelCount; + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `getUser` */; +ALTER DATABASE `vn` 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`@`%` FUNCTION `getUser`() RETURNS int(11) + DETERMINISTIC +BEGIN + RETURN getWorker(); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `getUserId` */; +ALTER DATABASE `vn` 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 `getUserId`(userName varchar(30)) RETURNS int(11) +BEGIN + DECLARE vUser INT; + + SELECT id INTO vUser + FROM account.user + WHERE `name` = userName; + + RETURN vUser; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `getWorker` */; +/*!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 `getWorker`() RETURNS int(11) + DETERMINISTIC +BEGIN + DECLARE vUser INT; + + SELECT id INTO vUser + FROM worker + WHERE userFk = account.userGetId(); + + RETURN vUser; +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 `getWorkerkk` */; +/*!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 `getWorkerkk`() RETURNS int(11) + DETERMINISTIC +BEGIN + DECLARE vUser INT; + + SELECT id INTO vUser + FROM worker + WHERE user = account.userGetId(); + + RETURN vUser; +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 `hasAnyNegativeBase` */; +/*!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 `hasAnyNegativeBase`() RETURNS tinyint(1) +BEGIN + +/* Calcula si existe alguna base imponible negativa +* Requiere la tabla temporal vn.ticketToInvoice(id) +* +* returns BOOLEAN +*/ + + DECLARE vCountry INT; + DECLARE hasAnyNegativeBase BOOLEAN; + + SELECT s.countryFk + INTO vCountry + FROM supplier s + JOIN ticket t ON t.companyFk = s.id + JOIN vn.ticketToInvoice tl ON tl.id = t.id + LIMIT 1; + + SELECT COUNT(*) INTO hasAnyNegativeBase + FROM ( + SELECT SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2)) taxableBase + FROM sale s + JOIN item i ON i.id = s.itemFk + JOIN itemTaxCountry itc + ON itc.itemFk = i.id AND itc.countryFk = vCountry + JOIN vn.ticketToInvoice tl ON tl.id = s.ticketFk + GROUP BY itc.taxClassFk + HAVING taxableBase < 0 + ) t1 ; + + RETURN hasAnyNegativeBase; + +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 `hasSomeNegativeBase` */; +/*!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 `hasSomeNegativeBase`(vTicket INT) RETURNS tinyint(1) +BEGIN + + DECLARE vCountry INT; + DECLARE hasSomeNegativeBase BOOLEAN; + + SELECT s.countryFk + INTO vCountry + FROM supplier s + JOIN ticket t ON t.companyFk = s.id + WHERE t.id = vTicket; + + SELECT COUNT(*) INTO hasSomeNegativeBase + FROM ( + SELECT SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2)) taxableBase + FROM sale s + JOIN item i ON i.id = s.itemFk + JOIN itemTaxCountry itc + ON itc.itemFk = i.id AND itc.countryFk = vCountry + WHERE s.ticketFk = vTicket + GROUP BY itc.taxClassFk + HAVING taxableBase < 0 + ) t1 ; + + RETURN hasSomeNegativeBase; + +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 `invoiceOutAmount` */; +/*!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 `invoiceOutAmount`(vInvoiceRef VARCHAR(15)) RETURNS decimal(10,2) +BEGIN + DECLARE totalAmount DECIMAL(10,2); + + SELECT SUM(vat) INTO totalAmount + FROM + ( + SELECT iot.vat + FROM invoiceOutTax iot + JOIN invoiceOut io ON io.id = iot.invoiceOutFk + WHERE io.ref = vInvoiceRef + UNION ALL + SELECT ioe.amount + FROM invoiceOutExpence ioe + JOIN invoiceOut io ON io.id = ioe.invoiceOutFk + WHERE io.ref = vInvoiceRef + ) t1; + +RETURN totalAmount; +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 `invoiceSerial` */; +/*!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 `invoiceSerial`(vClientFk INT, vCompanyFk INT, vType CHAR(1)) RETURNS char(1) CHARSET utf8 +BEGIN + /** + * Obtiene la serie de de una factura + * dependiendo del area del cliente. + * + * @param vClientFk Id del cliente + * @param vCompanyFk Id de la empresa + * @param vType Tipo de factura ["R", "M", "G"] + * @return Serie de la factura + */ + DECLARE vArea VARCHAR(25); + DECLARE vSerie CHAR(1); + + IF (SELECT hasInvoiceSimplified FROM client WHERE id = vClientFk) THEN + RETURN 'S'; + END IF; + + SELECT clientTaxArea(vClientFk, vCompanyFk) INTO vArea; + -- Factura rápida + IF vType = 'R' THEN + SELECT + CASE vArea + WHEN 'CEE' + THEN 'H' + WHEN 'WORLD' + THEN 'E' + WHEN 'NATIONAL' + THEN 'T' + END + INTO vSerie; + -- Factura multiple + ELSEIF vType = 'M' THEN + SELECT + CASE vArea + WHEN 'CEE' + THEN 'H' + WHEN 'WORLD' + THEN 'E' + WHEN 'NATIONAL' + THEN 'M' + END + INTO vSerie; + -- Factura global + ELSEIF vType = 'G' THEN + SELECT + CASE vArea + WHEN 'CEE' + THEN 'V' + WHEN 'WORLD' + THEN 'X' + WHEN 'NATIONAL' + THEN 'A' + END + INTO vSerie; + END IF; + RETURN vSerie; +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 `isPalletHomogeneus` */; +/*!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 `isPalletHomogeneus`(vExpedition INT) RETURNS tinyint(1) +BEGIN + DECLARE vScanId INT; + DECLARE vDistinctRoutesInThePallet INT; + + SELECT scan_id INTO vScanId + FROM vn2008.scan_line + WHERE code = vExpedition + LIMIT 1; + + SELECT COUNT(*) INTO vDistinctRoutesInThePallet + FROM ( + SELECT DISTINCT t.Id_Ruta + FROM vn2008.scan_line sl + JOIN vn2008.expeditions e ON e.expeditions_id = sl.code + JOIN vn2008.Tickets t ON t.Id_Ticket = e.ticket_id + WHERE sl.scan_id = vScanId + AND t.Id_Ruta + ) t1; + + RETURN vDistinctRoutesInThePallet = 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 FUNCTION IF EXISTS `isWorkerBoss` */; +ALTER DATABASE `vn` 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 `isWorkerBoss`(vUserId INT(11)) RETURNS tinyint(1) + DETERMINISTIC +BEGIN + + DECLARE subjectId INT(11) DEFAULT vUserId; + DECLARE tmpSubjectId INT(11); + DECLARE tmpBossId INT(11); + + LOOP + SELECT + bossWorker.user_id AS tmpBossId, + subjectWorker.user_id AS tmpSubjectId + INTO tmpBossId, tmpSubjectId + FROM + vn2008.Trabajadores AS subjectWorker + JOIN + vn2008.Trabajadores AS bossWorker ON bossWorker.Id_Trabajador = subjectWorker.boss + WHERE + subjectWorker.user_id = subjectId; + + IF tmpBossId = tmpSubjectId THEN + RETURN FALSE; + ELSEIF tmpBossId = account.userGetId() THEN + RETURN TRUE; + ELSE + SET subjectId = tmpBossId; + END IF; + END LOOP; + +RETURN FALSE; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `messageSend` */; +ALTER DATABASE `vn` 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 `messageSend`(vRecipient VARCHAR(255), vMessage TEXT) RETURNS int(11) +BEGIN +/** + * Envia un mensaje a un usuario o a una lista de usuarios. + * + * @param vRecipient Nombre de usuario o de alias + * @param vMessage Texto del mensaje + * @return Número de destinatarios + **/ + DECLARE vCount INT; + DECLARE vUuid VARCHAR(255); + DECLARE vSendDate DATETIME DEFAULT NOW(); + DECLARE vUser VARCHAR(255) DEFAULT account.userGetName(); + + SET vRecipient = LOWER(vRecipient); + + DROP TEMPORARY TABLE IF EXISTS tRecipients; + CREATE TEMPORARY TABLE tRecipients + SELECT u.name finalRecipient + FROM account.mailAlias a + JOIN account.mailAliasAccount aa ON aa.mailAlias = a.id + JOIN account.user u ON u.id = aa.account + WHERE a.alias = vRecipient COLLATE utf8_unicode_ci + AND u.name != vUser + AND u.active + UNION + SELECT u.name FROM account.user u + WHERE u.name = vRecipient + AND u.active; + + SELECT COUNT(*) INTO vCount FROM tRecipients; + + IF vCount = 0 THEN + RETURN vCount; + END IF; + + SET vUuid = UUID(); + + INSERT INTO message + SET uuid = vUuid, + sender = vUser, + recipient = vRecipient, + message = vMessage, + sendDate = vSendDate; + + INSERT INTO messageInbox (uuid, sender, recipient, finalRecipient, message, sendDate) + SELECT vUuid, vUser, vRecipient, finalRecipient, vMessage, vSendDate + FROM tRecipients; + + DROP TEMPORARY TABLE tRecipients; + RETURN vCount; +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `midnight` */; +ALTER DATABASE `vn` 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`@`%` FUNCTION `MIDNIGHT`(vDate DATE) RETURNS datetime + DETERMINISTIC +BEGIN + RETURN TIMESTAMP(vDate,'23:59:59'); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP FUNCTION IF EXISTS `phytoPassport` */; +/*!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 `phytoPassport`(vRef VARCHAR(15)) RETURNS text CHARSET utf8 +BEGIN +DECLARE vPhyto TEXT CHARSET utf8 COLLATE utf8_unicode_ci; +SELECT + GROUP_CONCAT(i.id, + ':', + ppa.denomination, + ' ', + pp.number, + CHAR(13,10) + SEPARATOR '') fitosanitario + INTO vPhyto +FROM + sale s + JOIN + ticket t ON t.id = s.ticketFk + JOIN + item i ON i.id = s.itemFk + JOIN + plantpassport pp ON pp.producerFk = i.producerFk + JOIN + plantpassportAuthority ppa ON ppa.id = pp.plantpassportAuthorityFk + JOIN + itemBotanicalWithGenus ib ON ib.itemFk = i.id + JOIN + botanicExport be ON be.restriction = 'Se Requiere Certificado' + LEFT JOIN + ediGenus eg ON eg.id = be.ediGenusFk + LEFT JOIN + ediSpecie es ON es.id = be.ediSpecieFk +WHERE + t.refFk = vRef + AND ib.ediBotanic LIKE CONCAT(IFNULL(eg.latinGenusName, ''), + IF(latinSpeciesName > '', + CONCAT(' ', latinSpeciesName), + ''), + '%'); +RETURN vPhyto; +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 `ticketGetTotal` */; +/*!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 `ticketGetTotal`(vTicketId INT) RETURNS decimal(10,2) + READS SQL DATA + DETERMINISTIC +BEGIN +/** + * Calcula el total con IVA de un ticket. + * + * @param vTicketId Identificador del ticket + * @return Total del ticket + */ + DECLARE vTotal DECIMAL(10,2); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + ENGINE = MEMORY + SELECT vTicketId ticketFk; + + CALL ticketGetTotal; + + SELECT total INTO vTotal FROM tmp.ticketTotal; + + DROP TEMPORARY TABLE + tmp.ticket, + tmp.ticketTotal; + + 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 `ticketGetTotalkk` */; +/*!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 `ticketGetTotalkk`(vTicketId INT) RETURNS decimal(10,2) + READS SQL DATA + DETERMINISTIC +BEGIN +/** + * Calcula el total con IVA de un ticket. + * + * @param vTicketId Identificador del ticket + * @return Total del ticket + */ + DECLARE vTotal DECIMAL(10,2); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + ENGINE = MEMORY + SELECT vTicketId ticketFk; + + CALL ticketGetTotal; + + SELECT total INTO vTotal FROM tmp.ticketTotal; + + DROP TEMPORARY TABLE + tmp.ticket, + tmp.ticketTotal; + + 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 `ticketPositionInPath` */; +/*!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 `ticketPositionInPath`(vTicketId INT) RETURNS varchar(10) CHARSET utf8 +BEGIN + + DECLARE vRestTicketsMaxOrder INT; + DECLARE vRestTicketsMinOrder INT; + DECLARE vRestTicketsPacking INT; + DECLARE vMyProductionOrder INT; + DECLARE vPosition VARCHAR(10) DEFAULT 'MID'; + DECLARE vMyPath INT; + DECLARE vMyWarehouse INT; + DECLARE PACKING_ORDER INT; + DECLARE vExpeditionsCount INT; + DECLARE vIsValenciaPath BOOLEAN DEFAULT FALSE; + +SELECT `order` + INTO PACKING_ORDER + FROM state + WHERE code = 'PACKING'; + +SELECT t.routeFk, t.warehouseFk, IFNULL(ts.productionOrder,0) + INTO vMyPath, vMyWarehouse, vMyProductionOrder + FROM ticket t + LEFT JOIN ticketState ts on ts.ticket = t.id + WHERE t.id = vTicketId; + +SELECT (ag.`name` = 'VN_VALENCIA') + INTO vIsValenciaPath + FROM vn2008.Rutas r + JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia + JOIN vn2008.agency ag on ag.agency_id = a.agency_id + WHERE r.Id_Ruta = vMyPath; + +IF vIsValenciaPath THEN -- Rutas Valencia + + SELECT COUNT(*) + INTO vExpeditionsCount + FROM expedition e + JOIN ticket t ON t.id = e.ticket + WHERE t.routeFk = vMyPath; + + SELECT MAX(ts.productionOrder), MIN(ts.productionOrder) + INTO vRestTicketsMaxOrder, vRestTicketsMinOrder + FROM ticket t + LEFT JOIN ticketState ts on t.id = ts.ticket + WHERE t.routeFk = vMyPath + AND t.warehouseFk = vMyWarehouse + AND t.id != vTicketid; + + SELECT COUNT(*) + INTO vRestTicketsPacking + FROM ticket t + LEFT JOIN ticketState ts on t.id = ts.ticket + WHERE ts.productionOrder = PACKING_ORDER + AND t.routeFk = vMyPath + AND t.warehouseFk = vMyWarehouse + AND t.id != vTicketid; + + IF vExpeditionsCount = 1 THEN + SET vPosition = 'FIRST'; + ELSEIF vRestTicketsMinOrder > PACKING_ORDER THEN + SET vPosition = 'LAST'; + ELSEIF vRestTicketsPacking THEN + SET vPosition = 'SHARED'; + ELSE + SET vPosition = 'MID'; + END IF; + +ELSE + SET vPosition = 'MID'; + +END IF; + +RETURN vPosition; + +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 `ticketPositionInPathkk` */; +/*!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 `ticketPositionInPathkk`(vTicketId INT) RETURNS varchar(10) CHARSET utf8 +BEGIN + + +DECLARE vRestTicketsMaxOrder INT; +DECLARE vRestTicketsMinOrder INT; +DECLARE vRestTicketsPacking INT; +DECLARE vMyProductionOrder INT; +DECLARE vPosition VARCHAR(10) DEFAULT 'MID'; +DECLARE vMyPath INT; +DECLARE vMyWarehouse INT; +DECLARE PACKING_ORDER INT; +DECLARE vExpeditionsCount INT; +DECLARE vIsValenciaPath BOOLEAN DEFAULT FALSE; + +SELECT `order` + INTO PACKING_ORDER + FROM state + WHERE code = 'PACKING'; + +SELECT path, warehouse, IFNULL(productionOrder,0) + INTO vMyPath, vMyWarehouse, vMyProductionOrder + FROM ticket t + LEFT JOIN ticketState ts on ts.ticket = t.id + WHERE id = vTicketId; + +SELECT (ag.`name` = 'VN_VALENCIA') + INTO vIsValenciaPath + FROM vn2008.Rutas r + JOIN vn2008.Agencias a on a.Id_Agencia = r.Id_Agencia + JOIN vn2008.agency ag on ag.agency_id = a.agency_id + WHERE r.Id_Ruta = vMyPath; + + +IF vIsValenciaPath THEN -- Rutas Valencia + + SELECT COUNT(*) + INTO vExpeditionsCount + FROM expedition e + JOIN ticket t ON t.id = e.ticket + WHERE t.path = vMyPath; + + SELECT MAX(productionOrder), MIN(productionOrder) + INTO vRestTicketsMaxOrder, vRestTicketsMinOrder + FROM ticket t + LEFT JOIN ticketState ts on t.id = ts.ticket + WHERE t.path = vMyPath + AND t.warehouse = vMyWarehouse + AND t.id != vTicketid; + + SELECT COUNT(*) + INTO vRestTicketsPacking + FROM ticket t + LEFT JOIN ticketState ts on t.id = ts.ticket + WHERE productionOrder = PACKING_ORDER + AND t.path = vMyPath + AND t.warehouse = vMyWarehouse + AND t.id != vTicketid; + + + + IF vExpeditionsCount = 1 THEN + + SET vPosition = 'FIRST'; + + ELSEIF vRestTicketsMinOrder > PACKING_ORDER THEN + + SET vPosition = 'LAST'; + + ELSEIF vRestTicketsPacking THEN + + SET vPosition = 'SHARED'; + + ELSE + + SET vPosition = 'MID'; + + END IF; + +ELSE + + SET vPosition = 'MID'; + +END IF; + +RETURN vPosition; + +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 `workerIsBoss` */; +/*!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 `workerIsBoss`(vUserId INT) RETURNS int(11) +BEGIN +/** + * Comprueba por jerarquía si el trabajador actual es jefe + * de un trabajador en concreto. + * + * @param vUserId Id del trabajador que se desea comprobar. + * @return Revuelve verdadero si es jefe del empleado por escala jerárquica. + */ + DECLARE vWorkerId INT; + DECLARE vBossId INT; + + SELECT id INTO vWorkerId + FROM vn.worker + WHERE userFk = vUserId; + IF vWorkerId IS NULL THEN + CALL util.throw('USER_NOT_FOUND'); + END IF; + + DROP TEMPORARY TABLE IF EXISTS tCheckedWorker; + CREATE TEMPORARY TABLE tCheckedWorker + (PRIMARY KEY (workerFk)) + ENGINE = MEMORY + SELECT id workerFk FROM worker LIMIT 0; + LOOP + SELECT bossFk INTO vBossId + FROM vn.worker + WHERE id = vWorkerId; + IF (SELECT COUNT(*) FROM tCheckedWorker WHERE workerFk = vBossId) THEN + CALL util.throw('INFINITE_LOOP'); + END IF; + IF vBossId = vWorkerId THEN + RETURN FALSE; + ELSEIF vBossId = vn.getWorker() THEN + RETURN TRUE; + ELSE + INSERT INTO tCheckedWorker VALUES (vWorkerId); + SET vWorkerId = vBossId; + END IF; + END LOOP; + DROP TEMPORARY TABLE tCheckedWorker; + RETURN FALSE; +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 `addressTaxArea` */; +/*!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 `addressTaxArea`() + READS SQL DATA +BEGIN +/** + * Devuelve el taxArea para un conjunto de Consignatarios y empresas, + * + * @table tmp.addressCompany(addressFk, companyFk) valores a calcular + * @return tmp.addressTaxArea(addressFk,companyFk) + */ + + DECLARE vSpainCountryCode INT DEFAULT 1; + + DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; + CREATE TEMPORARY TABLE tmp.addressTaxArea + (PRIMARY KEY (addressFk, companyFk)) + ENGINE = MEMORY + SELECT CASE + WHEN (NOT cClient.isUeeMember OR NOT cSupplier.isUeeMember) AND s.countryFk != c.countryFk THEN + 'WORLD' + WHEN cClient.isUeeMember AND cSupplier.isUeeMember AND c.countryFk != s.countryFk AND c.isVies THEN + 'CEE' + WHEN a.isEqualizated AND c.countryFk = vSpainCountryCode THEN + 'EQU' + ELSE + 'NATIONAL' + END AS areaFk, ac.addressFk, ac.companyFk + FROM tmp.addressCompany ac + JOIN address a ON a.id = ac.addressFk + JOIN `client` c ON c.id = a.clientFk + JOIN country cClient ON cClient.id = c.countryFk + JOIN supplier s ON s.id = ac.companyFk + JOIN country cSupplier ON cSupplier.id = s.countryFk; +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 `agencyListAvailable` */; +/*!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 `agencyListAvailable`(vDate DATE, vAddress INT) +BEGIN +/** + * Devuelve la lista de almacenes disponibles y la fecha de + * envío desde cada uno. + * + * @param vDate Fecha de recepción de mercancía + * @param vAddress Id consignatario, %NULL para recogida + * @return travel_tree Lista de almacenes disponibles + */ + DECLARE vMaxDays INT DEFAULT DATEDIFF(vDate, CURDATE()); + DECLARE vWday TINYINT DEFAULT WEEKDAY(vDate); + DECLARE vHour TINYINT DEFAULT HOUR(NOW()); + DECLARE vProvince INT; + + SELECT provinceFk INTO vProvince + FROM address + WHERE id = vAddress; + + DROP TEMPORARY TABLE IF EXISTS tmp.agencyAvailable; + CREATE TEMPORARY TABLE tmp.agencyAvailable + (INDEX (agencyFk)) + ENGINE = MEMORY + SELECT agencyFk, warehouseFk + FROM agencyHour h + WHERE (provinceFk = vProvince + OR provinceFk IS NULL) + AND (weekDay = vWday + OR weekDay IS NULL) + AND (substractDay < vMaxDays + OR (substractDay = vMaxDays AND maxHour > vHour)); +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; + + SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE()); + + DELETE FROM vn.dailyTaskLog WHERE created < vDateShort; + + INSERT INTO vn.dailyTaskLog(state) VALUES('clean START'); + + DELETE FROM vn.message WHERE sendDate < vDateShort; + DELETE FROM vn.messageInbox WHERE sendDate < vDateShort; + DELETE FROM vn.messageInbox WHERE sendDate < vDateShort; + + INSERT INTO vn.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 `clientFreeze` */; +/*!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 `clientFreeze`() +BEGIN + + IF day(CURDATE()) IN (10,20,30) THEN + + UPDATE vn.client c + JOIN vn.clientType ct ON ct.id = c.id + JOIN bi.defaulters d ON d.client = c.id AND d.date = CURDATE() + JOIN vn.config ON TRUE + SET c.isFreezed = TRUE + WHERE d.amount > config.defaultersMaxAmount AND ct.code = 'normal'; + + 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 `copyComponentsFromSaleList` */; +/*!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 `copyComponentsFromSaleList`(vTargetTicketFk INT) +BEGIN + +/* Copy sales and components to the target ticket +* +* ¡¡¡¡ Requires tmp.saleList(saleFk, itemFk, quantity, concept, price, discount, orden) !!!!! +* +* param VTargetTicketFk id del ticket a rellenar +*/ + + INSERT INTO vn.sale(ticketFk, itemFk, quantity,concept,price,discount) + SELECT vTargetTicketFk, itemFk, quantity,concept,price,discount + FROM tmp.saleList + ORDER BY orden; + + SET @order = 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.newSaleList; + + CREATE TEMPORARY TABLE tmp.newSaleList + SELECT id as saleFk, @order := @order + 1 as orden + FROM vn.sale + WHERE ticketFk = vTargetTicketFk + ORDER BY saleFk; + + INSERT INTO vn.saleComponent(saleFk,componentFk,value) + SELECT ns.saleFk, sc.componentFk, sc.value + FROM vn.saleComponent sc + JOIN tmp.saleList s ON s.saleFk = sc.saleFk + JOIN tmp.newSaleList ns ON ns.orden = s.orden; + +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 `createExternalWorkerkk` */; +/*!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 `createExternalWorkerkk`( + vFirstName VARCHAR(50), + vSurname1 VARCHAR(50), + vSurname2 VARCHAR(50), + vUser VARCHAR(20), + vPassword VARCHAR(50), + vWorkerCode VARCHAR(3) + ) +BEGIN + + DECLARE vUserId INT; + DECLARE vWorkerPako INT DEFAULT 2; + DECLARE vSurnames VARCHAR(100); + + INSERT INTO account.user(name,password,role) + SELECT vUser,MD5(vPassword),1; + + SET vUserId = LAST_INSERT_ID(); + /* + INSERT INTO vn.worker(firstName,name,bossFk,workerCode,user_id) + SELECT vFirstName,CONCAT(vSurname1,' ',vSurname2),2,vWorkerCode,vUser; + */ + + IF vSurname2 IS NULL THEN + SET vSurnames = vSurname1; + ELSE + SET vSurnames = CONCAT(vSurname1, ' ', vSurname2); + END IF; + + INSERT INTO vn2008.Trabajadores(Nombre, Apellidos, boss, CodigoTrabajador, user_id) + SELECT vFirstName, vSurnames, vWorkerPako, vWorkerCode, vUserId; +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 `entryConverter` */; +/*!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 `entryConverter`(vEntry INT) +BEGIN + + DECLARE vWarehouseIn INT; + DECLARE vWarehouseOut INT; + DECLARE vTravel INT; + + DECLARE done BOOL DEFAULT FALSE; + + DECLARE vId_Entrada INT; + DECLARE vId_Article INT; + DECLARE vEtiquetas INT; + DECLARE vId_Cubo VARCHAR(10); + DECLARE vPacking INT; + DECLARE vGrouping INT; + DECLARE vCantidad INT; + DECLARE vCostefijo DECIMAL(10,3); + DECLARE vPortefijo DECIMAL(10,3); + DECLARE vEmbalajefijo DECIMAL(10); + DECLARE vComisionfija DECIMAL(10,3); + DECLARE vCaja INT; + DECLARE vNicho VARCHAR(5); + DECLARE vTarifa1 DECIMAL(10,2); + DECLARE vTarifa2 DECIMAL(10,2); + DECLARE vTarifa3 DECIMAL(10,2); + DECLARE vPVP DECIMAL(10,2); + DECLARE vCompra INT; + + DECLARE rs CURSOR FOR + SELECT + b.Id_Entrada, + b.Id_Article, + b.Etiquetas, + b.Id_Cubo, + b.Packing, + b.grouping, + b.Cantidad, + b.Costefijo, + b.Portefijo, + b.Embalajefijo, + b.Comisionfija, + b.caja, + b.Nicho, + b.Tarifa1, + b.Tarifa2, + b.Tarifa3, + b.PVP + FROM vn2008.Compres b + JOIN vn.itemConversor ic ON ic.espItemFk = b.Id_Article + WHERE Id_Entrada = vEntry; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + SELECT warehouseInFk, warehouseOutFk, tr.id + INTO vWarehouseIn, vWarehouseOut, vTravel + FROM travel tr + JOIN entry e ON e.travelFk = tr.id + WHERE e.id = vEntry; + + UPDATE travel + SET warehouseInFk = vWarehouseOut, + warehouseOutFk = vWarehouseIn + WHERE id = vTravel; + + UPDATE vn2008.Compres c + LEFT JOIN vn.itemConversor ic ON ic.espItemFk = c.Id_Article + SET Etiquetas = 0, Cantidad = 0 + WHERE c.Id_Entrada = vEntry + AND ic.espItemFk IS NULL; + + OPEN rs; + + DELETE FROM vn2008.Compres WHERE Id_Entrada = vEntry; + + FETCH rs INTO + vId_Entrada, + vId_Article, + vEtiquetas, + vId_Cubo, + vPacking, + vGrouping, + vCantidad, + vCostefijo, + vPortefijo, + vEmbalajefijo, + vComisionfija, + vCaja, + vNicho, + vTarifa1, + vTarifa2, + vTarifa3, + vPVP; + + WHILE NOT done DO + + -- Primero la linea original con las cantidades invertidas + INSERT INTO vn2008.Compres + ( + Id_Entrada, + Id_Article, + Etiquetas, + Id_Cubo, + Packing, + grouping, + Cantidad, + Costefijo, + Portefijo, + Embalajefijo, + Comisionfija, + caja, + Nicho, + Tarifa1, + Tarifa2, + Tarifa3, + PVP + ) + VALUES + ( + vId_Entrada, + vId_Article, + - vEtiquetas, + vId_Cubo, + vPacking, + vGrouping, + - vCantidad, + vCostefijo, + vPortefijo, + vEmbalajefijo, + vComisionfija, + vCaja, + vNicho, + vTarifa1, + vTarifa2, + vTarifa3, + vPVP); + + -- Ahora la linea nueva, con el item genérico + INSERT INTO vn2008.Compres + ( + Id_Entrada, + Id_Article, + Etiquetas, + Id_Cubo, + Packing, + grouping, + Cantidad, + Costefijo, + Portefijo, + Embalajefijo, + Comisionfija, + caja, + Nicho, + Tarifa1, + Tarifa2, + Tarifa3, + PVP + ) + SELECT + vId_Entrada, + genItemFk as Id_Article, + vEtiquetas, + vId_Cubo, + vPacking, + vGrouping, + vCantidad, + vCostefijo, + vPortefijo, + vEmbalajefijo, + vComisionfija, + vCaja, + vNicho, + vTarifa1, + vTarifa2, + vTarifa3, + vPVP + FROM itemConversor + WHERE espItemFk = vId_Article; + + SELECT LAST_INSERT_ID() + INTO vCompra; + + REPLACE vn2008.Compres_mark(Id_Compra,`comment`) + SELECT vCompra, vId_Article; + + + FETCH rs INTO + vId_Entrada, + vId_Article, + vEtiquetas, + vId_Cubo, + vPacking, + vGrouping, + vCantidad, + vCostefijo, + vPortefijo, + vEmbalajefijo, + vComisionfija, + vCaja, + vNicho, + vTarifa1, + vTarifa2, + vTarifa3, + vPVP; + + 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 `getDebt` */; +/*!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 `getDebt`(vDate DATE) +BEGIN +/** + * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list + * + * @table tmp.client_list + * @param vDate Fecha maxima de los registros + * @treturn tmp.risk + */ + DECLARE vDateIni DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, CURDATE()); + DECLARE vDateEnd DATETIME; + DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; + + SET vDateEnd = TIMESTAMP(IFNULL(vDate, CURDATE()), '23:59:59'); + + DROP TEMPORARY TABLE IF EXISTS tmp.clientList2; + CREATE TEMPORARY TABLE tmp.clientList2 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.clientList3; + CREATE TEMPORARY TABLE tmp.clientList3 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT id ticketFk, cl.Id_Cliente + FROM ticket t + JOIN tmp.clientList2 cl ON t.clientFk = cl.Id_Cliente + WHERE refFk IS NULL + AND shipped BETWEEN vDateIni AND vDateEnd; + + CALL vn.ticketGetTotal(); + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT Id_Cliente, SUM(amount) risk + FROM vn2008.Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk cr + JOIN tmp.client_list on tmp.client_list.Id_Cliente = cr.customer_id + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM vn2008.Recibos + JOIN tmp.clientList2 using(Id_Cliente) + WHERE Fechacobro > vDateIni + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, total + FROM tmp.ticketTotal tt + JOIN tmp.ticket t ON t.ticketFk = tt.ticketFk + UNION ALL + SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + JOIN tmp.clientList3 l ON l.Id_Cliente = t.clientFk + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + DROP TEMPORARY TABLE + tmp.ticket, + tmp.clientList2, + tmp.clientList3; +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 `getDebtKk` */; +/*!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 `getDebtKk`(vDate DATE) +BEGIN +/** + * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list + * + * @deprecated usar vn.clientGetDebt + * @table tmp.client_list + * @param vDate Fecha maxima de los registros + * @treturn tmp.risk + */ + DECLARE vDateIni DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, CURDATE()); + DECLARE vDateEnd DATETIME; + DECLARE MAX_RISK_ALLOWED INT DEFAULT 200; + + SET vDateEnd = TIMESTAMP(IFNULL(vDate, CURDATE()), '23:59:59'); + + DROP TEMPORARY TABLE IF EXISTS tmp.clientList2; + CREATE TEMPORARY TABLE tmp.clientList2 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS tmp.clientList3; + CREATE TEMPORARY TABLE tmp.clientList3 + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * + FROM tmp.client_list; + + DROP TEMPORARY TABLE IF EXISTS vn2008.ticket_tmp; + CREATE TEMPORARY TABLE vn2008.ticket_tmp + (INDEX (ticket_id)) + ENGINE = MEMORY + SELECT id ticket_id, cl.Id_Cliente + FROM ticket t + JOIN tmp.clientList2 cl ON t.clientFk = cl.Id_Cliente + WHERE refFk IS NULL + AND shipped BETWEEN vDateIni AND vDateEnd; + + CALL vn2008.ticket_total; + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + CREATE TEMPORARY TABLE tmp.risk + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT Id_Cliente, SUM(amount) risk + FROM vn2008.Clientes c + JOIN ( + SELECT customer_id, SUM(amount) amount + FROM bi.customer_risk cr + JOIN tmp.client_list on tmp.client_list.Id_Cliente = cr.customer_id + GROUP BY customer_id + UNION ALL + SELECT Id_Cliente, SUM(Entregado) + FROM vn2008.Recibos + JOIN tmp.clientList2 using(Id_Cliente) + WHERE Fechacobro > vDateIni + GROUP BY Id_Cliente + UNION ALL + SELECT t.Id_Cliente, total + FROM vn2008.ticket_total tt + JOIN vn2008.ticket_tmp t ON tt.ticket_id = t.ticket_id + UNION ALL + SELECT t.clientFk customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) + FROM hedera.tpvTransaction t + JOIN tmp.clientList3 l ON l.Id_Cliente = t.clientFk + WHERE t.receiptFk IS NULL + AND t.status = 'ok' + GROUP BY t.clientFk + ) t ON c.Id_Cliente = t.customer_id + WHERE c.activo != FALSE + GROUP BY c.Id_Cliente; + + DROP TEMPORARY TABLE + vn2008.ticket_tmp, + vn2008.ticket_total, + tmp.clientList2, + tmp.clientList3; +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 `getItemVisibleAvailable` */; +ALTER DATABASE `vn` 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 `getItemVisibleAvailable`(IN vItem INT,IN vDate DATE,IN vWarehouse TINYINT,IN isForcedToRecalculate BOOLEAN) +BEGIN + + DECLARE vCacheVisibleCalculated INTEGER; + DECLARE vCacheAvailableCalculated INTEGER; + + CALL cache.visible_refresh(vCacheVisibleCalculated, isForcedToRecalculate, vWarehouse); + CALL cache.available_refresh(vCacheAvailableCalculated, isForcedToRecalculate, vWarehouse, vDate); + + SELECT a.Id_Article, a.Article, a.Medida, a.Tallos, a.caja, O.Abreviatura as origen, a.Color, tipo_id, an.Nicho, + a.Categoria, p.`name` as producer, v.visible, av.available + FROM vn2008.Articles a + LEFT JOIN vn2008.Articles_nicho an ON a.Id_Article = an.Id_Article AND an.warehouse_id = vWarehouse + LEFT JOIN vn2008.Origen O ON O.id = a.id_origen + LEFT JOIN vn2008.producer p ON p.producer_id = a.producer_id + LEFT JOIN cache.visible v ON (vItem IS NULL OR v.item_id = vItem) AND v.calc_id = vCacheVisibleCalculated + LEFT JOIN cache.available av ON (vItem IS NULL OR av.item_id = vItem) AND av.calc_id = vCacheAvailableCalculated + WHERE (vItem IS NULL OR a.Id_Article = vItem); + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `invoiceExpenceMake` */; +/*!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 `invoiceExpenceMake`(IN vInvoice INT) +BEGIN +/* Inserta las partidas de gasto correspondientes a la factura + * REQUIERE tabla ticketToInvoice + * + * @param vInvoice Numero de factura + * + */ + DELETE FROM invoiceOutExpence + WHERE invoiceOutFk = vInvoice; + + INSERT INTO invoiceOutExpence( + invoiceOutFk, + expenceFk, + amount + ) + SELECT + vInvoice, + expenceFk, + SUM(ROUND(quantity * price * (100 - discount)/100,2)) amount + FROM ticketToInvoice t + JOIN sale s ON s.ticketFk = t.id + JOIN item i ON i.id = s.itemFk + GROUP BY i.expenceFk + HAVING 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 `invoiceFromAddress` */; +ALTER DATABASE `vn` 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 `invoiceFromAddress`(vMaxTicketDate DATETIME,vAddress INT,vCompany INT) +BEGIN + + DECLARE vMinDateTicket DATE DEFAULT TIMESTAMPADD(MONTH, -3, CURDATE()); + + SET vMaxTicketDate = vn2008.DAYEND(vMaxTicketDate); + + DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; + + CREATE TEMPORARY TABLE `ticketToInvoice` + (PRIMARY KEY (`id`)) + ENGINE = MEMORY + SELECT Id_Ticket id FROM vn2008.Tickets WHERE (Fecha BETWEEN vMinDateTicket + AND vMaxTicketDate) AND Id_Consigna = vAddress + AND Factura IS NULL AND empresa_id = 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 */ ; +ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `invoiceFromClient` */; +ALTER DATABASE `vn` 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 `invoiceFromClient`(vMaxTicketDate DATETIME, vClient INT, vCompany INT) +BEGIN + + DECLARE vMinDateTicket DATE DEFAULT TIMESTAMPADD(YEAR, -3, CURDATE()); + + SET vMaxTicketDate = vn2008.DAYEND(vMaxTicketDate); + + DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; + + CREATE TEMPORARY TABLE `ticketToInvoice` + (PRIMARY KEY (`id`)) + ENGINE = MEMORY + SELECT Id_Ticket id FROM vn2008.Tickets + WHERE Id_Cliente = vClient + AND Factura IS NULL + AND empresa_id = vCompany + AND (Fecha BETWEEN vMinDateTicket AND vMaxTicketDate) + ; + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `invoiceFromTicket` */; +/*!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 `invoiceFromTicket`(IN vTicket INT) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS `ticketToInvoice`; + + CREATE TEMPORARY TABLE `ticketToInvoice` + (PRIMARY KEY (`id`)) + ENGINE = MEMORY + SELECT id FROM vn.ticket + WHERE id = vTicket AND refFk IS 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 `invoiceInBookingCommon` */; +/*!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 `invoiceInBookingCommon`(vInvoiceInId INT, OUT vSerialNumber INT) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS newInvoiceIn; + + CREATE TEMPORARY TABLE newInvoiceIn + SELECT + i.*, + YEAR(i.booked) datedYear, + -- CONCAT('s/fra',RIGHT(i.supplierRef,8)) concept, + CONCAT('s/fra',RIGHT(i.supplierRef,8),':',LEFT(s.name, 10)) conceptWithSupplier, + (cc.id = c.id) isSameCountry, + cit.id invoicesCount + FROM invoiceIn i + JOIN cplusInvoiceType472 cit ON cit.id = i.cplusInvoiceType472Fk + JOIN supplier s ON s.id = i.supplierFk + JOIN country c ON c.id = s.countryFk + JOIN supplier sc ON sc.id = i.companyFk + JOIN country cc ON cc.id = sc.countryFk + WHERE i.id = vInvoiceInId; + + DROP TEMPORARY TABLE IF EXISTS newSupplier; + CREATE TEMPORARY TABLE newSupplier + SELECT + s.*, + REPLACE(s.account,' ','') supplierAccount, + IF(c.CEE < 2, TRUE, FALSE) isUeeMember + FROM supplier s + JOIN newInvoiceIn n + JOIN country c ON c.id = s.countryFk + WHERE s.id = n.supplierFk; + + IF (SELECT isActive FROM newSupplier) = 0 THEN + CALL util.throw('INACTIVE_PROVIDER'); + END IF; + + SELECT IFNULL(MAX(i.serialNumber) + 1,1) + INTO vSerialNumber + FROM invoiceIn i + JOIN newInvoiceIn n + WHERE i.serial LIKE n.serial + AND YEAR(i.booked) = n.datedYear + AND i.companyFk = n.companyFk + GROUP BY i.companyFk; + +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 `invoiceInBookingExtra` */; +/*!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 `invoiceInBookingExtra`(vInvoiceInId INT) +BEGIN + DECLARE vBookNumber,vSerialNumber INT; + + CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + -- Actualizacion de la fecha de contabilizado y de operacion de las importaciones + UPDATE invoiceInEntry iie + JOIN invoiceIn ii ON ii.id = iie.invoiceInFk + JOIN invoiceInAwb iia ON iia.invoiceInFk = iie.invoiceInAwbFk + JOIN awb a ON a.id = iia.awbFk + SET ii.isBooked = TRUE, + ii.booked = IFNULL(ii.booked,a.booked), + ii.operated = IFNULL(ii.operated,a.operated), + ii.issued = IFNULL(ii.issued,a.issued), + ii.bookEntried = IFNULL(ii.bookEntried,a.bookEntried) + WHERE iie.invoiceInAwbFk = vInvoiceInId; + + -- Extracomunitarias gasto contra proveedor/acreedor + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + CONCEPTO, + CAMBIO, + DEBEME, + NFACTICK, + empresa_id + ) + SELECT + vBookNumber ASIEN, + IFNULL(a.bookEntried, n.bookEntried) FECHA, + iit.expenceFk SUBCTA, + s.account CONTRA, + ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EURODEBE, + CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + SUM(iit.taxableBase) / SUM(iit.foreignValue) CAMBIO, + ROUND(SUM(iit.foreignValue) * (iie.percentage / 100),2) DEBEME, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id + JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk + JOIN invoiceIn i ON i.id = iit.invoiceInFk + JOIN supplier s ON s.id = i.supplierFk + LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id + LEFT JOIN awb a ON a.id = iia.awbFk + WHERE iie.percentage + GROUP BY i.id; + + -- Extracomunitarias proveedor contra gasto + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + CONCEPTO, + CAMBIO, + HABERME, + NFACTICK, + empresa_id + ) + SELECT + vBookNumber ASIEN, + IFNULL(a.bookEntried, n.bookEntried) FECHA, + s.account SUBCTA, + iit.expenceFk CONTRA, + ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EUROHABER, + CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + SUM(iit.taxableBase) / SUM(iit.foreignValue) CAMBIO, + SUM(iit.foreignValue) HABERME, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id + JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk + JOIN invoiceIn i ON i.id = iit.invoiceInFk + JOIN supplier s ON s.id = i.supplierFk + LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id + LEFT JOIN awb a ON a.id = iia.awbFk + WHERE iie.percentage + GROUP BY i.id; + + -- Iva Importacion pendiente + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONCEPTO, + EUROHABER,-- EURODEBE + SERIE, + empresa_id) + + SELECT + vBookNumber, + a.bookEntried, + '4700000999', + n.conceptWithSupplier, + ROUND(SUM(iii.amount * (tc.rate/100)),2) eurohaber, + n.serial, + n.companyFk + FROM newInvoiceIn n + JOIN invoiceInIntrastat iii ON n.id = iii.invoiceInFk + JOIN intrastat ii ON ii.id = iii.intrastatFk + JOIN taxCode tc ON tc.id = ii.taxCodeFk + JOIN invoiceInAwb iia ON iia.invoiceInFk = iii.invoiceInFk + JOIN awb a ON a.id = iia.awbFk + HAVING eurohaber IS NOT NULL; + + -- Linea iva importacion extracomunitaria + + SET @cont:=1; + SET @total:=0; + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + FECHA_EX, + FECHA_OP, + FACTURAEX, + NFACTICK, + L340, + LDIFADUAN, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id, + FECREGCON + ) + + SELECT + vBookNumber ASIEN, + x.FECHA, + x.SUBCTA, + x.CONTRA, + IF (n.isSameCountry OR NOT s.isUeeMember, + x.EURODEBE, + NULL + ) EURODEBE, + x.BASEEURO, + x.CONCEPTO, + vSerialNumber FACTURA, + x.IVA, + '*' AUXILIAR, + x.SERIE, + x.FECHA_EX, + x.FECHA_OP, + x.dua FACTURAEX, + n.invoicesCount NFACTICK, + IF(@total:=@total + x.EURODEBE AND @cont:=@cont + 1 ,1,1) L340, + TRUE LDIFADUAN, + x.TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + 5 TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + x.TERIDNIF, + x.TERNIF, + x.TERNOM, + n.companyFk, + IFNULL(x.FECREGCON,n.booked) FECREGCON + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN ( + SELECT + -- CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) + CONCAT('COMPRA s/fra ',ii.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + tc.code SUBCTA, + s.account CONTRA, + tc.rate IVA, + ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount)*(tc.rate/100),2) EURODEBE, + ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount),2) BASEEURO, + ii.serial SERIE, + e.supplierFk, + iia.dua, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + ii.booked FECREGCON, + ii.cplusTrascendency472Fk TIPOCLAVE, + a.issued FECHA_EX, + a.operated FECHA_OP, + a.bookEntried FECHA + FROM invoiceInAwb iia + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = iia.invoiceInFk + JOIN awb a ON a.id = iia.awbFk + JOIN invoiceIn ii ON ii.id = iie.invoiceInFk + JOIN invoiceInSerial iis ON iis.code = ii.serial + JOIN buy b ON b.entryFk = iie.entryFk + JOIN item i ON i.id = b.itemFk + JOIN ( + SELECT + i.intrastatFk, + sum(b.buyingValue * b.quantity) as intrastatSum + FROM buy b + JOIN item i ON i.id = b.itemFk + JOIN invoiceInEntry iie ON iie.entryFk = b.entryFk + JOIN invoiceInAwb iia ON iia.invoiceInFk = iie.invoiceInAwbFk + JOIN awb aw ON aw.id =iia.awbFk + WHERE iie.percentage AND iia.invoiceInFk = vInvoiceInId + GROUP BY i.intrastatFk + ) intraSub ON intraSub.intrastatFk = i.intrastatFk + JOIN ( + SELECT + iii.intrastatFk, + iii.amount, + intr.taxCodeFk + FROM invoiceInIntrastat iii + JOIN intrastat intr ON intr.id = iii.intrastatFk + WHERE iii.invoiceInFk = vInvoiceInId + ) taxSub ON taxSub.intrastatFk = i.intrastatFk + JOIN taxCode tc ON tc.id = taxSub.taxCodeFk + JOIN entry e ON e.id = iie.entryFk + JOIN supplier s ON s.id = e.supplierFk + WHERE iie.invoiceInAwbFk = vInvoiceInId AND iie.percentage + GROUP BY e.supplierFk, taxSub.taxCodeFk + ) x + GROUP BY x.supplierFk, x.IVA; + + /*UPDATE newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = vInvoiceInId + JOIN invoiceIn ii ON ii.id = iie.invoiceInFk + SET ii.isBooked = TRUE, + ii.booked = IFNULL(ii.booked,n.booked), + ii.operated = IFNULL(ii.operated,n.operated), + ii.issued = IFNULL(ii.issued,n.issued);*/ + +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 `invoiceInBookingkk` */; +/*!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 `invoiceInBookingkk`(vInvoiceInId INT) +BEGIN + /* OBSOLETO usar invoiceInBookingMain o invoiceInBookingExtra */ + DECLARE vSerialNumber, vBookNumber, vBookNumberPlus1 INT; + DECLARE vTotalAmount DECIMAL(10,2); + + DROP TEMPORARY TABLE IF EXISTS newInvoiceIn; + + CREATE TEMPORARY TABLE newInvoiceIn + SELECT + i.*, + YEAR(i.booked) datedYear, + -- CONCAT('s/fra',RIGHT(i.supplierRef,8)) concept, + CONCAT('s/fra',RIGHT(i.supplierRef,8),':',LEFT(s.name, 10)) conceptWithSupplier, + (cc.id = c.id) isSameCountry, + cit.id invoicesCount + FROM invoiceIn i + JOIN cplusInvoiceType472 cit ON cit.id = i.cplusInvoiceType472Fk + JOIN supplier s ON s.id = i.supplierFk + JOIN country c ON c.id = s.countryFk + JOIN supplier sc ON sc.id = i.companyFk + JOIN country cc ON cc.id = sc.countryFk + WHERE i.id = vInvoiceInId; + + DROP TEMPORARY TABLE IF EXISTS newSupplier; + CREATE TEMPORARY TABLE newSupplier + SELECT + s.*, + REPLACE(s.account,' ','') supplierAccount, + IF(c.CEE < 2, TRUE, FALSE) isUeeMember + FROM supplier s + JOIN newInvoiceIn n + JOIN country c ON c.id = s.countryFk + WHERE s.id = n.supplierFk; + + IF (SELECT isActive FROM newSupplier) = 0 THEN + CALL util.throw('INACTIVE_PROVIDER'); + END IF; + + SELECT IFNULL(MAX(i.serialNumber) + 1,1) + INTO vSerialNumber + FROM invoiceIn i + JOIN newInvoiceIn n + WHERE i.serial LIKE n.serial + AND YEAR(i.booked) = n.datedYear + AND i.companyFk = n.companyFk + GROUP BY i.companyFk; + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + SET vBookNumberPlus1 = vBookNumber + 1; + + SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)) + INTO vTotalAmount + FROM invoiceIn i + JOIN invoiceInTax iit ON iit.invoiceInFk = i.id + JOIN taxCode tc ON iit.taxCodeFk = tc.id + WHERE i.id = vInvoiceInId; + + -- Apunte del proveedor + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + EUROHABER, + CONCEPTO, + NFACTICK, + empresa_id) + SELECT + vBookNumber, + n.booked, + s.supplierAccount, + vTotalAmount, + n.conceptWithSupplier, + n.invoicesCount, + n.companyFk + FROM newInvoiceIn n + JOIN newSupplier s; + + -- ----------------------------------------------------------- Linea de Gastos + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + EUROHABER, + CONCEPTO, + NFACTICK, + empresa_id + ) + SELECT + vBookNumber ASIEN, + n.booked FECHA, + if( + e.isWithheld, + LPAD(RIGHT(s.supplierAccount ,5),10,iit.expenceFk), + iit.expenceFk + ) SUBCTA, + s.supplierAccount CONTRA, + if( + e.isWithheld, + NULL, + ABS(ROUND(SUM(iit.taxableBase),2)) + ) EURODEBE, + if( + e.isWithheld, + ABS(ROUND(SUM(iit.taxableBase),2)), + NULL + ) EUROHABER, + n.conceptWithSupplier CONCEPTO, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax iit ON iit.invoiceInFk = n.id + JOIN taxCode tc ON tc.id = iit.taxCodeFk + JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE iit.expenceFk != 5660000002 + GROUP BY iit.expenceFk; + + -- Extracomunitarias gasto contra proveedor/acreedor + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + CONCEPTO, + NFACTICK, + empresa_id + ) + SELECT + vBookNumberPlus1 ASIEN, + IFNULL(a.booked, n.booked) FECHA, + iit.expenceFk SUBCTA, + s.account CONTRA, + ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EURODEBE, + CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id + JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk + JOIN invoiceIn i ON i.id = iit.invoiceInFk + JOIN supplier s ON s.id = i.supplierFk + LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id + LEFT JOIN awb a ON a.id = iia.awbFk + WHERE iie.percentage + GROUP BY i.id; + + -- Extracomunitarias proveedor contra gasto + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + CONCEPTO, + NFACTICK, + empresa_id + ) + SELECT + vBookNumberPlus1 ASIEN, + IFNULL(a.booked, n.booked) FECHA, + s.account SUBCTA, + iit.expenceFk CONTRA, + ROUND(SUM(iit.taxableBase) * (iie.percentage / 100),2) EUROHABER, + CONCAT('COMPRA s/fra ',i.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = n.id + JOIN invoiceInTax iit ON iit.invoiceInFk = iie.invoiceInFk + JOIN invoiceIn i ON i.id = iit.invoiceInFk + JOIN supplier s ON s.id = i.supplierFk + LEFT JOIN invoiceInAwb iia ON iia.invoiceInFk = n.id + LEFT JOIN awb a ON a.id = iia.awbFk + WHERE iie.percentage + GROUP BY i.id; + + -- -------------------------------------------------------------------- + -- ------- Lineas de IVA --------------- + -- -------------------------------------------------------------------- + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + FECREGCON, + empresa_id + ) + SELECT vBookNumber ASIEN, + n.booked FECHA, + tc.code SUBCTA, + s.supplierAccount CONTRA, + SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, + SUM(it.taxableBase) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tc.rate IVA, + IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + TRUE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + n.cplusTrascendency472Fk TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.booked FECREGCON, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + LEFT JOIN + (SELECT eWithheld.id + FROM invoiceInTax hold + JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld + WHERE hold.invoiceInFk = 58262 LIMIT 1 + ) eWithheld ON TRUE + WHERE tc.type != '-' + AND tc.isActive + GROUP BY tc.rate; + + -- Linea iva inversor sujeto pasivo + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id + ) + + SELECT + vBookNumber ASIEN, + n.booked FECHA, + tcLink.code SUBCTA, + s.supplierAccount CONTRA, + ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, + ROUND(SUM(it.taxableBase),2) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tcLink.rate IVA, + '*' AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + FALSE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + 1 TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN taxCode tcLink ON tcLink.linkFk = tc.linkFk AND tc.id != tcLink.id + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE tc.isActive + GROUP BY tcLink.rate, e.id; + + -- Iva Importacion pendiente + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONCEPTO, + EUROHABER,-- EURODEBE + SERIE, + empresa_id) + + SELECT + vBookNumberPlus1, + a.booked, + '4700000999', + n.conceptWithSupplier, + ROUND(SUM(iii.amount * (tc.rate/100)),2) eurohaber, + n.serial, + n.companyFk + FROM newInvoiceIn n + JOIN invoiceInIntrastat iii ON n.id = iii.invoiceInFk + JOIN intrastat ii ON ii.id = iii.intrastatFk + JOIN taxCode tc ON tc.id = ii.taxCodeFk + JOIN invoiceInAwb iia ON iia.invoiceInFk = iii.invoiceInFk + JOIN awb a ON a.id = iia.awbFk + HAVING eurohaber IS NOT NULL; + + + -- Linea iva importacion extracomunitaria + + SET @cont:=1; + SET @total:=0; + SET @base:=2; + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + FECHA_EX, + FECHA_OP, + FACTURAEX, + NFACTICK, + L340, + LDIFADUAN, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id, + FECREGCON + ) + + SELECT + vBookNumberPlus1 ASIEN, + x.FECHA, + x.SUBCTA, + x.CONTRA, + IF (n.isSameCountry OR NOT s.isUeeMember, + x.EURODEBE, + NULL + ) EURODEBE, + x.BASEEURO, + x.CONCEPTO, + vSerialNumber FACTURA, + x.IVA, + '*' AUXILIAR, + x.SERIE, + x.FECHA_EX, + x.FECHA_OP, + x.dua FACTURAEX, + n.invoicesCount NFACTICK, + IF(@total:=@total + x.EURODEBE AND @cont:=@cont + 1 ,1,1) L340, + TRUE LDIFADUAN, + x.TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + 5 TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + x.TERIDNIF, + x.TERNIF, + x.TERNOM, + n.companyFk, + IFNULL(x.FECREGCON,n.booked) FECREGCON + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN ( + SELECT + -- CONCAT('COMPRA s/fra ',sref,':',LEFT(p.Proveedor, 10)) + CONCAT('COMPRA s/fra ',ii.supplierRef,':',LEFT(s.name, 10)) CONCEPTO, + tc.code SUBCTA, + s.account CONTRA, + tc.rate IVA, + ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount)*(tc.rate/100),2) EURODEBE, + ROUND(sum(b.buyingValue * b.quantity / intraSub.intrastatSum * taxSub.amount),2) BASEEURO, + ii.serial SERIE, + e.supplierFk, + iia.dua, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + ii.booked FECREGCON, + ii.cplusTrascendency472Fk TIPOCLAVE, + a.issued FECHA_EX, + a.operated FECHA_OP, + a.booked FECHA + FROM invoiceInAwb iia + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = iia.invoiceInFk + JOIN awb a ON a.id = iia.awbFk + JOIN invoiceIn ii ON ii.id = iie.invoiceInFk + JOIN invoiceInSerial iis ON iis.code = ii.serial + JOIN buy b ON b.entryFk = iie.entryFk + JOIN item i ON i.id = b.itemFk + JOIN ( + SELECT + i.intrastatFk, + sum(b.buyingValue * b.quantity) as intrastatSum + FROM buy b + JOIN item i ON i.id = b.itemFk + JOIN invoiceInEntry iie + ON iie.entryFk = b.entryFk + JOIN invoiceInAwb iia + ON iia.invoiceInFk = iie.invoiceInAwbFk + JOIN awb aw ON aw.id =iia.awbFk + WHERE iie.percentage AND iia.invoiceInFk = vInvoiceInId + GROUP BY i.intrastatFk + ) intraSub ON intraSub.intrastatFk = i.intrastatFk + JOIN ( + SELECT + iii.intrastatFk, + iii.amount, + intr.taxCodeFk + FROM invoiceInIntrastat iii + JOIN intrastat intr + ON intr.id = iii.intrastatFk + WHERE iii.invoiceInFk = vInvoiceInId + ) taxSub ON taxSub.intrastatFk = i.intrastatFk + JOIN taxCode tc ON tc.id = taxSub.taxCodeFk + JOIN entry e ON e.id = iie.entryFk + JOIN supplier s ON s.id = e.supplierFk + WHERE iie.invoiceInAwbFk = vInvoiceInId AND iie.percentage + GROUP BY e.supplierFk, taxSub.taxCodeFk + ) x + GROUP BY x.supplierFk, x.IVA; + + -- Actualizacion de la fecha de contabilizado y de operacion de las importaciones + UPDATE newInvoiceIn n + JOIN invoiceInEntry iie ON iie.invoiceInAwbFk = vInvoiceInId + JOIN invoiceIn ii ON ii.id = iie.invoiceInFk + SET ii.booked = IFNULL(ii.booked,n.booked), + ii.operated = IFNULL(ii.operated,n.issued); + + -- Actualización del registro original + UPDATE invoiceIn + SET + serialNumber = vSerialNumber, + isBooked = TRUE + WHERE + id = vInvoiceInId; +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 `invoiceInBookingMain` */; +/*!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 `invoiceInBookingMain`(vInvoiceInId INT) +BEGIN + DECLARE vTotalAmount,vTotalAmountDivisa DECIMAL(10,2); + DECLARE vBookNumber,vSerialNumber INT; + DECLARE vRate DECIMAL(10,4); + + CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); + + SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)), + SUM(iit.foreignValue * IF(i.serial = 'R', 1 +(tc.rate/100),1)), + iit.taxableBase/iit.foreignValue + INTO vTotalAmount, vTotalAmountDivisa, vRate + FROM newInvoiceIn i + JOIN invoiceInTax iit ON iit.invoiceInFk = i.id + JOIN taxCode tc ON iit.taxCodeFk = tc.id; + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + -- Apunte del proveedor + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + EUROHABER, + CONCEPTO, + CAMBIO, + HABERME, + NFACTICK, + CLAVE, + empresa_id) + SELECT + vBookNumber, + n.bookEntried, + s.supplierAccount, + vTotalAmount, + n.conceptWithSupplier, + vRate, + vTotalAmountDivisa, + n.invoicesCount, + vInvoiceInId, + n.companyFk + FROM newInvoiceIn n + JOIN newSupplier s; + + -- ----------------------------------------------------------- Linea de Gastos + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + EUROHABER, + CONCEPTO, + CAMBIO, + DEBEME, + HABERME, + NFACTICK, + empresa_id + ) + SELECT + vBookNumber ASIEN, + n.bookEntried FECHA, + if( + e.isWithheld, + LPAD(RIGHT(s.supplierAccount,5),10,iit.expenceFk), + iit.expenceFk + ) SUBCTA, + s.supplierAccount CONTRA, + if( + e.isWithheld, + NULL, + ABS(ROUND(SUM(iit.taxableBase),2)) + ) EURODEBE, + if( + e.isWithheld, + ABS(ROUND(SUM(iit.taxableBase),2)), + NULL + ) EUROHABER, + n.conceptWithSupplier CONCEPTO, + vRate, + if( + e.isWithheld, + NULL, + ABS(ROUND(SUM(iit.foreignValue),2)) + ) DEBEME, + if( + e.isWithheld, + ABS(ROUND(SUM(iit.foreignValue),2)), + NULL + ) HABERME, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax iit ON iit.invoiceInFk = n.id + JOIN taxCode tc ON tc.id = iit.taxCodeFk + JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE iit.expenceFk != 5660000002 + GROUP BY iit.expenceFk; + + + -- -------------------------------------------------------------------- + -- ------- Lineas de IVA --------------- + -- -------------------------------------------------------------------- + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + FECREGCON, + empresa_id + ) + SELECT vBookNumber ASIEN, + n.bookEntried FECHA, + tc.code SUBCTA, + s.supplierAccount CONTRA, + SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, + SUM(it.taxableBase) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tc.rate IVA, + IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + TRUE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + n.cplusTrascendency472Fk TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.booked FECREGCON, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + LEFT JOIN + (SELECT eWithheld.id + FROM invoiceInTax hold + JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld + WHERE hold.invoiceInFk = 58262 LIMIT 1 + ) eWithheld ON TRUE + WHERE tc.type != '-' + AND tc.isActive + GROUP BY tc.rate; + + -- Linea iva inversor sujeto pasivo + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id + ) + + SELECT + vBookNumber ASIEN, + n.bookEntried FECHA, + tcLink.code SUBCTA, + s.supplierAccount CONTRA, + ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, + ROUND(SUM(it.taxableBase),2) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tcLink.rate IVA, + '*' AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + FALSE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + 1 TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN taxCode tcLink ON tcLink.link = tc.link AND tc.id != tcLink.id + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE tc.isActive + GROUP BY tcLink.rate, e.id; + +-- Actualización del registro original + UPDATE invoiceIn ii + JOIN newInvoiceIn ni ON ii.id = ni.id + SET + ii.serialNumber = vSerialNumber, + ii.isBooked = 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 `invoiceInBookingMainkk` */; +/*!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 `invoiceInBookingMainkk`(vInvoiceInId INT) +BEGIN + DECLARE vTotalAmount DECIMAL(10,2); + DECLARE vBookNumber,vSerialNumber INT; + + CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); + + SELECT SUM(iit.taxableBase * IF(i.serial = 'R', 1 +(tc.rate/100),1)) + INTO vTotalAmount + FROM newInvoiceIn i + JOIN invoiceInTax iit ON iit.invoiceInFk = i.id + JOIN taxCode tc ON iit.taxCodeFk = tc.id; + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + -- Apunte del proveedor + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + EUROHABER, + CONCEPTO, + NFACTICK, + empresa_id) + SELECT + vBookNumber, + n.bookEntried, + s.supplierAccount, + vTotalAmount, + n.conceptWithSupplier, + n.invoicesCount, + n.companyFk + FROM newInvoiceIn n + JOIN newSupplier s; + + -- ----------------------------------------------------------- Linea de Gastos + INSERT INTO vn2008.XDiario ( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + EUROHABER, + CONCEPTO, + NFACTICK, + empresa_id + ) + SELECT + vBookNumber ASIEN, + n.bookEntried FECHA, + if( + e.isWithheld, + LPAD(RIGHT(s.supplierAccount ,5),10,iit.expenceFk), + iit.expenceFk + ) SUBCTA, + s.supplierAccount CONTRA, + if( + e.isWithheld, + NULL, + ABS(ROUND(SUM(iit.taxableBase),2)) + ) EURODEBE, + if( + e.isWithheld, + ABS(ROUND(SUM(iit.taxableBase),2)), + NULL + ) EUROHABER, + n.conceptWithSupplier CONCEPTO, + n.invoicesCount NFACTICK, + n.companyFk empresa_id + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax iit ON iit.invoiceInFk = n.id + JOIN taxCode tc ON tc.id = iit.taxCodeFk + JOIN expence e ON e.id = iit.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE iit.expenceFk != 5660000002 + GROUP BY iit.expenceFk; + + + -- -------------------------------------------------------------------- + -- ------- Lineas de IVA --------------- + -- -------------------------------------------------------------------- + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EURODEBE, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + FECREGCON, + empresa_id + ) + SELECT vBookNumber ASIEN, + n.bookEntried FECHA, + tc.code SUBCTA, + s.supplierAccount CONTRA, + SUM(ROUND(tc.rate/100*it.taxableBase + 0.0001,2)) EURODEBE, + SUM(it.taxableBase) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tc.rate IVA, + IF(isUeeMember AND eWithheld.id IS NULL,'','*') AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + TRUE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + n.cplusTrascendency472Fk TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.booked FECREGCON, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + LEFT JOIN + (SELECT eWithheld.id + FROM invoiceInTax hold + JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld + WHERE hold.invoiceInFk = 58262 LIMIT 1 + ) eWithheld ON TRUE + WHERE tc.type != '-' + AND tc.isActive + GROUP BY tc.rate; + + -- Linea iva inversor sujeto pasivo + + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + AUXILIAR, + SERIE, + TIPOOPE, + FECHA_EX, + FECHA_OP, + NFACTICK, + FACTURAEX, + L340, + LRECT349, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + TERIDNIF, + TERNIF, + TERNOM, + empresa_id + ) + + SELECT + vBookNumber ASIEN, + n.bookEntried FECHA, + tcLink.code SUBCTA, + s.supplierAccount CONTRA, + ROUND(tcLink.rate/100*SUM(it.taxableBase) + 0.0001,2) EUROHABER, + ROUND(SUM(it.taxableBase),2) BASEEURO, + GROUP_CONCAT(DISTINCT e.`name` SEPARATOR ', ') CONCEPTO, + vSerialNumber FACTURA, + tcLink.rate IVA, + '*' AUXILIAR, + n.serial SERIE, + tt.TIPOOPE, + n.issued FECHA_EX, + n.operated FECHA_OP, + n.invoicesCount NFACTICK, + n.supplierRef FACTURAEX, + FALSE L340, + (isSameCountry OR NOT isUeeMember) LRECT349, + 1 TIPOCLAVE, + n.cplusTaxBreakFk TIPOEXENCI, + n.cplusSubjectOpFk TIPONOSUJE, + n.cplusInvoiceType472Fk TIPOFACT, + n.cplusRectificationTypeFk TIPORECTIF, + iis.cplusTerIdNifFk TERIDNIF, + s.nif AS TERNIF, + s.name AS TERNOM, + n.companyFk + + FROM newInvoiceIn n + JOIN newSupplier s + JOIN invoiceInTax it ON n.id = it.invoiceInFk + JOIN taxCode tc ON tc.id = it.taxCodeFk + JOIN taxType tt ON tt.id = tc.taxTypeFk + JOIN invoiceInSerial iis ON iis.code = tt.serial + JOIN taxCode tcLink ON tcLink.linkFk = tc.linkFk AND tc.id != tcLink.id + JOIN expence e ON e.id = it.expenceFk AND e.taxTypeFk = tc.taxTypeFk + WHERE tc.isActive + GROUP BY tcLink.rate, e.id; + +-- Actualización del registro original + UPDATE invoiceIn ii + JOIN newInvoiceIn ni ON ii.id = ni.id + SET + ii.serialNumber = vSerialNumber, + ii.isBooked = 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 `invoiceMakeByClient` */; +/*!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 `invoiceMakeByClient`(vClientFk INT, vSerial CHAR(1), vShipped DATE, vCompanyFk INT, OUT vInvoiceId INT) +BEGIN +/** + * Factura un ticket + * @param vTicketFk Id del ticket + * @param vSerial Serie de factura + * @return Id factura + */ + CALL invoiceFromClient(vShipped, vClientFk, vCompanyFk); + CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); + + IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN + CALL invoiceOutBooking(vInvoiceId); + INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); + 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 `invoiceMakeByTicket` */; +/*!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 `invoiceMakeByTicket`(vTicketFk INT, vSerial CHAR(1), OUT vInvoiceId INT) +BEGIN +/** + * Factura un ticket + * @param vTicketFk Id del ticket + * @param vSerial Serie de factura + * @return Id factura + */ + CALL invoiceFromTicket(vTicketFk); + CALL invoiceOutMake(vSerial, CURDATE(), vInvoiceId); + + IF vSerial <> 'R' AND NOT ISNULL(vInvoiceId) AND vInvoiceId <> 0 THEN + CALL invoiceOutBooking(vInvoiceId); + INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(1, 3, vInvoiceId); + 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 `invoiceOutAgain` */; +/*!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 `invoiceOutAgain`(IN vInvoiceRef VARCHAR(15)) +BEGIN + +/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. +* +* @param vInvoice Numero de factura +*/ + + DECLARE vInvoice INT; + DECLARE vCountry INT; + DECLARE vTaxArea VARCHAR(15); + DECLARE vSpainCountryCode INT DEFAULT 1; + + SELECT id + INTO vInvoice + FROM invoiceOut + WHERE ref = vInvoiceRef; + + UPDATE invoiceOut + SET pdf = 0 + WHERE id = vInvoice; + + SELECT s.countryFk + INTO vCountry + FROM supplier s + JOIN invoiceOut io ON io.companyFk = s.id + WHERE io.id = vInvoice; + /* + SELECT IF(a.isEqualizated + AND c.countryFk = vSpainCountryCode + AND i.taxAreaFk = 'NATIONAL', + 'EQU', + i.taxAreaFk) + INTO vTaxArea + FROM invoiceOutSerial i + JOIN invoiceOut io + JOIN ticket t ON t.refFk = io.ref + JOIN address a ON a.id = t.addressFk + JOIN client c ON c.id = t.clientFk + WHERE io.id = vInvoice AND i.code = invoiceSerial(io.clientFk,io.companyFk,'R') + LIMIT 1; + */ + DROP TEMPORARY TABLE IF EXISTS ticketToInvoice; + + CREATE TEMPORARY TABLE ticketToInvoice + SELECT id + FROM ticket + WHERE refFk = vInvoiceRef; + + CALL invoiceExpenceMake(vInvoice); + + -- CALL invoiceTaxMake(vInvoice,vCountry,vTaxArea); + CALL invoiceTaxMake(vInvoice,vCountry); + + UPDATE invoiceOut io + JOIN ( + SELECT SUM(amount) AS total + FROM invoiceOutExpence + WHERE invoiceOutFk = vInvoice + ) base + JOIN ( + SELECT SUM(vat) AS total + FROM invoiceOutTax + WHERE invoiceOutFk = vInvoice + ) vat + SET io.amount = base.total + vat.total + WHERE io.id = vInvoice; + + CALL vn.invoiceOutBooking(vInvoice); + + +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 `invoiceOutAgainDateRange` */; +/*!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 `invoiceOutAgainDateRange`(IN vFirstDate DATE, IN vLastDate DATE) +BEGIN + + DECLARE done BOOL DEFAULT FALSE; + DECLARE vInvoice INT; + DECLARE vInvoiceRef VARCHAR(15); + DECLARE vContador INT DEFAULT 0; + + DECLARE rs CURSOR FOR + SELECT id, ref + FROM vn.invoiceOut + WHERE issued BETWEEN vFirstDate AND vLastDate + AND booked IS NULL; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN rs; + + FETCH rs INTO vInvoice, vInvoiceRef; + + WHILE NOT done DO + + CALL vn.invoiceOutAgain(vInvoiceRef); + + FETCH rs INTO vInvoice, vInvoiceRef; + + SET vContador = vContador + 1; + + IF vContador MOD 50 = 0 THEN + + SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; + + END IF; + END WHILE; + + CLOSE rs; + + SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; +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 `invoiceOutBooking` */; +/*!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 `invoiceOutBooking`(IN vInvoice INT) +BEGIN + +/* Asienta la factura emitida +* +* param vInvoice factura_id +*/ + + DECLARE vBookNumber INT; + DECLARE vExpenceConcept VARCHAR(50); + DECLARE isUEENotSpain INT DEFAULT 1; + DECLARE vSpain INT DEFAULT 1; + DECLARE vOldBookNumber INT; + + SELECT ASIEN + INTO vOldBookNumber + FROM vn2008.XDiario x + JOIN vn.invoiceOut io ON io.id = vInvoice + WHERE x.SERIE = io.serial + AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) + LIMIT 1; + + DELETE + FROM vn2008.XDiario + WHERE ASIEN = vOldBookNumber; + + DROP TEMPORARY TABLE IF EXISTS rs; + CREATE TEMPORARY TABLE rs + SELECT + c.accountingAccount AS clientBookingAccount, + io.amount as totalAmount, + CONCAT('n/fra ', io.ref) as simpleConcept, + CONCAT('n/fra ', io.ref, ' ', c.name) as Concept, + io.serial AS SERIE, + io.issued AS FECHA_EX, + opDate.FECHA_OP, + io.issued AS FECHA, + 1 AS NFACTICK, + IF(ic.correctingFk,'D','') AS TIPOOPE, + io.cplusTrascendency477Fk AS TIPOCLAVE, + io.cplusTaxBreakFk AS TIPOEXENCI, + io.cplusSubjectOpFk AS TIPONOSUJE, + io.cplusInvoiceType477Fk AS TIPOFACT, + ic.cplusRectificationTypeFk AS TIPORECTIF, + io.companyFk, + RIGHT(io.ref, LENGTH(io.ref) - 1) AS invoiceNum, + IF(ct.politicalCountryFk = vSpain, 1, IF(ct.CEE = isUEENotSpain,2,4)) AS TERIDNIF, + CONCAT(IF(ct.CEE = isUEENotSpain,ct.code,''),c.fi) AS TERNIF, + c.socialName AS TERNOM, + ior.serial AS SERIE_RT, + RIGHT(ior.ref, LENGTH(ior.ref) - 1) AS FACTU_RT, + ior.issued AS FECHA_RT, + IF(ior.id,TRUE,FALSE) AS RECTIFICA + + FROM invoiceOut io + JOIN ( + SELECT GREATEST(MAX(shipped), TIMESTAMPADD(DAY,-15,io.issued)) as FECHA_OP + FROM ticket t + JOIN invoiceOut io ON io.ref = t.refFk + WHERE io.id = vInvoice ) opDate + JOIN invoiceOutSerial ios ON ios.code = io.serial + JOIN client c ON c.id = io.clientFk + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id + LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk + WHERE io.id = vInvoice; + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + -- Linea del cliente + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + EURODEBE, + CONCEPTO, + FECHA_EX, + FECHA_OP, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + rs.clientBookingAccount AS SUBCTA, + rs.totalAmount AS EURODEBE, + rs.simpleConcept AS CONCEPTO, + rs.FECHA_EX, + rs.FECHA_OP, + rs.companyFk AS empresa_id + FROM rs; + + -- Lineas de gasto + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + CONCEPTO, + FECHA_EX, + FECHA_OP, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + ioe.expenceFk AS SUBCTA, + rs.clientBookingAccount AS CONTRA, + ioe.amount AS EUROHABER, + rs.Concept AS CONCEPTO, + rs.FECHA_EX, + rs.FECHA_OP, + rs.companyFk AS empresa_id + FROM rs + JOIN invoiceOutExpence ioe + WHERE ioe.invoiceOutFk = vInvoice; + + SELECT GROUP_CONCAT(`name` SEPARATOR ',') + INTO vExpenceConcept + FROM expence e + JOIN invoiceOutExpence ioe ON ioe.expenceFk = e.id + WHERE ioe.invoiceOutFk = vInvoice; + + -- Lineas de IVA + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + RECEQUIV, + AUXILIAR, + SERIE, + SERIE_RT, + FACTU_RT, + RECTIFICA, + FECHA_RT, + FECHA_OP, + FECHA_EX, + TIPOOPE, + NFACTICK, + TERIDNIF, + TERNIF, + TERNOM, + L340, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + iot.pgcFk AS SUBCTA, + rs.clientBookingAccount AS CONTRA, + iot.vat AS EUROHABER, + iot.taxableBase AS BASEEURO, + CONCAT(vExpenceConcept,' : ',rs.Concept) AS CONCEPTO, + rs.invoiceNum AS FACTURA, + IF(pe2.equFk,0,pgc.rate) AS IVA, + IF(pe2.equFk,0,pgce.rate) AS RECEQUIV, + IF(pgc.mod347,'','*') AS AUXILIAR, + rs.SERIE, + rs.SERIE_RT, + rs.FACTU_RT, + rs.RECTIFICA, + rs.FECHA_RT, + rs.FECHA_OP, + rs.FECHA_EX, + rs.TIPOOPE, + rs.NFACTICK, + rs.TERIDNIF, + rs.TERNIF, + rs.TERNOM, + pgc.mod340 AS L340, + pgc.cplusTrascendency477Fk AS TIPOCLAVE, + pgc.cplusTaxBreakFk as TIPOEXENCI, + rs.TIPONOSUJE, + rs.TIPOFACT, + rs.TIPORECTIF, + rs.companyFk AS empresa_id + FROM rs + JOIN invoiceOutTax iot + JOIN pgc ON pgc.code = iot.pgcFk + LEFT JOIN pgcEqu pe ON pe.vatFk = iot.pgcFk -- --------------- Comprueba si la linea es de iva con rec.equiv. asociado + LEFT JOIN pgc pgce ON pgce.code = pe.equFk + LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv. + WHERE iot.invoiceOutFk = vInvoice; + + UPDATE invoiceOut + SET booked = CURDATE() + WHERE id = vInvoice; + + +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 `invoiceOutBookingkk` */; +/*!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 `invoiceOutBookingkk`(IN vInvoice INT) +BEGIN + +/* Asienta la factura emitida +* +* param vInvoice factura_id +*/ + + DECLARE vBookNumber INT; + DECLARE vExpenceConcept VARCHAR(50); + DECLARE isUEENotSpain INT DEFAULT 1; + DECLARE vOldBookNumber INT; + + SELECT ASIEN + INTO vOldBookNumber + FROM vn2008.XDiario x + JOIN vn.invoiceOut io ON io.id = vInvoice + WHERE x.SERIE = io.serial + AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) + LIMIT 1; + + DELETE + FROM vn2008.XDiario + WHERE ASIEN = vOldBookNumber; + + SELECT MAX(ASIEN) + 1 + INTO vBookNumber + FROM vn2008.XDiario; + + DROP TEMPORARY TABLE IF EXISTS rs; + CREATE TEMPORARY TABLE rs + SELECT + c.accountingAccount AS clientBookingAccount, + io.amount as totalAmount, + CONCAT('n/fra ', io.ref) as simpleConcept, + CONCAT('n/fra ', io.ref, ' ', c.name) as Concept, + io.serial AS SERIE, + io.issued AS FECHA_EX, + opDate.FECHA_OP, + io.issued AS FECHA, + 1 AS NFACTICK, + IF(ic.correctingFk,'D','') AS TIPOOPE, + io.cplusTrascendency477Fk AS TIPOCLAVE, + io.cplusTaxBreakFk AS TIPOEXENCI, + io.cplusSubjectOpFk AS TIPONOSUJE, + io.cplusInvoiceType477Fk AS TIPOFACT, + ic.cplusRectificationTypeFk AS TIPORECTIF, + io.companyFk, + RIGHT(io.ref, LENGTH(io.ref) - 1) AS invoiceNum, + IF(ct.CEE = 0, 1, IF(ct.CEE = isUEENotSpain,2,4)) AS TERIDNIF, + CONCAT(IF(ct.CEE = isUEENotSpain,ct.code,''),c.fi) AS TERNIF, + c.socialName AS TERNOM, + ior.serial AS SERIE_RT, + RIGHT(ior.ref, LENGTH(ior.ref) - 1) AS FACTU_RT, + ior.issued AS FECHA_RT, + IF(ior.id,TRUE,FALSE) AS RECTIFICA + + FROM invoiceOut io + JOIN ( + SELECT MAX(shipped) as FECHA_OP + FROM ticket t + JOIN invoiceOut io ON io.ref = t.refFk + WHERE io.id = vInvoice ) opDate + JOIN invoiceOutSerial ios ON ios.code = io.serial + JOIN client c ON c.id = io.clientFk + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id + LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk + WHERE io.id = vInvoice; + + -- Linea del cliente + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + EURODEBE, + CONCEPTO, + FECHA_EX, + FECHA_OP, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + rs.clientBookingAccount AS SUBCTA, + rs.totalAmount AS EURODEBE, + rs.simpleConcept AS CONCEPTO, + rs.FECHA_EX, + rs.FECHA_OP, + rs.companyFk AS empresa_id + FROM rs; + + -- Lineas de gasto + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + CONCEPTO, + FECHA_EX, + FECHA_OP, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + ioe.expenceFk AS SUBCTA, + rs.clientBookingAccount AS CONTRA, + ioe.amount AS EUROHABER, + rs.Concept AS CONCEPTO, + rs.FECHA_EX, + rs.FECHA_OP, + rs.companyFk AS empresa_id + FROM rs + JOIN invoiceOutExpence ioe + WHERE ioe.invoiceOutFk = vInvoice; + + SELECT GROUP_CONCAT(`name` SEPARATOR ',') + INTO vExpenceConcept + FROM expence e + JOIN invoiceOutExpence ioe ON ioe.expenceFk = e.id + WHERE ioe.invoiceOutFk = vInvoice; + + -- Lineas de IVA + INSERT INTO vn2008.XDiario( + ASIEN, + FECHA, + SUBCTA, + CONTRA, + EUROHABER, + BASEEURO, + CONCEPTO, + FACTURA, + IVA, + RECEQUIV, + AUXILIAR, + SERIE, + SERIE_RT, + FACTU_RT, + RECTIFICA, + FECHA_RT, + FECHA_OP, + FECHA_EX, + TIPOOPE, + NFACTICK, + TERIDNIF, + TERNIF, + TERNOM, + L340, + TIPOCLAVE, + TIPOEXENCI, + TIPONOSUJE, + TIPOFACT, + TIPORECTIF, + empresa_id + ) + SELECT + vBookNumber AS ASIEN, + rs.FECHA, + iot.pgcFk AS SUBCTA, + rs.clientBookingAccount AS CONTRA, + iot.vat AS EUROHABER, + iot.taxableBase AS BASEEURO, + CONCAT(vExpenceConcept,' : ',rs.Concept) AS CONCEPTO, + rs.invoiceNum AS FACTURA, + IF(pe2.equFk,0,pgc.rate) AS IVA, + IF(pe2.equFk,0,pgce.rate) AS RECEQUIV, + IF(pgc.mod347,'','*') AS AUXILIAR, + rs.SERIE, + rs.SERIE_RT, + rs.FACTU_RT, + rs.RECTIFICA, + rs.FECHA_RT, + rs.FECHA_OP, + rs.FECHA_EX, + rs.TIPOOPE, + rs.NFACTICK, + rs.TERIDNIF, + rs.TERNIF, + rs.TERNOM, + pgc.mod340 AS L340, + pgc.cplusTrascendency477Fk AS TIPOCLAVE, + pgc.cplusTaxBreakFk as TIPOEXENCI, + rs.TIPONOSUJE, + rs.TIPOFACT, + rs.TIPORECTIF, + rs.companyFk AS empresa_id + FROM rs + JOIN invoiceOutTax iot + JOIN pgc ON pgc.code = iot.pgcFk + LEFT JOIN pgcEqu pe ON pe.vatFk = iot.pgcFk -- --------------- Comprueba si la linea es de iva con rec.equiv. asociado + LEFT JOIN pgc pgce ON pgce.code = pe.equFk + LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv. + WHERE iot.invoiceOutFk = vInvoice; + + UPDATE invoiceOut + SET booked = CURDATE() + WHERE id = vInvoice; + + +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 `invoiceOutBookingRange` */; +/*!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 `invoiceOutBookingRange`() +BEGIN + +/* Reasentar facturas +*/ + + + DECLARE vInvoice INT; + DECLARE vContador INT DEFAULT 0; + + DECLARE done BOOL DEFAULT FALSE; + + DECLARE rs CURSOR FOR + SELECT io.id + FROM invoiceOut io + WHERE RIGHT(ref,7) BETWEEN 1724215 AND 1724224 + AND serial = 'T'; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN rs; + + FETCH rs INTO vInvoice; + + WHILE NOT done DO + + CALL invoiceOutBooking(vInvoice); + + FETCH rs INTO vInvoice ; + + SET vContador = vContador + 1; + + IF vContador MOD 50 = 0 THEN + + SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; + + END IF; + + END WHILE; + + CLOSE rs; + + SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; + +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 `invoiceOutDelete` */; +/*!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 `invoiceOutDelete`(vRef VARCHAR(15)) +BEGIN + + UPDATE ticket + SET refFk = NULL + WHERE refFk = vRef; + + DELETE + FROM invoiceOut + WHERE ref = vRef; + +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 `invoiceOutFix_BI_RE_IVA` */; +/*!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 `invoiceOutFix_BI_RE_IVA`() +BEGIN + +DECLARE done BOOL DEFAULT FALSE; +DECLARE vInvoice INT; + +DECLARE rs CURSOR FOR + SELECT factura_id + FROM vn2008.Facturas + WHERE Importe != BI7 + BI16 + RE4 + RE1 + IVA7 + IVA16 + AND Fecha >= '2017-07-01'; + +DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + +OPEN rs; + +FETCH rs INTO vInvoice; + +SELECT vInvoice, done; + +WHILE NOT done DO + + UPDATE invoiceOut io + JOIN ( + SELECT SUM(amount) AS total + FROM invoiceOutExpence + WHERE invoiceOutFk = vInvoice + ) base + JOIN ( + SELECT SUM(vat) AS total + FROM invoiceOutTax + WHERE invoiceOutFk = vInvoice + ) vat + SET io.amount = base.total + vat.total + WHERE io.id = vInvoice; + + UPDATE vn2008.Facturas + SET BI16 = 0, + BI7 = 0, + RE1 = 0, + RE4 = 0, + IVA7 = 0, + IVA16 = 0 + WHERE factura_id = vInvoice; + + UPDATE vn2008.Facturas f + JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id + SET f.BI16 = iot.taxableBase, f.IVA16 = iot.vat + WHERE f.factura_id = vInvoice + AND iot.pgcFk IN ('4770000021' ,'4770000215', '4770000002','4771000000','4770000000','4770000020'); + + UPDATE vn2008.Facturas f + JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id + SET f.RE4 = iot.vat + WHERE f.factura_id = vInvoice + AND iot.pgcFk = '4770000521'; + + UPDATE vn2008.Facturas f + JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id + SET f.BI7 = iot.taxableBase, f.IVA7 = iot.vat + WHERE f.factura_id = vInvoice + AND iot.pgcFk IN ('4770000010' ,'4770000101'); + + UPDATE vn2008.Facturas f + JOIN invoiceOutTax iot ON iot.invoiceOutFk = f.factura_id + SET f.RE1 = iot.vat + WHERE f.factura_id = vInvoice + AND iot.pgcFk = '4770000110'; + +FETCH rs INTO vInvoice; + +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 `invoiceOutListByCompany` */; +/*!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 `invoiceOutListByCompany`(vCompany INT, vStarted DATE, vEnded DATE) +BEGIN + +SELECT + c.socialName as RazonSocial, + c.fi as NIF, + io.ref as Factura, + io.serial as Serie, + io.issued as Fecha, + io.amount as Importe, + c.id as Id_Cliente, + iot.taxableBase as Base, + pgc.rate as Tipo, + iot.vat as Cuota, + pgc.name as Concepto + + FROM vn.invoiceOut io + JOIN vn.invoiceOutTax iot ON iot.invoiceOutFk = io.id + JOIN vn.client c ON c.id = io.clientFk + JOIN vn.pgc ON pgc.code = iot.pgcFk + WHERE io.companyFk = vCompany + AND io.issued BETWEEN vStarted AND vEnded + ORDER BY io.ref DESC; + +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 `invoiceOutMake` */; +/*!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 `invoiceOutMake`( + vSerial VARCHAR(255), + vInvoiceDate DATETIME, + OUT vNewInvoiceId INT) +BEGIN + +/* Creación de facturas emitidas. +* REQUIERE previamente tabla ticketToInvoice. +* +* @param vSerial, vInvoiceDate, vCompany, vClient +* +* @return vNewInvoiceId +*/ + + DECLARE vSpainCountryCode INT DEFAULT 1; + DECLARE vIsAnySaleToInvoice BOOL; + DECLARE vCountry TINYINT DEFAULT 1; + DECLARE vNewRef VARCHAR(255); + DECLARE vWorker INT DEFAULT vn.getWorker(); + DECLARE vCompany INT; + DECLARE vClient INT; + DECLARE vCplusStandardInvoiceTypeFk INT DEFAULT 1; + DECLARE vCplusCorrectingInvoiceTypeFk INT DEFAULT 6; + DECLARE vCplusSimplifiedInvoiceTypeFk INT DEFAULT 2; + DECLARE vCorrectingSerial VARCHAR(1) DEFAULT 'R'; + DECLARE vSimplifiedSerial VARCHAR(1) DEFAULT 'S'; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN + ROLLBACK; + RESIGNAL; + END; + + SET vInvoiceDate = IFNULL(vInvoiceDate,CURDATE()); + + SELECT t.clientFk, t.companyFk + INTO vClient, vCompany + FROM ticketToInvoice tt + JOIN ticket t ON t.id = tt.id + LIMIT 1; + + START TRANSACTION; + + -- Elimina tickets sense moviments +/* UPDATE ticket t + JOIN ticketToInvoice ti ON ti.id = t.id + LEFT JOIN sale s ON s.ticketFk = ti.id + LEFT JOIN expedition e ON e.ticketFk = t.id + LEFT JOIN ticketPackaging tp ON tp.ticketFk = t.id + SET t.shipped = '2000-02-01 00:00:00' + WHERE s.ticketFk IS NULL AND e.ticketFk IS NULL AND e.ticketFk IS NULL; +*/ + -- Eliminem de ticketToInvoice els tickets que no han de ser facturats + DELETE ti.* + FROM ticketToInvoice ti + JOIN ticket t ON t.id = ti.id + JOIN client c ON c.id = t.clientFk + WHERE YEAR(t.shipped) < 2001 + OR c.isTaxDataChecked = FALSE; + + SELECT SUM(quantity * price * (100 - discount)/100) + INTO vIsAnySaleToInvoice + FROM sale s + JOIN ticketToInvoice t on t.id = s.ticketFk; + + IF vIsAnySaleToInvoice THEN + + -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial + -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial + INSERT INTO invoiceOut + ( + ref, + serial, + issued, + clientFk, + dued, + companyFk, + cplusInvoiceType477Fk + ) + SELECT + 1, + vSerial, + vInvoiceDate, + vClient, + getDueDate(vInvoiceDate, dueDay), + vCompany, + IF(vSerial = vCorrectingSerial, + vCplusCorrectingInvoiceTypeFk, + IF(vSerial = vSimplifiedSerial, + vCplusSimplifiedInvoiceTypeFk, + vCplusStandardInvoiceTypeFk)) + FROM client + WHERE id = vClient; + + + SET vNewInvoiceId = LAST_INSERT_ID(); + + SELECT ref + INTO vNewRef + FROM invoiceOut + WHERE id = vNewInvoiceId; + + UPDATE ticket t + JOIN ticketToInvoice ti ON ti.id = t.id + SET t.refFk = vNewRef; + + DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; + CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY + SELECT s.id,ti.id ticket_id,vWorker Id_Trabajador + FROM ticketToInvoice ti + JOIN vn.ticketState ts ON ti.id = ts.ticket + JOIN state s + WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.id); + + INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) + SELECT * FROM tmp.updateInter; + + + INSERT INTO ticketLog (action, userFk,originFk, description) + SELECT 'UPDATE',account.userGetId(),ti.id, CONCAT('Crea factura ',vNewRef) + FROM ticketToInvoice ti; + + CALL invoiceExpenceMake(vNewInvoiceId); + CALL invoiceTaxMake(vNewInvoiceId,vCountry); + + UPDATE invoiceOut io + JOIN ( + SELECT SUM(amount) AS total + FROM invoiceOutExpence + WHERE invoiceOutFk = vNewInvoiceId + ) base + JOIN ( + SELECT SUM(vat) AS total + FROM invoiceOutTax + WHERE invoiceOutFk = vNewInvoiceId + ) vat + SET io.amount = base.total + vat.total + WHERE io.id = vNewInvoiceId; + + END IF; + + DROP TEMPORARY TABLE `ticketToInvoice`; + 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 `invoiceOutMakekk` */; +/*!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 `invoiceOutMakekk`( + vSerial VARCHAR(255), + vInvoiceDate DATETIME, + OUT vNewInvoiceId INT) +BEGIN + +/* Creación de facturas emitidas. +* REQUIERE previamente tabla ticketToInvoice. +* +* @param vSerial, vInvoiceDate, vCompany, vClient +* +* @return vNewInvoiceId +*/ + + DECLARE vSpainCountryCode INT DEFAULT 1; + DECLARE vIsAnySaleToInvoice BOOL; + DECLARE vCountry TINYINT DEFAULT 1; + DECLARE vTaxArea VARCHAR(15); + DECLARE vNewRef VARCHAR(255); + DECLARE vWorker INT DEFAULT vn.getWorker(); + DECLARE vCompany INT; + DECLARE vClient INT; + DECLARE vCplusStandardInvoiceTypeFk INT DEFAULT 1; + DECLARE vCplusCorrectingInvoiceTypeFk INT DEFAULT 6; + DECLARE vCorrectingSerial VARCHAR(1) DEFAULT 'R'; + + DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN + ROLLBACK; + RESIGNAL; + END; + + SET vInvoiceDate = IFNULL(vInvoiceDate,CURDATE()); + + SELECT t.clientFk, t.companyFk + INTO vClient, vCompany + FROM ticketToInvoice tt + JOIN ticket t ON t.id = tt.id + LIMIT 1; + + SELECT countryFk + INTO vCountry + FROM supplier + WHERE id = vCompany; + + SELECT IF(a.isEqualizated + AND c.countryFk = vSpainCountryCode + AND i.taxAreaFk = 'NATIONAL', + 'EQU', + i.taxAreaFk) + INTO vTaxArea + FROM invoiceOutSerial i + JOIN ticketToInvoice tti + JOIN ticket t ON t.id = tti.id + JOIN address a ON a.id = t.addressFk + JOIN client c ON c.id = t.clientFk + WHERE i.code = invoiceSerial(t.clientFk,t.companyFk,'R') + LIMIT 1; + + START TRANSACTION; + + -- Elimina tickets sense moviments +/* UPDATE ticket t + JOIN ticketToInvoice ti ON ti.id = t.id + LEFT JOIN sale s ON s.ticketFk = ti.id + LEFT JOIN expedition e ON e.ticketFk = t.id + LEFT JOIN ticketPackaging tp ON tp.ticketFk = t.id + SET t.shipped = '2000-02-01 00:00:00' + WHERE s.ticketFk IS NULL AND e.ticketFk IS NULL AND e.ticketFk IS NULL; +*/ + -- Eliminem de ticketToInvoice els tickets que no han de ser facturats + DELETE ti.* + FROM ticketToInvoice ti + JOIN ticket t ON t.id = ti.id + JOIN client c ON c.id = t.clientFk + WHERE YEAR(t.shipped) < 2001 + OR c.isTaxDataChecked = FALSE; + + SELECT SUM(quantity * price * (100 - discount)/100) + INTO vIsAnySaleToInvoice + FROM sale s + JOIN ticketToInvoice t on t.id = s.ticketFk; + + IF vIsAnySaleToInvoice THEN + + -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial + -- el trigger añade el siguiente Id_Factura correspondiente a la vSerial + INSERT INTO invoiceOut + ( + ref, + serial, + issued, + clientFk, + dued, + companyFk, + cplusInvoiceType477Fk + ) + SELECT + 1, + vSerial, + vInvoiceDate, + vClient, + getDueDate(vInvoiceDate, dueDay), + vCompany, + IF(vSerial = vCorrectingSerial, vCplusCorrectingInvoiceTypeFk, vCplusStandardInvoiceTypeFk) + FROM client + WHERE id = vClient; + + + SET vNewInvoiceId = LAST_INSERT_ID(); + + SELECT ref + INTO vNewRef + FROM invoiceOut + WHERE id = vNewInvoiceId; + + UPDATE ticket t + JOIN ticketToInvoice ti ON ti.id = t.id + SET t.refFk = vNewRef; + + DROP TEMPORARY TABLE IF EXISTS tmp.updateInter; + CREATE TEMPORARY TABLE tmp.updateInter ENGINE = MEMORY + SELECT s.id,ti.id ticket_id,vWorker Id_Trabajador + FROM ticketToInvoice ti + JOIN vn.ticketState ts ON ti.id = ts.ticket + JOIN state s + WHERE IFNULL(ts.alertLevel,0) < 3 and s.`code` = vn.getAlert3State(ti.id); + + INSERT INTO vncontrol.inter(state_id,Id_Ticket,Id_Trabajador) + SELECT * FROM tmp.updateInter; + + + INSERT INTO ticketLog (action, userFk,originFk, description) + SELECT 'UPDATE',account.userGetId(),ti.id, CONCAT('Crea factura ',vNewRef) + FROM ticketToInvoice ti; + + CALL invoiceExpenceMake(vNewInvoiceId); + CALL invoiceTaxMake(vNewInvoiceId,vCountry,vTaxArea); + + UPDATE invoiceOut io + JOIN ( + SELECT SUM(amount) AS total + FROM invoiceOutExpence + WHERE invoiceOutFk = vNewInvoiceId + ) base + JOIN ( + SELECT SUM(vat) AS total + FROM invoiceOutTax + WHERE invoiceOutFk = vNewInvoiceId + ) vat + SET io.amount = base.total + vat.total + WHERE io.id = vNewInvoiceId; + + END IF; + + DROP TEMPORARY TABLE `ticketToInvoice`; + 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 `invoiceOutTaxAndExpence` */; +/*!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 `invoiceOutTaxAndExpence`() +BEGIN + +/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. +* +* @param vInvoice Numero de factura +*/ + + + + DECLARE vInvoice INT; + DECLARE vInvoiceRef VARCHAR(15); + DECLARE vCountry INT; + DECLARE vTaxArea VARCHAR(15); + DECLARE vContador INT DEFAULT 0; + + DECLARE done BOOL DEFAULT FALSE; + + DECLARE rs CURSOR FOR + SELECT id,ref + FROM invoiceOut io + + WHERE issued >= '2017-07-01' + AND companyFk = 1381 + AND io.amount IS NULL + ; + + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; + + OPEN rs; + + FETCH rs INTO vInvoice ,vInvoiceRef; + + WHILE NOT done DO + + SELECT s.countryFk + INTO vCountry + FROM supplier s + JOIN invoiceOut io ON io.companyFk = s.id + WHERE io.id = vInvoice; + + SELECT IF(c.isEqualizated AND i.taxAreaFk = 'NATIONAL','EQU',i.taxAreaFk) + INTO vTaxArea + FROM invoiceOutSerial i + JOIN invoiceOut io ON io.serial = i.code + JOIN client c ON c.id = io.clientFk + WHERE io.id = vInvoice; + + DROP TEMPORARY TABLE IF EXISTS ticketToInvoice; + + CREATE TEMPORARY TABLE ticketToInvoice + SELECT id + FROM ticket + WHERE refFk = vInvoiceRef; + + CALL invoiceExpenceMake(vInvoice); + CALL invoiceTaxMake(vInvoice,vCountry,vTaxArea); + + FETCH rs INTO vInvoice ,vInvoiceRef; + + SET vContador = vContador + 1; + + IF vContador MOD 50 = 0 THEN + + SELECT CONCAT(vContador, ' de momento') AS FACTURAS_ASENTADAS; + + END IF; + + END WHILE; + + CLOSE rs; + + SELECT CONCAT(vContador, ' total') AS FACTURAS_ASENTADAS; + +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 `invoiceTaxMake` */; +/*!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 `invoiceTaxMake`(IN vInvoice INT, IN vCountry INT) +BEGIN + + DELETE FROM invoiceOutTax + WHERE invoiceOutFk = vInvoice; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + (KEY (ticketFk)) + ENGINE = MEMORY + SELECT id ticketFk + FROM ticketToInvoice; + + CALL ticketGetTax(); + + INSERT INTO invoiceOutTax( + invoiceOutFk, + pgcFk, + taxableBase, + vat + ) + SELECT vInvoice, + pgcFk, + SUM(taxableBase), + SUM(tax) + FROM tmp.ticketTax + GROUP BY pgcFk; + + DROP TEMPORARY TABLE tmp.ticket; + DROP TEMPORARY TABLE tmp.ticketTax; + DROP TEMPORARY TABLE tmp.ticketAmount; +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 `invoiceTaxMakekk` */; +/*!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 `invoiceTaxMakekk`(IN vInvoice INT, IN vCountry INT, IN vTaxArea VARCHAR(15)) +BEGIN +/* Inserta los registros de iva de la factura emitida +* REQUIERE tabla ticketToInvoice +* +* @param vInvoice Id de la factura +*/ + + DELETE FROM invoiceOutTax + WHERE invoiceOutFk = vInvoice; + + INSERT INTO invoiceOutTax( + invoiceOutFk, + pgcFk, + taxableBase, + vat + ) + SELECT vInvoice, + bp.pgcFk, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) taxableBase, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) * pgc.rate / 100 + FROM ticketToInvoice t + JOIN sale s ON s.ticketFk = t.id + JOIN item i ON i.id = s.itemFk + JOIN itemTaxCountry itc + ON itc.itemFk = i.id AND itc.countryFk = vCountry + JOIN bookingPlanner bp + ON bp.countryFk = vCountry + AND bp.taxAreaFk = vTaxArea + AND bp.taxClassFk = itc.taxClassFk + JOIN pgc ON pgc.code = bp.pgcFk + GROUP BY pgc.code + HAVING taxableBase != 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 `itemTagArrangedUpdate` */; +ALTER DATABASE `vn` 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 `itemTagArrangedUpdate`(IN vItem BIGINT) +BEGIN +/** + * Actualiza la tabla itemTagArranged + * + * @param vItem El Id_item de toda la vida. Si es cero, equivale a todos. + **/ + DELETE + FROM itemTagArranged + WHERE vItem IS NULL + OR vItem = itemFk; + + INSERT INTO itemTagArranged(itemFk) + SELECT id + FROM item + WHERE vItem IS NULL + OR vItem = id; + + REPLACE itemTagArranged + SELECT i.id, + 'Medida' as tag1, + LEFT(i.size,15) as val1, + 'Color' as tag2, + LEFT(ink.`name`,15) as val2, + 'Categoria' as tag3, + LEFT(i.category,15) as val3, + 'Productor' as tag4, + LEFT(p.`name`,15) as val4, + 'Tallos' as tag5, + i.stems as val5, + 'Origen' as tag6, + o.code as val6, + i.description + FROM item i + LEFT JOIN itemTagged it ON it.itemFk = i.id + LEFT JOIN ink on ink.id = i.inkFk + JOIN origin o ON o.id = i.originFk + LEFT JOIN producer p ON p.id = i.producerFk + WHERE it.itemFk IS NULL + AND (vItem IS NULL OR vItem = i.id); + + CALL itemTagUpdatePriority(vItem); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag1 = t.name, val1 = it.value + WHERE it.priority = 1 + AND (vItem IS NULL OR vItem = it.itemFk); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag2 = t.name, val2 = it.value + WHERE it.priority = 2 + AND (vItem IS NULL OR vItem = it.itemFk); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag3 = t.name, val3 = it.value + WHERE it.priority = 3 + AND (vItem IS NULL OR vItem = it.itemFk); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag4 = t.name, val4 = it.value + WHERE it.priority = 4 + AND (vItem IS NULL OR vItem = it.itemFk); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag5 = t.name, val5 = it.value + WHERE it.priority = 5 + AND (vItem IS NULL OR vItem = it.itemFk); + + UPDATE itemTagArranged ita + JOIN itemTag it ON it.itemFk = ita.itemFk + JOIN tag t ON t.id = it.tagFk + SET tag6 = t.name, val6 = it.value + WHERE it.priority = 6 + AND (vItem IS NULL OR vItem = it.itemFk); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `itemTagMake` */; +/*!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 `itemTagMake`(vItemFk INT) +BEGIN + + DELETE FROM itemTag WHERE itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, CONCAT(val1,' cm'), 1 + FROM itemTagArranged ita + JOIN tag t ON t.name = 'Longitud' COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, val2, 2 + FROM itemTagArranged ita + JOIN tag t ON t.name = ita.tag2 COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, val3, 3 + FROM itemTagArranged ita + JOIN tag t ON t.name = ita.tag3 COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, val4, 4 + FROM itemTagArranged ita + JOIN tag t ON t.name = ita.tag4 COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, val5, 5 + FROM itemTagArranged ita + JOIN tag t ON t.name = ita.tag5 COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT vItemFk, t.id, val6, 6 + FROM itemTagArranged ita + JOIN tag t ON t.name = ita.tag6 COLLATE utf8_general_ci + WHERE ita.itemFk = vItemFk; + + CALL itemTagArrangedUpdate(vItemFk); + +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 `itemTagUpdatePriority` */; +ALTER DATABASE `vn` 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 `itemTagUpdatePriority`(IN vItem INT) +BEGIN +/* +* Recalcula las prioridades de articleTag +* +* @param vItem Id_Article. Si es 0, lo recalcula todo +*/ + + SET vItem = IFNULL(vItem,0); + + SET @p := 0; + SET @a := 0; + + UPDATE itemTag a + JOIN ( + SELECT + id, + @p := IF(itemFk = @a, @p, 0) + 1 as NewPriority, + @a := itemFk + FROM itemTag + WHERE vItem IS NULL + OR vItem = itemFk + ORDER BY itemFk, priority + ) sub ON sub.id = a.id + SET a.priority = NewPriority; + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `itemTagUpdatePriority_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 `itemTagUpdatePriority_launcher`() +BEGIN + + CALL vn.itemTagUpdatePriority(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 `logAdd` */; +/*!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 `logAdd`(vOriginFk INT, vActionCode VARCHAR(45), vEntity VARCHAR(45), vDescription TEXT) +BEGIN +/** + * Guarda las acciones realizadas por el usuario + * + * @param vOriginFk Id del registro de origen + * @param vActionCode Código de la acción {insert | delete | update} + * @param vEntity Nombre que hace referencia a la tabla. + * @param descripcion Descripción de la acción realizada por el usuario + */ + DECLARE vTableName VARCHAR(45); + + SET vTableName = CONCAT(vEntity, 'Log'); + + SET @qryLog := CONCAT( + 'INSERT INTO ', vTableName, ' (originFk, userFk, action, description)', + ' VALUES (', vOriginFk, ', ', account.userGetId(), ', "', vActionCode, '", "', vDescription, '")' + ); + + PREPARE stmt FROM @qryLog; + EXECUTE stmt; +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 `logShow` */; +/*!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 `logShow`(vOriginFk INT, vEntity VARCHAR(45)) +BEGIN +/** + * Muestra las acciones realizadas por el usuario + * + * @param vOriginFk Id del registro de origen + * @param vEntity Nombre que hace referencia a la tabla. + */ + DECLARE vTableName VARCHAR(45); + + SET vTableName = CONCAT(vEntity, 'Log'); + + SET @qryLog := CONCAT( + 'SELECT ot.id, ot.originFk, ot.userFk, u.name, ot.action, ot.creationDate, ot.description FROM ', vTableName, ' AS ot', + ' INNER JOIN account.user u ON u.id = ot.userFk', + ' WHERE ot.originFk = ', vOriginFk, ' ORDER BY ot.creationDate DESC' + ); + + PREPARE stmt FROM @qryLog; + EXECUTE stmt; +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 `mergeTicketUnattended` */; +ALTER DATABASE `vn` 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 `mergeTicketUnattended`(IN vMainTicket INT(11), IN hasSameAgency BOOLEAN) +BEGIN + + DECLARE isBilled BOOLEAN; + DECLARE arrayTickets VARCHAR(255); + + SELECT Factura IS NOT NULL INTO isBilled FROM vn2008.Tickets WHERE Id_Ticket = vMainTicket; + + IF NOT isBilled THEN + + SELECT GROUP_CONCAT(distinct T.Id_Ticket) INTO arrayTickets + FROM vn2008.Tickets T LEFT JOIN vn.ticketState ts ON T.Id_Ticket = ts.ticket + JOIN vn2008.Tickets ticketOriginal ON ticketOriginal.Id_Ticket = vMainTicket + AND T.empresa_id = ticketOriginal.empresa_id + AND T.Id_Consigna = ticketOriginal.Id_Consigna + AND DATE(T.Fecha) = DATE(ticketOriginal.Fecha) + AND T.warehouse_id = ticketOriginal.warehouse_id + AND IF(hasSameAgency <> 0,T.Id_Agencia = ticketOriginal.Id_Agencia,TRUE) + LEFT JOIN vn.ticketState tsOriginal ON ticketOriginal.Id_Ticket = tsOriginal.ticket + WHERE ts.alertLevel < 3 + AND T.Factura IS NULL + AND T.Anotadoencaja = FALSE + AND T.Id_Ticket <> vMainTicket + AND ts.alertLevel = tsOriginal.alertLevel; + + CALL mergeTicketWithArray(vMainTicket,arrayTickets); + + 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `mergeTicketWithArray` */; +/*!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 `mergeTicketWithArray`(IN vMainTicket INT(11), IN arrayTickets VARCHAR(50)) +BEGIN + + DECLARE isBilled BOOLEAN; + DECLARE messageLog VARCHAR(50); + DECLARE company INT; + DECLARE messageForSplit VARCHAR(255); + DECLARE vMainSplit INT; + DECLARE worker INT(3); + + SELECT Factura IS NOT NULL INTO isBilled FROM vn2008.Tickets WHERE Id_Ticket = vMainTicket; + + IF NOT isBilled THEN + + SELECT Id_Trabajador INTO worker from vn2008.Trabajadores where user_id = account.userGetId(); + IF worker IS NULL THEN + SET worker = 20; + END IF; + + DROP TEMPORARY TABLE IF EXISTS vn2008.Tickets_to_fusion; + + -- He usado el util.exec porque da error la variable strId_Tickets puesta dentro del IN() + CALL util.exec(sql_printf(' + CREATE TEMPORARY TABLE vn2008.Tickets_to_fusion + SELECT Id_Ticket, Localizacion + FROM vn2008.Tickets T + WHERE Id_Ticket IN (%s);',arrayTickets)); + + INSERT INTO vn2008.ticket_observation (Id_Ticket,observation_type_id,text) + SELECT vMainTicket,observation_type_id,CONCAT(' Ticket ', Id_Ticket, ':' , tco.text, '. ') + FROM vn2008.Tickets_to_fusion tf + INNER JOIN vn2008.ticket_observation tco USING(Id_Ticket) + ON DUPLICATE KEY UPDATE `text` = CONCAT(ticket_observation.`text`,CONCAT(' Ticket ', VALUES(Id_Ticket), ':' , VALUES(`text`), '. ')); + + UPDATE vn2008.Movimientos M + JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) + SET M.Id_Ticket = vMainTicket; + + UPDATE vn2008.expeditions M + JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = M.ticket_id + SET M.ticket_id = vMainTicket; + + UPDATE vn.ticketPackaging tp + JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = tp.ticketFk + SET tp.ticketFk = vMainTicket; + + UPDATE vn2008.Tickets + SET Bultos = (SELECT COUNT(*) FROM vn2008.expeditions WHERE ticket_id = vMainTicket AND EsBulto) + WHERE Id_Ticket = vMainTicket; + + UPDATE vn2008.Tickets + JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) + SET Fecha = TIMESTAMPADD(YEAR,-1 * (YEAR(Fecha)-2000), Fecha); + + UPDATE vn2008.Tickets_dits ts + JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket) + SET ts.Id_Ticket = vMainTicket; + + UPDATE vn2008.Tickets + SET Localizacion = CONCAT(Tickets.Localizacion,' ',IFNULL((SELECT GROUP_CONCAT(Localizacion SEPARATOR ' ') FROM vn2008.Tickets_to_fusion),'')) + WHERE Id_Ticket = vMainTicket; + + UPDATE vn2008.Splits s + RIGHT JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket) + SET s.Id_Ticket = vMainTicket; + + IF (SELECT COUNT(*) FROM vn2008.Splits WHERE Id_Ticket=vMainTicket) > 1 THEN + + SELECT Id_Split INTO vMainSplit FROM vn2008.Splits WHERE Id_Ticket = vMainTicket LIMIT 1; + + SELECT group_concat(Notas,',') INTO messageForSplit FROM vn2008.Splits WHERE Id_Ticket = vMainTicket; + UPDATE vn2008.Splits SET Notas = messageForSplit WHERE Id_Split=vMainSplit; + UPDATE vn2008.Split_lines sl JOIN vn2008.Splits s USING (Id_Split) SET sl.Id_Split=vMainSplit WHERE Id_Ticket=vMainTicket; + DELETE FROM vn2008.Splits WHERE Id_Ticket=vMainTicket AND Id_Split<>vMainSplit; + END IF; + + SELECT GROUP_CONCAT(Id_Ticket SEPARATOR ',') into messageLog FROM vn2008.Tickets_to_fusion; + CALL vn2008.Ditacio(vMainTicket,'Fusion','T',worker,messageLog,NULL); + + DELETE ts FROM vn2008.Tickets_state ts JOIN vn2008.Tickets_to_fusion t USING(Id_Ticket); + /* + UPDATE vncontrol.inter M + JOIN vn2008.Tickets_to_fusion USING(Id_Ticket) + SET M.Id_Ticket = vMainTicket; + */ + 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 `nestAdd` */; +/*!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 `nestAdd`(vScheme VARCHAR(45), vTable VARCHAR(45), vParentFk INT, vChild VARCHAR(45)) +BEGIN + DECLARE vSql TEXT; + + -- Check parent childs + SET vSql = sql_printf(' + SELECT COUNT(c.id) INTO @childs + FROM %t.%t p + LEFT JOIN %t.%t c ON c.lft BETWEEN p.lft AND p.rgt AND c.id != %v + WHERE p.id = %v', + vScheme, vTable, vScheme, vTable, vParentFk, vParentFk); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + -- Select left from last child + IF @childs = 0 THEN + SET vSql = sql_printf('SELECT lft INTO @vLeft FROM %t.%t WHERE id = %v', vScheme, vTable, vParentFk); + SET @qrySql := vSql; + ELSE + SET vSql = sql_printf(' + SELECT c.rgt INTO @vLeft + FROM %t.%t p + JOIN %t.%t c ON c.lft BETWEEN p.lft AND p.rgt + WHERE p.id = %v + ORDER BY c.lft + DESC LIMIT 1', + vScheme, vTable, vScheme, vTable, vParentFk); + SET @qrySql := vSql; + END IF; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + -- Update right + SET vSql = sql_printf('UPDATE %t.%t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC', vScheme, vTable, @vLeft); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + SET vSql = sql_printf('UPDATE %t.%t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC', vScheme, vTable, @vLeft); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + -- Escape character + SET vChild = REPLACE(vChild, "'", "\\'"); + + -- Add child + SET vSql = sql_printf('INSERT INTO %t.%t (name, lft, rgt) VALUES (%v, %v, %v)', vScheme, vTable, vChild, @vLeft + 1, @vLeft + 2); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +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 `nestLeave` */; +/*!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 `nestLeave`(vScheme VARCHAR(45), vTable VARCHAR(45), vParentFk INT) +BEGIN + DECLARE vSql TEXT; + + DROP TEMPORARY TABLE IF EXISTS tmp.tree; + + SET vSql = sql_printf(' + CREATE TEMPORARY TABLE tmp.tree ENGINE = MEMORY + SELECT + node.id, + node.name, + node.lft, + node.rgt, + node.depth, + node.sons + FROM + %t.%t AS node, + %t.%t AS parent + WHERE + node.lft BETWEEN parent.lft AND parent.rgt + AND node.depth = parent.depth + 1 + AND parent.id = %v + GROUP BY node.id + ORDER BY node.lft', + vScheme, vTable, vScheme, vTable, vParentFk); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +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 `nestTree` */; +/*!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 `nestTree`( + vSourceSchema VARCHAR(45), + vSourceTable VARCHAR(45), + vDestinationSchema VARCHAR(45), + vDestinationTable VARCHAR(45)) +BEGIN + DECLARE vSql TEXT; + + + SET vSql = sql_printf('DROP TABLE IF EXISTS %t.%t', vDestinationSchema, vDestinationTable); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; + + SET vSql = sql_printf(' + CREATE TABLE %t.%t + SELECT + node.id, + CONCAT( REPEAT(" ", 5 * (COUNT(parent.id) - 1)),UCASE(node.name)) name, + node.lft, + node.rgt, + COUNT(parent.id) - 1 depth, + CAST((node.rgt - node.lft - 1) / 2 as DECIMAL) as sons + FROM + %t.%t AS node, + %t.%t AS parent + WHERE node.lft BETWEEN parent.lft AND parent.rgt + GROUP BY node.id + ORDER BY node.lft', + vDestinationSchema, vDestinationTable, vSourceSchema, vSourceTable, vSourceSchema, vSourceTable); + SET @qrySql := vSql; + + PREPARE stmt FROM @qrySql; + EXECUTE stmt; + DEALLOCATE PREPARE stmt; +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 `observationAdd` */; +/*!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 `observationAdd`(vOriginFk INT, vTableCode VARCHAR(45), vDescription TEXT) +BEGIN +/** + * Guarda las observaciones realizadas por el usuario + * + * @param vOriginFk Id del registro de origen + * @param vTypeCode Código que referencia a la tabla. + * @param descripcion Texto de la observacion + */ + DECLARE vTableName VARCHAR(45); + + SET vTableName = CONCAT(vTableCode,'Observation'); + + IF ISNULL(vTableName) THEN + CALL util.throw('CODE_NOT_FOUND'); + END IF; + + SET @qryLog := CONCAT( + 'INSERT INTO ', vTableName, ' (originFk, userFk, description)', + ' VALUES (', vOriginFk, ', ', account.userGetId(), ', "', vDescription, '")' + ); + + PREPARE stmt FROM @qryLog; + EXECUTE stmt; +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 `packageInvoicing` */; +/*!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 `packageInvoicing`( + IN vClient INT, + IN vDate DATE, + IN vCompany INT, + IN vIsAllInvoiceable BOOLEAN, + OUT vNewTicket INT(11) + ) +BEGIN + + DECLARE vGraceDays INT; + DECLARE vDateStart DATE DEFAULT '2017-11-21'; + DECLARE vIsInvoiceable BOOLEAN; + DECLARE vWarehouse INT DEFAULT 13; + DECLARE vAgenciaEmbalajes INT DEFAULT 628; + DECLARE vComponentCost INT DEFAULT 28; + DECLARE vGraceDate DATE; + + SET vGraceDays = IF(vIsAllInvoiceable,0,30); + SET vGraceDate = TIMESTAMPADD(DAY, - vGraceDays, vDate); + + /* Clientes especiales: + 3240 MADEFLOR + 992 JAVIER FELIU + */ + + IF vClient IN (992, 3240) THEN + + SET vGraceDays = 365; + + END IF; + + /* Fin clientes especiales */ + + + DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoice; + + CREATE TEMPORARY TABLE tmp.packageToInvoice + SELECT p.itemFk, + tp.packagingFk, + IF(tp.quantity < 0 OR t.shipped < vGraceDate, tp.quantity, 0) quantity, + tp.ticketFk, + p.price + FROM ticketPackaging tp + JOIN package p ON p.id = tp.packagingFk + JOIN ticket t ON t.id = tp.ticketFk + WHERE t.shipped BETWEEN vDateStart AND vDate + AND t.clientFk = vClient; + + DROP TEMPORARY TABLE IF EXISTS tmp.packageToInvoicePositives; + + CREATE TEMPORARY TABLE tmp.packageToInvoicePositives + SELECT itemFk, sum(quantity) as totalQuantity + FROM tmp.packageToInvoice + GROUP BY itemFk + HAVING totalQuantity > 0; + + SELECT GREATEST(COUNT(*),vIsAllInvoiceable) + INTO vIsInvoiceable + FROM tmp.packageToInvoicePositives; + + IF vIsInvoiceable THEN + + CALL vn.ticketCreate(vClient, vDate, vWarehouse, vCompany, 0, vAgenciaEmbalajes, 0, vDate, vNewTicket); + + INSERT INTO ticketPackaging( + ticketFk, + packagingFk, + quantity, + pvp) + SELECT vNewTicket, + pti.packagingFk, + - SUM(pti.quantity) AS totalQuantity, + pti.price + FROM tmp.packageToInvoice pti + LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk + WHERE ptip.itemFK IS NOT NULL + OR vIsAllInvoiceable + GROUP BY packagingFk + HAVING totalQuantity; + + INSERT INTO sale( + ticketFk, + itemFk, + concept, + quantity, + price + ) + SELECT vNewTicket, + pti.itemFk, + i.name as concept, + sum(pti.quantity) as totalQuantity, + pti.price + FROM tmp.packageToInvoice pti + JOIN item i ON i.id = pti.itemFk + LEFT JOIN tmp.packageToInvoicePositives ptip ON pti.itemFk = ptip.itemFk + WHERE ptip.itemFK IS NOT NULL + OR vIsAllInvoiceable + GROUP BY pti.itemFk + HAVING totalQuantity; + + INSERT INTO saleComponent(saleFk, componentFk, value) + SELECT id, vComponentCost, price + FROM sale + WHERE ticketFk = vNewTicket; + + 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 `printTrolleyLabel` */; +ALTER DATABASE `vn` 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 `printTrolleyLabel`(vTicket INT, vPrinter INT, vReport INT) +BEGIN +/** + * Inserta en la cola de impresion una nueva etiqueta de carro, para el sacador + * + * @param vTicket Numero del ticket + * @param vPrinter Numero de impresora + * @param vReport Numero del informe + **/ + DECLARE vlabelCount INT DEFAULT 0; + DECLARE PRIORITY INT DEFAULT 3; + DECLARE vWorker INT; + DECLARE vShipmentHour VARCHAR(10); + + SELECT getTicketTrolleyLabelCount(vTicket) INTO vLabelCount; + SELECT getUser() INTO vWorker; + SELECT CONCAT(getShipmentHour(vTicket),':00') INTO vShipmentHour; + + INSERT INTO printingQueue(printer + , priority + , report + , `text` + , worker + , text2 + , text3) + VALUES (vPrinter + , PRIORITY + , vReport + , vTicket + , vWorker + , vLabelCount + , vShipmentHour); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `refund` */; +/*!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`@`localhost` PROCEDURE `refund`(IN vMainTicket INT, OUT vNewTicket INT) +BEGIN + + DECLARE vCustomer MEDIUMINT; + DECLARE vNewDate DATE; + DECLARE vWarehouse TINYINT; + DECLARE vCompany MEDIUMINT; + DECLARE vAddress MEDIUMINT; + DECLARE vRefundAgencyMode INT DEFAULT 23; + + SELECT clientFk, TIMESTAMPADD(DAY, 1,shipped), warehouseFk, companyFk, addressFk + INTO vCustomer, vNewDate, vWarehouse, vCompany, vAddress + FROM ticket + WHERE id = vMainTicket; + + CALL ticketCreate(vCustomer, vNewDate, vWarehouse, vCompany, vAddress, vRefundAgencyMode,NULL,vNewDate,vNewTicket); + + INSERT INTO vn2008.Movimientos(Id_Ticket, Id_Article, Cantidad, Concepte, Preu, Descuento, PrecioFijado) + SELECT vNewTicket, Id_Article, - Cantidad, Concepte, Preu, Descuento, TRUE FROM vn2008.Movimientos WHERE Id_Ticket = vMainTicket; + SELECT vNewTicket; + +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 `routeGateAsign` */; +/*!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 `routeGateAsign`(vDevice VARCHAR(30), vRouteFk INT) +BEGIN + + UPDATE routeGate + SET displayText = NULL, + routeFk = NULL, + freeTickets = NULL, + expeditions = NULL, + scanned = NULL, + flag = NULL, + pallets = NULL, + lastScanned = NULL + WHERE routeFk = vRouteFk; + + UPDATE routeGate + SET routeFk = vRouteFk + WHERE deviceId = vDevice COLLATE utf8_general_ci; + +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 `routeGateUpdate` */; +/*!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 `routeGateUpdate`() +BEGIN + + UPDATE vn.routeGate rg + LEFT JOIN vn.routesControl rc ON rg.routeFk = rc.routeFk + LEFT JOIN vn.route r ON r.id = rg.routeFk + LEFT JOIN vn2008.Agencias a ON a.Id_Agencia = r.agencyModeFk + LEFT JOIN + ( + SELECT Id_Ruta, count(*) AS pedidosLibres + FROM vn2008.Tickets t + JOIN vn2008.Tickets_state ts ON t.Id_Ticket = ts.Id_Ticket + JOIN vncontrol.inter i ON i.inter_id = ts.inter_id + JOIN vn2008.state s ON i.state_id = s.id AND s.alert_level = 0 + WHERE t.Fecha BETWEEN CURDATE() AND util.dayend(CURDATE()) + AND Id_Ruta + GROUP BY Id_Ruta + ) t ON t.Id_Ruta = rg.routeFk + SET rg.scanned = rc.scanned, + rg.expeditions = rc.expeditions, + rg.flag = a.flag, + rg.freeTickets = t.pedidosLibres, + rg.pallets = rc.pallets, + rg.lastScanned = rc.lastScanned, + rg.displayText = IF(rg.routeFk is null, rg.displayText, rg.routeFk MOD 1000); + + +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 `saleSplit` */; +/*!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 `saleSplit`(IN vIdMovement BIGINT, IN vQuantity int) +BEGIN + DECLARE vId INT; + DECLARE vCreated DATE; + DECLARE vWarehouseId INT; + DECLARE vCompanyId INT; + DECLARE vAddressId INT; + DECLARE vAgencyMode INT; + DECLARE vNewTicketId BIGINT; + DECLARE vNewSale BIGINT; + DECLARE vLanded DATE; + DECLARE vStarted DATETIME; + DECLARE vEnded DATETIME; + DECLARE vCurrentTicket INT; + + + + SELECT clientFk + , shipped + , warehouseFk + , companyFk + , addressFk + , AgencyModeFk + , Landed + , t.id + + INTO vId + , vCreated + , vWarehouseId + , vCompanyId + , vAddressId + , vAgencyMode + , vLanded + , vCurrentTicket + FROM ticket t + JOIN sale m on t.id = m.ticketFk + WHERE m.id = vIdMovement; + + -- Busca un ticket existente que coincida con los parametros del nuevo pedido + + SET vStarted = TIMESTAMP(vCreated); + SET vEnded = TIMESTAMP(vCreated, '23:59:59'); + + SELECT id INTO vNewTicketId + FROM ticket t + JOIN ticketState ts on t.id = ts.ticketFk + WHERE vAddressId = t.addressFk + AND vWarehouseId = t.warehouseFk + AND vAgencyMode = t.AgencyModeFk + AND vLanded <=> t.landed + AND t.shipment BETWEEN vStarted AND vEnded -- uso BETWEEN para aprovechar el indice + AND t.refFk IS NULL + AND ts.alertLevel = 0 + AND t.clientFk <> 1118 + AND t.id <> vCurrentTicket + LIMIT 1; + + IF vNewTicketId IS NULL THEN + Call vn.ticketCreate( vId + , vCreated + , vWarehouseId + , vCompanyId + , vAddressId + , vAgencyMode + , NULL + , vLanded + , vNewTicketId); + + CALL vn2008.bionic_calc_ticket(vNewTicketId); + ELSE + UPDATE ticket SET landed = vLanded WHERE id = vNewTicketId; + END IF; + + INSERT INTO vncontrol.inter(Id_Ticket, state_id) + SELECT vNewTicketId, s.id + FROM state s + WHERE s.code = 'FIXING'; + + INSERT INTO sale(ticketFk, itemFk, concept, quantity, price, discount) + SELECT vNewTicketId, itemFk, Concept, vQuantity, price, discount + FROM sale + WHERE id = vIdMovement; + + SELECT LAST_INSERT_ID() INTO vNewSale; + + INSERT INTO saleComponent(saleFk, componentFk, `value`) + SELECT vNewSale, componentFk, `value` + FROM saleComponent + WHERE saleFk = vIdMovement; +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 `scanTreeCreate` */; +/*!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 `scanTreeCreate`() +BEGIN + + CALL vn.nestTree( 'vn2008', + 'scan', + 'vn2008', + 'scanTree'); + + ALTER TABLE vn2008.scanTree + ADD COLUMN lastScanned DATETIME NULL, + ADD COLUMN routeCount INT NULL, + ADD COLUMN minRoute INT, + ADD COLUMN maxRoute INT, + ADD COLUMN scanned INT; + + UPDATE vn2008.scanTree st + JOIN ( + SELECT sl.scan_id, + MAX(sl.odbc_date) lastScanned, + COUNT(DISTINCT t.routeFk) routeCount, + MIN(t.routeFk) mod 1000 as minRoute, + MAX(t.routeFk) mod 1000 as maxRoute, + COUNT(sl.scan_line_id) as scanned + FROM vn2008.scan_line sl + JOIN vn.expedition e ON e.id = sl.`code` + JOIN vn.ticket t ON t.id = e.ticketFk + WHERE t.routeFk + GROUP BY sl.scan_id + ) rs ON rs.scan_id = st.id + SET st.lastScanned = rs.lastScanned, + st.routeCount = rs.routeCount, + st.minRoute = rs.minRoute, + st.maxRoute = IF(rs.minRoute != rs.maxRoute, rs.maxRoute,NULL), + st.scanned = rs.scanned; + + +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 `solunionRiskRequest` */; +ALTER DATABASE `vn` 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 `solunionRiskRequest`() +BEGIN + + DROP TEMPORARY TABLE IF EXISTS tmp.client_list; + CREATE TEMPORARY TABLE tmp.client_list + (PRIMARY KEY (Id_Cliente)) + ENGINE = MEMORY + SELECT * FROM (SELECT cc.client Id_Cliente, ci.grade FROM vn.creditClassification cc + JOIN vn.creditInsurance ci ON cc.id = ci.creditClassification + WHERE dateEnd IS NULL + ORDER BY ci.creationDate DESC) t1 GROUP BY Id_Cliente; + + CALL vn2008.risk_vs_client_list(CURDATE()); + + SELECT + c.Id_Cliente, c.Cliente, c.Credito credito_vn, c.creditInsurance solunion, cast(r.risk as DECIMAL(10,0)) riesgo_vivo, + cast(c.creditInsurance - r.risk as decimal(10,0)) margen_vivo, + f.Consumo consumo_anual, c.Vencimiento, ci.grade + FROM + vn2008.Clientes c + JOIN tmp.risk r ON r.Id_Cliente = c.Id_Cliente + JOIN tmp.client_list ci ON c.Id_Cliente = ci.Id_Cliente + JOIN bi.facturacion_media_anual f ON c.Id_Cliente = f.Id_Cliente + GROUP BY Id_cliente; + + DROP TEMPORARY TABLE IF EXISTS tmp.risk; + DROP TEMPORARY TABLE IF EXISTS tmp.client_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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `stockBuyed` */; +ALTER DATABASE `vn` 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 `stockBuyed`(vDate DATE) +BEGIN + DECLARE vVolume DECIMAL(10,2); + DECLARE vWarehouse INT DEFAULT 7; + + CALL stockTraslation(vDate); + + SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; + + INSERT INTO stockBuyed(user, buyed, `date`) + SELECT tr.user_id, SUM(0.6 * ( amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed, vDate + FROM tmp_item i + JOIN vn2008.Articles a ON a.Id_Article = i.item_id + JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id + JOIN vn2008.reinos r ON r.id = t.reino_id + JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador + JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = Id_Article AND ilb.warehouse_id = vWarehouse + JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id + WHERE r.display <> 0 + GROUP BY tr.Id_Trabajador + ON DUPLICATE KEY UPDATE buyed = VALUES(buyed); + +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `stockBuyedByWorker` */; +/*!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 `stockBuyedByWorker`(vDate DATE, vWorker INT) +BEGIN + + DECLARE vVolume DECIMAL(10,2); + DECLARE vWarehouse INT DEFAULT 7; + CALL stockTraslation(vDate); + + SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; + + SELECT c.Id_Entrada, a.Id_Article, a.Article, i.amount Cantidad, (0.6 * ( i.amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed + FROM tmp_item i + JOIN vn2008.Articles a ON a.Id_Article = i.item_id + JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id + JOIN vn2008.reinos r ON r.id = t.reino_id + JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador + JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = a.Id_Article AND ilb.warehouse_id = vWarehouse + JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id + WHERE r.display <> 0 AND tr.user_id = vWorker; + +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 `stockBuyedByWorkerTest` */; +/*!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 `stockBuyedByWorkerTest`(vDate DATE, vWorker INT) +BEGIN + + DECLARE vVolume DECIMAL(10,2); + DECLARE vWarehouse INT DEFAULT 7; + CALL stockTraslationTest(vDate); + + SELECT Volumen INTO vVolume FROM vn2008.Cubos WHERE Id_Cubo = 'cc' LIMIT 1; + + SELECT c.Id_Entrada, a.Id_Article, a.Article, i.amount Cantidad, (0.6 * ( i.amount / c.packing ) * vn2008.cm3(Id_Compra))/vVolume buyed + FROM tmp.item i + JOIN vn2008.Articles a ON a.Id_Article = i.item_id + JOIN vn2008.Tipos t ON a.tipo_id = t.tipo_id + JOIN vn2008.reinos r ON r.id = t.reino_id + JOIN vn2008.Trabajadores tr ON tr.Id_Trabajador = t.Id_Trabajador + JOIN vn2008.t_item_last_buy ilb ON ilb.item_id = a.Id_Article AND ilb.warehouse_id = vWarehouse + JOIN vn2008.Compres c ON c.Id_compra = ilb.buy_id + WHERE r.display <> 0 AND tr.user_id = vWorker; + DROP TEMPORARY TABLE IF EXISTS 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `stockTraslation` */; +/*!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 `stockTraslation`(vDate DATE) +BEGIN + /** + * Calcula el stock del vWarehouse desde FechaInventario hasta v_date + sin tener en cuenta las salidas del mismo dia vDate + para ver el transporte a reservar + **/ + + DECLARE vWarehouse INT DEFAULT 7; + + DELETE FROM stockBuyed WHERE `date` = vDate; + + DROP TEMPORARY TABLE IF EXISTS tmp_item; + CREATE TEMPORARY TABLE tmp_item + (UNIQUE INDEX i USING HASH (item_id)) + ENGINE = MEMORY + SELECT item_id, SUM(amount) amount FROM vn2008.item_entry_in + WHERE dat = vDate and vDate >= CURDATE() + AND warehouse_id = vWarehouse + GROUP BY item_id HAVING amount != 0; + + CALL `cache`.stock_refresh (FALSE); + + INSERT INTO tmp_item (item_id,amount) + SELECT item_id,s.amount FROM `cache`.stock s + WHERE warehouse_id = vWarehouse + ON DUPLICATE KEY UPDATE + amount = tmp_item.amount + VALUES(amount); + + CALL vn2008.item_last_buy_(vWarehouse,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 PROCEDURE IF EXISTS `stockTraslationkk` */; +/*!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 `stockTraslationkk`(vDate DATE) +BEGIN + /** + * Calcula el stock del vWarehouse desde FechaInventario hasta v_date + sin tener en cuenta las salidas del mismo dia vDate + para ver el transporte a reservar + **/ + + DECLARE vWarehouse INT DEFAULT 7; + + DELETE FROM stockBuyed WHERE `date` = vDate; + DROP TEMPORARY TABLE IF EXISTS tmp.item; + + CREATE TEMPORARY TABLE tmp.item ( + `item_id` INT, + `amount` DECIMAL(10, 2) DEFAULT 0.00, + PRIMARY KEY(item_id) + ) ENGINE = MEMORY; + + + IF vDate >= CURDATE() THEN + INSERT INTO tmp.item + SELECT item_id, SUM(amount) amount + FROM vn2008.item_entry_in + WHERE dat = vDate + AND warehouse_id = vWarehouse + GROUP BY item_id HAVING amount != 0; + END IF; + + CALL `cache`.stock_refresh (FALSE); + + INSERT INTO tmp.item (item_id,amount) + SELECT item_id,s.amount FROM `cache`.stock s + WHERE warehouse_id = vWarehouse + ON DUPLICATE KEY UPDATE + amount = tmp.item.amount + VALUES(amount); + + CALL vn2008.item_last_buy_(vWarehouse,vDate); + + select * FROM 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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `stockTraslationTest` */; +/*!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 `stockTraslationTest`(vDate DATE) +BEGIN + /** + * Calcula el stock del vWarehouse desde FechaInventario hasta v_date + sin tener en cuenta las salidas del mismo dia vDate + para ver el transporte a reservar + **/ + + DECLARE vWarehouse INT DEFAULT 7; + + DELETE FROM stockBuyed WHERE `date` = vDate; + DROP TEMPORARY TABLE IF EXISTS tmp.item; + + CREATE TEMPORARY TABLE tmp.item ( + `item_id` INT, + `amount` DECIMAL(10, 2) DEFAULT 0.00, + PRIMARY KEY(item_id) + ) ENGINE = MEMORY; + + + IF vDate >= CURDATE() THEN + INSERT INTO tmp.item + SELECT item_id, SUM(amount) amount + FROM vn2008.item_entry_in + WHERE dat = vDate + AND warehouse_id = vWarehouse + GROUP BY item_id HAVING amount != 0; + END IF; + + CALL `cache`.stock_refresh (FALSE); + + INSERT INTO tmp.item (item_id,amount) + SELECT item_id,s.amount FROM `cache`.stock s + WHERE warehouse_id = vWarehouse + ON DUPLICATE KEY UPDATE + amount = tmp.item.amount + VALUES(amount); + + CALL vn2008.item_last_buy_(vWarehouse,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 PROCEDURE IF EXISTS `taxGetRates` */; +/*!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 `taxGetRates`(vTaxDate DATE) + READS SQL DATA +BEGIN +/** + * Calcula una tabla con el IVA aplicable para la fecha data. + * + * @param vTaxDate + * @treturn tmp.taxGroup + * @treturn tmp.taxTax + */ + SET vTaxDate = IFNULL(vTaxDate, CURDATE()); + + DROP TEMPORARY TABLE IF EXISTS + tmp.taxClass, + tmp.taxType; + + -- Calcula el tipo de IVA para cada clase en cada país. + + CREATE TEMPORARY TABLE tmp.taxClass + (INDEX (countryFk, taxClassFk)) + ENGINE = MEMORY + SELECT * + FROM ( + SELECT t.countryFk, g.taxClassFk, c.type + FROM vn.taxClassCode g + JOIN vn.taxCode c ON c.id = g.taxCodeFk + JOIN vn.taxType t ON t.id = c.taxTypeFk + WHERE g.effectived <= vTaxDate + ORDER BY g.effectived DESC + ) t + GROUP BY countryFk, taxClassFk; + + -- Calcula el impuesto para cada tipo de IVA en cada país. + + CREATE TEMPORARY TABLE tmp.taxType + (INDEX (countryFk, type)) + ENGINE = MEMORY + SELECT * + FROM ( + SELECT t.countryFk, c.type, + c.rate / 100 rate, + c.equalizationTax / 100 equalizationTax + FROM vn.taxCode c + JOIN vn.taxType t ON t.id = c.taxTypeFk + WHERE c.dated <= vTaxDate AND t.isAccrued + ORDER BY c.dated DESC, c.equalizationTax DESC + ) t + GROUP BY countryFk, type; +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 `ticketClosure` */; +/*!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 `ticketClosure`() +BEGIN +/** + * Realiza el cierre de todos los + * tickets de la table ticketClosure. + */ + + DECLARE vDone BOOL; + DECLARE vClientFk INT; + DECLARE vTicketFk INT; + DECLARE vIsTaxDataChecked BOOL; + DECLARE vCompanyFk INT; + DECLARE vShipped DATE; + DECLARE vPriority INT DEFAULT 1; + DECLARE vReportDeliveryNote INT DEFAULT 1; + DECLARE vNewInvoiceId INT; + DECLARE vIsUeeMember BOOL; + DECLARE vWithPackage BOOL; + + DECLARE cur CURSOR FOR + SELECT ticketFk FROM tmp.ticketClosure; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN + RESIGNAL; + END; + + INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: START'); + + OPEN cur; + + proc: LOOP + SET vDone = FALSE; + + FETCH cur INTO vTicketFk; + + IF vDone THEN + LEAVE proc; + END IF; + + -- ticketClosure start + SELECT + c.id, + c.isTaxDataChecked, + t.companyFk, + t.shipped, + co.isUeeMember, + w.isManaged + INTO vClientFk, + vIsTaxDataChecked, + vCompanyFk, + vShipped, + vIsUeeMember, + vWithPackage + FROM ticket t + JOIN `client` c ON c.id = t.clientFk + JOIN province p ON p.id = c.provinceFk + JOIN country co ON co.id = p.countryFk + JOIN warehouse w ON w.id = t.warehouseFk + WHERE t.id = vTicketFk; + + -- Fusión de ticket + -- CALL mergeTicketUnattended(vTicketFk, TRUE); JGF 2017/12/04 + + INSERT INTO ticketPackaging (ticketFk, packagingFk, quantity) + (SELECT vTicketFk, p.id, COUNT(*) + FROM expedition e + JOIN package p ON p.itemFk = e.itemFk + WHERE e.ticketFk = vTicketFk AND p.isPackageReturnable + AND vWithPackage + GROUP BY p.itemFk); + + -- No retornables o no catalogados + INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) + (SELECT e.itemFk, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 + FROM expedition e + JOIN item i ON i.id = e.itemFk + LEFT JOIN package p ON p.itemFk = i.id + WHERE e.ticketFk = vTicketFk AND IFNULL(p.isPackageReturnable, 0) = 0 + AND getSpecialPrice(e.itemFk, vClientFk) > 0 + GROUP BY e.itemFk); + + IF(vIsUeeMember = FALSE) THEN + + -- Facturacion rapida + CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); + -- Facturar si está contabilizado + IF vIsTaxDataChecked THEN + + IF (SELECT clientTaxArea(vClientFk, vCompanyFk)) = 'NATIONAL' THEN + CALL invoiceMakeByClient( + vClientFk, + (SELECT invoiceSerial(vClientFk, vCompanyFk, 'M')), + vShipped, + vCompanyFk, + vNewInvoiceId); + ELSE + CALL invoiceMakeByTicket(vTicketFk, (SELECT invoiceSerial(vClientFk, vCompanyFk, 'R')), vNewInvoiceId); + END IF; + + END IF; + ELSE + -- Albaran_print + CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); + INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); + END IF; + + -- ticketClosure end + END LOOP; + + CLOSE cur; + + INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: 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 `ticketClosureAgencyList` */; +/*!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 `ticketClosureAgencyList`(vWarehouseFk INT, vDateTo DATE) +BEGIN +/** + * Inserta los tickets de todos los almacenes en la tabla temporal + * para ser cerrados. + * + * @param vWarehouseFk Id del almacén + * @param vDate Fecha del cierre + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; + + CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( + SELECT + t.id AS ticketFk + FROM expedition e + INNER JOIN ticket t ON t.id = e.ticketFk + INNER JOIN tmp.ticketClosureAgencyList al ON al.agencyModeFk = t.agencyModeFk + LEFT JOIN ticketState ts ON ts.ticketFk = t.id + WHERE + ts.alertLevel = 2 + AND t.warehouseFk = vWarehouseFk + AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo + AND t.refFk IS NULL + GROUP BY e.ticketFk); + + DROP TEMPORARY TABLE tmp.ticketClosureAgencyList; + + CALL ticketClosure(); + + DROP TEMPORARY TABLE tmp.ticketClosure; +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 `ticketClosureAgencyListAdd` */; +/*!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 `ticketClosureAgencyListAdd`(vAgencyModeFk INT) +BEGIN +/** + * Prepara un listado de agencias sobre los que se realizará el cierre. + * Es necesario llamar al procedimiento por cada agencia. + * + * @param vAgencyModeFk Id almacén + */ + CREATE TEMPORARY TABLE IF NOT EXISTS tmp.ticketClosureAgencyList ( + `agencyModeFk` INT, + PRIMARY KEY(agencyModeFk)) ENGINE = MEMORY; + + INSERT INTO tmp.ticketClosureAgencyList(agencyModeFk) VALUES(vAgencyModeFk); +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 `ticketClosurekk` */; +/*!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 `ticketClosurekk`() +BEGIN +/** + * Realiza el cierre de todos los + * tickets de la table ticketClosure. + */ + + DECLARE vDone BOOL; + DECLARE vClientFk INT; + DECLARE vCredit INT; + DECLARE vPayMethod INT; + DECLARE vTicketFk INT; + DECLARE vIsToBeMailed BOOL; + DECLARE vIsTaxDataChecked BOOL; + DECLARE vCompanyFk INT; + DECLARE vDeliveryMethod INT; + DECLARE vAgencyFk INT; + DECLARE vAgencyModeFk INT; + DECLARE vWarehouseFk INT; + DECLARE vShipped DATE; + DECLARE vPayMethodCard INT DEFAULT 5; + DECLARE vPriority INT DEFAULT 1; + DECLARE vReportDeliveryNote INT DEFAULT 1; + DECLARE vNewInvoiceId INT; + DECLARE vHasToInvoice BOOL; + + DECLARE cur CURSOR FOR + SELECT ticketFk FROM tmp.ticketClosure; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN + RESIGNAL; + END; + + INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: START'); + + OPEN cur; + + proc: LOOP + SET vDone = FALSE; + + FETCH cur INTO vTicketFk; + + IF vDone THEN + LEAVE proc; + END IF; + + -- ticketClosure start + SELECT + c.id, + c.credit, + c.paymentMethodFk, + c.isToBeMailed, + c.isTaxDataChecked, + t.companyFk, + IFNULL(aw.agencyType, a.deliveryMethod) AS deliveryMethod, + a.id AS agencyFk, + t.agencyModeFk, + t.warehouseFk, + t.shipped, + c.hasToInvoice + INTO vClientFk, + vCredit, + vPayMethod, + vIsToBeMailed, + vIsTaxDataChecked, + vCompanyFk, + vDeliveryMethod, + vAgencyFk, + vAgencyModeFk, + vWarehouseFk, + vShipped, + vHasToInvoice + FROM ticket t + INNER JOIN `client` c ON c.id = t.clientFk + LEFT JOIN agencyMode a ON a.id = t.agencyModeFk + LEFT JOIN agencyWarehouse aw ON a.id = aw.agencyFk AND t.warehouseFk = aw.warehouseFk + WHERE t.id = vTicketFk; + + -- Fusión de ticket + CALL mergeTicketUnattended(vTicketFk, TRUE); + + INSERT INTO ticketPackaging (ticketFk, packagingFk, quantity) + (SELECT vTicketFk, p.id, COUNT(*) + FROM expedition e + JOIN package p ON p.itemFk = e.itemFk + WHERE e.ticketFk = vTicketFk AND p.isPackageReturnable + GROUP BY p.itemFk); + + -- No retornables o no catalogados + INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) + (SELECT e.itemFk, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 + FROM expedition e + JOIN item i ON i.id = e.itemFk + LEFT JOIN package p ON p.itemFk = i.id + WHERE e.ticketFk = vTicketFk AND IFNULL(p.isPackageReturnable, 0) = 0 + GROUP BY e.itemFk); + + -- Albaran_print + CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); + INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); + + IF((vCredit <= 1 OR vPayMethod = vPayMethodCard) AND vHasToInvoice <> FALSE) THEN + + -- Facturacion rapida + CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); + -- Facturar si está contabilizado + IF vIsTaxDataChecked THEN + + IF (SELECT clientTaxArea(vClientFk, vCompanyFk)) = 'NATIONAL' THEN + CALL invoiceMakeByClient( + vClientFk, + (SELECT invoiceSerial(vClientFk, vCompanyFk, 'M')), + vShipped, + vCompanyFk, + vNewInvoiceId); + ELSE + CALL invoiceMakeByTicket(vTicketFk, (SELECT invoiceSerial(vClientFk, vCompanyFk, 'R')), vNewInvoiceId); + END IF; + + END IF; + ELSE + -- Albaran_print + CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); + INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); + END IF; + + -- ticketClosure end + END LOOP; + + CLOSE cur; + + INSERT INTO dailyTaskLog(state) VALUES('ticketClosure: 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 `ticketClosureMultiWarehouse` */; +/*!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 `ticketClosureMultiWarehouse`(vDateTo DATE) +BEGIN +/** + * Inserta los tickets de todos los almacenes en la tabla temporal + * para ser cerrados. + * + * @param vDate Fecha del cierre + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; + + CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( + SELECT + t.id AS ticketFk + FROM expedition e + INNER JOIN ticket t ON t.id = e.ticketFk + INNER JOIN warehouse w ON w.id = t.warehouseFk AND hasComission + LEFT JOIN ticketState ts ON ts.ticketFk = t.id + WHERE + ts.alertLevel = 2 + AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo + AND t.refFk IS NULL + GROUP BY e.ticketFk); + + CALL ticketClosure(); + + DROP TEMPORARY TABLE tmp.ticketClosure; +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 `ticketClosureRoute` */; +/*!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 `ticketClosureRoute`(vWarehouseFk INT, vRouteFk INT, vDateTo DATE) +BEGIN +/** + * Inserta los tickets de la ruta en la tabla temporal + * para ser cerrados. + * + * @param vWarehouseFk Almacén a cerrar + * @param vRouteFk Ruta a cerrar + * @param vDate Fecha del cierre + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; + + CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( + SELECT + t.id AS ticketFk + FROM expedition e + INNER JOIN ticket t ON t.id = e.ticketFk + LEFT JOIN ticketState ts ON ts.ticketFk = t.id + WHERE + ts.alertLevel = 2 + AND t.warehouseFk = vWarehouseFk + AND t.routeFk = vRouteFk + AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo + AND t.refFk IS NULL + GROUP BY e.ticketFk); + + CALL ticketClosure(); + + DROP TEMPORARY TABLE tmp.ticketClosure; +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 `ticketClosureTicket` */; +/*!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 `ticketClosureTicket`(vTicketFk INT) +BEGIN + +/** + * Inserta el ticket en la tabla temporal + * para ser cerrado. + * + * @param vTicketFk Id del ticket + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; + + CREATE TEMPORARY TABLE tmp.ticketClosure ENGINE = MEMORY ( + SELECT + t.id AS ticketFk + FROM expedition e + INNER JOIN ticket t ON t.id = e.ticketFk + LEFT JOIN ticketState ts ON ts.ticketFk = t.id + WHERE + ts.alertLevel = 2 + AND t.id = vTicketFk + AND t.refFk IS NULL + GROUP BY e.ticketFk); + + CALL ticketClosure(); + + DROP TEMPORARY TABLE tmp.ticketClosure; +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 `ticketClosureWarehouse` */; +/*!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 `ticketClosureWarehouse`(vWarehouseFk INT, vDateTo DATE) +BEGIN +/** + * Inserta los tickets del almacen en la tabla temporal + * para ser cerrados. + * + * @param vWarehouseFk Almacén a cerrar + * @param vDate Fecha del cierre + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketClosure; + + CREATE TEMPORARY TABLE ticketClosure ENGINE = MEMORY( + SELECT + t.id AS ticketFk + FROM expedition e + INNER JOIN ticket t ON t.id = e.ticketFk + LEFT JOIN ticketState ts ON ts.ticketFk = t.id + WHERE + ts.alertLevel = 2 + AND t.warehouseFk = vWarehouseFk + AND DATE(t.shipped) BETWEEN DATE_ADD(vDateTo, INTERVAL -2 DAY) AND vDateTo + AND t.refFk IS NULL + GROUP BY e.ticketFk); + + CALL ticketClosure(); + + DROP TEMPORARY TABLE tmp.ticketClosure; +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 `ticketCreate` */; +/*!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 `ticketCreate`( + vClientId INT + ,vShipped DATE + ,vWarehouseId INT + ,vCompanyFk INT + ,vAddressFk INT + ,vAgencyType INT + ,vRouteFk INT + ,vlanded DATE + ,OUT vNewTicket INT) +BEGIN + DECLARE vClientOrnamentales INT DEFAULT 5270; + DECLARE vCompanyOrn INT DEFAULT 1381; + DECLARE vProvinceName VARCHAR(255); + + SELECT p.name INTO vProvinceName + FROM vn.client c + JOIN province p ON p.id = c.provinceFk + WHERE c.id = vClientId; + + IF vProvinceName IN ('SANTA CRUZ DE TENERIFE', 'LAS PALMAS DE GRAN CANARIA') + AND vClientId <> vClientOrnamentales + THEN + SET vCompanyFk = vCompanyOrn; + END IF; + + INSERT INTO vn2008.Tickets ( + Id_Cliente, + Fecha, + Id_Consigna, + Id_Agencia, + Alias, + warehouse_id, + Id_Ruta, + empresa_id, + landing + ) + SELECT + vClientId, + vShipped, + a.id, + IF(vAgencyType,vAgencyType,a.agencyFk), + a.nickname, + vWarehouseId, + IF(vRouteFk,vRouteFk,NULL), + vCompanyFk, + vlanded + FROM address a + JOIN agencyMode am ON am.id = a.agencyFk + WHERE IF(vAddressFk, a.id = vAddressFk, a.isDefaultAddress != FALSE) + AND a.clientFk = vClientId + LIMIT 1; + + SET vNewTicket = LAST_INSERT_ID(); + + INSERT INTO ticketObservation(ticketFk, observationTypeFk, description) + SELECT vNewTicket,ao.observationTypeFk, ao.description + FROM addressObservation ao + JOIN address a ON a.id = ao.addressFk + WHERE a.clientFk = vClientId AND a.isDefaultAddress != FALSE; + + CALL logAdd(vNewTicket, 'insert', 'ticket', CONCAT('Ha creado el ticket', ' ', vNewTicket)); + + IF (SELECT isCreatedAsServed FROM vn.client WHERE id = vClientId ) <> FALSE + THEN + INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) + SELECT id, vNewTicket, getWorker() + FROM state + WHERE `code` = 'DELIVERED'; + 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 `ticketGetTax` */; +/*!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 `ticketGetTax`() + READS SQL DATA +BEGIN +/** + * Calcula la base imponible, el IVA y el recargo de equivalencia para + * un conjunto de tickets. + * + * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular + * @return tmp.ticketTax Impuesto desglosado para cada ticket + * @return tmp.ticketAmount + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; + CREATE TEMPORARY TABLE tmp.addressCompany + (INDEX (addressFk, companyFk)) + ENGINE = MEMORY + SELECT DISTINCT t.addressFk, t.companyFk + FROM tmp.ticket tmpTicket + JOIN ticket t ON t.id = tmpTicket.ticketFk; + + CALL addressTaxArea (); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; + CREATE TEMPORARY TABLE tmp.ticketTax + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT tmpTicket.ticketFk, + bp.pgcFk, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) AS taxableBase, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) * pgc.rate / 100 AS tax, + tc.code + + FROM tmp.ticket tmpTicket + JOIN sale s ON s.ticketFk = tmpTicket.ticketFk + JOIN item i ON i.id = s.itemFk + JOIN ticket t ON t.id = tmpTicket.ticketFk + JOIN supplier su ON su.id = t.companyFk + JOIN tmp.addressTaxArea ata + ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk + JOIN itemTaxCountry itc + ON itc.itemFk = i.id AND itc.countryFk = su.countryFk + JOIN bookingPlanner bp + ON bp.countryFk = su.countryFk + AND bp.taxAreaFk = ata.areaFk + AND bp.taxClassFk = itc.taxClassFk + JOIN pgc ON pgc.code = bp.pgcFk + JOIN taxClass tc ON tc.id = bp.taxClassFk + GROUP BY tmpTicket.ticketFk, pgc.code + HAVING taxableBase != 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; + CREATE TEMPORARY TABLE tmp.ticketAmount + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT ticketFk, taxableBase, SUM(tax) tax + FROM tmp.ticketTax + GROUP BY ticketFk, code; + + DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; + DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; + +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 `ticketGetTaxAdd` */; +/*!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 `ticketGetTaxAdd`(vTicketFk INT) +BEGIN +/** + * Añade un ticket a la tabla tmp.ticket para calcular + * el IVA y el recargo de equivalencia y devuelve el resultado. + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.ticket; + CREATE TEMPORARY TABLE tmp.ticket + ENGINE = MEMORY + SELECT vTicketFk ticketFk; + + CALL vn.ticketGetTax(); + + SELECT + tt.ticketFk, + CAST(tt.taxableBase AS DECIMAL(10, 2)) AS taxableBase, + CAST(tt.tax AS DECIMAL(10, 2)) AS tax, + pgc.*, + CAST(IF(pe.equFk IS NULL, taxableBase, 0) AS DECIMAL(10, 2)) AS Base, + pgc.rate / 100 as vatPercent + FROM tmp.ticketTax tt + JOIN vn.pgc ON pgc.code = tt.pgcFk + LEFT JOIN vn.pgcEqu pe ON pe.equFk = pgc.code; + + DROP TEMPORARY TABLE tmp.ticket; + DROP TEMPORARY TABLE tmp.ticketTax; + DROP TEMPORARY TABLE tmp.ticketAmount; +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 `ticketGetTaxkk` */; +/*!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 `ticketGetTaxkk`(vBillingDate DATE) + READS SQL DATA +BEGIN +/** + * Calcula la base imponible, el IVA y el recargo de equivalencia para + * un conjunto de tickets. + * + * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular + * @param vBillingDate Fecha de facturación + * @treturn tmp.ticketTax Impuesto desglosado para cada ticket + */ + CALL vn.taxGetRates (vBillingDate); + + -- Calcula el IVA y el recargo desglosado para cada ticket. + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; + CREATE TEMPORARY TABLE tmp.ticketTax + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT t.ticketFk, 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 i.ticketFk, g.countryFk, g.type + ,SUM(CAST(m.quantity * m.price * (100 - m.discount) / 100 AS DECIMAL(10,2))) AS taxBase + ,NOT(c.isVies AND p.countryFk <> c.countryFk) hasTax + ,c.isEqualizated != FALSE AS hasEqualizationTax + FROM tmp.ticket i + JOIN vn.ticket t ON t.id = i.ticketFk + JOIN vn.sale m ON m.ticketFk = t.id + JOIN vn.item a ON a.id = m.itemFk + JOIN vn.client c ON c.id = t.clientFk + JOIN vn.supplier p ON p.id = t.companyFk + JOIN tmp.taxClass g + ON g.countryFk = p.countryFk AND g.taxClassFk = a.taxClassFk + GROUP BY i.ticketFk, 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 `ticketGetTax_new` */; +/*!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 `ticketGetTax_new`() + READS SQL DATA +BEGIN +/** + * Calcula la base imponible, el IVA y el recargo de equivalencia para + * un conjunto de tickets. + * + * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular + * @return tmp.ticketTax Impuesto desglosado para cada ticket + * @return tmp.ticketAmount + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; + CREATE TEMPORARY TABLE tmp.addressCompany + (INDEX (addressFk, companyFk)) + ENGINE = MEMORY + SELECT DISTINCT t.addressFk, t.companyFk + FROM tmp.ticket tmpTicket + JOIN ticket t ON t.id = tmpTicket.ticketFk; + + CALL addressTaxArea (); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketTax; + CREATE TEMPORARY TABLE tmp.ticketTax + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT tmpTicket.ticketFk, + bp.pgcFk, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) AS taxableBase, + SUM(ROUND(s.quantity * s.price * (100 - s.discount)/100,2) + ) * pgc.rate / 100 AS tax, + tc.code + + FROM tmp.ticket tmpTicket + JOIN sale s ON s.ticketFk = tmpTicket.ticketFk + JOIN item i ON i.id = s.itemFk + JOIN ticket t ON t.id = tmpTicket.ticketFk + JOIN supplier su ON su.id = t.companyFk + JOIN tmp.addressTaxArea ata + ON ata.addressFk = t.addressFk AND ata.companyFk = t.companyFk + JOIN itemTaxCountry itc + ON itc.itemFk = i.id AND itc.countryFk = su.countryFk + JOIN bookingPlanner bp + ON bp.countryFk = su.countryFk + AND bp.taxAreaFk = ata.areaFk + AND bp.taxClassFk = itc.taxClassFk + JOIN pgc ON pgc.code = bp.pgcFk + JOIN taxClass tc ON tc.id = bp.taxClassFk + GROUP BY tmpTicket.ticketFk, pgc.code + HAVING taxableBase != 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; + CREATE TEMPORARY TABLE tmp.ticketAmount + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT ticketFk, taxableBase, SUM(tax) tax + FROM tmp.ticketTax + GROUP BY ticketFk, code; + + DROP TEMPORARY TABLE IF EXISTS tmp.addressCompany; + DROP TEMPORARY TABLE IF EXISTS tmp.addressTaxArea; + +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 `ticketGetTotal` */; +/*!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 `ticketGetTotal`() + READS SQL DATA +BEGIN +/** + * Calcula el total con IVA para un conjunto de tickets. + * + * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular + * @return tmp.ticketTotal Total para cada ticket + */ + CALL ticketGetTax (); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketTotal; + CREATE TEMPORARY TABLE tmp.ticketTotal + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT ticketFk, SUM(ta.taxableBase + ta.tax) AS total + FROM tmp.ticketAmount ta GROUP BY ticketFk; + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketAmount; + DROP TEMPORARY TABLE IF EXISTS 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 `ticketGetTotalkk` */; +/*!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 `ticketGetTotalkk`() + READS SQL DATA +BEGIN +/** + * Calcula el total con IVA para un conjunto de tickets. + * + * @table tmp.ticket(ticketFk) Identificadores de los tickets a calcular + * @treturn tmp.ticketTotal Total para cada ticket + */ + CALL ticketGetTax (NULL); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketTotal; + CREATE TEMPORARY TABLE tmp.ticketTotal + (INDEX (ticketFk)) + ENGINE = MEMORY + SELECT ticketFk, SUM(taxBase + tax + equalizationTax) AS total + FROM tmp.ticketTax GROUP BY ticketFk; + + DROP TEMPORARY TABLE 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 `ticketToInvoiceByAddress` */; +/*!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 `ticketToInvoiceByAddress`( + vStarted DATE, + vEnded DATETIME, + vAddress INT, + vCompany INT + ) +BEGIN + + SET vEnded = util.dayEnd(vEnded); + + DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; + + CREATE TEMPORARY TABLE vn.ticketToInvoice + SELECT id + FROM vn.ticket + WHERE addressFk = vAddress + AND companyFk = vCompany + AND shipped BETWEEN vStarted AND vEnded + AND refFk IS 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 `ticketToInvoiceByClient` */; +/*!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 `ticketToInvoiceByClient`( + vStarted DATE, + vEnded DATETIME, + vClient INT, + vCompany INT + ) +BEGIN + + SET vEnded = util.dayEnd(vEnded); + + DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; + + CREATE TEMPORARY TABLE vn.ticketToInvoice + SELECT id + FROM vn.ticket + WHERE clientFk = vClient + AND companyFk = vCompany + AND shipped BETWEEN vStarted AND vEnded + AND refFk IS 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 `ticketToInvoiceByDate` */; +/*!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 `ticketToInvoiceByDate`( + vStarted DATE, + vEnded DATETIME, + vClient INT, + vCompany INT + ) +BEGIN + + SET vEnded = util.dayEnd(vEnded); + + DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; + + CREATE TEMPORARY TABLE vn.ticketToInvoice + SELECT id + FROM vn.ticket + WHERE clientFk = vClient + AND companyFk = vCompany + AND shipped BETWEEN vStarted AND vEnded + AND refFk IS 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 `ticketToInvoiceByRef` */; +/*!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 `ticketToInvoiceByRef`(IN vInvoiceRef VARCHAR(15)) +BEGIN + +/* Para tickets ya facturados, vuelve a repetir el proceso de facturación. +* +* @param vInvoiceRef Factura +*/ + + DECLARE vInvoice INT; + DECLARE vCountry INT; + DECLARE vTaxArea VARCHAR(15); + DECLARE vSpainCountryCode INT DEFAULT 1; + + SELECT id + INTO vInvoice + FROM vn.invoiceOut + WHERE ref = vInvoiceRef; + + SELECT s.countryFk + INTO vCountry + FROM vn.supplier s + JOIN vn.invoiceOut io ON io.companyFk = s.id + WHERE io.id = vInvoice; + + SELECT IF( + c.isEqualizated + AND c.countryFk = vSpainCountryCode + AND i.taxAreaFk = 'NATIONAL', + 'EQU', + i.taxAreaFk + ) + INTO vTaxArea + FROM vn.invoiceOutSerial i + JOIN vn.invoiceOut io ON io.serial = i.code + JOIN vn.client c ON c.id = io.clientFk + WHERE io.id = vInvoice; + + DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; + + CREATE TEMPORARY TABLE vn.ticketToInvoice + SELECT id + FROM vn.ticket + WHERE refFk = vInvoiceRef; + +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 `ticketToInvoiceByTicketkk` */; +/*!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 `ticketToInvoiceByTicketkk`(vTicket INT) +BEGIN + + DROP TEMPORARY TABLE IF EXISTS vn.ticketToInvoice; + + CREATE TEMPORARY TABLE vn.ticketToInvoice + SELECT id + FROM vn.ticket + WHERE id = vTicket + AND refFk IS 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 `ticketTrackingAdd` */; +/*!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 `ticketTrackingAdd`(vTicketFk INT, vState VARCHAR(25) CHARSET UTF8, vWorkerFk INT) +BEGIN +/** + * Inserta un registro de cambios en un ticket. + * @param vTicketFk Id del ticket + * @param vState Código del estado + * @param vWorkerFk Id del trabajador + */ + INSERT INTO ticketTracking (stateFk, ticketFk, workerFk) + SELECT s.id, vTicketFk, vWorkerFk FROM state s WHERE s.code = vState; +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 `typeTagMake` */; +/*!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 `typeTagMake`(vTypeFk INT) +BEGIN + + DELETE it.* + FROM itemTag it + JOIN item i ON i.id = it.itemFk + WHERE i.typeFk = vTypeFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, /*CONCAT(i.size,' cm')*/ i.size, 1 + FROM item i + JOIN tag t ON t.name = 'Nº flores' COLLATE utf8_general_ci + WHERE i.typeFk = vTypeFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, i.category, 3 + FROM item i + JOIN tag t ON t.name = 'Categoria' COLLATE utf8_general_ci + WHERE i.typeFk = vTypeFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, ink.name, 2 + FROM item i + JOIN tag t ON t.name = 'Color' COLLATE utf8_general_ci + JOIN ink ON ink.id = i.inkFk + WHERE i.typeFk = vTypeFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, p.name, 4 + FROM item i + JOIN tag t ON t.name = 'Productor' COLLATE utf8_general_ci + JOIN producer p ON p.id = i.producerFk + WHERE i.typeFk = vTypeFk; + + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, o.name, 5 + FROM item i + JOIN tag t ON t.name = 'Origen' COLLATE utf8_general_ci + JOIN origin o ON o.id = i.originFk + WHERE i.typeFk = vTypeFk; + /* + INSERT INTO itemTag(itemFk, tagFk, value, priority) + SELECT i.id, t.id, i.stems, 6 + FROM item i + JOIN tag t ON t.name = 'Tallos' COLLATE utf8_general_ci + WHERE i.typeFk = vTypeFk; + */ +-- CALL itemTagArrangedUpdate(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 `workerCreateExternal` */; +/*!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 `workerCreateExternal`( + vFirstName VARCHAR(50), + vSurname1 VARCHAR(50), + vSurname2 VARCHAR(50), + vUser VARCHAR(20), + vPassword VARCHAR(50), + vWorkerCode VARCHAR(3), + vRole INT(2) + ) +BEGIN + + DECLARE vUserId INT; + DECLARE vWorkerPako INT DEFAULT 2; + DECLARE vSurnames VARCHAR(100); + + INSERT INTO account.user(name,password,role) + SELECT vUser,MD5(vPassword),vRole; + + SET vUserId = LAST_INSERT_ID(); + /* + INSERT INTO vn.worker(firstName,name,bossFk,workerCode,user_id) + SELECT vFirstName,CONCAT(vSurname1,' ',vSurname2),2,vWorkerCode,vUser; + */ + + IF vSurname2 IS NULL THEN + SET vSurnames = vSurname1; + ELSE + SET vSurnames = CONCAT(vSurname1, ' ', vSurname2); + END IF; + + INSERT INTO vn2008.Trabajadores(Nombre, Apellidos, boss, CodigoTrabajador, user_id) + SELECT vFirstName, vSurnames, vWorkerPako, vWorkerCode, vUserId; +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 `workerDisable` */; +/*!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`@`localhost` PROCEDURE `workerDisable`(vUserId int) +BEGIN + + DELETE FROM account.account + WHERE id = vUserId; + + UPDATE account.user + SET role = 2 + WHERE id = vUserId; + + UPDATE `client` + SET credit = 0 + WHERE id = vUserId; + +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 `workingHours` */; +ALTER DATABASE `vn` 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 `workingHours`(username varchar(255), logon boolean) +BEGIN + DECLARE userid int(11); + + SELECT vn.getUserId(username) INTO userid; + SELECT username, userid; + IF userid IS NOT NULL THEN + IF (logon) THEN + CALL vn.workingHoursTimeIn(userid); + ELSE + CALL vn.workingHoursTimeOut(userid); + 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 */ ; +ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `workingHoursTimeIn` */; +ALTER DATABASE `vn` 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 `workingHoursTimeIn`(vUserId INT(11)) +BEGIN + INSERT INTO vn.workingHours (timeIn, userId) + VALUES (NOW(),vUserId); +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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `workingHoursTimeOut` */; +ALTER DATABASE `vn` 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 `workingHoursTimeOut`(vUserId INT(11)) +BEGIN + UPDATE vn.workingHours + SET timeOut = NOW() + WHERE userId = vUserId + AND DATE(timeIn) = 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 `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `zoneNest` */; +/*!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 `zoneNest`() +BEGIN + + DECLARE vDone BOOL; + DECLARE vParent INT DEFAULT 1; + DECLARE vGeoFk INT; + DECLARE vChildFk INT; + DECLARE vChildName VARCHAR(45); + + DECLARE townCur CURSOR FOR + SELECT p.geoFk, t.id, t.`name` + FROM town t + JOIN province p ON p.id = t.provinceFk + WHERE t.id BETWEEN 30001 AND 40000; + + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; + + -- > Town cursor start + OPEN townCur; + + townLoop: LOOP + SET vDone = FALSE; + + FETCH townCur INTO vParent, vChildFk, vChildName; + + IF vDone THEN + LEAVE townLoop; + END IF; + + CALL nestAdd('vn', 'zoneNest', vParent, vChildName); + + -- Update town geoFk + SET vGeoFk = LAST_INSERT_ID(); + UPDATE town SET geoFk = vGeoFk WHERE id = vChildFk; + END LOOP; + CLOSE townCur; + -- < Town cursor 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 */ ; + +-- +-- 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 `PriceDetails` +-- + +DROP TABLE IF EXISTS `PriceDetails`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `PriceDetails` ( + `ID` int(11) NOT NULL, + `SuplyResponseID` int(11) NOT NULL, + `PriceType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `Location` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `Price` decimal(10,2) DEFAULT NULL, + `BasisQuantitiy` int(11) DEFAULT NULL, + `BasisQuantityType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `MinimumQuantity` int(11) DEFAULT NULL, + `MinimumQuantityType` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `MaximumQuantity Integer` int(11) DEFAULT NULL, + `MaximumQuantityType` varchar(255) COLLATE utf8_unicode_ci 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 `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=284414 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 AUTO_INCREMENT, + `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, + `supplyResponseID` int(11) DEFAULT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB AUTO_INCREMENT=2046639 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=304465 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 `putOrder` +-- + +DROP TABLE IF EXISTS `putOrder`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `putOrder` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `deliveryInformationID` int(11) DEFAULT NULL, + `supplyResponsID` int(11) DEFAULT NULL, + `orderTradelineItemID` int(11) DEFAULT NULL COMMENT 'ticketFk or EntryFk?', + `OrderTradeLineDateTime` datetime DEFAULT NULL, + `quantity` int(11) DEFAULT NULL, + `EndUserPartyID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `EndUserPartyGLN` tinyint(4) DEFAULT NULL, + `OrderStatus` int(11) DEFAULT NULL COMMENT '1 pending\n2 confirmed\n3 canceled', + `isOrderProcessed` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `orderTradelineItemID_UNIQUE` (`orderTradelineItemID`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!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 AUTO_INCREMENT, + `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, + `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, + `CountryOfOrigin` 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, + `AgentGLN` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `MaximumNumberToOrder` int(11) DEFAULT NULL, + `MaximumOrderType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', + `IncrementalOrderableQuantity` int(11) DEFAULT NULL, + `IncrementalOrderableQuantityType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', + `PackingPrice` decimal(10,2) DEFAULT NULL, + `PackingPriceType` varchar(25) COLLATE utf8_unicode_ci DEFAULT NULL, + `PackingPriceQuantity` int(11) DEFAULT NULL, + `PackingQuantityType` tinyint(1) DEFAULT NULL COMMENT 'Unit: 1 = piece, 2 = bunch, 3 = box, 4 = layer, 5 = load carrier/trolley', + `MarketPlaceID` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`ID`), + UNIQUE KEY `ID_UNIQUE` (`ID`) +) ENGINE=InnoDB AUTO_INCREMENT=523827 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: `bs` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `bs`; + +-- +-- Temporary table 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 TABLE `VentasPorCliente` ( + `Id_Cliente` tinyint NOT NULL, + `VentaBasica` tinyint NOT NULL, + `year` tinyint NOT NULL, + `month` tinyint NOT NULL +) ENGINE=MyISAM */; +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 `m3` +-- + +DROP TABLE IF EXISTS `m3`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `m3` ( + `fecha` date NOT NULL, + `provinceFk` smallint(5) unsigned DEFAULT NULL, + `warehouseFk` smallint(6) unsigned NOT NULL DEFAULT '0', + `m3` decimal(10,1) DEFAULT NULL +) 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 table 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 TABLE `v_ventas` ( + `importe` tinyint NOT NULL, + `recargo` tinyint NOT NULL, + `year` tinyint NOT NULL, + `month` tinyint NOT NULL, + `week` tinyint NOT NULL, + `day` tinyint NOT NULL +) ENGINE=MyISAM */; +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 '2016-01-01'; +DECLARE vDateEnd DATE DEFAULT '2016-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 + AND empresa_id IN (442,567) + GROUP BY mc.Id_Componente; + + SET vDate = TIMESTAMPADD(DAY,1,vDate); + + IF DAY(vDate) MOD 28 = 0 THEN + + SELECT vDate; + + END IF; + +END WHILE; + + SELECT 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 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 `m3Add` */; +/*!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 `m3Add`() +BEGIN + + DECLARE datSTART DATE; + DECLARE datEND DATE; + + SELECT TIMESTAMPADD(WEEK, -1,MAX(fecha)) INTO datSTART + FROM bs.m3; + + SET datEND = TIMESTAMPADD(DAY,-1,CURDATE()); + + DELETE FROM bs.m3 + WHERE fecha >= datSTART; + + INSERT INTO bs.m3 + SELECT v.fecha, a.provinceFk, t.warehouseFk, cast(sum(s.quantity * r.cm3) / 1000000 as DECIMAL(10,1)) m3 + FROM vn.ticket t + JOIN vn.sale s ON s.ticketFk = t.id + JOIN bs.ventas v ON v.Id_Movimiento = s.id -- Filtra solo por ventas "buenas" + JOIN bi.rotacion r ON r.Id_Article = s.itemFk AND r.warehouse_id = t.warehouseFk + JOIN vn.address a ON a.id = t.addressFk + WHERE v.fecha BETWEEN datSTART AND datEND + GROUP BY t.warehouseFk, v.fecha, a.provinceFk; + +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 `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` */; +/*!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; + + call bs.m3Add; + + 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 */ ; +/*!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 */ ; +/*!50003 DROP PROCEDURE IF EXISTS `vivosMuertos` */; +/*!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 `vivosMuertos`() +BEGIN + +SET @datSTART = TIMESTAMPADD(YEAR,-2,CURDATE()); +SET @datEND = TIMESTAMPADD(DAY,-DAY(CURDATE()),CURDATE()); + +DROP TEMPORARY TABLE IF EXISTS tmp.VivosMuertos; + +CREATE TEMPORARY TABLE tmp.VivosMuertos +SELECT c.Id_Cliente, tm.yearMonth, f.Compra, 0 as Nuevo, 0 as Muerto +FROM vn2008.Clientes c +JOIN (SELECT DISTINCT yearMonth FROM vn2008.time WHERE date BETWEEN @datSTART AND @datEND ) tm +LEFT JOIN + (SELECT DISTINCT tm.yearMonth, f.Id_Cliente , 1 as Compra + FROM vn2008.Facturas f + JOIN vn2008.time tm ON tm.date = f.Fecha + WHERE Fecha BETWEEN @datSTART AND @datEND) f ON f.yearMonth = tm.yearMonth AND f.Id_Cliente = c.Id_Cliente; + +UPDATE tmp.VivosMuertos vm +JOIN ( + SELECT MIN(tm.yearMonth) firstMonth, f.Id_Cliente + FROM vn2008.Facturas f + JOIN vn2008.time tm ON tm.date = f.Fecha + WHERE Fecha BETWEEN @datSTART AND @datEND + GROUP BY f.Id_Cliente ) fm ON fm.firstMonth = vm.yearMonth AND fm.Id_Cliente = vm.Id_Cliente +SET Nuevo = 1; + +SELECT max(yearMonth) INTO @lastYearMonth FROM tmp.VivosMuertos; + +UPDATE tmp.VivosMuertos vm +JOIN ( + SELECT MAX(tm.yearMonth) firstMonth, f.Id_Cliente + FROM vn2008.Facturas f + JOIN vn2008.time tm ON tm.date = f.Fecha + WHERE Fecha BETWEEN @datSTART AND @datEND + GROUP BY f.Id_Cliente ) fm ON fm.firstMonth = vm.yearMonth AND fm.Id_Cliente = vm.Id_Cliente +SET Muerto = 1 +WHERE yearMonth < @lastYearMonth; + + SELECT * FROM tmp.VivosMuertos; + +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 table 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 TABLE `analisis_grafico_ventas` ( + `Año` tinyint NOT NULL, + `Semana` tinyint NOT NULL, + `Importe` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `analisis_ventas_simple` ( + `Año` tinyint NOT NULL, + `Semana` tinyint NOT NULL, + `Importe` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `customerRiskOverdue` ( + `customer_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `company_id` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `last_Id_Cubo` ( + `Id_Compra` tinyint NOT NULL, + `Id_Article` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `Id_Cubo` tinyint NOT NULL, + `Packing` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `v_clientes_jerarquia` ( + `Id_Cliente` tinyint NOT NULL, + `Cliente` tinyint NOT NULL, + `Comercial` tinyint NOT NULL, + `Jefe` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `v_ventas_contables` ( + `year` tinyint NOT NULL, + `month` tinyint NOT NULL, + `importe` tinyint NOT NULL +) ENGINE=MyISAM */; +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)); + +-- Protección neonatos +/* +UPDATE bi.claims_ratio cr + JOIN vn2008.Clientes c ON c.Id_Cliente = cr.Id_Cliente + SET recobro = 0, Ratio = 0 + WHERE c.created > TIMESTAMPADD(MONTH,-1,CURDATE()); + */ +UPDATE bi.claims_ratio cr + JOIN vn.firstTicketShipped fts ON fts.clientFk = cr.Id_Cliente + SET recobro = 0, Ratio = 0 + WHERE fts.shipped > TIMESTAMPADD(MONTH,-1,CURDATE()); + +-- 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; +DECLARE vOneYearAgo DATETIME; + +SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE()); +SET vDateLong = TIMESTAMPADD(MONTH, -18,CURDATE()); +SET vOneYearAgo = TIMESTAMPADD(YEAR, -1,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) + OR Fecha < vOneYearAgo; + +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=182774 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `cdrConf` ( + `calldate` tinyint NOT NULL, + `clid` tinyint NOT NULL, + `src` tinyint NOT NULL, + `dst` tinyint NOT NULL, + `dcontext` tinyint NOT NULL, + `channel` tinyint NOT NULL, + `dstchannel` tinyint NOT NULL, + `lastapp` tinyint NOT NULL, + `lastdata` tinyint NOT NULL, + `duration` tinyint NOT NULL, + `billsec` tinyint NOT NULL, + `disposition` tinyint NOT NULL, + `amaflags` tinyint NOT NULL, + `accountcode` tinyint NOT NULL, + `uniqueid` tinyint NOT NULL, + `userfield` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `followmeConf` ( + `name` tinyint NOT NULL, + `music` tinyint NOT NULL, + `context` tinyint NOT NULL, + `takecall` tinyint NOT NULL, + `declinecall` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `followmeNumberConf` ( + `name` tinyint NOT NULL, + `ordinal` tinyint NOT NULL, + `phonenumber` tinyint NOT NULL, + `timeout` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `queueConf` ( + `name` tinyint NOT NULL, + `strategy` tinyint NOT NULL, + `timeout` tinyint NOT NULL, + `retry` tinyint NOT NULL, + `weight` tinyint NOT NULL, + `maxlen` tinyint NOT NULL, + `ringinuse` tinyint NOT NULL +) ENGINE=MyISAM */; +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=726 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queue members'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table 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 TABLE `queueMemberConf` ( + `uniqueid` tinyint NOT NULL, + `queue_name` tinyint NOT NULL, + `interface` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `sipConf` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `secret` tinyint NOT NULL, + `callerid` tinyint NOT NULL, + `host` tinyint NOT NULL, + `deny` tinyint NOT NULL, + `permit` tinyint NOT NULL, + `type` tinyint NOT NULL, + `context` tinyint NOT NULL, + `incominglimit` tinyint NOT NULL, + `pickupgroup` tinyint NOT NULL, + `careinvite` tinyint NOT NULL, + `ipaddr` tinyint NOT NULL, + `regseconds` tinyint NOT NULL, + `port` tinyint NOT NULL, + `defaultuser` tinyint NOT NULL, + `useragent` tinyint NOT NULL, + `lastms` tinyint NOT NULL, + `fullcontact` tinyint NOT NULL, + `regserver` tinyint NOT NULL +) ENGINE=MyISAM */; +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: `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=80200 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(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; + + -- 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(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; + + -- 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`(vWarehouseId INT) +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 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; + + 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; + + -- 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 = vWarehouseId + AND fecha = CURDATE(); + + REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed) + VALUES (vWarehouseId, 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` */; +/*!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`(vWarehouseId INT) +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 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; + +OPEN rs; + +FETCH rs INTO rsDeparture, rsHoras , rsInicio; + +SELECT rsDeparture, rsHoras , rsInicio, vWarehouseId, 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 (vWarehouseId, 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 */ ; +/*!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_refreshkk` */; +/*!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_refreshkk`() +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 */ ; +/*!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 - -- 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_week_ini INT; + DECLARE v_week_end 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 + IF GET_LOCK('weekly_sales', 300) THEN - LEAVE proc; - END IF; + SELECT last_refresh INTO v_last_refresh FROM weekly_sales_info; - -- 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_refreshkk` */; -/*!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_refreshkk`() -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 */ ; -/*!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: `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=36 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 */; - --- --- 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: `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=9029066 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: `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` ( - `clientFk` int(11) NOT NULL, - `orderFk` int(10) unsigned NOT NULL, - PRIMARY KEY (`orderFk`,`clientFk`), - UNIQUE KEY `customer_id` (`clientFk`), - CONSTRAINT `basketOrder_ibfk_1` FOREIGN KEY (`orderFk`, `clientFk`) 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 (`clientFk`) 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, - `isActive` 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=37 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 `isActive`, - 1 AS `longitude`, - 1 AS `latitude`, - 1 AS `warehouseFk`, - 1 AS `agencyFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `myClient` --- - -DROP TABLE IF EXISTS `myClient`; -/*!50001 DROP VIEW IF EXISTS `myClient`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `myClient` AS SELECT - 1 AS `id`, - 1 AS `isToBeMailed`, - 1 AS `defaultAddressFk`, - 1 AS `credit`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `myInvoice` --- - -DROP TABLE IF EXISTS `myInvoice`; -/*!50001 DROP VIEW IF EXISTS `myInvoice`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `myInvoice` AS SELECT - 1 AS `id`, - 1 AS `ref`, - 1 AS `issued`, - 1 AS `amount`*/; -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 `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=12994 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=1257557 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, - `guestMethod` varchar(45) CHARACTER SET utf8 NOT NULL, - `guestAgencyFk` int(11) NOT NULL, - `reserveTime` time NOT NULL, - `defaultCompanyFk` smallint(6) unsigned DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `employeeFk` (`employeeFk`), - KEY `guestAgencyFk` (`guestAgencyFk`), - KEY `defaultCompanyFk` (`defaultCompanyFk`), - KEY `guestMethod` (`guestMethod`), - CONSTRAINT `orderConfig_ibfk_1` FOREIGN KEY (`employeeFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `orderConfig_ibfk_2` FOREIGN KEY (`defaultCompanyFk`) REFERENCES `vn2008`.`empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `orderConfig_ibfk_3` FOREIGN KEY (`guestAgencyFk`) REFERENCES `vn2008`.`Agencias` (`Id_Agencia`) ON UPDATE CASCADE -) 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=7818839 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_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 */; - --- --- 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=190122 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=1159729 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=2472313 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=1681301 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=2398565 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 `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 `myClientGetDebt` */; -/*!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 `myClientGetDebt`(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 `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 = 'PICKUP' AND vAddress IS NULL - THEN - SELECT defaultAddressFk INTO vAddress - FROM myClient; - END IF; - - SET vOrder = basketGetId(); - - IF vOrder IS NULL - THEN - SELECT companyFk INTO vCompany - FROM vn.clientDefaultCompany - WHERE ClientFk = account.userGetId() - AND CURDATE() BETWEEN started AND finished - LIMIT 1; - - IF vCompany IS NULL - THEN - SELECT defaultCompanyFk INTO vCompany - FROM orderConfig; + IF v_last_refresh IS NULL THEN + SET v_refresh = TRUE; END IF; - 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 = vCompany; - - SET vOrder = LAST_INSERT_ID(); - - INSERT INTO basketOrder SET - clientFk = account.userGetId(), - orderFk = 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 guestMethod, guestAgencyFk - INTO vMethod, vAgency - FROM orderConfig - 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 - */ - DECLARE vTaxBase DECIMAL(10,2); - DECLARE vTax DECIMAL(10,2); - - 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; - - SELECT SUM(taxableBase), SUM(tax) - INTO vTaxBase, vTax - FROM tmp.ticketAmount; - - SELECT t.id, t.landed, t.shipped, t.refFk, ag.description agency, m.code method, - a.street, a.postalCode, a.city, a.nickname, p.name province, - vTaxBase taxBase, vTaxBase + vTax AS total - FROM tmp.ticket 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 - LEFT JOIN vn.deliveryMethod m ON m.id = ag.deliveryMethodFk - LEFT JOIN vn.province p ON p.id = a.provinceFk - WHERE t.id = vTicket; - - DROP TEMPORARY TABLE - tmp.ticket, - tmp.ticketTax, - tmp.ticketAmount; -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 `myTicketGetPackages` */; -/*!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 `myTicketGetPackages`(vTicket INT) -BEGIN -/** - * Returns a current user ticket packages. - * - * @param vTicket The ticket identifier - * @select The ticket packages - */ - SELECT i.image, i.id, i.name, tp.quantity - FROM myTicket t - JOIN vn.ticketPackaging tp ON tp.ticketFk = t.id - JOIN vn.package p ON p.id = tp.packagingFk - JOIN vn.item i ON i.id = p.itemFk - 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 `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 shipped 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; -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', 'Accede a ticket' - 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. - * - * @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 employeeFk INTO vEmployee FROM orderConfig; - 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 `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 `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 `__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 - */ - DECLARE vTaxBase DECIMAL(10,2); - DECLARE vTax DECIMAL(10,2); - - 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 SUM(taxBase), SUM(tax + equalizationTax) - INTO vTaxBase, vTax - FROM tmp.ticketTax; - - SELECT t.id, t.landed, t.shipped, t.refFk, ag.description agency, - a.street, a.postalCode, a.city, a.nickname, p.name province, - vTaxBase taxBase, vTaxBase + vTax AS total - FROM tmp.ticket 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 - LEFT 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 */ ; - --- --- Current Database: `account` --- - -USE `account`; - --- --- Final view structure for view `accountDovecot` --- - -/*!50001 DROP VIEW IF EXISTS `accountDovecot`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `accountDovecot` AS select `u`.`name` AS `name`,`u`.`password` AS `password` from (`user` `u` join `account` `a` on((`a`.`id` = `u`.`id`))) where `u`.`active` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `accountPam` --- - -/*!50001 DROP VIEW IF EXISTS `accountPam`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `accountPam` AS select `u`.`name` AS `name`,`u`.`password` AS `password` from (`user` `u` join `account` `a` on((`u`.`id` = `a`.`id`))) where (`u`.`active` <> 0) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `userRole` --- - -/*!50001 DROP VIEW IF EXISTS `userRole`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `userRole` AS select `r`.`inheritsFrom` AS `id` from (`roleRole` `r` join `user` `u` on((`u`.`role` = `r`.`role`))) where (`u`.`id` = `USERGETID`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `userView` --- - -/*!50001 DROP VIEW IF EXISTS `userView`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `userView` AS select `u`.`id` AS `id`,`u`.`name` AS `name`,`u`.`active` AS `active`,`u`.`email` AS `email`,`u`.`nickname` AS `nickname`,`u`.`lang` AS `lang`,`u`.`role` AS `role`,`u`.`recoverPass` AS `recoverPass` from `user` `u` where (`u`.`name` = `account`.`userGetName`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `util` --- - -USE `util`; - --- --- Current Database: `vn2008` --- - -USE `vn2008`; - --- --- Final view structure for view `V_edi_item_track` --- - -/*!50001 DROP VIEW IF EXISTS `V_edi_item_track`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `V_edi_item_track` AS select `edi`.`item_track`.`item_id` AS `item_id`,`edi`.`item_track`.`s1` AS `s1`,`edi`.`item_track`.`s2` AS `s2`,`edi`.`item_track`.`s3` AS `s3`,`edi`.`item_track`.`s4` AS `s4`,`edi`.`item_track`.`s5` AS `s5`,`edi`.`item_track`.`s6` AS `s6`,`edi`.`item_track`.`kop` AS `kop`,`edi`.`item_track`.`pac` AS `pac`,`edi`.`item_track`.`cat` AS `cat`,`edi`.`item_track`.`ori` AS `ori`,`edi`.`item_track`.`pro` AS `pro`,`edi`.`item_track`.`sub` AS `sub`,`edi`.`item_track`.`package` AS `package` from `edi`.`item_track` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `VerEspionaje` --- - -/*!50001 DROP VIEW IF EXISTS `VerEspionaje`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `VerEspionaje` AS select `Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`Espionajes`.`Fecha` AS `Fecha`,`Espionajes`.`HoraEntrada` AS `HoraEntrada`,`Espionajes`.`HoraSalida` AS `HoraSalida`,`Espionajes`.`Id_Equipo` AS `Id_Equipo`,`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador` from (`Espionajes` join `Trabajadores` on((`Espionajes`.`Id_Trabajador` = `Trabajadores`.`Id_Trabajador`))) order by `Trabajadores`.`CodigoTrabajador`,`Espionajes`.`Fecha` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `account_customer` --- - -/*!50001 DROP VIEW IF EXISTS `account_customer`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `account_customer` AS select `e`.`description` AS `description`,`vn2008`.`cc_to_iban`(concat(`a`.`entity_id`,`a`.`office`,`a`.`DC`,`a`.`number`)) AS `iban`,`a`.`entity_id` AS `entity_id`,`a`.`office` AS `office`,`a`.`DC` AS `dc`,`a`.`number` AS `number` from ((`provider_account_customer` `c` join `Proveedores_account` `a` on((`a`.`Id_Proveedores_account` = `c`.`account_id`))) join `entity` `e` on((`a`.`entity_id` = `e`.`entity_id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `awb_volume` --- - -/*!50001 DROP VIEW IF EXISTS `awb_volume`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `awb_volume` AS select `ar`.`awb_id` AS `awb_id`,(((`c`.`Etiquetas` * `a`.`density`) * if((`cu`.`Volumen` > 0),`cu`.`Volumen`,((`cu`.`X` * `cu`.`Y`) * if((`cu`.`Z` = 0),(`a`.`Medida` + 10),`cu`.`Z`)))) / 167000) AS `volume` from (((((((`Compres` `c` join `Articles` `a` on((`c`.`Id_Article` = `a`.`Id_Article`))) join `Tipos` `t` on((`a`.`tipo_id` = `t`.`tipo_id`))) join `Cubos` `cu` on((`cu`.`Id_Cubo` = `c`.`Id_Cubo`))) join `Entradas` `e` on((`c`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `tr` on((`tr`.`id` = `e`.`travel_id`))) join `recibida_entrada` `re` on((`c`.`Id_Entrada` = `re`.`Id_Entrada`))) join `awb_recibida` `ar` on((`re`.`awb_recibida` = `ar`.`recibida_id`))) where (`tr`.`shipment` > makedate((year(curdate()) - 1),1)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `cdr` --- - -/*!50001 DROP VIEW IF EXISTS `cdr`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `cdr` AS select `c`.`call_date` AS `calldate`,`c`.`clid` AS `clid`,`c`.`src` AS `src`,`c`.`dst` AS `dst`,`c`.`dcontext` AS `dcontext`,`c`.`channel` AS `channel`,`c`.`dst_channel` AS `dstchannel`,`c`.`last_app` AS `lastapp`,`c`.`last_data` AS `lastdata`,`c`.`duration` AS `duration`,`c`.`billsec` AS `billsec`,`c`.`disposition` AS `disposition`,`c`.`ama_flags` AS `amaflags`,`c`.`account_code` AS `accountcode`,`c`.`unique_id` AS `uniqueid`,`c`.`user_field` AS `userfield` from `pbx`.`cdr` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientMana` --- - -/*!50001 DROP VIEW IF EXISTS `clientMana`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientMana` AS select `t`.`Id_Cliente` AS `Id_Cliente`,`mc`.`Valor` AS `ManaUnitario`,(`mc`.`Valor` * `m`.`Cantidad`) AS `ManaTotal`,`t`.`Id_Ticket` AS `Id_Ticket`,`m`.`Id_Article` AS `Id_Article`,`m`.`Concepte` AS `Concepte`,`m`.`Cantidad` AS `Cantidad`,`m`.`Preu` AS `Preu`,`t`.`Fecha` AS `Fecha`,`m`.`Id_Movimiento` AS `Id_Movimiento` from ((((`vn2008`.`Tickets` `t` join `vn2008`.`Movimientos` `m` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) join `vn2008`.`Movimientos_componentes` `mc` on((`mc`.`Id_Movimiento` = `m`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on((`tc`.`Id_Componente` = `mc`.`Id_Componente`))) join `vn2008`.`tarifa_componentes_series` `tcs` on((`tc`.`tarifa_componentes_series_id` = `tcs`.`tarifa_componentes_series_id`))) where ((`t`.`Fecha` >= '2016-01-01') and (`tcs`.`Serie` = 'cartera_comercial') and (`mc`.`Valor` <> 0)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_article` --- - -/*!50001 DROP VIEW IF EXISTS `edi_article`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_article` AS select `edi`.`item`.`id` AS `id`,`edi`.`item`.`product_name` AS `product_name`,`edi`.`item`.`name` AS `name`,`edi`.`item`.`plant_id` AS `plant_id`,`edi`.`item`.`group_id` AS `group_id`,`edi`.`item`.`entry_date` AS `entry_date`,`edi`.`item`.`expiry_date` AS `expiry_date`,`edi`.`item`.`change_date_time` AS `change_date_time` from `edi`.`item` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_bucket` --- - -/*!50001 DROP VIEW IF EXISTS `edi_bucket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_bucket` AS select (cast(`edi`.`bucket`.`bucket_id` as char charset utf8) collate utf8_general_ci) AS `bucket_id`,`edi`.`bucket`.`bucket_type_id` AS `bucket_type_id`,`edi`.`bucket`.`description` AS `description`,`edi`.`bucket`.`x_size` AS `x_size`,`edi`.`bucket`.`y_size` AS `y_size`,`edi`.`bucket`.`z_size` AS `z_size`,`edi`.`bucket`.`entry_date` AS `entry_date`,`edi`.`bucket`.`expiry_date` AS `expiry_date`,`edi`.`bucket`.`change_date_time` AS `change_date_time` from `edi`.`bucket` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_bucket_type` --- - -/*!50001 DROP VIEW IF EXISTS `edi_bucket_type`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_bucket_type` AS select `edi`.`bucket_type`.`bucket_type_id` AS `bucket_type_id`,`edi`.`bucket_type`.`description` AS `description`,`edi`.`bucket_type`.`entry_date` AS `entry_date`,`edi`.`bucket_type`.`expiry_date` AS `expiry_date`,`edi`.`bucket_type`.`change_date_time` AS `change_date_time` from `edi`.`bucket_type` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_feature` --- - -/*!50001 DROP VIEW IF EXISTS `edi_feature`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_feature` AS select `edi`.`feature`.`item_id` AS `item_id`,`edi`.`feature`.`feature_type_id` AS `feature_type_id`,`edi`.`feature`.`feature_value` AS `feature_value`,`edi`.`feature`.`entry_date` AS `entry_date`,`edi`.`feature`.`expiry_date` AS `expiry_date`,`edi`.`feature`.`change_date_time` AS `change_date_time` from `edi`.`feature` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_genus` --- - -/*!50001 DROP VIEW IF EXISTS `edi_genus`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_genus` AS select `edi`.`genus`.`genus_id` AS `genus_id`,`edi`.`genus`.`latin_genus_name` AS `latin_genus_name`,`edi`.`genus`.`entry_date` AS `entry_date`,`edi`.`genus`.`expiry_date` AS `expiry_date`,`edi`.`genus`.`change_date_time` AS `change_date_time` from `edi`.`genus` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_item_feature` --- - -/*!50001 DROP VIEW IF EXISTS `edi_item_feature`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_item_feature` AS select `edi`.`item_feature`.`item_id` AS `item_id`,`edi`.`item_feature`.`presentation_order` AS `presentation_order`,`edi`.`item_feature`.`feature` AS `feature`,`edi`.`item_feature`.`regulation_type` AS `regulation_type`,`edi`.`item_feature`.`entry_date` AS `entry_date`,`edi`.`item_feature`.`expiry_date` AS `expiry_date`,`edi`.`item_feature`.`change_date_time` AS `change_date_time` from `edi`.`item_feature` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_plant` --- - -/*!50001 DROP VIEW IF EXISTS `edi_plant`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_plant` AS select `edi`.`plant`.`plant_id` AS `plant_id`,`edi`.`plant`.`genus_id` AS `genus_id`,`edi`.`plant`.`specie_id` AS `specie_id`,`edi`.`plant`.`entry_date` AS `entry_date`,`edi`.`plant`.`expiry_date` AS `expiry_date`,`edi`.`plant`.`change_date_time` AS `change_date_time` from `edi`.`plant` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_specie` --- - -/*!50001 DROP VIEW IF EXISTS `edi_specie`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_specie` AS select `edi`.`specie`.`specie_id` AS `specie_id`,`edi`.`specie`.`genus_id` AS `genus_id`,`edi`.`specie`.`latin_species_name` AS `latin_species_name`,`edi`.`specie`.`entry_date` AS `entry_date`,`edi`.`specie`.`expiry_date` AS `expiry_date`,`edi`.`specie`.`change_date_time` AS `change_date_time` from `edi`.`specie` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_supplier` --- - -/*!50001 DROP VIEW IF EXISTS `edi_supplier`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_supplier` AS select `edi`.`supplier`.`supplier_id` AS `supplier_id`,`edi`.`supplier`.`company_name` AS `company_name` from `edi`.`supplier` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_type` --- - -/*!50001 DROP VIEW IF EXISTS `edi_type`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_type` AS select `edi`.`type`.`type_id` AS `type_id`,`edi`.`type`.`type_group_id` AS `type_group_id`,`edi`.`type`.`description` AS `description`,`edi`.`type`.`entry_date` AS `entry_date`,`edi`.`type`.`expiry_date` AS `expiry_date`,`edi`.`type`.`change_date_time` AS `change_date_time` from `edi`.`type` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `edi_value` --- - -/*!50001 DROP VIEW IF EXISTS `edi_value`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `edi_value` AS select `edi`.`value`.`type_id` AS `type_id`,`edi`.`value`.`type_value` AS `type_value`,`edi`.`value`.`type_description` AS `type_description`,`edi`.`value`.`entry_date` AS `entry_date`,`edi`.`value`.`expiry_date` AS `expiry_date`,`edi`.`value`.`change_date_time` AS `change_date_time` from `edi`.`value` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemTag` --- - -/*!50001 DROP VIEW IF EXISTS `itemTag`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemTag` AS select `i`.`id` AS `id`,`i`.`itemFk` AS `itemFk`,`i`.`tagFk` AS `tagFk`,`i`.`value` AS `value`,`i`.`priority` AS `priority` from `vn`.`itemTag` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemTagArranged` --- - -/*!50001 DROP VIEW IF EXISTS `itemTagArranged`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemTagArranged` AS select `i`.`itemFk` AS `itemFk`,`i`.`tag1` AS `tag1`,`i`.`val1` AS `val1`,`i`.`tag2` AS `tag2`,`i`.`val2` AS `val2`,`i`.`tag3` AS `tag3`,`i`.`val3` AS `val3`,`i`.`tag4` AS `tag4`,`i`.`val4` AS `val4`,`i`.`tag5` AS `tag5`,`i`.`val5` AS `val5`,`i`.`tag6` AS `tag6`,`i`.`val6` AS `val6`,`i`.`description` AS `description` from `vn`.`itemTagArranged` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `item_entry_in` --- - -/*!50001 DROP VIEW IF EXISTS `item_entry_in`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `item_entry_in` AS select `t`.`warehouse_id` AS `warehouse_id`,`t`.`landing` AS `dat`,`m`.`Id_Article` AS `item_id`,`m`.`Cantidad` AS `amount`,`t`.`received` AS `received` from ((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) where ((`e`.`Inventario` = 0) and (`m`.`Cantidad` <> 0)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `item_entry_out` --- - -/*!50001 DROP VIEW IF EXISTS `item_entry_out`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `item_entry_out` AS select `t`.`warehouse_id_out` AS `warehouse_id`,`t`.`shipment` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,(`t`.`delivered` or ifnull(`co`.`valor`,0)) AS `delivered` from (((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) left join `Compres_ok` `co` on(((`co`.`Id_Compra` = `m`.`Id_Compra`) and (`co`.`Id_Accion` = 3)))) where ((`e`.`Inventario` = 0) and (`e`.`Redada` = 0) and (`m`.`Cantidad` <> 0)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `item_entry_outkk` --- - -/*!50001 DROP VIEW IF EXISTS `item_entry_outkk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `item_entry_outkk` AS select `t`.`warehouse_id_out` AS `warehouse_id`,`t`.`shipment` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,`t`.`delivered` AS `delivered` from ((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) where ((`e`.`Inventario` = 0) and (`e`.`Redada` = 0) and (`m`.`Cantidad` <> 0)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `item_out` --- - -/*!50001 DROP VIEW IF EXISTS `item_out`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `item_out` AS select `t`.`warehouse_id` AS `warehouse_id`,`t`.`Fecha` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,`m`.`OK` AS `ok`,`m`.`Reservado` AS `Reservado`,(`ts`.`alertLevel` = 3) AS `ready`,`t`.`Factura` AS `invoice`,ifnull(`ts`.`alertLevel`,0) AS `alertLevel` from ((`vn2008`.`Movimientos` `m` join `vn2008`.`Tickets` `t` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) left join `vn`.`ticketState` `ts` on((`t`.`Id_Ticket` = `ts`.`ticket`))) where (`m`.`Cantidad` <> 0) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `new_viewkk` --- - -/*!50001 DROP VIEW IF EXISTS `new_viewkk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `new_viewkk` AS select `vn`.`workerDocument`.`id` AS `id`,`vn`.`workerDocument`.`worker` AS `worker`,`vn`.`workerDocument`.`document` AS `document` from `vn`.`workerDocument` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order` --- - -/*!50001 DROP VIEW IF EXISTS `order`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order` AS select `hedera`.`order`.`id` AS `id`,`hedera`.`order`.`date_make` AS `date_make`,`hedera`.`order`.`date_send` AS `date_send`,`hedera`.`order`.`customer_id` AS `customer_id`,`hedera`.`order`.`delivery_method_id` AS `delivery_method_id`,`hedera`.`order`.`agency_id` AS `agency_id`,`hedera`.`order`.`address_id` AS `address_id`,`hedera`.`order`.`note` AS `note`,`hedera`.`order`.`confirmed` AS `confirmed`,`hedera`.`order`.`is_bionic` AS `is_bionic`,`hedera`.`order`.`source_app` AS `source_app` from `hedera`.`order` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_component` --- - -/*!50001 DROP VIEW IF EXISTS `order_component`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_component` AS select `c`.`order_row_id` AS `order_row_id`,`c`.`component_id` AS `component_id`,`c`.`price` AS `price` from `hedera`.`order_component` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_row` --- - -/*!50001 DROP VIEW IF EXISTS `order_row`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_row` AS select `order_row`.`id` AS `id`,`order_row`.`order_id` AS `order_id`,`order_row`.`item_id` AS `item_id`,`order_row`.`warehouse_id` AS `warehouse_id`,`order_row`.`shipment` AS `shipment`,`order_row`.`amount` AS `amount`,`order_row`.`price` AS `price`,`order_row`.`rate` AS `rate`,`order_row`.`created` AS `created`,`order_row`.`Id_Movimiento` AS `Id_Movimiento` from `hedera`.`order_row` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `person_user` --- - -/*!50001 DROP VIEW IF EXISTS `person_user`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `person_user` AS select `u`.`id` AS `id`,`u`.`role` AS `mysql_user_id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`active` AS `active`,`u`.`lastPassChange` AS `last_pass_change` from `account`.`user` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `person_user_idtrabajador` --- - -/*!50001 DROP VIEW IF EXISTS `person_user_idtrabajador`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `person_user_idtrabajador` AS select `t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn2008`.`person_user` `p` join `vn2008`.`Trabajadores` `t` on((`p`.`id` = `t`.`user_id`))) where (`t`.`user_id` = `account`.`userGetId`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `proveedores_clientes` --- - -/*!50001 DROP VIEW IF EXISTS `proveedores_clientes`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `proveedores_clientes` AS select `Proveedores`.`Id_Proveedor` AS `Id_Proveedor`,`Proveedores`.`Proveedor` AS `Proveedor`,`Clientes`.`id_cliente` AS `Id_Cliente`,`Clientes`.`cliente` AS `Cliente` from (`Proveedores` join `Clientes` on((`Proveedores`.`NIF` = `Clientes`.`if`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `sms` --- - -/*!50001 DROP VIEW IF EXISTS `sms`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `sms` AS select `t`.`id` AS `id`,`t`.`senderFk` AS `Id_trabajador`,`t`.`destinationFk` AS `Id_Cliente`,`t`.`sender` AS `from`,`t`.`destination` AS `to`,`t`.`message` AS `text`,`t`.`statusCode` AS `sent`,`t`.`status` AS `response`,`t`.`created` AS `DATE_ODBC` from `vn`.`sms` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `tag` --- - -/*!50001 DROP VIEW IF EXISTS `tag`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `tag` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`free` AS `free`,`t`.`isQuantitatif` AS `isQuantitatif`,`t`.`sourceTable` AS `sourceTable`,`t`.`unit` AS `unit` from `vn`.`tag` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `tarifa_componentes` --- - -/*!50001 DROP VIEW IF EXISTS `tarifa_componentes`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `tarifa_componentes` AS select `bi`.`tarifa_componentes`.`Id_Componente` AS `Id_Componente`,`bi`.`tarifa_componentes`.`Componente` AS `Componente`,`bi`.`tarifa_componentes`.`tarifa_componentes_series_id` AS `tarifa_componentes_series_id`,`bi`.`tarifa_componentes`.`tarifa_class` AS `tarifa_class`,`bi`.`tarifa_componentes`.`tax` AS `tax`,`bi`.`tarifa_componentes`.`is_renewable` AS `is_renewable` from `bi`.`tarifa_componentes` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `tarifa_componentes_series` --- - -/*!50001 DROP VIEW IF EXISTS `tarifa_componentes_series`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `tarifa_componentes_series` AS select `bi`.`tarifa_componentes_series`.`tarifa_componentes_series_id` AS `tarifa_componentes_series_id`,`bi`.`tarifa_componentes_series`.`Serie` AS `Serie`,`bi`.`tarifa_componentes_series`.`base` AS `base` from `bi`.`tarifa_componentes_series` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticketCreationData` --- - -/*!50001 DROP VIEW IF EXISTS `ticketCreationData`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketCreationData` AS select dayname(`h`.`confirm_date`) AS `DiadelaSemana`,hour(`h`.`confirm_date`) AS `Hora`,cast(`h`.`confirm_date` as date) AS `Fecha`,`h`.`source_app` AS `Dispositivo` from `hedera`.`order` `h` where `h`.`confirm_date` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_Agenda` --- - -/*!50001 DROP VIEW IF EXISTS `v_Agenda`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_Agenda` AS select 'P' AS `Tipo`,`Proveedores`.`Id_Proveedor` AS `Id`,`Proveedores`.`Proveedor` AS `Nombre`,`Proveedores`.`Telefono` AS `Telephone` from `Proveedores` where (`Proveedores`.`Telefono` is not null) union select 'C' AS `Tipo`,`Clientes`.`id_cliente` AS `Id`,`Clientes`.`cliente` AS `Cliente`,`Clientes`.`telefono` AS `Telefono` from `Clientes` where (`Clientes`.`telefono` is not null) union select 'C' AS `Tipo`,`Clientes`.`id_cliente` AS `Id`,`Clientes`.`cliente` AS `Cliente`,`Clientes`.`movil` AS `Movil` from `Clientes` where (`Clientes`.`movil` is not null) union select if(isnull(`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`Relaciones`.`Id_Proveedor`),`Relaciones`.`Id_Cliente`,`Relaciones`.`Id_Proveedor`) AS `Id`,`Contactos`.`Nombre` AS `Nombre`,`Contactos`.`Telefono` AS `Telefono` from (`Contactos` join `Relaciones` on((`Contactos`.`Id_Contacto` = `Relaciones`.`Id_Contacto`))) where (`Contactos`.`Telefono` is not null) union select if(isnull(`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`Relaciones`.`Id_Proveedor`),`Relaciones`.`Id_Cliente`,`Relaciones`.`Id_Proveedor`) AS `Id`,`Contactos`.`Nombre` AS `Nombre`,`Contactos`.`Movil` AS `Movil` from (`Contactos` join `Relaciones` on((`Contactos`.`Id_Contacto` = `Relaciones`.`Id_Contacto`))) where (`Contactos`.`Movil` is not null) union select 'T' AS `Tipo`,`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador`,`Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`Trabajadores`.`extension` AS `extension` from `Trabajadores` where (`Trabajadores`.`extension` is not null) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_Agenda2` --- - -/*!50001 DROP VIEW IF EXISTS `v_Agenda2`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_Agenda2` AS select `v_Agenda`.`Tipo` AS `Tipo`,`v_Agenda`.`Id` AS `Id`,`v_Agenda`.`Nombre` AS `Nombre`,replace(`v_Agenda`.`Telephone`,' ','') AS `Telefono` from `v_Agenda` where `v_Agenda`.`Telephone` group by replace(`v_Agenda`.`Telephone`,' ','') */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_Articles_botanical` --- - -/*!50001 DROP VIEW IF EXISTS `v_Articles_botanical`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_Articles_botanical` AS select `ab`.`Id_Article` AS `Id_Article`,ifnull(`ab`.`botanical`,concat(`g`.`latin_genus_name`,' ',ifnull(`s`.`latin_species_name`,''))) AS `edi_botanic` from ((`vn2008`.`Articles_botanical` `ab` left join `edi`.`genus` `g` on((`ab`.`genus_id` = `g`.`genus_id`))) left join `edi`.`specie` `s` on((`s`.`specie_id` = `ab`.`specie_id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_Movimientos_Volumen_shipping_charge` --- - -/*!50001 DROP VIEW IF EXISTS `v_Movimientos_Volumen_shipping_charge`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_Movimientos_Volumen_shipping_charge` AS select `M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`t`.`Fecha` AS `Fecha`,`az`.`price` AS `price`,(((`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(((`r`.`Id_Article` = `M`.`Id_Article`) and (`r`.`warehouse_id` = `t`.`warehouse_id`)))) join `vn2008`.`Cubos` `cb` on((`cb`.`Id_Cubo` = 94))) 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)))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_Ordenes` --- - -/*!50001 DROP VIEW IF EXISTS `v_Ordenes`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_Ordenes` AS select `Ordenes`.`Id_ORDEN` AS `Id_ORDEN`,`Ordenes`.`ORDEN` AS `ORDEN`,`Ordenes`.`datORDEN` AS `datORDEN`,`Ordenes`.`datTICKET` AS `datTICKET`,`Ordenes`.`CodVENDEDOR` AS `CodVENDEDOR`,`Ordenes`.`CodCOMPRADOR` AS `CodCOMPRADOR`,`Ordenes`.`CANTIDAD` AS `CANTIDAD`,`Ordenes`.`PRECIOMAX` AS `PRECIOMAX`,`Ordenes`.`PREU` AS `PREU`,`Ordenes`.`Id_ARTICLE` AS `Id_ARTICLE`,`Ordenes`.`Id_CLIENTE` AS `Id_CLIENTE`,`Ordenes`.`COMENTARIO` AS `COMENTARIO`,`Ordenes`.`OK` AS `OK`,`Ordenes`.`TOTAL` AS `TOTAL`,`Ordenes`.`datCOMPRA` AS `datCOMPRA`,`Ordenes`.`KO` AS `KO`,`Ordenes`.`Id_Movimiento` AS `Id_Movimiento`,`Ordenes`.`odbc_date` AS `odbc_date` from `Ordenes` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_XDiario_ALL` --- - -/*!50001 DROP VIEW IF EXISTS `v_XDiario_ALL`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_XDiario_ALL` AS select `bi`.`XDiario_ALL`.`empresa_id` AS `empresa_id`,`bi`.`XDiario_ALL`.`SUBCTA` AS `SUBCTA`,`bi`.`XDiario_ALL`.`Eurodebe` AS `Eurodebe`,`bi`.`XDiario_ALL`.`Eurohaber` AS `Eurohaber`,`bi`.`XDiario_ALL`.`Fecha` AS `Fecha`,`bi`.`XDiario_ALL`.`FECHA_EX` AS `FECHA_EX` from `bi`.`XDiario_ALL` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_accion` --- - -/*!50001 DROP VIEW IF EXISTS `v_accion`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_accion` AS select `vncontrol`.`accion`.`accion_id` AS `accion_id`,`vncontrol`.`accion`.`accion` AS `accion` from `vncontrol`.`accion` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_account` --- - -/*!50001 DROP VIEW IF EXISTS `v_account`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_account` AS select `a`.`id` AS `user_id` from `account`.`account` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_analisis_ventas` --- - -/*!50001 DROP VIEW IF EXISTS `v_analisis_ventas`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_analisis_ventas` AS select `bi`.`analisis_ventas`.`Familia` AS `Familia`,`bi`.`analisis_ventas`.`Reino` AS `Reino`,`bi`.`analisis_ventas`.`Comercial` AS `Comercial`,`bi`.`analisis_ventas`.`Comprador` AS `Comprador`,`bi`.`analisis_ventas`.`Provincia` AS `Provincia`,`bi`.`analisis_ventas`.`almacen` AS `almacen`,`bi`.`analisis_ventas`.`Año` AS `Año`,`bi`.`analisis_ventas`.`Mes` AS `Mes`,`bi`.`analisis_ventas`.`Semana` AS `Semana`,`bi`.`analisis_ventas`.`Vista` AS `Vista`,`bi`.`analisis_ventas`.`Importe` AS `Importe` from `bi`.`analisis_ventas` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_awb_volumen` --- - -/*!50001 DROP VIEW IF EXISTS `v_awb_volumen`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_awb_volumen` AS select `a`.`id` AS `awb_id`,`a`.`codigo` AS `codigo`,`a`.`importe` AS `importe`,cast(sum(`v`.`volume`) as signed) AS `Vol_Total` from (`awb` `a` join `awb_volume` `v` on((`v`.`awb_id` = `a`.`id`))) group by `a`.`id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_barcodes` --- - -/*!50001 DROP VIEW IF EXISTS `v_barcodes`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_barcodes` AS select `Articles`.`Id_Article` AS `code`,`Articles`.`Id_Article` AS `Id_Article` from `Articles` union all select `barcodes`.`code` AS `code`,`barcodes`.`Id_Article` AS `Id_Article` from `barcodes` union all select `c`.`Id_Compra` AS `Id_Compra`,`c`.`Id_Article` AS `Id_Article` from ((`Compres` `c` join `Entradas` `e` on((`c`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `tr` on((`tr`.`id` = `e`.`travel_id`))) where (`tr`.`landing` >= (curdate() + interval -(15) day)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_barcodes_plus` --- - -/*!50001 DROP VIEW IF EXISTS `v_barcodes_plus`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_barcodes_plus` AS select `cache`.`barcodes`.`code` AS `code`,`cache`.`barcodes`.`Id_Article` AS `Id_Article`,`cache`.`barcodes`.`Article` AS `Article`,`cache`.`barcodes`.`Medida` AS `Medida`,`cache`.`barcodes`.`Color` AS `Color`,`cache`.`barcodes`.`Categoria` AS `Categoria`,`cache`.`barcodes`.`Producer` AS `Producer` from `cache`.`barcodes` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_botanic_export` --- - -/*!50001 DROP VIEW IF EXISTS `v_botanic_export`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_botanic_export` AS select concat(ifnull(concat(`eg`.`latin_genus_name`,' '),''),ifnull(`es`.`latin_species_name`,'')) AS `Nom_botanic`,`be`.`Id_Paises` AS `Id_Paises`,`be`.`restriction` AS `restriction`,`be`.`description` AS `description` from ((`vn2008`.`botanic_export` `be` left join `vn2008`.`edi_genus` `eg` on((`be`.`edi_genus_id` = `eg`.`genus_id`))) left join `vn2008`.`edi_specie` `es` on((`be`.`edi_specie_id` = `es`.`specie_id`))) order by concat(`eg`.`latin_genus_name`,' ',`es`.`latin_species_name`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_compres` --- - -/*!50001 DROP VIEW IF EXISTS `v_compres`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_compres` AS select `TP`.`Id_Tipo` AS `Familia`,`RN`.`id` AS `reino_id`,`C`.`Id_Compra` AS `Id_Compra`,`C`.`Id_Entrada` AS `Id_Entrada`,`C`.`Id_Article` AS `Id_Article`,`C`.`Cantidad` AS `Cantidad`,`C`.`Costefijo` AS `Costefijo`,`C`.`Portefijo` AS `Portefijo`,`C`.`Novincular` AS `Novincular`,`C`.`Etiquetas` AS `Etiquetas`,`C`.`Packing` AS `Packing`,`C`.`grouping` AS `grouping`,`C`.`Comisionfija` AS `Comisionfija`,`C`.`Embalajefijo` AS `Embalajefijo`,`an`.`nicho` AS `Nicho`,`C`.`Id_Cubo` AS `Id_Cubo`,`C`.`Tarifa1` AS `Tarifa1`,`C`.`Tarifa2` AS `Tarifa2`,`C`.`Tarifa3` AS `Tarifa3`,`C`.`PVP` AS `PVP`,`C`.`Vida` AS `Vida`,`C`.`Id_Trabajador` AS `Id_Trabajador`,`C`.`punteo` AS `punteo`,`C`.`odbc_date` AS `odbc_date`,`E`.`Inventario` AS `Inventario`,`E`.`Id_Proveedor` AS `Id_Proveedor`,`E`.`Fecha` AS `Fecha`,`E`.`Confirmada` AS `Confirmada`,`E`.`Redada` AS `Redada`,`E`.`empresa_id` AS `empresa_id`,`E`.`travel_id` AS `travel_id`,`E`.`Pedida` AS `Pedida`,`E`.`recibida_id` AS `recibida_id`,`TR`.`id` AS `id`,`TR`.`shipment` AS `shipment`,`TR`.`landing` AS `landing`,`TR`.`warehouse_id` AS `warehouse_id`,`TR`.`warehouse_id_out` AS `warehouse_id_out`,`TR`.`agency_id` AS `agency_id`,`TR`.`ref` AS `ref`,`TR`.`delivered` AS `delivered`,`TR`.`received` AS `received`,`A`.`Article` AS `Article`,`A`.`Medida` AS `Medida`,`A`.`Tallos` AS `Tallos`,`C`.`caja` AS `caja`,`A`.`Categoria` AS `Categoria`,`A`.`id_origen` AS `id_origen`,`TP`.`Id_Tipo` AS `Tipo`,`A`.`tipo_id` AS `tipo_id`,`A`.`Color` AS `Color`,`A`.`Min` AS `Min`,(((`C`.`Costefijo` + `C`.`Embalajefijo`) + `C`.`Comisionfija`) + `C`.`Portefijo`) AS `Coste`,`W_OUT`.`fuente` AS `fuente`,`A`.`iva_group_id` AS `iva_group_id`,(if((`cb`.`Volumen` > 0),`cb`.`Volumen`,((`cb`.`X` * `cb`.`Y`) * if((`cb`.`Z` = 0),(`A`.`Medida` + 10),`cb`.`Z`))) * `C`.`Etiquetas`) AS `cm3`,`A`.`producer_id` AS `producer_id` from (((((((((`Compres` `C` join `Entradas` `E` on((`C`.`Id_Entrada` = `E`.`Id_Entrada`))) join `travel` `TR` on((`TR`.`id` = `E`.`travel_id`))) join `warehouse` `W_IN` on((`W_IN`.`id` = `TR`.`warehouse_id`))) join `warehouse` `W_OUT` on((`W_OUT`.`id` = `TR`.`warehouse_id_out`))) join `Articles` `A` on((`C`.`Id_Article` = `A`.`Id_Article`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `RN` on((`RN`.`id` = `TP`.`reino_id`))) join `Cubos` `cb` on((`cb`.`Id_Cubo` = `C`.`Id_Cubo`))) left join `Articles_nicho` `an` on(((`A`.`Id_Article` = `an`.`Id_Article`) and (`an`.`warehouse_id` = `W_IN`.`id`)))) where ((not(`W_IN`.`fuente`)) and (not(`E`.`Inventario`)) and (not(`E`.`Redada`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_departure_limit` --- - -/*!50001 DROP VIEW IF EXISTS `v_departure_limit`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_departure_limit` AS select `cache`.`departure_limit`.`warehouse_id` AS `warehouse_id`,`cache`.`departure_limit`.`fecha` AS `fecha`,`cache`.`departure_limit`.`hora` AS `hora`,`cache`.`departure_limit`.`minSpeed` AS `minSpeed` from `cache`.`departure_limit` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_descuadre_bionic` --- - -/*!50001 DROP VIEW IF EXISTS `v_descuadre_bionic`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_descuadre_bionic` AS select `t`.`Id_Ticket` AS `Id_Ticket`,`t`.`Alias` AS `Alias`,`m`.`Concepte` AS `Concepte`,sum(`mc`.`Valor`) AS `suma_componente`,`m`.`Preu` AS `Preu`,`m`.`Descuento` AS `Descuento`,(((`m`.`Preu` * (100 - `m`.`Descuento`)) / 100) - sum(`mc`.`Valor`)) AS `diferencia`,`t`.`Fecha` AS `Fecha`,((`m`.`Preu` > 0) and (`tp`.`reino_id` <> 6) and (`a`.`tipo_id` not in (7,115)) and (`t`.`warehouse_id` <> 41)) AS `benvenut` from ((((((`Movimientos` `m` join `Tickets` `t` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) join `Clientes` `c` on((`t`.`Id_Cliente` = `c`.`id_cliente`))) join `warehouse` `w` on((`w`.`id` = `t`.`warehouse_id`))) join `Articles` `a` on((`m`.`Id_Article` = `a`.`Id_Article`))) join `Tipos` `tp` on((`a`.`tipo_id` = `tp`.`tipo_id`))) left join `Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567)) and `w`.`reserve` and `c`.`real` and (`tp`.`reino_id` <> 6)) group by `m`.`Id_Movimiento` having ((abs(`diferencia`) > 0.01) or isnull(`diferencia`)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_descuadre_porte` --- - -/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_descuadre_porte` AS select `t`.`Id_Ticket` AS `Id_Ticket`,round(sum((`mc`.`Valor` * `m`.`Cantidad`)),2) AS `suma_componente`,round(`es`.`shipping_charge`,2) AS `teorico_agencia`,round((sum((`mc`.`Valor` * `m`.`Cantidad`)) - `es`.`shipping_charge`),2) AS `diferencia`,`t`.`Fecha` AS `Fecha` from ((((`vn2008`.`Movimientos` `m` left join `vn2008`.`Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on(((`tc`.`Id_Componente` = `mc`.`Id_Componente`) and (`tc`.`tarifa_componentes_series_id` = 6)))) join `vn2008`.`Tickets` `t` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) left join `vn2008`.`v_expeditions_shipping_charge` `es` on((`es`.`Id_Ticket` = `t`.`Id_Ticket`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567))) group by `t`.`Id_Ticket` having ((abs(`diferencia`) > 0.01) or isnull(`diferencia`)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_descuadre_porte2` --- - -/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte2`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_descuadre_porte2` AS select `t`.`Id_Ticket` AS `Id_Ticket`,(`mc`.`Valor` * `m`.`Cantidad`) AS `suma_componente`,`t`.`Fecha` AS `Fecha` from (((`vn2008`.`Movimientos` `m` left join `vn2008`.`Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on(((`tc`.`Id_Componente` = `mc`.`Id_Componente`) and (`tc`.`tarifa_componentes_series_id` = 6)))) join `vn2008`.`Tickets` `t` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_empresa` --- - -/*!50001 DROP VIEW IF EXISTS `v_empresa`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_empresa` AS select `e`.`logo` AS `logo`,`e`.`id` AS `id`,`e`.`registro` AS `registro`,`e`.`gerente_id` AS `gerente_id`,`e`.`alta` AS `alta`,`t`.`Nombre` AS `Nombre`,`t`.`Apellidos` AS `Apellidos`,`p`.`Proveedor` AS `Proveedor`,`p`.`Domicilio` AS `Domicilio`,`p`.`CP` AS `CP`,`p`.`Localidad` AS `Localidad`,`p`.`NIF` AS `NIF`,`p`.`Telefono` AS `Telefono`,`p`.`Alias` AS `Alias`,`e`.`abbreviation` AS `abbreviation` from ((`empresa` `e` join `Trabajadores` `t` on((`t`.`Id_Trabajador` = `e`.`gerente_id`))) join `Proveedores` `p` on((`p`.`Id_Proveedor` = `e`.`id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_encajado` --- - -/*!50001 DROP VIEW IF EXISTS `v_encajado`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_encajado` AS select hour(`e`.`odbc_date`) AS `hora`,minute(`e`.`odbc_date`) AS `minuto`,ifnull(`c`.`Volumen`,94500) AS `cm3`,`t`.`warehouse_id` AS `warehouse_id` from ((`expeditions` `e` left join `Cubos` `c` on((`c`.`item_id` = `e`.`EsBulto`))) join `Tickets` `t` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) where (`e`.`odbc_date` between curdate() and `DAYEND`(curdate())) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_encajado_ultima_hora` --- - -/*!50001 DROP VIEW IF EXISTS `v_encajado_ultima_hora`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_encajado_ultima_hora` AS select sum((ifnull(`c`.`Volumen`,94500) / 1000000)) AS `m3`,`t`.`warehouse_id` AS `warehouse_id` from ((`expeditions` `e` left join `Cubos` `c` on((`c`.`item_id` = `e`.`EsBulto`))) join `Tickets` `t` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) where ((`e`.`odbc_date` > (now() + interval -(1) hour)) and (`t`.`warehouse_id` in (1,44))) group by `t`.`warehouse_id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_expeditions_shipping_charge` --- - -/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_expeditions_shipping_charge` AS select `t`.`Id_Ticket` AS `Id_Ticket`,sum((`az`.`price` * if(((`e`.`EsBulto` = 71) and isnull(`e`.`Id_Article`) and (`a`.`Vista` = 2)),0.75,1))) AS `shipping_charge`,`t`.`Fecha` AS `Fecha` from ((((((`Tickets` `t` join `Clientes` `cli` on((`cli`.`id_cliente` = `t`.`Id_Cliente`))) left join `expeditions` `e` on((`e`.`ticket_id` = `t`.`Id_Ticket`))) join `Consignatarios` `c` on((`c`.`id_consigna` = `t`.`Id_Consigna`))) join `Agencias` `a` on((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) join `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 `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` >= '2015-10-01') and (`cli`.`real` <> 0) and (`t`.`empresa_id` in (442,791,567))) group by `t`.`Id_Ticket` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_expeditions_shipping_charge2` --- - -/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge2`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_expeditions_shipping_charge2` AS select `t`.`Id_Ticket` AS `Id_Ticket`,(`az`.`price` * if(((`e`.`EsBulto` = 71) and isnull(`e`.`Id_Article`) and (`a`.`Vista` = 2)),0.75,1)) AS `shipping_charge`,`t`.`Fecha` AS `Fecha`,`t`.`warehouse_id` AS `warehouse_id` from (((((`Tickets` `t` left join `expeditions` `e` on((`e`.`ticket_id` = `t`.`Id_Ticket`))) join `Consignatarios` `c` on((`c`.`id_consigna` = `t`.`Id_Consigna`))) join `Agencias` `a` on((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) join `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 `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` >= '2016-01-01') and (`t`.`empresa_id` in (442,567))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_fallo` --- - -/*!50001 DROP VIEW IF EXISTS `v_fallo`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_fallo` AS select `vncontrol`.`fallo`.`queja_id` AS `queja_id`,`vncontrol`.`fallo`.`accion_id` AS `accion_id` from `vncontrol`.`fallo` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_inter` --- - -/*!50001 DROP VIEW IF EXISTS `v_inter`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_inter` AS select `vncontrol`.`inter`.`inter_id` AS `inter_id`,`vncontrol`.`inter`.`state_id` AS `state_id`,`vncontrol`.`inter`.`nota` AS `nota`,`vncontrol`.`inter`.`odbc_date` AS `odbc_date`,`vncontrol`.`inter`.`Id_Ticket` AS `Id_Ticket`,`vncontrol`.`inter`.`Id_Trabajador` AS `Id_Trabajador`,`vncontrol`.`inter`.`Id_Supervisor` AS `Id_supervisor` from `vncontrol`.`inter` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_jerarquia` --- - -/*!50001 DROP VIEW IF EXISTS `v_jerarquia`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_jerarquia` AS select `jerarquia`.`worker_id` AS `Id_Trabajador`,`jerarquia`.`boss_id` AS `boss_id` from `jerarquia` union all select distinct `jerarquia`.`boss_id` AS `Id_Trabajador`,`jerarquia`.`boss_id` AS `boss_id` from `jerarquia` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_location` --- - -/*!50001 DROP VIEW IF EXISTS `v_location`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_location` AS select `tl`.`longitude` AS `longitude`,`tl`.`latitude` AS `latitude`,`t`.`Id_Consigna` AS `Id_Consigna` from (`ticket_location` `tl` join `Tickets` `t` on((`t`.`Id_Ticket` = `tl`.`Id_Ticket`))) where (`t`.`Fecha` >= (curdate() + interval -(3) month)) group by `t`.`Id_Consigna` order by `t`.`Id_Ticket` desc */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_mana_spellers` --- - -/*!50001 DROP VIEW IF EXISTS `v_mana_spellers`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_mana_spellers` AS select `bs`.`mana_spellers`.`Id_Trabajador` AS `Id_Trabajador`,`bs`.`mana_spellers`.`size` AS `size`,`bs`.`mana_spellers`.`used` AS `used` from `bs`.`mana_spellers` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_miriam` --- - -/*!50001 DROP VIEW IF EXISTS `v_miriam`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_miriam` AS select `M`.`Id_Article` AS `Id_Article`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,`T`.`Fecha` AS `Fecha`,`T`.`Id_Cliente` AS `Id_Cliente`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe` from (((`Tickets` `T` join `Movimientos` `M` on((`T`.`Id_Ticket` = `M`.`Id_Ticket`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) where ((`T`.`Fecha` >= '2011-01-01') and (`A`.`tipo_id` = 7)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_movimientos_log` --- - -/*!50001 DROP VIEW IF EXISTS `v_movimientos_log`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_movimientos_log` AS select `bi`.`movimientos_log`.`idmovimientos_log` AS `idmovimientos_log`,`bi`.`movimientos_log`.`Id_Movimiento` AS `Id_Movimiento`,`bi`.`movimientos_log`.`odbc_date` AS `odbc_date`,`bi`.`movimientos_log`.`Id_Trabajador` AS `Id_Trabajador`,`bi`.`movimientos_log`.`field_name` AS `field_name`,`bi`.`movimientos_log`.`new_value` AS `new_value` from `bi`.`movimientos_log` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_movimientos_mark` --- - -/*!50001 DROP VIEW IF EXISTS `v_movimientos_mark`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_movimientos_mark` AS select `Movimientos_mark`.`Id_Movimiento` AS `Id_Movimiento`,max(`Movimientos_mark`.`Id_Accion`) AS `Accion` from `Movimientos_mark` group by `Movimientos_mark`.`Id_Movimiento` having ((max(`Movimientos_mark`.`Id_Accion`) = '6') or (max(`Movimientos_mark`.`Id_Accion`) = '7')) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_pedidos_auto_preparados` --- - -/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparados`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_pedidos_auto_preparados` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`i`.`Id_Ticket` AS `Id_Ticket`,`i`.`odbc_date` AS `Momento` from ((`vn2008`.`v_jerarquia` `j` left join `vn2008`.`v_inter` `i` on((`j`.`Id_Trabajador` = `i`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `j`.`Id_Trabajador`))) where (`i`.`state_id` = 20) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_pedidos_auto_preparadoskk` --- - -/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparadoskk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_pedidos_auto_preparadoskk` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`TK`.`Fecha` AS `Fecha`,`TK`.`Id_Ticket` AS `Id_Ticket`,`i`.`odbc_date` AS `Momento` from (((`vn2008`.`v_jerarquia` `j` left join `vn2008`.`v_inter` `i` on((`j`.`Id_Trabajador` = `i`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `j`.`Id_Trabajador`))) left join `vn2008`.`Tickets` `TK` on((`TK`.`Id_Ticket` = `i`.`Id_Ticket`))) where (`i`.`state_id` = 5) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_phonebook` --- - -/*!50001 DROP VIEW IF EXISTS `v_phonebook`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_phonebook` AS select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`telefono`,' ','') AS `Telefono` from `Clientes` where (`Clientes`.`telefono` and `Clientes`.`activo`) union select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`movil`,' ','') AS `Movil` from `Clientes` where (`Clientes`.`movil` and `Clientes`.`activo`) union select `Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`Consignatarios`.`telefono`,' ','') AS `TRIM(telefono)` from (`Consignatarios` join `Clientes` `c` on((`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`Consignatarios`.`telefono` and `c`.`activo`) union select `Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`Consignatarios`.`movil`,' ','') AS `TRIM(movil)` from (`Consignatarios` join `Clientes` `c` on((`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`Consignatarios`.`movil` and `c`.`activo`) union select `r`.`Id_Cliente` AS `Id_Cliente`,replace(`c`.`Telefono`,' ','') AS `REPLACE(c.telefono,' ','')` from ((`Clientes` `cl` join `Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `Contactos` `c` on((`r`.`Id_Contacto` = `c`.`Id_Contacto`))) where (`cl`.`telefono` and `cl`.`activo`) union select `r`.`Id_Cliente` AS `Id_Cliente`,replace(`c`.`Movil`,' ','') AS `REPLACE(c.Movil,' ','')` from ((`Clientes` `cl` join `Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `Contactos` `c` on((`r`.`Id_Contacto` = `c`.`Id_Contacto`))) where (`cl`.`movil` and `cl`.`activo`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_price_fixed` --- - -/*!50001 DROP VIEW IF EXISTS `v_price_fixed`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_price_fixed` AS select `pf`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from `price_fixed` `pf` where (`pf`.`warehouse_id` < 1000) union all select `wg`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from (`price_fixed` `pf` join `warehouse_group` `wg`) where ((`wg`.`warehouse_alias_id` + 1000) = `pf`.`warehouse_id`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_price_fixed_group` --- - -/*!50001 DROP VIEW IF EXISTS `v_price_fixed_group`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_price_fixed_group` AS select `pf`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from `v_price_fixed` `pf` group by `pf`.`warehouse_id`,`pf`.`item_id`,`pf`.`date_start`,`pf`.`date_end` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_session` --- - -/*!50001 DROP VIEW IF EXISTS `v_session`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_session` AS select 1 AS `id`,`t`.`CodigoTrabajador` AS `CodigoTrabajador`,if(isnull(`sc`.`Id_Suplente`),`c`.`Id_Trabajador`,`sc`.`Id_Suplente`) AS `Id_Trabajador`,`c`.`id_cliente` AS `Id_Cliente`,`c`.`cliente` AS `Cliente`,`s`.`lastUpdate` AS `Fecha` from ((((`hedera`.`userSession` `s` join `hedera`.`visitUser` `v` on((`v`.`id` = `s`.`userVisit`))) join `vn2008`.`Clientes` `c` on((`c`.`id_cliente` = `v`.`user`))) left join `vn2008`.`Trabajadores` `t` on((`c`.`Id_Trabajador` = `t`.`Id_Trabajador`))) left join `vn2008`.`sharingcart` `sc` on(((`sc`.`Id_Trabajador` = `c`.`Id_Trabajador`) and (curdate() between `sc`.`datSTART` and `sc`.`datEND`)))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_ticket_amount` --- - -/*!50001 DROP VIEW IF EXISTS `v_ticket_amount`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_ticket_amount` AS select `Movimientos`.`Id_Ticket` AS `Id_Ticket`,sum((((`Movimientos`.`Cantidad` * `Movimientos`.`Preu`) * (100 - `Movimientos`.`Descuento`)) / 100)) AS `amount` from (`Movimientos` join `Tickets` on((`Movimientos`.`Id_Ticket` = `Tickets`.`Id_Ticket`))) where (`Tickets`.`Fecha` >= (curdate() + interval -(6) month)) group by `Movimientos`.`Id_Ticket` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_trabajadores` --- - -/*!50001 DROP VIEW IF EXISTS `v_trabajadores`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_trabajadores` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`t`.`Nombre` AS `Nombre`,`t`.`Fecha_Inicio` AS `Fecha_Inicio`,`t`.`Password` AS `Password`,`t`.`user` AS `user`,`t`.`Apellidos` AS `Apellidos`,`t`.`Id_Trabajador` AS `Id_Trabajador`,`t`.`Foto` AS `Foto` from `vn2008`.`Trabajadores` `t` where (`t`.`Id_Cliente_Interno` = `account`.`userGetId`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_user` --- - -/*!50001 DROP VIEW IF EXISTS `v_user`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_user` AS select `u`.`id` AS `id`,`u`.`role` AS `mysql_user_id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`active` AS `active` from `account`.`user` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_ventes` --- - -/*!50001 DROP VIEW IF EXISTS `v_ventes`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_ventes` AS select `Agencias`.`Agencia` AS `Agencia`,`A`.`Categoria` AS `Categoria`,`A`.`tipo_id` AS `tipo_id`,`A`.`Medida` AS `Medida`,`A`.`Article` AS `Article`,`A`.`Color` AS `Color`,`CS`.`Id_cliente` AS `Id_Cliente`,`TP`.`Id_Tipo` AS `Tipo`,`T`.`Factura` AS `Factura`,`T`.`warehouse_id` AS `warehouse_id`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`M`.`Id_Article` AS `Id_Article`,`TP`.`Id_Tipo` AS `Familia`,`M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`quantity` AS `quantity`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,if((`T`.`Fecha` >= '2015-10-01'),`M`.`CostFixat`,((`M`.`Preu` * (100 - `M`.`Descuento`)) / 100)) AS `CostFixat`,`M`.`Reservado` AS `Reservado`,`M`.`OK` AS `OK`,`M`.`PrecioFijado` AS `PrecioFijado`,`M`.`odbc_date` AS `odbc_date`,cast(`T`.`Fecha` as date) AS `Fecha`,`T`.`Fecha` AS `FechaCompleta`,`CS`.`consignatario` AS `Alias`,`T`.`Id_Consigna` AS `Id_Consigna`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe`,`O`.`Origen` AS `Origen`,`TP`.`reino_id` AS `reino_id`,`C`.`invoice` AS `invoice`,`A`.`producer_id` AS `producer_id` from ((((((((`Movimientos` `M` join `Tickets` `T` on((`M`.`Id_Ticket` = `T`.`Id_Ticket`))) join `Consignatarios` `CS` on((`CS`.`id_consigna` = `T`.`Id_Consigna`))) join `Clientes` `C` on((`CS`.`Id_cliente` = `C`.`id_cliente`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Origen` `O` on((`O`.`id` = `A`.`id_origen`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `r` on((`TP`.`reino_id` = `r`.`id`))) join `Agencias` on((`Agencias`.`Id_Agencia` = `T`.`Id_Agencia`))) where ((`T`.`Fecha` >= '2013-01-01') and (`C`.`real` > 0) and (`r`.`id` <> 6)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_venteskk` --- - -/*!50001 DROP VIEW IF EXISTS `v_venteskk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_venteskk` AS select `Agencias`.`Agencia` AS `Agencia`,`A`.`Categoria` AS `Categoria`,`A`.`tipo_id` AS `tipo_id`,`A`.`Medida` AS `Medida`,`A`.`Article` AS `Article`,`A`.`Color` AS `Color`,`CS`.`Id_cliente` AS `Id_Cliente`,`TP`.`Id_Tipo` AS `Tipo`,`T`.`Factura` AS `Factura`,`T`.`warehouse_id` AS `warehouse_id`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`M`.`Id_Article` AS `Id_Article`,`TP`.`Id_Tipo` AS `Familia`,`M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`quantity` AS `quantity`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,if((`T`.`Fecha` >= '2015-10-01'),`M`.`CostFixat`,((`M`.`Preu` * (100 - `M`.`Descuento`)) / 100)) AS `CostFixat`,`M`.`Reservado` AS `Reservado`,`M`.`OK` AS `OK`,`M`.`PrecioFijado` AS `PrecioFijado`,`M`.`odbc_date` AS `odbc_date`,cast(`T`.`Fecha` as date) AS `Fecha`,`T`.`Fecha` AS `FechaCompleta`,`CS`.`consignatario` AS `Alias`,`T`.`Id_Consigna` AS `Id_Consigna`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe`,`O`.`Origen` AS `Origen`,`TP`.`reino_id` AS `reino_id`,`C`.`invoice` AS `invoice`,`A`.`producer_id` AS `producer_id` from ((((((((`Movimientos` `M` join `Tickets` `T` on((`M`.`Id_Ticket` = `T`.`Id_Ticket`))) join `Consignatarios` `CS` on((`CS`.`id_consigna` = `T`.`Id_Consigna`))) join `Clientes` `C` on((`CS`.`Id_cliente` = `C`.`id_cliente`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Origen` `O` on((`O`.`id` = `A`.`id_origen`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `r` on((`TP`.`reino_id` = `r`.`id`))) join `Agencias` on((`Agencias`.`Id_Agencia` = `T`.`Id_Agencia`))) where ((`T`.`Fecha` >= '2013-01-01') and (`C`.`real` > 0) and (`r`.`id` <> 6)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_warehouse` --- - -/*!50001 DROP VIEW IF EXISTS `v_warehouse`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_warehouse` AS select `warehouse`.`id` AS `id`,`warehouse`.`name` AS `almacen` from `warehouse` union all select (1000 + `warehouse_alias`.`warehouse_alias_id`) AS `warehouse_alias_id`,concat(`warehouse_alias`.`alias`,'(G)') AS `concat(alias, '(G)')` from `warehouse_alias` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_xsubclien` --- - -/*!50001 DROP VIEW IF EXISTS `v_xsubclien`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_xsubclien` AS select distinct `Facturas`.`Id_Cliente` AS `Id_Cliente`,`Facturas`.`empresa_id` AS `empresa_id` from `Facturas` where (`Facturas`.`Fecha` > (curdate() + interval -(2) month)) union select `Recibos`.`Id_Cliente` AS `Id_Cliente`,`Recibos`.`empresa_id` AS `empresa_id` from `Recibos` where (`Recibos`.`Fechacobro` > (curdate() + interval -(2) month)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_xsubcuentas` --- - -/*!50001 DROP VIEW IF EXISTS `v_xsubcuentas`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_xsubcuentas` AS select `Clientes`.`Cuenta` AS `COD`,`Clientes`.`razonSocial` AS `TITULO`,concat(if((`p`.`CEE` = 1),`p`.`Codigo`,''),`Clientes`.`if`) AS `NIF`,`Clientes`.`domicilio` AS `DOMICILIO`,`Clientes`.`poblacion` AS `POBLACION`,`province`.`name` AS `PROVINCIA`,`Clientes`.`codPostal` AS `CODPOSTAL`,`p`.`Codigo` AS `country_code`,`v_xsubclien`.`empresa_id` AS `empresa_id`,substr(`Clientes`.`e-mail`,1,(coalesce(nullif(locate(',',`Clientes`.`e-mail`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((`Clientes` join `v_xsubclien` on((`Clientes`.`id_cliente` = `v_xsubclien`.`Id_Cliente`))) left join `Paises` `p` on((`p`.`Id` = `Clientes`.`Id_Pais`))) join `province` on((`Clientes`.`province_id` = `province`.`province_id`))) where (`Clientes`.`oficial` <> 0) group by `Clientes`.`id_cliente`,`v_xsubclien`.`empresa_id` union all select `Proveedores`.`cuenta` AS `Cuenta`,`Proveedores`.`Proveedor` AS `Proveedor`,concat(if((`p`.`CEE` = 1),`p`.`Codigo`,''),`Proveedores`.`NIF`) AS `NIF`,`Proveedores`.`Domicilio` AS `Domicilio`,`Proveedores`.`Localidad` AS `Localidad`,`prov`.`name` AS `Provincia`,`Proveedores`.`CP` AS `CP`,`p`.`Codigo` AS `country_code`,`v_xsubprov`.`empresa_id` AS `empresa_id`,substr(`c`.`email`,1,(coalesce(nullif(locate(',',`c`.`email`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((((`Proveedores` join `v_xsubprov` on((`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`))) left join `Paises` `p` on((`p`.`Id` = `Proveedores`.`pais_id`))) left join `province` `prov` on((`prov`.`province_id` = `Proveedores`.`province_id`))) left join `Relaciones` `r` on((`r`.`Id_Proveedor` = `Proveedores`.`Id_Proveedor`))) left join `Contactos` `c` on((`c`.`Id_Contacto` = `r`.`Id_Contacto`))) where (`Proveedores`.`oficial` <> 0) group by `v_xsubprov`.`proveedor_id`,`v_xsubprov`.`empresa_id` union all select `Gastos`.`Id_Gasto` AS `Id_Gasto`,`Gastos`.`Gasto` AS `Gasto`,NULL AS `NULL`,NULL AS `My_exp_NULL`,NULL AS `My_exp_1_NULL`,NULL AS `My_exp_2_NULL`,NULL AS `My_exp_3_NULL`,NULL AS `country_code`,`e`.`id` AS `id`,NULL AS `EMAIL`,1 AS `IDNIF` from (`Gastos` join `empresa` `e` on((`e`.`id` = 442))) union all select `Bancos`.`Cuenta` AS `Cuenta`,`Bancos`.`Banco` AS `Banco`,NULL AS `NULL`,NULL AS `My_exp_NULL`,NULL AS `My_exp_1_NULL`,NULL AS `My_exp_2_NULL`,NULL AS `My_exp_3_NULL`,NULL AS `country_code`,`e`.`id` AS `id`,NULL AS `EMAIL`,1 AS `IDNIF` from (`Bancos` join `empresa` `e` on((`e`.`id` = 442))) union all select lpad(right(`Proveedores`.`cuenta`,5),10,'47510000') AS `Cuenta`,`Proveedores`.`Proveedor` AS `Proveedor`,`Proveedores`.`NIF` AS `NIF`,`Proveedores`.`Domicilio` AS `Domicilio`,`Proveedores`.`Localidad` AS `Localidad`,`prov`.`name` AS `Provincia`,`Proveedores`.`CP` AS `CP`,`p`.`Codigo` AS `country_code`,`v_xsubprov`.`empresa_id` AS `empresa_id`,substr(`c`.`email`,1,(coalesce(nullif(locate(',',`c`.`email`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((((`Proveedores` join `v_xsubprov` on((`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`))) left join `Paises` `p` on((`p`.`Id` = `Proveedores`.`pais_id`))) left join `province` `prov` on((`prov`.`province_id` = `Proveedores`.`province_id`))) left join `Relaciones` `r` on((`r`.`Id_Proveedor` = `Proveedores`.`Id_Proveedor`))) left join `Contactos` `c` on((`c`.`Id_Contacto` = `r`.`Id_Contacto`))) where (((`Proveedores`.`cuenta` like '_____3____') or (`Proveedores`.`cuenta` like '_____2____')) and (`Proveedores`.`oficial` = 1)) group by `v_xsubprov`.`proveedor_id`,`v_xsubprov`.`empresa_id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_xsubprov` --- - -/*!50001 DROP VIEW IF EXISTS `v_xsubprov`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_xsubprov` AS select `recibida`.`proveedor_id` AS `proveedor_id`,`recibida`.`empresa_id` AS `empresa_id` from `recibida` where (`recibida`.`fecha` > (curdate() + interval -(3) month)) group by `recibida`.`proveedor_id`,`recibida`.`empresa_id` union all select `pago`.`id_proveedor` AS `id_proveedor`,`pago`.`empresa_id` AS `empresa_id` from `pago` where (`pago`.`fecha` > (curdate() + interval -(3) month)) group by `pago`.`id_proveedor`,`pago`.`empresa_id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `vnCreditClassification` --- - -/*!50001 DROP VIEW IF EXISTS `vnCreditClassification`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `vnCreditClassification` AS select `vn`.`creditClassification`.`id` AS `id`,`vn`.`creditClassification`.`client` AS `client`,`vn`.`creditClassification`.`dateStart` AS `dateStart`,`vn`.`creditClassification`.`dateEnd` AS `dateEnd` from `vn`.`creditClassification` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `vnCreditInsurance` --- - -/*!50001 DROP VIEW IF EXISTS `vnCreditInsurance`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `vnCreditInsurance` AS select `vn`.`creditInsurance`.`id` AS `id`,`vn`.`creditInsurance`.`creditClassification` AS `creditClassification`,`vn`.`creditInsurance`.`credit` AS `credit`,`vn`.`creditInsurance`.`creationDate` AS `creationDate`,`vn`.`creditInsurance`.`grade` AS `grade` from `vn`.`creditInsurance` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `vnSolunionCAP` --- - -/*!50001 DROP VIEW IF EXISTS `vnSolunionCAP`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `vnSolunionCAP` AS select `vn`.`solunionCAP`.`creditInsurance` AS `creditInsurance`,`vn`.`solunionCAP`.`dateStart` AS `dateStart`,`vn`.`solunionCAP`.`dateEnd` AS `dateEnd`,`vn`.`solunionCAP`.`dateLeaving` AS `dateLeaving` from `vn`.`solunionCAP` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `workerDocument` --- - -/*!50001 DROP VIEW IF EXISTS `workerDocument`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerDocument` AS select `vn`.`workerDocument`.`id` AS `id`,`vn`.`workerDocument`.`worker` AS `worker`,`vn`.`workerDocument`.`document` AS `document` from `vn`.`workerDocument` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `workerTeamCollegues` --- - -/*!50001 DROP VIEW IF EXISTS `workerTeamCollegues`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerTeamCollegues` AS select distinct `w`.`Id_Trabajador` AS `workerId`,`t`.`Id_Trabajador` AS `collegueId` from (`vn`.`workerTeam` `w` join `vn`.`workerTeam` `t` on((`w`.`team` = `t`.`team`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `workerTeam_kk` --- - -/*!50001 DROP VIEW IF EXISTS `workerTeam_kk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerTeam_kk` AS select `w`.`team` AS `team`,`w`.`user` AS `user`,`w`.`id` AS `id`,`t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn`.`workerTeam` `w` left join `vn2008`.`Trabajadores` `t` on((`t`.`user_id` = `w`.`user`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `zoneNickname` --- - -/*!50001 DROP VIEW IF EXISTS `zoneNickname`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `zoneNickname` AS select `ap`.`warehouse_id` AS `warehouse_id`,`ap`.`agency_id` AS `agency_id`,`ap`.`zona` AS `zona`,concat('ZONA ',`ap`.`zona`,' ',if((`ap`.`zona` = 20),'Madrid',`p`.`name`)) AS `alias` from (`Agencias_province` `ap` join `province` `p` on((`p`.`province_id` = `ap`.`province_id`))) group by `ap`.`zona`,`ap`.`warehouse_id`,`ap`.`agency_id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `vn` --- - -USE `vn`; - --- --- Final view structure for view `accounting` --- - -/*!50001 DROP VIEW IF EXISTS `accounting`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `accounting` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `address` --- - -/*!50001 DROP VIEW IF EXISTS `address`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `address` AS select `t`.`id_consigna` AS `id`,`t`.`Id_cliente` AS `clientFk`,`t`.`Id_cliente` AS `customer`,`t`.`domicilio` AS `street`,`t`.`poblacion` AS `city`,`t`.`codPostal` AS `postalCode`,`t`.`province_id` AS `provinceFk`,`t`.`province_id` AS `province`,`t`.`telefono` AS `phone`,`t`.`movil` AS `mobile`,`t`.`movil` AS `celular`,`t`.`consignatario` AS `nickname`,`t`.`predeterminada` AS `isDefaultAddress`,`t`.`predeterminada` AS `defaultAddress`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`warehouse_id` AS `warehouse`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Agencia` AS `agency`,`t`.`isEqualizated` AS `isEqualizated`,`t`.`active` AS `isActive`,`t`.`active` AS `active` from `vn2008`.`Consignatarios` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `addressObservation` --- - -/*!50001 DROP VIEW IF EXISTS `addressObservation`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `addressObservation` AS select `co`.`consignatarios_observation_id` AS `id`,`co`.`Id_Consigna` AS `addressFk`,`co`.`observation_type_id` AS `observationTypeFk`,`co`.`text` AS `description` from `vn2008`.`consignatarios_observation` `co` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `agency` --- - -/*!50001 DROP VIEW IF EXISTS `agency`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `agency` AS select `a`.`agency_id` AS `id`,`a`.`name` AS `name`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseAliasFk`,`a`.`propios` AS `own`,`a`.`zone_label` AS `labelZone` from `vn2008`.`agency` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `agencyHour` --- - -/*!50001 DROP VIEW IF EXISTS `agencyHour`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `agencyHour` AS select `h`.`agency_hour_id` AS `id`,`h`.`agency_id` AS `agency`,`h`.`agency_id` AS `agencyFk`,`h`.`week_day` AS `weekDay`,`h`.`warehouse_id` AS `warehouse`,`h`.`warehouse_id` AS `warehouseFk`,`h`.`province_id` AS `province`,`h`.`province_id` AS `provinceFk`,`h`.`subtract_day` AS `substractDay`,`h`.`max_hour` AS `maxHour` from `vn2008`.`agency_hour` `h` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `agencyMode` --- - -/*!50001 DROP VIEW IF EXISTS `agencyMode`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `agencyMode` AS select `a`.`Id_Agencia` AS `id`,`a`.`Agencia` AS `name`,`a`.`description` AS `description`,`a`.`Vista` AS `deliveryMethodFk`,`a`.`Vista` AS `deliveryMethod`,`a`.`Vista` AS `view`,`a`.`m3` AS `m3`,`a`.`cod71` AS `cod71`,`a`.`web` AS `web`,`a`.`agency_id` AS `agencyFk`,`a`.`agency_id` AS `agency`,`a`.`agency_service_id` AS `agencyServiceFk`,`a`.`agency_service_id` AS `agencyService`,`a`.`inflacion` AS `inflation`,`a`.`inflacion` AS `inflacion`,`a`.`is_volumetric` AS `isVolumetric`,`a`.`send_mail` AS `reportMail` from `vn2008`.`Agencias` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `agencyWarehouse` --- - -/*!50001 DROP VIEW IF EXISTS `agencyWarehouse`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `agencyWarehouse` AS select `a`.`agency_id` AS `agencyFk`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`Vista` AS `agencyType` from `vn2008`.`agency_warehouse` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `awb` --- - -/*!50001 DROP VIEW IF EXISTS `awb`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `awb` AS select `a`.`id` AS `id`,`a`.`codigo` AS `code`,`a`.`bultos` AS `package`,`a`.`peso` AS `weight`,`a`.`MYSQL_TIME` AS `created`,`a`.`transitario_id` AS `transitoryFk`,`a`.`iva_id` AS `taxFk`,`a`.`gestdoc_id` AS `docFk`,`a`.`importe` AS `amount`,`a`.`carguera_id` AS `freightFk`,`a`.`m3` AS `m3`,`a`.`stems` AS `stems`,`a`.`flight_id` AS `flightFk`,`a`.`volume_weight` AS `volumeWeight`,`a`.`hb` AS `hb`,`a`.`rate` AS `rate`,`a`.`booked` AS `booked`,`a`.`issued` AS `issued`,`a`.`operated` AS `operated`,`a`.`bookEntried` AS `bookEntried`,`a`.`invoiceInFk` AS `invoiceInFk`,`a`.`isChecked` AS `isChecked` from `vn2008`.`awb` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `bank` --- - -/*!50001 DROP VIEW IF EXISTS `bank`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `bank` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `cash`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `bankEntity` --- - -/*!50001 DROP VIEW IF EXISTS `bankEntity`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `bankEntity` AS select `e`.`entity_id` AS `id`,`e`.`pais_id` AS `countryFk`,`e`.`description` AS `name`,`e`.`bic` AS `bic` from `vn2008`.`entity` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `botanicExport` --- - -/*!50001 DROP VIEW IF EXISTS `botanicExport`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `botanicExport` AS select `be`.`botanic_export_id` AS `id`,`be`.`edi_genus_id` AS `ediGenusFk`,`be`.`edi_specie_id` AS `ediSpecieFk`,`be`.`Id_Paises` AS `countryFk`,`be`.`restriction` AS `restriction`,`be`.`description` AS `description` from `vn2008`.`botanic_export` `be` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `buy` --- - -/*!50001 DROP VIEW IF EXISTS `buy`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `buy` AS select `c`.`Id_Compra` AS `id`,`c`.`Id_Entrada` AS `entryFk`,`c`.`Id_Article` AS `itemFk`,`c`.`Cantidad` AS `amount`,`c`.`Costefijo` AS `buyingValue`,`c`.`Cantidad` AS `quantity`,`c`.`Id_Cubo` AS `packageFk`,`c`.`Etiquetas` AS `stickers`,`c`.`Portefijo` AS `freightValue`,`c`.`Embalajefijo` AS `packageValue`,`c`.`Comisionfija` AS `comissionValue`,`c`.`Packing` AS `packing`,`c`.`grouping` AS `grouping`,`c`.`caja` AS `groupingMode`,`c`.`Nicho` AS `location`,`c`.`Tarifa1` AS `price1`,`c`.`Tarifa2` AS `price2`,`c`.`Tarifa3` AS `price3`,`c`.`PVP` AS `minPrice`,`c`.`Productor` AS `producer`,`c`.`Vida` AS `printedStickers`,`c`.`punteo` AS `isChecked` from `vn2008`.`Compres` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `city` --- - -/*!50001 DROP VIEW IF EXISTS `city`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `city` AS select `c`.`city_id` AS `id`,`c`.`name` AS `name`,`c`.`province_id` AS `provinceFk` from `vn2008`.`city` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `client` --- - -/*!50001 DROP VIEW IF EXISTS `client`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `client` AS select `c`.`id_cliente` AS `id`,`c`.`cliente` AS `name`,`c`.`if` AS `fi`,`c`.`razonSocial` AS `socialName`,`c`.`contacto` AS `contact`,`c`.`domicilio` AS `street`,`c`.`poblacion` AS `city`,`c`.`codPostal` AS `postcode`,`c`.`telefono` AS `phone`,`c`.`movil` AS `mobile`,`c`.`fax` AS `fax`,`c`.`real` AS `isRelevant`,`c`.`e-mail` AS `email`,`c`.`iban` AS `iban`,`c`.`vencimiento` AS `dueDay`,`c`.`Cuenta` AS `accountingAccount`,`c`.`RE` AS `isEqualizated`,`c`.`province_id` AS `provinceFk`,`c`.`invoice` AS `hasToInvoice`,`c`.`credito` AS `credit`,`c`.`Id_Pais` AS `countryFk`,`c`.`activo` AS `isActive`,`c`.`gestdoc_id` AS `gestdocFk`,`c`.`calidad` AS `quality`,`c`.`pay_met_id` AS `payMethodFk`,`c`.`created` AS `created`,`c`.`mail` AS `isToBeMailed`,`c`.`chanel_id` AS `contactChannelFk`,`c`.`sepaVnl` AS `hasSepaVnl`,`c`.`coreVnl` AS `hasCoreVnl`,`c`.`coreVnh` AS `hasCoreVnh`,`c`.`default_address` AS `defaultAddressFk`,`c`.`risk_calculated` AS `riskCalculated`,`c`.`clientes_tipo_id` AS `clientTypeFk`,`c`.`mail_address` AS `mailAddress`,`c`.`cplusTerIdNifFk` AS `cplusTerIdNifFk`,`c`.`invoiceByAddress` AS `hasToInvoiceByAddress`,`c`.`contabilizado` AS `isTaxDataChecked`,`c`.`congelado` AS `isFreezed`,`c`.`creditInsurance` AS `creditInsurance`,`c`.`isCreatedAsServed` AS `isCreatedAsServed`,`c`.`hasInvoiceSimplified` AS `hasInvoiceSimplified`,`c`.`Id_Trabajador` AS `salesPersonFk`,`c`.`vies` AS `isVies`,`c`.`EYPBC` AS `eypbc` from `vn2008`.`Clientes` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientCredit` --- - -/*!50001 DROP VIEW IF EXISTS `clientCredit`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientCredit` AS select `c`.`id` AS `id`,`c`.`Id_Cliente` AS `clientFk`,`c`.`Id_Trabajador` AS `workerFk`,`c`.`amount` AS `amount`,`c`.`odbc_date` AS `created` from `vn2008`.`credit` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientDefaultCompany` --- - -/*!50001 DROP VIEW IF EXISTS `clientDefaultCompany`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientDefaultCompany` AS select `t`.`Id_Clientes_empresa` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`empresa_id` AS `companyFk`,`t`.`fecha_ini` AS `started`,`t`.`fecha_fin` AS `finished` from `vn2008`.`Clientes_empresa` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientManaCache` --- - -/*!50001 DROP VIEW IF EXISTS `clientManaCache`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientManaCache` AS select `mc`.`Id_Cliente` AS `clientFk`,`mc`.`Mana` AS `mana`,`mc`.`dated` AS `dated` from `bs`.`manaCustomer` `mc` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientNotification` --- - -/*!50001 DROP VIEW IF EXISTS `clientNotification`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientNotification` AS select `e`.`id` AS `id`,`e`.`Id_Cliente` AS `clientFk`,`e`.`escritos_id` AS `clientNotificationTypeFk`,`e`.`fecha` AS `created`,`e`.`Id_Trabajador` AS `workerFk`,`e`.`userFk` AS `userFk` from `vn2008`.`escritos_det` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientNotificationType` --- - -/*!50001 DROP VIEW IF EXISTS `clientNotificationType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientNotificationType` AS select `e`.`id` AS `id`,`e`.`abrev` AS `code`,`e`.`descripcion` AS `description`,`e`.`visible` AS `isVisible` from `vn2008`.`escritos` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientObservation` --- - -/*!50001 DROP VIEW IF EXISTS `clientObservation`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientObservation` AS select `t`.`client_observation_id` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`text` AS `text`,`t`.`odbc_date` AS `created` from `vn2008`.`client_observation` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `clientType` --- - -/*!50001 DROP VIEW IF EXISTS `clientType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `clientType` AS select `ct`.`clientes_tipo_id` AS `id`,`ct`.`code` AS `code`,`ct`.`tipo` AS `type` from `vn2008`.`clientes_tipo` `ct` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `color` --- - -/*!50001 DROP VIEW IF EXISTS `color`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `color` AS select `c`.`Id_Color` AS `id`,`c`.`Color` AS `name` from `vn2008`.`Colores` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `company` --- - -/*!50001 DROP VIEW IF EXISTS `company`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `company` AS select `e`.`id` AS `id`,`e`.`abbreviation` AS `code`,`e`.`Id_Proveedores_account` AS `supplierAccountFk`,`e`.`CodigoEmpresa` AS `CodigoEmpresa` from `vn2008`.`empresa` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `comparative` --- - -/*!50001 DROP VIEW IF EXISTS `comparative`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `comparative` AS select `c`.`Periodo` AS `timePeriod`,`c`.`Id_Article` AS `itemFk`,`c`.`warehouse_id` AS `warehouseFk`,`c`.`Cantidad` AS `quantity`,`c`.`price` AS `price` from `vn2008`.`Comparativa` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `comparativeFilter` --- - -/*!50001 DROP VIEW IF EXISTS `comparativeFilter`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `comparativeFilter` AS select `f`.`id` AS `id`,`f`.`name` AS `name`,`f`.`sql` AS `whereSql` from `vn2008`.`filtros` `f` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `contactChannel` --- - -/*!50001 DROP VIEW IF EXISTS `contactChannel`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `contactChannel` AS select `c`.`chanel_id` AS `id`,`c`.`name` AS `name` from `vn2008`.`chanel` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `country` --- - -/*!50001 DROP VIEW IF EXISTS `country`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `country` AS select `p`.`Id` AS `id`,`p`.`Pais` AS `country`,`p`.`CEE` AS `CEE`,`p`.`isUeeMember` AS `isUeeMember`,`p`.`Codigo` AS `code`,`p`.`Id_Moneda` AS `currencyFk`,`p`.`Id_Paisreal` AS `politicalCountryFk`,`p`.`geoFk` AS `geoFk` from `vn2008`.`Paises` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `currency` --- - -/*!50001 DROP VIEW IF EXISTS `currency`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `currency` AS select `m`.`Id_Moneda` AS `id`,`m`.`Moneda` AS `code`,`m`.`Descripcion` AS `name` from `vn2008`.`Monedas` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `deliveryMethod` --- - -/*!50001 DROP VIEW IF EXISTS `deliveryMethod`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `deliveryMethod` AS select `d`.`vista_id` AS `id`,`d`.`code` AS `code`,`d`.`vista` AS `description` from `vn2008`.`Vistas` `d` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ediGenus` --- - -/*!50001 DROP VIEW IF EXISTS `ediGenus`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ediGenus` AS select `g`.`genus_id` AS `id`,`g`.`latin_genus_name` AS `latinGenusName`,`g`.`entry_date` AS `entried`,`g`.`expiry_date` AS `dued`,`g`.`change_date_time` AS `modified` from `edi`.`genus` `g` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ediSpecie` --- - -/*!50001 DROP VIEW IF EXISTS `ediSpecie`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ediSpecie` AS select `s`.`specie_id` AS `id`,`s`.`genus_id` AS `genusFk`,`s`.`latin_species_name` AS `latinSpeciesName`,`s`.`entry_date` AS `entried`,`s`.`expiry_date` AS `dued`,`s`.`change_date_time` AS `modified` from `edi`.`specie` `s` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `entity` --- - -/*!50001 DROP VIEW IF EXISTS `entity`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `entity` AS select `e`.`pais_id` AS `countryFk`,`e`.`entity_id` AS `id`,`e`.`description` AS `description`,`e`.`bic` AS `bic` from `vn2008`.`entity` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `entry` --- - -/*!50001 DROP VIEW IF EXISTS `entry`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `entry` AS select `e`.`Id_Entrada` AS `id`,`e`.`Id_Proveedor` AS `supplierFk`,`e`.`Referencia` AS `ref`,`e`.`Inventario` AS `isInventory`,`e`.`Confirmada` AS `isConfirmed`,`e`.`Pedida` AS `isOrdered`,`e`.`Redada` AS `isRaid`,`e`.`comision` AS `commission`,`e`.`odbc_date` AS `created`,`e`.`Notas_Eva` AS `evaNotes`,`e`.`travel_id` AS `travelFk`,`e`.`Id_Moneda` AS `currencyFk`,`e`.`empresa_id` AS `companyFk`,`e`.`gestdoc_id` AS `gestDocFk`,`e`.`recibida_id` AS `invoiceReceivedFk` from `vn2008`.`Entradas` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `especialPrice` --- - -/*!50001 DROP VIEW IF EXISTS `especialPrice`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `especialPrice` AS select `p`.`Id_PrecioEspecial` AS `id`,`p`.`Id_Cliente` AS `clientFk`,`p`.`Id_Article` AS `itemFk`,`p`.`PrecioEspecial` AS `value` from `vn2008`.`PreciosEspeciales` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `expedition` --- - -/*!50001 DROP VIEW IF EXISTS `expedition`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `expedition` AS select `e`.`expeditions_id` AS `id`,`e`.`agency_id` AS `agency`,`e`.`agency_id` AS `agencyFk`,`e`.`agency_id` AS `agencyModeFk`,`e`.`ticket_id` AS `ticket`,`e`.`ticket_id` AS `ticketFk`,`e`.`EsBulto` AS `isBox`,`e`.`odbc_date` AS `printingTime`,`e`.`Id_Article` AS `item`,`e`.`Id_Article` AS `itemFk`,`e`.`counter` AS `counter`,`e`.`checked` AS `checked`,`e`.`workerFk` AS `workerFk` from `vn2008`.`expeditions` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `expence` --- - -/*!50001 DROP VIEW IF EXISTS `expence`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `expence` AS select `g`.`Id_Gasto` AS `id`,`g`.`iva_tipo_id` AS `taxTypeFk`,`g`.`Gasto` AS `name`,`g`.`isWithheld` AS `isWithheld` from `vn2008`.`Gastos` `g` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `firstTicketShipped` --- - -/*!50001 DROP VIEW IF EXISTS `firstTicketShipped`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `firstTicketShipped` AS select min(`ticket`.`shipped`) AS `shipped`,`ticket`.`clientFk` AS `clientFk` from `vn`.`ticket` where (`ticket`.`shipped` > '2001-01-01') group by `ticket`.`clientFk` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `grant` --- - -/*!50001 DROP VIEW IF EXISTS `grant`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `grant` AS select `vn2008`.`Permisos`.`Id_Grupo` AS `group`,`vn2008`.`Permisos`.`Id_Trabajador` AS `worker`,`vn2008`.`Permisos`.`empresa_id` AS `company` from `vn2008`.`Permisos` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `grantGroup` --- - -/*!50001 DROP VIEW IF EXISTS `grantGroup`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `grantGroup` AS select `vn2008`.`Grupos`.`id` AS `id`,`vn2008`.`Grupos`.`Grupo` AS `description`,`vn2008`.`Grupos`.`observation_type_id` AS `observationType` from `vn2008`.`Grupos` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `greuge` --- - -/*!50001 DROP VIEW IF EXISTS `greuge`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `greuge` AS select `g`.`Id` AS `id`,`g`.`Id_Cliente` AS `clientFk`,`g`.`Comentario` AS `description`,`g`.`Importe` AS `amount`,`g`.`Fecha` AS `shipped`,`g`.`odbc_date` AS `created`,`g`.`Greuges_type_id` AS `greugeTypeFk`,`g`.`Id_Ticket` AS `ticketFk` from `vn2008`.`Greuges` `g` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `greugeType` --- - -/*!50001 DROP VIEW IF EXISTS `greugeType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `greugeType` AS select `gt`.`Greuges_type_id` AS `id`,`gt`.`name` AS `name` from `vn2008`.`Greuges_type` `gt` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ink` --- - -/*!50001 DROP VIEW IF EXISTS `ink`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ink` AS select `c`.`Id_Tinta` AS `id`,`c`.`name` AS `name`,`c`.`Tinta` AS `picture`,`c`.`Orden` AS `showOrder` from `vn2008`.`Tintas` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `inkL10n` --- - -/*!50001 DROP VIEW IF EXISTS `inkL10n`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `inkL10n` AS select `k`.`id` AS `id`,ifnull(`i`.`name`,`k`.`name`) AS `name` from (`vn`.`ink` `k` left join `vn`.`inkI18n` `i` on(((`i`.`inkFk` = `k`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `intrastat` --- - -/*!50001 DROP VIEW IF EXISTS `intrastat`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `intrastat` AS select `i`.`Codintrastat` AS `id`,`i`.`Definicion` AS `description`,`i`.`iva_group_id` AS `taxClassFk`,`i`.`iva_codigo_id` AS `taxCodeFk` from `vn2008`.`Intrastat` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceCorrection` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceCorrection`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceCorrection` AS select `ic`.`correctingFk` AS `correctingFk`,`ic`.`correctedFk` AS `correctedFk`,`ic`.`cplusRectificationTypeFk` AS `cplusRectificationTypeFk`,`ic`.`cplusInvoiceType477Fk` AS `cplusInvoiceType477Fk`,`ic`.`invoiceCorrectionTypeFk` AS `invoiceCorrectionTypeFk` from `vn2008`.`invoiceCorrection` `ic` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceCorrectionDataSource` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceCorrectionDataSource`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceCorrectionDataSource` AS select `s`.`itemFk` AS `itemFk`,`s`.`quantity` AS `quantity`,`s`.`concept` AS `concept`,`s`.`price` AS `price`,`s`.`discount` AS `discount`,`t`.`refFk` AS `refFk`,`s`.`id` AS `saleFk`,`t`.`shipped` AS `shipped` from (`vn`.`sale` `s` join `vn`.`ticket` `t` on((`t`.`id` = `s`.`ticketFk`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceIn` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceIn`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceIn` AS select `r`.`id` AS `id`,`r`.`num_recibida` AS `serialNumber`,`r`.`serie` AS `serial`,`r`.`proveedor_id` AS `supplierFk`,`r`.`fecha` AS `issued`,`r`.`sref` AS `supplierRef`,`r`.`contabilizada` AS `isBooked`,`r`.`moneda_id` AS `currencyFk`,`r`.`MYSQL_TIME` AS `created`,`r`.`empresa_id` AS `companyFk`,`r`.`gestdoc_id` AS `docFk`,`r`.`dateBooking` AS `booked`,`r`.`dateOperation` AS `operated`,`r`.`cplusInvoiceType472Fk` AS `cplusInvoiceType472Fk`,`r`.`cplusRectificationTypeFk` AS `cplusRectificationTypeFk`,`r`.`cplusSubjectOpFk` AS `cplusSubjectOpFk`,`r`.`cplusTaxBreakFk` AS `cplusTaxBreakFk`,`r`.`cplusTrascendency472Fk` AS `cplusTrascendency472Fk`,`r`.`bookEntried` AS `bookEntried` from `vn2008`.`recibida` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceInAwb` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceInAwb`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceInAwb` AS select `a`.`recibida_id` AS `invoiceInFk`,`a`.`awb_id` AS `awbFk`,`a`.`dua` AS `dua` from `vn2008`.`awb_recibida` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceInDueDay` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceInDueDay`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceInDueDay` AS select `r`.`id` AS `id`,`r`.`recibida_id` AS `invoiceInFk`,`r`.`fecha` AS `dueDated`,`r`.`banco_id` AS `bankFk`,`r`.`cantidad` AS `amount`,`r`.`divisa` AS `divisa`,`r`.`stamp` AS `created` from `vn2008`.`recibida_vencimiento` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceInEntry` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceInEntry`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceInEntry` AS select `i`.`recibida_entrada_id` AS `id`,`i`.`recibida_id` AS `invoiceInFk`,`i`.`Id_Entrada` AS `entryFk`,`i`.`percentage` AS `percentage`,`i`.`awb_recibida` AS `invoiceInAwbFk`,`i`.`Contabilizado` AS `isBooked` from `vn2008`.`recibida_entrada` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceInIntrastat` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceInIntrastat`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceInIntrastat` AS select `r`.`recibida_id` AS `invoiceInFk`,`r`.`Codintrastat` AS `intrastatFk`,`r`.`importe` AS `amount` from `vn2008`.`recibida_intrastat` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceInTax` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceInTax`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceInTax` AS select `r`.`id` AS `id`,`r`.`recibida_id` AS `invoiceInFk`,`r`.`iva_id` AS `taxCodeFk`,`r`.`bi` AS `taxableBase`,`r`.`gastos_id` AS `expenceFk`,`r`.`divisa` AS `foreignValue`,`r`.`MYSQL_TIME` AS `created` from `vn2008`.`recibida_iva` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoiceOut` --- - -/*!50001 DROP VIEW IF EXISTS `invoiceOut`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoiceOut` AS select `f`.`factura_id` AS `id`,`f`.`Id_Factura` AS `ref`,`f`.`Serie` AS `serial`,`f`.`Fecha` AS `issued`,`f`.`Importe` AS `amount`,`f`.`Id_Cliente` AS `clientFk`,`f`.`odbc_date` AS `created`,`f`.`empresa_id` AS `companyFk`,`f`.`Vencimiento` AS `dued`,`f`.`booked` AS `booked`,`f`.`cplusInvoiceType477Fk` AS `cplusInvoiceType477Fk`,`f`.`cplusTaxBreakFk` AS `cplusTaxBreakFk`,`f`.`cplusSubjectOpFk` AS `cplusSubjectOpFk`,`f`.`cplusTrascendency477Fk` AS `cplusTrascendency477Fk`,`f`.`pdf` AS `pdf` from `vn2008`.`Facturas` `f` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `item` --- - -/*!50001 DROP VIEW IF EXISTS `item`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `item` AS select `t`.`Id_Article` AS `id`,`t`.`Article` AS `name`,`t`.`tipo_id` AS `typeFk`,`t`.`Medida` AS `size`,`t`.`Color` AS `inkFk`,`t`.`Categoria` AS `category`,`t`.`Tallos` AS `stems`,`t`.`id_origen` AS `originFk`,`t`.`description` AS `description`,`t`.`producer_id` AS `producerFk`,`t`.`Codintrastat` AS `intrastatFk`,`t`.`offer` AS `isOnOffer`,`t`.`expenceFk` AS `expenceFk`,`t`.`bargain` AS `isBargain`,`t`.`comments` AS `comment`,`t`.`relevancy` AS `relevancy`,`t`.`Foto` AS `image`,`t`.`iva_group_id` AS `taxClassFk` from `vn2008`.`Articles` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemBarcode` --- - -/*!50001 DROP VIEW IF EXISTS `itemBarcode`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemBarcode` AS select `vn2008`.`barcodes`.`id` AS `id`,`vn2008`.`barcodes`.`Id_Article` AS `itemFk`,`vn2008`.`barcodes`.`code` AS `code` from `vn2008`.`barcodes` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemBotanical` --- - -/*!50001 DROP VIEW IF EXISTS `itemBotanical`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemBotanical` AS select `ab`.`Id_Article` AS `itemFk`,`ab`.`botanical` AS `botanical`,`ab`.`genus_id` AS `genusFk`,`ab`.`specie_id` AS `specieFk` from `vn2008`.`Articles_botanical` `ab` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemBotanicalWithGenus` --- - -/*!50001 DROP VIEW IF EXISTS `itemBotanicalWithGenus`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemBotanicalWithGenus` AS select `ib`.`itemFk` AS `itemFk`,ifnull(`ib`.`botanical`,concat(`g`.`latinGenusName`,' ',ifnull(`s`.`latinSpeciesName`,''))) AS `ediBotanic` from ((`vn`.`itemBotanical` `ib` left join `vn`.`ediGenus` `g` on((`g`.`id` = `ib`.`genusFk`))) left join `vn`.`ediSpecie` `s` on((`s`.`id` = `ib`.`specieFk`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemCategory` --- - -/*!50001 DROP VIEW IF EXISTS `itemCategory`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemCategory` AS select `r`.`id` AS `id`,`r`.`reino` AS `name`,`r`.`display` AS `display`,`r`.`color` AS `color` from `vn2008`.`reinos` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemCategoryL10n` --- - -/*!50001 DROP VIEW IF EXISTS `itemCategoryL10n`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemCategoryL10n` AS select `c`.`id` AS `id`,ifnull(`i`.`name`,`c`.`name`) AS `name` from (`vn`.`itemCategory` `c` left join `vn`.`itemCategoryI18n` `i` on(((`i`.`categoryFk` = `c`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemPlacement` --- - -/*!50001 DROP VIEW IF EXISTS `itemPlacement`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemPlacement` AS select `an`.`Id_Article` AS `itemFk`,`an`.`warehouse_id` AS `warehouseFk`,`an`.`nicho` AS `code` from `vn2008`.`Articles_nicho` `an` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemTagged` --- - -/*!50001 DROP VIEW IF EXISTS `itemTagged`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemTagged` AS select distinct `itemTag`.`itemFk` AS `itemFk` from `itemTag` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemType` --- - -/*!50001 DROP VIEW IF EXISTS `itemType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemType` AS select `t`.`tipo_id` AS `id`,`t`.`Id_Tipo` AS `code`,`t`.`Tipo` AS `name`,`t`.`reino_id` AS `categoryFk`,`t`.`life` AS `life`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`isPackaging` AS `isPackaging` from `vn2008`.`Tipos` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `itemTypeL10n` --- - -/*!50001 DROP VIEW IF EXISTS `itemTypeL10n`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemTypeL10n` AS select `t`.`id` AS `id`,ifnull(`i`.`name`,`t`.`name`) AS `name` from (`vn`.`itemType` `t` left join `vn`.`itemTypeI18n` `i` on(((`i`.`typeFk` = `t`.`id`) and (`i`.`lang` = `util`.`LANG`())))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `mail` --- - -/*!50001 DROP VIEW IF EXISTS `mail`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `mail` AS select `vn2008`.`mail`.`id` AS `id`,`vn2008`.`mail`.`senderFk` AS `senderFk`,`vn2008`.`mail`.`recipientFk` AS `recipientFk`,`vn2008`.`mail`.`to` AS `sender`,`vn2008`.`mail`.`reply_to` AS `replyTo`,`vn2008`.`mail`.`subject` AS `subject`,`vn2008`.`mail`.`text` AS `body`,`vn2008`.`mail`.`plainTextBody` AS `plainTextBody`,`vn2008`.`mail`.`path` AS `attachment`,`vn2008`.`mail`.`DATE_ODBC` AS `creationDate`,`vn2008`.`mail`.`sent` AS `sent`,`vn2008`.`mail`.`error` AS `status` from `vn2008`.`mail` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `manaSpellers` --- - -/*!50001 DROP VIEW IF EXISTS `manaSpellers`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `manaSpellers` AS select `bs`.`mana_spellers`.`Id_Trabajador` AS `worker`,`bs`.`mana_spellers`.`size` AS `size`,`bs`.`mana_spellers`.`used` AS `used`,`bs`.`mana_spellers`.`prices_modifier_rate` AS `pricesModifierRate`,`bs`.`mana_spellers`.`prices_modifier_activated` AS `pricesModifierActivated`,`vn2008`.`Trabajadores`.`CodigoTrabajador` AS `workerCode`,`vn2008`.`Trabajadores`.`Nombre` AS `firstname`,`vn2008`.`Trabajadores`.`Apellidos` AS `name` from (`bs`.`mana_spellers` join `vn2008`.`Trabajadores` on((`bs`.`mana_spellers`.`Id_Trabajador` = `vn2008`.`Trabajadores`.`Id_Trabajador`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `mandate` --- - -/*!50001 DROP VIEW IF EXISTS `mandate`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `mandate` AS select `m`.`id` AS `id`,`m`.`Id_Cliente` AS `clientFk`,`m`.`empresa_id` AS `companyFk`,`m`.`Id_mandato` AS `code`,`m`.`FAlta` AS `created`,`m`.`Fbaja` AS `finished`,`m`.`idmandato_tipo` AS `mandateTypeFk` from `vn2008`.`mandato` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `mandateType` --- - -/*!50001 DROP VIEW IF EXISTS `mandateType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `mandateType` AS select `m`.`idmandato_tipo` AS `id`,`m`.`Nombre` AS `name` from `vn2008`.`mandato_tipo` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `movement` --- - -/*!50001 DROP VIEW IF EXISTS `movement`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `movement` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `item`,`m`.`Id_Ticket` AS `ticket`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `amount`,`m`.`quantity` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`CostFixat` AS `cost`,`m`.`Reservado` AS `reservado`,`m`.`OK` AS `od`,`m`.`PrecioFijado` AS `priceFixed`,`m`.`odbc_date` AS `lastUpdate` from `vn2008`.`Movimientos` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `movementkk` --- - -/*!50001 DROP VIEW IF EXISTS `movementkk`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `movementkk` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `item`,`m`.`Id_Ticket` AS `ticket`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `amount`,`m`.`quantity` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`CostFixat` AS `cost`,`m`.`Reservado` AS `reservado`,`m`.`OK` AS `od`,`m`.`PrecioFijado` AS `priceFixed`,`m`.`odbc_date` AS `lastUpdate` from `vn2008`.`Movimientos` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `observationType` --- - -/*!50001 DROP VIEW IF EXISTS `observationType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `observationType` AS select `ot`.`observation_type_id` AS `id`,`ot`.`description` AS `description` from `vn2008`.`observation_type` `ot` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `origin` --- - -/*!50001 DROP VIEW IF EXISTS `origin`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `origin` AS select `o`.`id` AS `id`,`o`.`Abreviatura` AS `code`,`o`.`Origen` AS `name` from `vn2008`.`Origen` `o` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `originL10n` --- - -/*!50001 DROP VIEW IF EXISTS `originL10n`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `originL10n` AS select `o`.`id` AS `id`,ifnull(`i`.`name`,`o`.`name`) AS `name` from (`vn`.`origin` `o` left join `vn`.`originI18n` `i` on(((`i`.`originFk` = `o`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `outgoingInvoice` --- - -/*!50001 DROP VIEW IF EXISTS `outgoingInvoice`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `outgoingInvoice` AS select `vn2008`.`Facturas`.`Id_Factura` AS `id`,`vn2008`.`Facturas`.`Serie` AS `serie`,`vn2008`.`Facturas`.`Fecha` AS `dateInvoice`,`vn2008`.`Facturas`.`Importe` AS `total`,`vn2008`.`Facturas`.`Vencimiento` AS `dueDate`,`vn2008`.`Facturas`.`Id_Banco` AS `bank`,`vn2008`.`Facturas`.`Id_Cliente` AS `client`,`vn2008`.`Facturas`.`Id_Remesa` AS `remittance`,`vn2008`.`Facturas`.`Remesar` AS `remit`,`vn2008`.`Facturas`.`Id_Trabajador` AS `worker`,`vn2008`.`Facturas`.`odbc_date` AS `creationDate`,`vn2008`.`Facturas`.`empresa_id` AS `company`,`vn2008`.`Facturas`.`liquidacion` AS `liquidacion?`,`vn2008`.`Facturas`.`pdf` AS `isPdf` from `vn2008`.`Facturas` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `package` --- - -/*!50001 DROP VIEW IF EXISTS `package`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `package` AS select `c`.`Id_Cubo` AS `id`,`c`.`Volumen` AS `volume`,`c`.`X` AS `width`,`c`.`Y` AS `height`,`c`.`Z` AS `depth`,`c`.`Retornable` AS `isPackageReturnable`,`c`.`odbc_date` AS `created`,`c`.`item_id` AS `itemFk`,`c`.`pvp` AS `price` from `vn2008`.`Cubos` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `packageEquivalentItem` --- - -/*!50001 DROP VIEW IF EXISTS `packageEquivalentItem`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `packageEquivalentItem` AS select `i`.`itemFk` AS `itemFk`,`ie`.`itemFk` AS `equivalentFk` from ((`vn`.`packageEquivalent` `pe` join `vn`.`package` `i` on((`i`.`id` = `pe`.`packageFk`))) join `vn`.`package` `ie` on((`ie`.`id` = `pe`.`equivalentFk`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `payMethod` --- - -/*!50001 DROP VIEW IF EXISTS `payMethod`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `payMethod` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`graceDays` AS `graceDays`,`t`.`deudaviva` AS `outstandingDebt`,`t`.`ibanRequired` AS `ibanRequired` from `vn2008`.`pay_met` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `payment` --- - -/*!50001 DROP VIEW IF EXISTS `payment`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `payment` AS select `p`.`id` AS `id`,`p`.`fecha` AS `received`,`p`.`id_proveedor` AS `supplierFk`,`p`.`importe` AS `amount`,`p`.`id_moneda` AS `currencyFk`,`p`.`divisa` AS `divisa`,`p`.`id_banco` AS `bankFk`,`p`.`pay_met_id` AS `payMethod`,`p`.`empresa_id` AS `companyFk`,`p`.`pago_sdc_id` AS `paymentExchangeInsuranceFk`,`p`.`conciliado` AS `isConciliate` from `vn2008`.`pago` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `paymentExchangeInsurance` --- - -/*!50001 DROP VIEW IF EXISTS `paymentExchangeInsurance`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `paymentExchangeInsurance` AS select `p`.`pago_sdc_id` AS `id`,`p`.`importe` AS `amount`,`p`.`fecha` AS `created`,`p`.`vencimiento` AS `dueDay`,`p`.`entity_id` AS `entityFk`,`p`.`ref` AS `ref`,`p`.`rate` AS `rate`,`p`.`empresa_id` AS `companyFk`,`p`.`financialProductTypefk` AS `financialProductTypefk`,`p`.`upperBarrier` AS `upperBarrier`,`p`.`lowerBarrier` AS `lowerBarrier`,`p`.`strike` AS `strike` from `vn2008`.`pago_sdc` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `payrollCenter` --- - -/*!50001 DROP VIEW IF EXISTS `payrollCenter`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `payrollCenter` AS select `b`.`cod_centro` AS `codCenter`,`b`.`Centro` AS `name`,`b`.`nss_cotizacion` AS `nss`,`b`.`domicilio` AS `street`,`b`.`poblacion` AS `city`,`b`.`cp` AS `postcode`,`b`.`empresa_id` AS `companyFk`,`b`.`codempresa` AS `companyCode` from `vn2008`.`payroll_centros` `b` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `plantpassport` --- - -/*!50001 DROP VIEW IF EXISTS `plantpassport`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `plantpassport` AS select `pp`.`producer_id` AS `producerFk`,`pp`.`plantpassport_authority_id` AS `plantpassportAuthorityFk`,`pp`.`number` AS `number` from `vn2008`.`plantpassport` `pp` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `plantpassportAuthority` --- - -/*!50001 DROP VIEW IF EXISTS `plantpassportAuthority`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `plantpassportAuthority` AS select `ppa`.`plantpassport_authority_id` AS `id`,`ppa`.`denomination` AS `denomination`,`ppa`.`Paises_Id` AS `countryFk` from `vn2008`.`plantpassport_authority` `ppa` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `priceFixed` --- - -/*!50001 DROP VIEW IF EXISTS `priceFixed`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `priceFixed` AS select `p`.`item_id` AS `itemFk`,`p`.`rate_0` AS `rate0`,`p`.`rate_1` AS `rate1`,`p`.`rate_2` AS `rate2`,`p`.`rate_3` AS `rate3`,`p`.`date_start` AS `started`,`p`.`date_end` AS `ended`,`p`.`bonus` AS `bonus`,`p`.`warehouse_id` AS `warehouseFk`,`p`.`odbc_date` AS `created`,`p`.`price_fixed_id` AS `id`,`p`.`grouping` AS `grouping`,`p`.`Packing` AS `packing`,`p`.`caja` AS `box` from `vn2008`.`price_fixed` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `printServerQueue` --- - -/*!50001 DROP VIEW IF EXISTS `printServerQueue`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `printServerQueue` AS select `c`.`Id_Cola` AS `id`,`c`.`Id_Impresora` AS `printerFk`,`c`.`Id_Prioridad` AS `priorityFk`,`c`.`Id_Informe` AS `reportFk`,`c`.`Id_Estado` AS `statusFk`,`c`.`Hora_Inicio` AS `started`,`c`.`Hora_Fin` AS `finished`,`c`.`Cola` AS `param1`,`c`.`Id_Trabajador` AS `workerFk`,`c`.`Cola2` AS `param2`,`c`.`Cola3` AS `param3`,`c`.`error` AS `error` from `vn2008`.`Colas` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `printingQueue` --- - -/*!50001 DROP VIEW IF EXISTS `printingQueue`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `printingQueue` AS select `c`.`Id_Cola` AS `id`,`c`.`Id_Impresora` AS `printer`,`c`.`Id_Prioridad` AS `priority`,`c`.`Id_Informe` AS `report`,`c`.`Id_Estado` AS `state`,`c`.`Hora_Inicio` AS `startingTime`,`c`.`Hora_Fin` AS `endingTime`,`c`.`Cola` AS `text`,`c`.`Id_Trabajador` AS `worker`,`c`.`Cola2` AS `text2`,`c`.`Cola3` AS `text3` from `vn2008`.`Colas` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `producer` --- - -/*!50001 DROP VIEW IF EXISTS `producer`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `producer` AS select `p`.`producer_id` AS `id`,`p`.`name` AS `name` from `vn2008`.`producer` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `promissoryNote` --- - -/*!50001 DROP VIEW IF EXISTS `promissoryNote`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `promissoryNote` AS select `p`.`Id_Pagare` AS `id`,`p`.`Concepto` AS `Concept`,`p`.`pago_id` AS `paymentFk` from `vn2008`.`Pagares` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `province` --- - -/*!50001 DROP VIEW IF EXISTS `province`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `province` AS select `t`.`province_id` AS `id`,`t`.`name` AS `name`,`t`.`Paises_Id` AS `countryFk`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`zone` AS `zoneFk`,`t`.`geoFk` AS `geoFk` from `vn2008`.`province` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `receipt` --- - -/*!50001 DROP VIEW IF EXISTS `receipt`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `receipt` AS select `t`.`Id` AS `Id`,`t`.`Id_Factura` AS `invoiceFk`,`t`.`Entregado` AS `amountPaid`,`t`.`Pendiente` AS `amountUnpaid`,`t`.`Fechacobro` AS `payed`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`Id_Banco` AS `bankFk`,`t`.`Id_Cliente` AS `clientFk`,`t`.`odbc_date` AS `created`,`t`.`empresa_id` AS `companyFk`,`t`.`conciliado` AS `isConciliate` from `vn2008`.`Recibos` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `referenceRate` --- - -/*!50001 DROP VIEW IF EXISTS `referenceRate`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `referenceRate` AS select `r`.`moneda_id` AS `currencyFk`,`r`.`date` AS `dated`,`r`.`rate` AS `value` from `vn2008`.`reference_rate` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `role` --- - -/*!50001 DROP VIEW IF EXISTS `role`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `role` AS select `account`.`role`.`id` AS `id`,`account`.`role`.`name` AS `name`,`account`.`role`.`description` AS `description`,`account`.`role`.`hasLogin` AS `hasLogin` from `account`.`role` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `route` --- - -/*!50001 DROP VIEW IF EXISTS `route`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `route` AS select `a`.`Id_Ruta` AS `id`,`a`.`Id_Trabajador` AS `workerFk`,`a`.`Fecha` AS `created`,`a`.`Id_Vehiculo` AS `vehicleFk`,`a`.`Id_Agencia` AS `agencyModeFk`,`a`.`Hora` AS `time`,`a`.`ok` AS `isOk`,`a`.`km_start` AS `kmStart`,`a`.`km_end` AS `kmEnd`,`a`.`date_start` AS `started`,`a`.`date_end` AS `finished`,`a`.`gestdoc_id` AS `gestdocFk`,`a`.`cost` AS `cost`,`a`.`m3` AS `m3`,`a`.`description` AS `description` from `vn2008`.`Rutas` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `routesControl` --- - -/*!50001 DROP VIEW IF EXISTS `routesControl`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `routesControl` AS select `t`.`Id_Ruta` AS `routeFk`,count(`e`.`expeditions_id`) AS `expeditions`,count(`sl`.`scan_line_id`) AS `scanned`,count(distinct `sl`.`scan_id`) AS `pallets`,max(`sl`.`odbc_date`) AS `lastScanned` from ((`vn2008`.`Tickets` `t` join `vn2008`.`expeditions` `e` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) left join `vn2008`.`scan_line` `sl` on((`e`.`expeditions_id` = `sl`.`code`))) where (`t`.`Fecha` >= (curdate() + interval -(1) day)) group by `t`.`Id_Ruta` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `sale` --- - -/*!50001 DROP VIEW IF EXISTS `sale`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `sale` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `itemFk`,`m`.`Id_Ticket` AS `ticketFk`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`Reservado` AS `reserved`,`m`.`OK` AS `isPicked`,`m`.`odbc_date` AS `created` from `vn2008`.`Movimientos` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `saleComponent` --- - -/*!50001 DROP VIEW IF EXISTS `saleComponent`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `saleComponent` AS select `mc`.`Id_Movimiento` AS `saleFk`,`mc`.`Id_Componente` AS `componentFk`,`mc`.`Valor` AS `value` from `vn2008`.`Movimientos_componentes` `mc` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `state` --- - -/*!50001 DROP VIEW IF EXISTS `state`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `state` AS select `s`.`id` AS `id`,`s`.`name` AS `name`,`s`.`order` AS `order`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code` from `vn2008`.`state` `s` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `supplier` --- - -/*!50001 DROP VIEW IF EXISTS `supplier`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `supplier` AS select `p`.`Id_Proveedor` AS `id`,`p`.`Proveedor` AS `name`,`p`.`cuenta` AS `account`,`p`.`pais_id` AS `countryFk`,`p`.`NIF` AS `nif`,`p`.`Agricola` AS `isFarmer`,`p`.`cuentaret` AS `retAccount`,`p`.`ComisionProveedor` AS `commission`,`p`.`odbc_time` AS `created`,`p`.`postcode_id` AS `postcodeFk`,`p`.`active` AS `isActive`,`p`.`Domicilio` AS `street`,`p`.`Localidad` AS `city`,`p`.`province_id` AS `provinceFk`,`p`.`codpos` AS `postCode` from `vn2008`.`Proveedores` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `supplierAccount` --- - -/*!50001 DROP VIEW IF EXISTS `supplierAccount`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `supplierAccount` AS select `pa`.`Id_Proveedores_account` AS `id`,`pa`.`Id_Proveedor` AS `supplierFk`,`pa`.`IBAN` AS `iban`,`pa`.`entity_id` AS `bankEntityFk` from `vn2008`.`Proveedores_account` `pa` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `tagL10n` --- - -/*!50001 DROP VIEW IF EXISTS `tagL10n`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `tagL10n` AS select `t`.`id` AS `id`,ifnull(`i`.`name`,`t`.`name`) AS `name` from (`tag` `t` left join `tagI18n` `i` on(((`i`.`tagFk` = `t`.`id`) and (`i`.`lang` = `util`.`LANG`())))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `taxClass` --- - -/*!50001 DROP VIEW IF EXISTS `taxClass`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `taxClass` AS select `c`.`iva_group_id` AS `id`,`c`.`description` AS `description`,`c`.`code` AS `code` from `vn2008`.`iva_group` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `taxClassCode` --- - -/*!50001 DROP VIEW IF EXISTS `taxClassCode`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `taxClassCode` AS select `c`.`iva_group_id` AS `taxClassFk`,`c`.`date` AS `effectived`,`c`.`iva_codigo_id` AS `taxCodeFk` from `vn2008`.`iva_group_codigo` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `taxCode` --- - -/*!50001 DROP VIEW IF EXISTS `taxCode`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `taxCode` AS select `ic`.`id` AS `id`,`ic`.`fecha` AS `dated`,`ic`.`codigo` AS `code`,`ic`.`iva_tipo_id` AS `taxTypeFk`,`ic`.`iva` AS `rate`,`ic`.`recargo` AS `equalizationTax`,`ic`.`tipo` AS `type`,`ic`.`link` AS `link`,`ic`.`isActive` AS `isActive`,`ic`.`updated` AS `updated`,`ic`.`transactionCode` AS `transactionCode` from `vn2008`.`iva_codigo` `ic` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `taxType` --- - -/*!50001 DROP VIEW IF EXISTS `taxType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `taxType` AS select `t`.`id` AS `id`,`t`.`alias` AS `nickname`,`t`.`isAccrued` AS `isAccrued`,`t`.`serie_id` AS `serial`,`t`.`TIPOOPE` AS `TIPOOPE`,`t`.`descripcion` AS `description`,`t`.`Id_Pais` AS `countryFk` from `vn2008`.`iva_tipo` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticket` --- - -/*!50001 DROP VIEW IF EXISTS `ticket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticket` AS select `t`.`Id_Ticket` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`Fecha` AS `shipped`,`t`.`landing` AS `landed`,`t`.`Alias` AS `nickname`,`t`.`Factura` AS `refFk`,`t`.`Id_Consigna` AS `addressFk`,`t`.`Localizacion` AS `location`,`t`.`Solucion` AS `solution`,`t`.`Id_Ruta` AS `routeFk`,`t`.`empresa_id` AS `companyFk`,`t`.`Id_Agencia` AS `agencyModeFk`,`t`.`Prioridad` AS `priority`,`t`.`Bultos` AS `packages`,`t`.`odbc_date` AS `created` from `vn2008`.`Tickets` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticketObservation` --- - -/*!50001 DROP VIEW IF EXISTS `ticketObservation`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketObservation` AS select `to`.`ticket_observation_id` AS `id`,`to`.`Id_Ticket` AS `ticketFk`,`to`.`observation_type_id` AS `observationTypeFk`,`to`.`text` AS `description` from `vn2008`.`ticket_observation` `to` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticketState` --- - -/*!50001 DROP VIEW IF EXISTS `ticketState`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketState` AS select `i`.`odbc_date` AS `updated`,`i`.`state_id` AS `stateFk`,`i`.`Id_Trabajador` AS `workerFk`,`ts`.`Id_Ticket` AS `ticketFk`,`s`.`id` AS `state`,`s`.`order` AS `productionOrder`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code`,`ts`.`Id_Ticket` AS `ticket`,`i`.`Id_Trabajador` AS `worker` from ((`vn2008`.`Tickets_state` `ts` join `vncontrol`.`inter` `i` on((`i`.`inter_id` = `ts`.`inter_id`))) join `vn2008`.`state` `s` on((`s`.`id` = `i`.`state_id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticketStateToday` --- - -/*!50001 DROP VIEW IF EXISTS `ticketStateToday`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketStateToday` AS select `ts`.`ticket` AS `ticket`,`ts`.`state` AS `state`,`ts`.`productionOrder` AS `productionOrder`,`ts`.`alertLevel` AS `alertLevel`,`ts`.`worker` AS `worker`,`ts`.`code` AS `code` from (`vn`.`ticketState` `ts` join `vn`.`ticket` `t` on((`t`.`id` = `ts`.`ticket`))) where (`t`.`shipped` between curdate() and `MIDNIGHT`(curdate())) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ticketTracking` --- - -/*!50001 DROP VIEW IF EXISTS `ticketTracking`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketTracking` AS select `i`.`inter_id` AS `id`,`i`.`state_id` AS `stateFk`,`i`.`odbc_date` AS `created`,`i`.`Id_Ticket` AS `ticketFk`,`i`.`Id_Trabajador` AS `workerFk` from `vncontrol`.`inter` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `time` --- - -/*!50001 DROP VIEW IF EXISTS `time`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `time` AS select `t`.`date` AS `dated`,`t`.`period` AS `period`,`t`.`month` AS `month`,`t`.`year` AS `year`,`t`.`day` AS `day`,`t`.`week` AS `week` from `vn2008`.`time` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `travel` --- - -/*!50001 DROP VIEW IF EXISTS `travel`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `travel` AS select `t`.`id` AS `id`,`t`.`shipment` AS `shipped`,`t`.`shipment_hour` AS `shipmentHour`,`t`.`landing` AS `landed`,`t`.`landing_hour` AS `landingHour`,`t`.`warehouse_id` AS `warehouseInFk`,`t`.`warehouse_id_out` AS `warehouseOutFk`,`t`.`agency_id` AS `agencyFk`,`t`.`ref` AS `ref`,`t`.`delivered` AS `isDelivered`,`t`.`received` AS `isReceived`,`t`.`m3` AS `m3` from `vn2008`.`travel` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `unary` --- - -/*!50001 DROP VIEW IF EXISTS `unary`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `unary` AS select `a`.`id` AS `id`,`a`.`parent` AS `parent` from `vn2008`.`unary` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `unaryScan` --- - -/*!50001 DROP VIEW IF EXISTS `unaryScan`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `unaryScan` AS select `u`.`unary_id` AS `unaryFk`,`u`.`name` AS `name`,`u`.`odbc_date` AS `created`,`u`.`type` AS `type` from `vn2008`.`unary_scan` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `unaryScanLine` --- - -/*!50001 DROP VIEW IF EXISTS `unaryScanLine`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `unaryScanLine` AS select `u`.`id` AS `id`,`u`.`code` AS `code`,`u`.`odbc_date` AS `created`,`u`.`unary_id` AS `unaryScanFk` from `vn2008`.`unary_scan_line` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `unaryScanLineBuy` --- - -/*!50001 DROP VIEW IF EXISTS `unaryScanLineBuy`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `unaryScanLineBuy` AS select `u`.`scan_line_id` AS `unaryScanLineFk`,`u`.`Id_Article` AS `itemFk` from `vn2008`.`unary_scan_line_buy` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `unaryScanLineExpedition` --- - -/*!50001 DROP VIEW IF EXISTS `unaryScanLineExpedition`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `unaryScanLineExpedition` AS select `u`.`scan_line_id` AS `unaryScanLineFk`,`u`.`expedition_id` AS `expeditionFk` from `vn2008`.`unary_scan_line_expedition` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `user` --- - -/*!50001 DROP VIEW IF EXISTS `user`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `user` AS select `account`.`user`.`id` AS `id`,`account`.`user`.`name` AS `name`,`account`.`user`.`password` AS `password`,`account`.`user`.`role` AS `role`,`account`.`user`.`active` AS `active`,`account`.`user`.`recoverPass` AS `recoverPass`,`account`.`user`.`lastPassChange` AS `lastPassChange` from `account`.`user` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `vehicle` --- - -/*!50001 DROP VIEW IF EXISTS `vehicle`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `vehicle` AS select `v`.`Id_Vehiculo` AS `id`,`v`.`Matricula` AS `numberPlate`,`v`.`Marca` AS `tradeMark`,`v`.`Modelo` AS `model`,`v`.`empresa_id` AS `companyFk`,`v`.`warehouseFk` AS `warehouseFk`,`v`.`description` AS `description`,`v`.`m3` AS `m3`,`v`.`active` AS `isActive` from `vn2008`.`Vehiculos` `v` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `warehouse` --- - -/*!50001 DROP VIEW IF EXISTS `warehouse`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `warehouse` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`inventario` AS `isInventory`,`t`.`is_comparative` AS `isComparative`,`t`.`comisionantes` AS `hasComission`,`t`.`isManaged` AS `isManaged` from `vn2008`.`warehouse` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `warehouseAlias` --- - -/*!50001 DROP VIEW IF EXISTS `warehouseAlias`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `warehouseAlias` AS select `wa`.`warehouse_alias_id` AS `id`,`wa`.`alias` AS `name` from `vn2008`.`warehouse_alias` `wa` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `worker` --- - -/*!50001 DROP VIEW IF EXISTS `worker`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `worker` AS select `t`.`Id_Trabajador` AS `id`,`t`.`CodigoTrabajador` AS `workerCode`,`t`.`Nombre` AS `firstName`,`t`.`Apellidos` AS `name`,`t`.`user_id` AS `userFk`,`t`.`phone` AS `phone`,`t`.`boss` AS `bossFk` from `vn2008`.`Trabajadores` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `workerTeam` --- - -/*!50001 DROP VIEW IF EXISTS `workerTeam`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerTeam` AS select `w`.`team` AS `team`,`w`.`user` AS `user`,`w`.`id` AS `id`,`t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn2008`.`workerTeam` `w` left join `vn2008`.`Trabajadores` `t` on((`t`.`user_id` = `w`.`user`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `edi` --- - -USE `edi`; - --- --- Current Database: `bs` --- - -USE `bs`; - --- --- Final view structure for view `VentasPorCliente` --- - -/*!50001 DROP VIEW IF EXISTS `VentasPorCliente`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `VentasPorCliente` AS select `v`.`Id_Cliente` AS `Id_Cliente`,round(sum(`v`.`importe`),0) AS `VentaBasica`,`t`.`year` AS `year`,`t`.`month` AS `month` from (`vn2008`.`time` `t` join `bs`.`ventas` `v` on((`v`.`fecha` = `t`.`date`))) group by `v`.`Id_Cliente`,`t`.`year`,`t`.`month` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_ventas` --- - -/*!50001 DROP VIEW IF EXISTS `v_ventas`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_ventas` AS select (`bs`.`ventas`.`importe` * `vn2008`.`Movimientos`.`Cantidad`) AS `importe`,`bs`.`ventas`.`recargo` AS `recargo`,`vn2008`.`time`.`year` AS `year`,`vn2008`.`time`.`month` AS `month`,`vn2008`.`time`.`week` AS `week`,`vn2008`.`time`.`day` AS `day` from ((`bs`.`ventas` join `vn2008`.`time` on((`vn2008`.`time`.`date` = `bs`.`ventas`.`fecha`))) join `vn2008`.`Movimientos` on((`bs`.`ventas`.`Id_Movimiento` = `vn2008`.`Movimientos`.`Id_Movimiento`))) group by `vn2008`.`time`.`date` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `bi` --- - -USE `bi`; - --- --- Final view structure for view `analisis_grafico_ventas` --- - -/*!50001 DROP VIEW IF EXISTS `analisis_grafico_ventas`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `analisis_grafico_ventas` AS select `analisis_ventas`.`Año` AS `Año`,`analisis_ventas`.`Semana` AS `Semana`,sum(`analisis_ventas`.`Importe`) AS `Importe` from `analisis_ventas` group by `analisis_ventas`.`Año`,`analisis_ventas`.`Semana` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `analisis_ventas_simple` --- - -/*!50001 DROP VIEW IF EXISTS `analisis_ventas_simple`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `analisis_ventas_simple` AS select `analisis_ventas`.`Año` AS `Año`,`analisis_ventas`.`Semana` AS `Semana`,sum(`analisis_ventas`.`Importe`) AS `Importe` from `analisis_ventas` group by `analisis_ventas`.`Año`,`analisis_ventas`.`Semana` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `customerRiskOverdue` --- - -/*!50001 DROP VIEW IF EXISTS `customerRiskOverdue`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `customerRiskOverdue` AS select `cr`.`customer_id` AS `customer_id`,`cr`.`amount` AS `amount`,`cr`.`company_id` AS `company_id` from (((`bi`.`customer_risk` `cr` join `vn2008`.`empresa` `e` on((`e`.`id` = `cr`.`company_id`))) join `vn2008`.`Clientes` `c` on((`cr`.`customer_id` = `c`.`id_cliente`))) join `vn2008`.`pay_met` `pm` on((`pm`.`id` = `c`.`pay_met_id`))) where (`cr`.`amount` and `e`.`morosidad` and `pm`.`deudaviva`) union all select `f`.`Id_Cliente` AS `Id_Cliente`,-(round(`f`.`Importe`,2)) AS `importe`,`f`.`empresa_id` AS `empresa_id` from (((`vn2008`.`Facturas` `f` join `vn2008`.`Clientes` `c` on((`f`.`Id_Cliente` = `c`.`id_cliente`))) join `vn2008`.`empresa` `e` on((`e`.`id` = `f`.`empresa_id`))) join `vn2008`.`pay_met` `pm` on((`pm`.`id` = `c`.`pay_met_id`))) where ((`f`.`Fecha` > (curdate() + interval -(101) day)) and ((`vn2008`.`paymentday`(`f`.`Fecha`,`c`.`vencimiento`) + interval `pm`.`graceDays` day) > curdate()) and (`f`.`Importe` > 0) and `e`.`morosidad` and `pm`.`deudaviva`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `last_Id_Cubo` --- - -/*!50001 DROP VIEW IF EXISTS `last_Id_Cubo`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `last_Id_Cubo` AS select `C`.`Id_Compra` AS `Id_Compra`,`C`.`Id_Article` AS `Id_Article`,`tr`.`warehouse_id` AS `warehouse_id`,`C`.`Id_Cubo` AS `Id_Cubo`,`C`.`Packing` AS `Packing` from ((`vn2008`.`Compres` `C` join `vn2008`.`Entradas` `E` on((`C`.`Id_Entrada` = `E`.`Id_Entrada`))) join `vn2008`.`travel` `tr` on((`E`.`travel_id` = `tr`.`id`))) where ((`C`.`Id_Cubo` is not null) and (`C`.`Id_Cubo` <> '--') and (`tr`.`landing` > (curdate() - interval 18 month))) order by `C`.`Id_Compra` desc */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_clientes_jerarquia` --- - -/*!50001 DROP VIEW IF EXISTS `v_clientes_jerarquia`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_clientes_jerarquia` AS select `c`.`id_cliente` AS `Id_Cliente`,`c`.`cliente` AS `Cliente`,`t`.`CodigoTrabajador` AS `Comercial`,`tj`.`CodigoTrabajador` AS `Jefe` from (((`vn2008`.`Clientes` `c` join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `c`.`Id_Trabajador`))) join `vn2008`.`jerarquia` on((`vn2008`.`jerarquia`.`worker_id` = `c`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `tj` on((`tj`.`Id_Trabajador` = `vn2008`.`jerarquia`.`boss_id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `v_ventas_contables` --- - -/*!50001 DROP VIEW IF EXISTS `v_ventas_contables`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `v_ventas_contables` AS select `vn2008`.`time`.`year` AS `year`,`vn2008`.`time`.`month` AS `month`,cast(sum((((`m`.`Cantidad` * `m`.`Preu`) * (100 - `m`.`Descuento`)) / 100)) as decimal(10,0)) AS `importe` from (((`vn2008`.`Tickets` `t` join `bi`.`f_tvc` on((`t`.`Id_Ticket` = `bi`.`f_tvc`.`Id_Ticket`))) join `vn2008`.`Movimientos` `m` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) join `vn2008`.`time` on((`vn2008`.`time`.`date` = cast(`t`.`Fecha` as date)))) where (`t`.`Fecha` >= '2014-01-01') group by `vn2008`.`time`.`year`,`vn2008`.`time`.`month` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `pbx` --- - -USE `pbx`; - --- --- Final view structure for view `cdrConf` --- - -/*!50001 DROP VIEW IF EXISTS `cdrConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `cdrConf` AS select `c`.`call_date` AS `calldate`,`c`.`clid` AS `clid`,`c`.`src` AS `src`,`c`.`dst` AS `dst`,`c`.`dcontext` AS `dcontext`,`c`.`channel` AS `channel`,`c`.`dst_channel` AS `dstchannel`,`c`.`last_app` AS `lastapp`,`c`.`last_data` AS `lastdata`,`c`.`duration` AS `duration`,`c`.`billsec` AS `billsec`,`c`.`disposition` AS `disposition`,`c`.`ama_flags` AS `amaflags`,`c`.`account_code` AS `accountcode`,`c`.`unique_id` AS `uniqueid`,`c`.`user_field` AS `userfield` from `cdr` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `followmeConf` --- - -/*!50001 DROP VIEW IF EXISTS `followmeConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `followmeConf` AS select `f`.`extension` AS `name`,`c`.`music` AS `music`,`c`.`context` AS `context`,`c`.`takeCall` AS `takecall`,`c`.`declineCall` AS `declinecall` from (`followme` `f` join `followmeConfig` `c`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `followmeNumberConf` --- - -/*!50001 DROP VIEW IF EXISTS `followmeNumberConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `followmeNumberConf` AS select `f`.`extension` AS `name`,1 AS `ordinal`,`f`.`phone` AS `phonenumber`,`c`.`timeout` AS `timeout` from (`followme` `f` join `followmeConfig` `c`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `queueConf` --- - -/*!50001 DROP VIEW IF EXISTS `queueConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `queueConf` AS select `q`.`name` AS `name`,`c`.`strategy` AS `strategy`,`c`.`timeout` AS `timeout`,`c`.`retry` AS `retry`,`c`.`weight` AS `weight`,`c`.`maxLen` AS `maxlen`,`c`.`ringInUse` AS `ringinuse` from (`queue` `q` join `queueConfig` `c` on((`q`.`config` = `c`.`id`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `queueMemberConf` --- - -/*!50001 DROP VIEW IF EXISTS `queueMemberConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `queueMemberConf` AS select `m`.`id` AS `uniqueid`,`m`.`queue` AS `queue_name`,concat('SIP/',`m`.`extension`) AS `interface` from `queueMember` `m` union all select `p`.`id` AS `id`,`p`.`queue` AS `queue`,concat('Local/',`p`.`phone`,'@outgoing') AS `phone` from `queuePhone` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `sipConf` --- - -/*!50001 DROP VIEW IF EXISTS `sipConf`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `sipConf` AS select `s`.`user_id` AS `id`,`s`.`extension` AS `name`,`s`.`secret` AS `secret`,`s`.`caller_id` AS `callerid`,`c`.`host` AS `host`,`c`.`deny` AS `deny`,`c`.`permit` AS `permit`,`c`.`type` AS `type`,`c`.`context` AS `context`,`c`.`incomingLimit` AS `incominglimit`,`c`.`pickupGroup` AS `pickupgroup`,`c`.`careInvite` AS `careinvite`,`r`.`ipAddr` AS `ipaddr`,`r`.`regSeconds` AS `regseconds`,`r`.`port` AS `port`,`r`.`defaultUser` AS `defaultuser`,`r`.`userAgent` AS `useragent`,`r`.`lastMs` AS `lastms`,`r`.`fullContact` AS `fullcontact`,`r`.`regServer` AS `regserver` from ((`sip` `s` left join `sipReg` `r` on((`s`.`user_id` = `r`.`userId`))) join `sipConfig` `c`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `cache` --- - -USE `cache`; - --- --- Current Database: `salix` --- - -USE `salix`; - --- --- Final view structure for view `Account` --- - -/*!50001 DROP VIEW IF EXISTS `Account`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Account` AS select `u`.`id` AS `id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`role` AS `roleFk`,`u`.`active` AS `active`,`u`.`email` AS `email`,`u`.`created` AS `created`,`u`.`updated` AS `updated` from `account`.`user` `u` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Accounting` --- - -/*!50001 DROP VIEW IF EXISTS `Accounting`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Accounting` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Address` --- - -/*!50001 DROP VIEW IF EXISTS `Address`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Address` AS select `a`.`id_consigna` AS `id`,`a`.`consignatario` AS `consignee`,`a`.`domicilio` AS `street`,`a`.`poblacion` AS `city`,`a`.`codPostal` AS `postcode`,`a`.`province_id` AS `provinceFk`,`a`.`telefono` AS `phone`,`a`.`movil` AS `mobile`,`a`.`active` AS `isEnabled`,`a`.`predeterminada` AS `isDefaultAddress`,`a`.`Id_cliente` AS `clientFk`,`a`.`Id_Agencia` AS `defaultAgencyFk`,`a`.`longitude` AS `longitude`,`a`.`latitude` AS `latitude`,`a`.`isEqualizated` AS `isEqualizated` from `vn2008`.`Consignatarios` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Agency` --- - -/*!50001 DROP VIEW IF EXISTS `Agency`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Agency` AS select `a`.`agency_id` AS `id`,`a`.`name` AS `name`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseAliasFk` from `vn2008`.`agency` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `AgencyMode` --- - -/*!50001 DROP VIEW IF EXISTS `AgencyMode`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `AgencyMode` AS select `a`.`Id_Agencia` AS `id`,`a`.`Agencia` AS `name`,`a`.`description` AS `description`,`a`.`Vista` AS `agencyTypeFk`,`a`.`m3` AS `m3`,`a`.`agency_id` AS `agencyFk`,`a`.`inflacion` AS `inflation`,`a`.`send_mail` AS `sendMailTo`,`a`.`tpv` AS `isForTicket` from `vn2008`.`Agencias` `a` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Bank` --- - -/*!50001 DROP VIEW IF EXISTS `Bank`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Bank` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `cash`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `City` --- - -/*!50001 DROP VIEW IF EXISTS `City`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `City` AS select `c`.`city_id` AS `id`,`c`.`name` AS `name`,`c`.`province_id` AS `provinceFk` from `vn2008`.`city` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Client` --- - -/*!50001 DROP VIEW IF EXISTS `Client`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Client` AS select `c`.`id_cliente` AS `id`,`c`.`cliente` AS `name`,`c`.`if` AS `fi`,`c`.`razonSocial` AS `socialName`,`c`.`contacto` AS `contact`,`c`.`domicilio` AS `street`,`c`.`poblacion` AS `city`,`c`.`codPostal` AS `postcode`,`c`.`province_id` AS `provinceFk`,`c`.`Id_Pais` AS `countryFk`,`c`.`e-mail` AS `email`,`c`.`telefono` AS `phone`,`c`.`movil` AS `mobile`,`c`.`fax` AS `fax`,`c`.`activo` AS `active`,`c`.`descuento` AS `discount`,`c`.`credito` AS `credit`,`c`.`creditInsurance` AS `creditInsurance`,`c`.`iban` AS `iban`,`c`.`vencimiento` AS `dueDay`,`c`.`RE` AS `equalizationTax`,`c`.`invoice` AS `hasToInvoice`,`c`.`mail` AS `invoiceByEmail`,`c`.`pay_met_id` AS `payMethodFk`,`c`.`Id_Trabajador` AS `salesPersonFk`,`c`.`chanel_id` AS `contactChannelFk`,`c`.`sepaVnl` AS `sepaVnl`,`c`.`coreVnl` AS `coreVnl`,`c`.`coreVnh` AS `coreVnh`,`c`.`EYPBC` AS `eypbc`,`c`.`calidad` AS `quality`,`c`.`vies` AS `vies`,`c`.`real` AS `isRelevant`,`c`.`clientes_tipo_id` AS `typeFk`,`c`.`Cuenta` AS `accountingAccount`,`c`.`created` AS `created`,`c`.`invoiceByAddress` AS `hasToInvoiceByAddress` from `vn2008`.`Clientes` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ClientCredit` --- - -/*!50001 DROP VIEW IF EXISTS `ClientCredit`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ClientCredit` AS select `c`.`id` AS `id`,`c`.`Id_Cliente` AS `clientFk`,`c`.`Id_Trabajador` AS `employeeFk`,`c`.`amount` AS `amount`,`c`.`odbc_date` AS `created` from `vn2008`.`credit` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ClientCreditLimit` --- - -/*!50001 DROP VIEW IF EXISTS `ClientCreditLimit`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ClientCreditLimit` AS select `l`.`id` AS `id`,`l`.`maxAmount` AS `maxAmount`,`l`.`roleFk` AS `roleFk` from `vn`.`clientCreditLimit` `l` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ClientObservation` --- - -/*!50001 DROP VIEW IF EXISTS `ClientObservation`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ClientObservation` AS select `o`.`client_observation_id` AS `id`,`o`.`Id_Cliente` AS `clientFk`,`o`.`Id_Trabajador` AS `employeeFk`,`o`.`text` AS `text`,`o`.`odbc_date` AS `created` from `vn2008`.`client_observation` `o` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ClientType` --- - -/*!50001 DROP VIEW IF EXISTS `ClientType`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ClientType` AS select `ct`.`clientes_tipo_id` AS `id`,`ct`.`code` AS `code`,`ct`.`tipo` AS `type` from `vn2008`.`clientes_tipo` `ct` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `ContactChannel` --- - -/*!50001 DROP VIEW IF EXISTS `ContactChannel`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ContactChannel` AS select `c`.`chanel_id` AS `id`,`c`.`name` AS `name` from `vn2008`.`chanel` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Country` --- - -/*!50001 DROP VIEW IF EXISTS `Country`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Country` AS select `c`.`Id` AS `id`,`c`.`Pais` AS `name`,`c`.`CEE` AS `inCee`,`c`.`Codigo` AS `code`,`c`.`Id_Moneda` AS `currencyFk`,`c`.`Id_Paisreal` AS `realCountryFk` from `vn2008`.`Paises` `c` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `CreditClassification` --- - -/*!50001 DROP VIEW IF EXISTS `CreditClassification`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `CreditClassification` AS select `vn`.`creditClassification`.`id` AS `id`,`vn`.`creditClassification`.`client` AS `clientFk`,`vn`.`creditClassification`.`dateStart` AS `started`,`vn`.`creditClassification`.`dateEnd` AS `ended` from `vn`.`creditClassification` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Delivery` --- - -/*!50001 DROP VIEW IF EXISTS `Delivery`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Delivery` AS select `r`.`Id_Ruta` AS `id`,`r`.`Fecha` AS `date`,`r`.`m3` AS `m3`,`t`.`warehouse_id` AS `warehouseFk` from (`vn2008`.`Rutas` `r` join `vn2008`.`Tickets` `t` on((`r`.`Id_Ruta` = `t`.`Id_Ruta`))) where (`r`.`Fecha` = curdate()) group by `r`.`Id_Ruta` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Employee` --- - -/*!50001 DROP VIEW IF EXISTS `Employee`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Employee` AS select `e`.`Id_Trabajador` AS `id`,`e`.`Nombre` AS `name`,`e`.`Apellidos` AS `surname`,`e`.`user_id` AS `userFk` from `vn2008`.`Trabajadores` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `PayMethod` --- - -/*!50001 DROP VIEW IF EXISTS `PayMethod`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `PayMethod` AS select `m`.`id` AS `id`,`m`.`name` AS `name`,`m`.`graceDays` AS `graceDays`,`m`.`deudaviva` AS `outstandingDebt`,`m`.`ibanRequired` AS `ibanRequired` from `vn2008`.`pay_met` `m` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Province` --- - -/*!50001 DROP VIEW IF EXISTS `Province`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Province` AS select `p`.`province_id` AS `id`,`p`.`name` AS `name`,`p`.`Paises_Id` AS `countryFk`,`p`.`warehouse_id` AS `warehouseFk`,`p`.`zone` AS `zoneFk` from `vn2008`.`province` `p` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Role` --- - -/*!50001 DROP VIEW IF EXISTS `Role`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Role` AS select `r`.`id` AS `id`,`r`.`name` AS `name`,`r`.`description` AS `description`,`r`.`created` AS `created`,`r`.`modified` AS `modified` from `account`.`role` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `RoleMapping` --- - -/*!50001 DROP VIEW IF EXISTS `RoleMapping`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `RoleMapping` AS select ((`u`.`id` * 1000) + `r`.`inheritsFrom`) AS `id`,'USER' AS `principalType`,`u`.`id` AS `principalId`,`r`.`inheritsFrom` AS `roleId` from (`account`.`user` `u` join `account`.`roleRole` `r` on((`r`.`role` = `u`.`role`))) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Route` --- - -/*!50001 DROP VIEW IF EXISTS `Route`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Route` AS select `r`.`Id_Ruta` AS `id`,`r`.`Fecha` AS `date` from `vn2008`.`Rutas` `r` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `State` --- - -/*!50001 DROP VIEW IF EXISTS `State`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `State` AS select `s`.`id` AS `id`,`s`.`name` AS `name`,`s`.`order` AS `order`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code` from `vn2008`.`state` `s` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Ticket` --- - -/*!50001 DROP VIEW IF EXISTS `Ticket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Ticket` AS select `t`.`Id_Ticket` AS `id`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Trabajador` AS `employeeFk`,`t`.`Fecha` AS `date`,`t`.`Hora` AS `hour`,`t`.`Id_Cliente` AS `clientFk` from `vn2008`.`Tickets` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `TicketState` --- - -/*!50001 DROP VIEW IF EXISTS `TicketState`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `TicketState` AS select `i`.`inter_id` AS `id`,`i`.`Id_Ticket` AS `ticketFk`,`i`.`state_id` AS `stateFk`,`i`.`Id_Trabajador` AS `employeeFk`,`i`.`odbc_date` AS `updated` from `vncontrol`.`inter` `i` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Vehicle` --- - -/*!50001 DROP VIEW IF EXISTS `Vehicle`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Vehicle` AS select `v`.`Id_Vehiculo` AS `id`,`v`.`Matricula` AS `numberPlate`,`v`.`Marca` AS `tradeMark`,`v`.`Modelo` AS `model`,`v`.`empresa_id` AS `companyFk`,`v`.`warehouseFk` AS `warehouseFk`,`v`.`description` AS `description`,`v`.`m3` AS `m3`,`v`.`active` AS `isActive` from `vn2008`.`Vehiculos` `v` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Warehouse` --- - -/*!50001 DROP VIEW IF EXISTS `Warehouse`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Warehouse` AS select `w`.`id` AS `id`,`w`.`name` AS `name`,`w`.`tpv` AS `tpv`,`w`.`inventario` AS `inventory`,`w`.`isManaged` AS `isManaged` from `vn2008`.`warehouse` `w` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `WarehouseAlias` --- - -/*!50001 DROP VIEW IF EXISTS `WarehouseAlias`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `WarehouseAlias` AS select `wa`.`warehouse_alias_id` AS `id`,`wa`.`alias` AS `name` from `vn2008`.`warehouse_alias` `wa` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Worker` --- - -/*!50001 DROP VIEW IF EXISTS `Worker`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Worker` AS select `e`.`Id_Trabajador` AS `id`,`e`.`Nombre` AS `name`,`e`.`Apellidos` AS `surname`,`e`.`user_id` AS `userFk` from `vn2008`.`Trabajadores` `e` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `Zone` --- - -/*!50001 DROP VIEW IF EXISTS `Zone`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `Zone` AS select `z`.`zone_id` AS `id`,`z`.`name` AS `name`,`z`.`printingOrder` AS `printingOrder` from `vn2008`.`zones` `z` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Current Database: `vncontrol` --- - -USE `vncontrol`; - --- --- Current Database: `hedera` --- - -USE `hedera`; - --- --- Final view structure for view `address_view` --- - -/*!50001 DROP VIEW IF EXISTS `address_view`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `address_view` AS select `a`.`id_consigna` AS `id`,`a`.`Id_cliente` AS `customer_id`,`a`.`warehouse_id` AS `warehouse_id`,`a`.`domicilio` AS `name`,`a`.`poblacion` AS `city`,`a`.`province_id` AS `province_id`,`a`.`codPostal` AS `zip_code`,`a`.`consignatario` AS `consignee`,`a`.`predeterminada` AS `default`,`a`.`Id_Agencia` AS `type_id`,`a`.`especificaciones` AS `specs`,`a`.`seguro` AS `insurance`,`a`.`porte` AS `postage`,`a`.`active` AS `active` from `vn2008`.`Consignatarios` `a` where (`a`.`Id_cliente` = `account`.`userGetId`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `basket` --- - -/*!50001 DROP VIEW IF EXISTS `basket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `basket` AS select `o`.`id` AS `id`,`o`.`date_make` AS `date_make`,`o`.`date_send` AS `date_send`,`o`.`customer_id` AS `customer_id`,`o`.`delivery_method_id` AS `delivery_method_id`,`o`.`agency_id` AS `agency_id`,`o`.`address_id` AS `address_id`,`o`.`company_id` AS `company_id`,`o`.`note` AS `note` from `hedera`.`order` `o` where (`o`.`id` = `basketGetId`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `basket_defaults` --- - -/*!50001 DROP VIEW IF EXISTS `basket_defaults`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `basket_defaults` AS select `ad`.`id_consigna` AS `address_id`,`ad`.`Id_Agencia` AS `agency_id`,`v`.`code` AS `delivery_method` from (((`vn2008`.`Clientes` `c` left join `vn2008`.`Consignatarios` `ad` on((`ad`.`id_consigna` = `c`.`default_address`))) join `vn2008`.`Agencias` `a` on((`a`.`Id_Agencia` = `ad`.`Id_Agencia`))) join `vn2008`.`Vistas` `v` on((`v`.`vista_id` = `a`.`Vista`))) where (`c`.`id_cliente` = `account`.`userGetId`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `basket_item` --- - -/*!50001 DROP VIEW IF EXISTS `basket_item`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `basket_item` AS select `r`.`id` AS `id`,`r`.`orderFk` AS `order_id`,`r`.`warehouseFk` AS `warehouse_id`,`r`.`itemFk` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price` from `hedera`.`orderRow` `r` where (`r`.`orderFk` = `BASKETGETID`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `customer_view` --- - -/*!50001 DROP VIEW IF EXISTS `customer_view`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `customer_view` AS select `c`.`id_cliente` AS `user_id`,`c`.`cliente` AS `name`,`c`.`e-mail` AS `email`,`c`.`mail` AS `mail`,`c`.`default_address` AS `default_address`,`c`.`credito` AS `credit` from `vn2008`.`Clientes` `c` where (`c`.`id_cliente` = `account`.`userGetId`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `invoice_view` --- - -/*!50001 DROP VIEW IF EXISTS `invoice_view`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `invoice_view` AS select `i`.`factura_id` AS `invoice_id`,`i`.`Id_Factura` AS `serial_num`,`i`.`Fecha` AS `issued`,`i`.`Importe` AS `amount` from `vn2008`.`Facturas` `i` where ((`i`.`Id_Cliente` = `account`.`userGetId`()) and `i`.`pdf`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myAddress` --- - -/*!50001 DROP VIEW IF EXISTS `myAddress`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myAddress` AS select `t`.`id` AS `id`,`t`.`clientFk` AS `clientFk`,`t`.`street` AS `street`,`t`.`city` AS `city`,`t`.`postalCode` AS `postalCode`,`t`.`provinceFk` AS `provinceFk`,`t`.`nickname` AS `nickname`,`t`.`isDefaultAddress` AS `isDefaultAddress`,`t`.`isActive` AS `isActive`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouseFk` AS `warehouseFk`,`t`.`agencyFk` AS `agencyFk` from `vn`.`address` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myClient` --- - -/*!50001 DROP VIEW IF EXISTS `myClient`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myClient` AS select `c`.`id` AS `id`,`c`.`isToBeMailed` AS `isToBeMailed`,`c`.`defaultAddressFk` AS `defaultAddressFk`,`c`.`credit` AS `credit` from `vn`.`client` `c` where (`c`.`id` = `account`.`userGetId`()) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myInvoice` --- - -/*!50001 DROP VIEW IF EXISTS `myInvoice`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myInvoice` AS select `i`.`id` AS `id`,`i`.`ref` AS `ref`,`i`.`issued` AS `issued`,`i`.`amount` AS `amount` from `vn`.`invoiceOut` `i` where ((`i`.`clientFk` = `account`.`userGetId`()) and `i`.`pdf`) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myMenu` --- - -/*!50001 DROP VIEW IF EXISTS `myMenu`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myMenu` AS select `t`.`id` AS `id`,`t`.`path` AS `path`,`t`.`description` AS `description`,`t`.`parentFk` AS `parentFk` from (`hedera`.`menu` `t` join `account`.`userRole` `r` on((`r`.`id` = `t`.`roleFk`))) order by `t`.`parentFk`,`t`.`displayOrder`,`t`.`id` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myTicket` --- - -/*!50001 DROP VIEW IF EXISTS `myTicket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myTicket` AS select `t`.`id` AS `id`,`t`.`clientFk` AS `clientFk`,`t`.`warehouseFk` AS `warehouseFk`,`t`.`shipped` AS `shipped`,`t`.`landed` AS `landed`,`t`.`nickname` AS `nickname`,`t`.`agencyModeFk` AS `agencyModeFk`,`t`.`refFk` AS `refFk`,`t`.`addressFk` AS `addressFk`,`t`.`location` AS `location`,`t`.`companyFk` AS `companyFk` from `vn`.`ticket` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myTicketRow` --- - -/*!50001 DROP VIEW IF EXISTS `myTicketRow`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myTicketRow` AS select `s`.`id` AS `id`,`s`.`itemFk` AS `itemFk`,`s`.`ticketFk` AS `ticketFk`,`s`.`concept` AS `concept`,`s`.`quantity` AS `quantity`,`s`.`price` AS `price`,`s`.`discount` AS `discount`,`s`.`reserved` AS `reserved`,`s`.`isPicked` AS `isPicked` from (`vn`.`sale` `s` join `hedera`.`myTicket` `t` on((`s`.`ticketFk` = `t`.`id`))) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `myTpvTransaction` --- - -/*!50001 DROP VIEW IF EXISTS `myTpvTransaction`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `myTpvTransaction` AS select `t`.`id` AS `id`,`t`.`merchantFk` AS `merchantFk`,`t`.`clientFk` AS `clientFk`,`t`.`receiptFk` AS `receiptFk`,`t`.`amount` AS `amount`,`t`.`response` AS `response`,`t`.`status` AS `status`,`t`.`created` AS `created` from `hedera`.`tpvTransaction` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_basket` --- - -/*!50001 DROP VIEW IF EXISTS `order_basket`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_basket` AS select `t`.`clientFk` AS `customer_id`,`t`.`orderFk` AS `order_id` from `basketOrder` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_component` --- - -/*!50001 DROP VIEW IF EXISTS `order_component`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_component` AS select `t`.`rowFk` AS `order_row_id`,`t`.`componentFk` AS `component_id`,`t`.`price` AS `price` from `orderRowComponent` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_confirm_time` --- - -/*!50001 DROP VIEW IF EXISTS `order_confirm_time`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_confirm_time` AS select `o`.`date_make` AS `date_make`,`o`.`source_app` AS `source_app`,`o`.`customer_id` AS `customer_id`,`o`.`confirm_date` AS `confirm_date`,`o`.`first_row_stamp` AS `first_row_stamp`,(ceiling((((unix_timestamp(`o`.`confirm_date`) - unix_timestamp(`o`.`first_row_stamp`)) / 60) / 5)) * 5) AS `minutos` from `order` `o` where ((`o`.`confirm_date` is not null) and (`o`.`first_row_stamp` is not null)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_row` --- - -/*!50001 DROP VIEW IF EXISTS `order_row`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_row` AS select `t`.`id` AS `id`,`t`.`orderFk` AS `order_id`,`t`.`itemFk` AS `item_id`,`t`.`warehouseFk` AS `warehouse_id`,`t`.`shipment` AS `shipment`,`t`.`amount` AS `amount`,`t`.`price` AS `price`,`t`.`rate` AS `rate`,`t`.`created` AS `created`,`t`.`saleFk` AS `Id_Movimiento` from `orderRow` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_row_view` --- - -/*!50001 DROP VIEW IF EXISTS `order_row_view`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_row_view` AS select `r`.`id` AS `id`,`r`.`order_id` AS `order_id`,`r`.`warehouse_id` AS `warehouse_id`,`r`.`item_id` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price2` from `hedera`.`order_row` `r` where `r`.`order_id` in (select `order_view`.`id` AS `id` from `hedera`.`order_view`) */ -/*!50002 WITH CASCADED CHECK OPTION */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `order_view` --- - -/*!50001 DROP VIEW IF EXISTS `order_view`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `order_view` AS select `o`.`id` AS `id`,`o`.`date_make` AS `date_make`,`o`.`date_send` AS `date_send`,`o`.`customer_id` AS `customer_id`,`o`.`delivery_method_id` AS `delivery_method_id`,`o`.`agency_id` AS `agency_id`,`o`.`note` AS `note`,`o`.`address_id` AS `address_id`,`o`.`company_id` AS `company_id` from `hedera`.`order` `o` where ((`o`.`customer_id` = `account`.`userGetId`()) and (`o`.`is_bionic` = 0)) */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; - --- --- Final view structure for view `user_android` --- - -/*!50001 DROP VIEW IF EXISTS `user_android`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `user_android` AS select `t`.`androidId` AS `android_id`,`t`.`userFk` AS `user_id` from `androidUser` `t` */; -/*!50001 SET character_set_client = @saved_cs_client */; -/*!50001 SET character_set_results = @saved_cs_results */; -/*!50001 SET collation_connection = @saved_col_connection */; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2018-02-12 8:45:39 + 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: `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` set('READ','WRITE','*') COLLATE utf8_unicode_ci DEFAULT 'READ', + `permission` set('DENY','ALLOW') COLLATE utf8_unicode_ci DEFAULT 'ALLOW', + `principalType` set('ROLE','USER') COLLATE utf8_unicode_ci DEFAULT 'ROLE', + `principalId` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=55 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 table 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 TABLE `Account` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `password` tinyint NOT NULL, + `roleFk` tinyint NOT NULL, + `active` tinyint NOT NULL, + `email` tinyint NOT NULL, + `created` tinyint NOT NULL, + `updated` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Accounting` ( + `id` tinyint NOT NULL, + `bank` tinyint NOT NULL, + `account` tinyint NOT NULL, + `accountingTypeFk` tinyint NOT NULL, + `entityFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Address` ( + `id` tinyint NOT NULL, + `consignee` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postcode` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `phone` tinyint NOT NULL, + `mobile` tinyint NOT NULL, + `isEnabled` tinyint NOT NULL, + `isDefaultAddress` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `defaultAgencyFk` tinyint NOT NULL, + `longitude` tinyint NOT NULL, + `latitude` tinyint NOT NULL, + `isEqualizated` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Agency` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `isVolumetric` tinyint NOT NULL, + `bankFk` tinyint NOT NULL, + `warehouseAliasFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `AgencyMode` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `description` tinyint NOT NULL, + `agencyTypeFk` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `inflation` tinyint NOT NULL, + `sendMailTo` tinyint NOT NULL, + `isForTicket` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Bank` ( + `id` tinyint NOT NULL, + `bank` tinyint NOT NULL, + `account` tinyint NOT NULL, + `cash` tinyint NOT NULL, + `entityFk` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `City` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Client` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `fi` tinyint NOT NULL, + `socialName` tinyint NOT NULL, + `contact` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postcode` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `email` tinyint NOT NULL, + `phone` tinyint NOT NULL, + `mobile` tinyint NOT NULL, + `fax` tinyint NOT NULL, + `active` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `credit` tinyint NOT NULL, + `creditInsurance` tinyint NOT NULL, + `iban` tinyint NOT NULL, + `dueDay` tinyint NOT NULL, + `equalizationTax` tinyint NOT NULL, + `hasToInvoice` tinyint NOT NULL, + `invoiceByEmail` tinyint NOT NULL, + `payMethodFk` tinyint NOT NULL, + `salesPersonFk` tinyint NOT NULL, + `contactChannelFk` tinyint NOT NULL, + `sepaVnl` tinyint NOT NULL, + `coreVnl` tinyint NOT NULL, + `coreVnh` tinyint NOT NULL, + `eypbc` tinyint NOT NULL, + `quality` tinyint NOT NULL, + `vies` tinyint NOT NULL, + `isRelevant` tinyint NOT NULL, + `typeFk` tinyint NOT NULL, + `accountingAccount` tinyint NOT NULL, + `created` tinyint NOT NULL, + `hasToInvoiceByAddress` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ClientCredit` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `employeeFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ClientCreditLimit` ( + `id` tinyint NOT NULL, + `maxAmount` tinyint NOT NULL, + `roleFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ClientObservation` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `employeeFk` tinyint NOT NULL, + `text` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ClientType` ( + `id` tinyint NOT NULL, + `code` tinyint NOT NULL, + `type` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `ContactChannel` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Country` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `inCee` tinyint NOT NULL, + `code` tinyint NOT NULL, + `currencyFk` tinyint NOT NULL, + `realCountryFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `CreditClassification` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `started` tinyint NOT NULL, + `ended` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Delivery` ( + `id` tinyint NOT NULL, + `date` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Employee` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `surname` tinyint NOT NULL, + `userFk` tinyint NOT NULL +) ENGINE=MyISAM */; +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 */; + +-- +-- Temporary table 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 TABLE `PayMethod` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `graceDays` tinyint NOT NULL, + `outstandingDebt` tinyint NOT NULL, + `ibanRequired` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Province` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `countryFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `zoneFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Role` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `description` tinyint NOT NULL, + `created` tinyint NOT NULL, + `modified` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `RoleMapping` ( + `id` tinyint NOT NULL, + `principalType` tinyint NOT NULL, + `principalId` tinyint NOT NULL, + `roleId` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Route` ( + `id` tinyint NOT NULL, + `date` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `State` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `order` tinyint NOT NULL, + `alertLevel` tinyint NOT NULL, + `code` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Ticket` ( + `id` tinyint NOT NULL, + `agencyFk` tinyint NOT NULL, + `employeeFk` tinyint NOT NULL, + `date` tinyint NOT NULL, + `hour` tinyint NOT NULL, + `clientFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `TicketState` ( + `id` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `stateFk` tinyint NOT NULL, + `employeeFk` tinyint NOT NULL, + `updated` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Vehicle` ( + `id` tinyint NOT NULL, + `numberPlate` tinyint NOT NULL, + `tradeMark` tinyint NOT NULL, + `model` tinyint NOT NULL, + `companyFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `description` tinyint NOT NULL, + `m3` tinyint NOT NULL, + `isActive` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Warehouse` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `tpv` tinyint NOT NULL, + `inventory` tinyint NOT NULL, + `isManaged` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `WarehouseAlias` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Worker` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `surname` tinyint NOT NULL, + `userFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `Zone` ( + `id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `printingOrder` tinyint NOT NULL +) ENGINE=MyISAM */; +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: `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=9167589 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: `hedera` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `hedera` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `hedera`; + +-- +-- Temporary table 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 TABLE `address_view` ( + `id` tinyint NOT NULL, + `customer_id` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `city` tinyint NOT NULL, + `province_id` tinyint NOT NULL, + `zip_code` tinyint NOT NULL, + `consignee` tinyint NOT NULL, + `default` tinyint NOT NULL, + `type_id` tinyint NOT NULL, + `specs` tinyint NOT NULL, + `insurance` tinyint NOT NULL, + `postage` tinyint NOT NULL, + `active` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `basket` ( + `id` tinyint NOT NULL, + `date_make` tinyint NOT NULL, + `date_send` tinyint NOT NULL, + `customer_id` tinyint NOT NULL, + `delivery_method_id` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `address_id` tinyint NOT NULL, + `company_id` tinyint NOT NULL, + `note` tinyint NOT NULL +) ENGINE=MyISAM */; +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` ( + `clientFk` int(11) NOT NULL, + `orderFk` int(10) unsigned NOT NULL, + PRIMARY KEY (`orderFk`,`clientFk`), + UNIQUE KEY `customer_id` (`clientFk`), + CONSTRAINT `basketOrder_ibfk_1` FOREIGN KEY (`orderFk`, `clientFk`) 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 (`clientFk`) 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 table 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 TABLE `basket_defaults` ( + `address_id` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `delivery_method` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `basket_item` ( + `id` tinyint NOT NULL, + `order_id` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `price` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `customer_view` ( + `user_id` tinyint NOT NULL, + `name` tinyint NOT NULL, + `email` tinyint NOT NULL, + `mail` tinyint NOT NULL, + `default_address` tinyint NOT NULL, + `credit` tinyint NOT NULL +) ENGINE=MyISAM */; +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 table 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 TABLE `invoice_view` ( + `invoice_id` tinyint NOT NULL, + `serial_num` tinyint NOT NULL, + `issued` tinyint NOT NULL, + `amount` tinyint NOT NULL +) ENGINE=MyISAM */; +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, + `isActive` 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=37 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 table 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 TABLE `myAddress` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `street` tinyint NOT NULL, + `city` tinyint NOT NULL, + `postalCode` tinyint NOT NULL, + `provinceFk` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `isDefaultAddress` tinyint NOT NULL, + `isActive` tinyint NOT NULL, + `longitude` tinyint NOT NULL, + `latitude` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `myClient` +-- + +DROP TABLE IF EXISTS `myClient`; +/*!50001 DROP VIEW IF EXISTS `myClient`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `myClient` ( + `id` tinyint NOT NULL, + `isToBeMailed` tinyint NOT NULL, + `defaultAddressFk` tinyint NOT NULL, + `credit` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `myInvoice` +-- + +DROP TABLE IF EXISTS `myInvoice`; +/*!50001 DROP VIEW IF EXISTS `myInvoice`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE TABLE `myInvoice` ( + `id` tinyint NOT NULL, + `ref` tinyint NOT NULL, + `issued` tinyint NOT NULL, + `amount` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `myMenu` ( + `id` tinyint NOT NULL, + `path` tinyint NOT NULL, + `description` tinyint NOT NULL, + `parentFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `myTicket` ( + `id` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `warehouseFk` tinyint NOT NULL, + `shipped` tinyint NOT NULL, + `landed` tinyint NOT NULL, + `nickname` tinyint NOT NULL, + `agencyModeFk` tinyint NOT NULL, + `refFk` tinyint NOT NULL, + `addressFk` tinyint NOT NULL, + `location` tinyint NOT NULL, + `companyFk` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `myTicketRow` ( + `id` tinyint NOT NULL, + `itemFk` tinyint NOT NULL, + `ticketFk` tinyint NOT NULL, + `concept` tinyint NOT NULL, + `quantity` tinyint NOT NULL, + `price` tinyint NOT NULL, + `discount` tinyint NOT NULL, + `reserved` tinyint NOT NULL, + `isPicked` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `myTpvTransaction` ( + `id` tinyint NOT NULL, + `merchantFk` tinyint NOT NULL, + `clientFk` tinyint NOT NULL, + `receiptFk` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `response` tinyint NOT NULL, + `status` tinyint NOT NULL, + `created` tinyint NOT NULL +) ENGINE=MyISAM */; +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=12996 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=1268765 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, + `guestMethod` varchar(45) CHARACTER SET utf8 NOT NULL, + `guestAgencyFk` int(11) NOT NULL, + `reserveTime` time NOT NULL, + `defaultCompanyFk` smallint(6) unsigned DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `employeeFk` (`employeeFk`), + KEY `guestAgencyFk` (`guestAgencyFk`), + KEY `defaultCompanyFk` (`defaultCompanyFk`), + KEY `guestMethod` (`guestMethod`), + CONSTRAINT `orderConfig_ibfk_1` FOREIGN KEY (`employeeFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `orderConfig_ibfk_2` FOREIGN KEY (`defaultCompanyFk`) REFERENCES `vn2008`.`empresa` (`id`) ON UPDATE CASCADE, + CONSTRAINT `orderConfig_ibfk_3` FOREIGN KEY (`guestAgencyFk`) REFERENCES `vn2008`.`Agencias` (`Id_Agencia`) ON UPDATE CASCADE +) 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=7878002 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 table 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 TABLE `order_basket` ( + `customer_id` tinyint NOT NULL, + `order_id` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_component` ( + `order_row_id` tinyint NOT NULL, + `component_id` tinyint NOT NULL, + `price` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_confirm_time` ( + `date_make` tinyint NOT NULL, + `source_app` tinyint NOT NULL, + `customer_id` tinyint NOT NULL, + `confirm_date` tinyint NOT NULL, + `first_row_stamp` tinyint NOT NULL, + `minutos` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_row` ( + `id` tinyint NOT NULL, + `order_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `shipment` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `price` tinyint NOT NULL, + `rate` tinyint NOT NULL, + `created` tinyint NOT NULL, + `Id_Movimiento` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_row_view` ( + `id` tinyint NOT NULL, + `order_id` tinyint NOT NULL, + `warehouse_id` tinyint NOT NULL, + `item_id` tinyint NOT NULL, + `amount` tinyint NOT NULL, + `price2` tinyint NOT NULL +) ENGINE=MyISAM */; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table 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 TABLE `order_view` ( + `id` tinyint NOT NULL, + `date_make` tinyint NOT NULL, + `date_send` tinyint NOT NULL, + `customer_id` tinyint NOT NULL, + `delivery_method_id` tinyint NOT NULL, + `agency_id` tinyint NOT NULL, + `note` tinyint NOT NULL, + `address_id` tinyint NOT NULL, + `company_id` tinyint NOT NULL +) ENGINE=MyISAM */; +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 */; + +-- +-- 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=192339 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 table 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 TABLE `user_android` ( + `android_id` tinyint NOT NULL, + `user_id` tinyint NOT NULL +) ENGINE=MyISAM */; +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=1171067 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=2500346 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=1694172 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=2420147 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 `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 `myClientGetDebt` */; +/*!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 `myClientGetDebt`(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 `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 = 'PICKUP' AND vAddress IS NULL + THEN + SELECT defaultAddressFk INTO vAddress + FROM myClient; + END IF; + + SET vOrder = basketGetId(); + + IF vOrder IS NULL + THEN + SELECT companyFk INTO vCompany + FROM vn.clientDefaultCompany + WHERE ClientFk = account.userGetId() + AND CURDATE() BETWEEN started AND finished + LIMIT 1; + + IF vCompany IS NULL + THEN + SELECT defaultCompanyFk INTO vCompany + FROM orderConfig; + END IF; + + 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 = vCompany; + + SET vOrder = LAST_INSERT_ID(); + + INSERT INTO basketOrder SET + clientFk = account.userGetId(), + orderFk = 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 guestMethod, guestAgencyFk + INTO vMethod, vAgency + FROM orderConfig + 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 + */ + DECLARE vTaxBase DECIMAL(10,2); + DECLARE vTax DECIMAL(10,2); + + 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; + + SELECT SUM(taxableBase), SUM(tax) + INTO vTaxBase, vTax + FROM tmp.ticketAmount; + + SELECT t.id, t.landed, t.shipped, t.refFk, ag.description agency, m.code method, + a.street, a.postalCode, a.city, a.nickname, p.name province, + vTaxBase taxBase, vTaxBase + vTax AS total + FROM tmp.ticket 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 + LEFT JOIN vn.deliveryMethod m ON m.id = ag.deliveryMethodFk + LEFT JOIN vn.province p ON p.id = a.provinceFk + WHERE t.id = vTicket; + + DROP TEMPORARY TABLE + tmp.ticket, + tmp.ticketTax, + tmp.ticketAmount; +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 `myTicketGetPackages` */; +/*!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 `myTicketGetPackages`(vTicket INT) +BEGIN +/** + * Returns a current user ticket packages. + * + * @param vTicket The ticket identifier + * @select The ticket packages + */ + SELECT i.image, i.id, i.name, tp.quantity + FROM myTicket t + JOIN vn.ticketPackaging tp ON tp.ticketFk = t.id + JOIN vn.package p ON p.id = tp.packagingFk + JOIN vn.item i ON i.id = p.itemFk + 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 `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 shipped 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 = v.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; +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', 'Accede a ticket' + 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. + * + * @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 employeeFk INTO vEmployee FROM orderConfig; + 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 `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 `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 `__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 + */ + DECLARE vTaxBase DECIMAL(10,2); + DECLARE vTax DECIMAL(10,2); + + 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 SUM(taxBase), SUM(tax + equalizationTax) + INTO vTaxBase, vTax + FROM tmp.ticketTax; + + SELECT t.id, t.landed, t.shipped, t.refFk, ag.description agency, + a.street, a.postalCode, a.city, a.nickname, p.name province, + vTaxBase taxBase, vTaxBase + vTax AS total + FROM tmp.ticket 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 + LEFT 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 */ ; + +-- +-- Current Database: `account` +-- + +USE `account`; + +-- +-- Final view structure for view `accountDovecot` +-- + +/*!50001 DROP TABLE IF EXISTS `accountDovecot`*/; +/*!50001 DROP VIEW IF EXISTS `accountDovecot`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `accountDovecot` AS select `u`.`name` AS `name`,`u`.`password` AS `password` from (`user` `u` join `account` `a` on((`a`.`id` = `u`.`id`))) where `u`.`active` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `accountPam` +-- + +/*!50001 DROP TABLE IF EXISTS `accountPam`*/; +/*!50001 DROP VIEW IF EXISTS `accountPam`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `accountPam` AS select `u`.`name` AS `name`,`u`.`password` AS `password` from (`user` `u` join `account` `a` on((`u`.`id` = `a`.`id`))) where (`u`.`active` <> 0) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `userRole` +-- + +/*!50001 DROP TABLE IF EXISTS `userRole`*/; +/*!50001 DROP VIEW IF EXISTS `userRole`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `userRole` AS select `r`.`inheritsFrom` AS `id` from (`roleRole` `r` join `user` `u` on((`u`.`role` = `r`.`role`))) where (`u`.`id` = `USERGETID`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `userView` +-- + +/*!50001 DROP TABLE IF EXISTS `userView`*/; +/*!50001 DROP VIEW IF EXISTS `userView`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `userView` AS select `u`.`id` AS `id`,`u`.`name` AS `name`,`u`.`active` AS `active`,`u`.`email` AS `email`,`u`.`nickname` AS `nickname`,`u`.`lang` AS `lang`,`u`.`role` AS `role`,`u`.`recoverPass` AS `recoverPass` from `user` `u` where (`u`.`name` = `account`.`userGetName`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `util` +-- + +USE `util`; + +-- +-- Current Database: `vn2008` +-- + +USE `vn2008`; + +-- +-- Final view structure for view `V_edi_item_track` +-- + +/*!50001 DROP TABLE IF EXISTS `V_edi_item_track`*/; +/*!50001 DROP VIEW IF EXISTS `V_edi_item_track`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `V_edi_item_track` AS select `edi`.`item_track`.`item_id` AS `item_id`,`edi`.`item_track`.`s1` AS `s1`,`edi`.`item_track`.`s2` AS `s2`,`edi`.`item_track`.`s3` AS `s3`,`edi`.`item_track`.`s4` AS `s4`,`edi`.`item_track`.`s5` AS `s5`,`edi`.`item_track`.`s6` AS `s6`,`edi`.`item_track`.`kop` AS `kop`,`edi`.`item_track`.`pac` AS `pac`,`edi`.`item_track`.`cat` AS `cat`,`edi`.`item_track`.`ori` AS `ori`,`edi`.`item_track`.`pro` AS `pro`,`edi`.`item_track`.`sub` AS `sub`,`edi`.`item_track`.`package` AS `package` from `edi`.`item_track` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `VerEspionaje` +-- + +/*!50001 DROP TABLE IF EXISTS `VerEspionaje`*/; +/*!50001 DROP VIEW IF EXISTS `VerEspionaje`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `VerEspionaje` AS select `Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`Espionajes`.`Fecha` AS `Fecha`,`Espionajes`.`HoraEntrada` AS `HoraEntrada`,`Espionajes`.`HoraSalida` AS `HoraSalida`,`Espionajes`.`Id_Equipo` AS `Id_Equipo`,`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador` from (`Espionajes` join `Trabajadores` on((`Espionajes`.`Id_Trabajador` = `Trabajadores`.`Id_Trabajador`))) order by `Trabajadores`.`CodigoTrabajador`,`Espionajes`.`Fecha` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `account_customer` +-- + +/*!50001 DROP TABLE IF EXISTS `account_customer`*/; +/*!50001 DROP VIEW IF EXISTS `account_customer`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `account_customer` AS select `e`.`description` AS `description`,`vn2008`.`cc_to_iban`(concat(`a`.`entity_id`,`a`.`office`,`a`.`DC`,`a`.`number`)) AS `iban`,`a`.`entity_id` AS `entity_id`,`a`.`office` AS `office`,`a`.`DC` AS `dc`,`a`.`number` AS `number` from ((`provider_account_customer` `c` join `Proveedores_account` `a` on((`a`.`Id_Proveedores_account` = `c`.`account_id`))) join `entity` `e` on((`a`.`entity_id` = `e`.`entity_id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `awb_volume` +-- + +/*!50001 DROP TABLE IF EXISTS `awb_volume`*/; +/*!50001 DROP VIEW IF EXISTS `awb_volume`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `awb_volume` AS select `ar`.`awb_id` AS `awb_id`,(((`c`.`Etiquetas` * `a`.`density`) * if((`cu`.`Volumen` > 0),`cu`.`Volumen`,((`cu`.`X` * `cu`.`Y`) * if((`cu`.`Z` = 0),(`a`.`Medida` + 10),`cu`.`Z`)))) / 167000) AS `volume` from (((((((`Compres` `c` join `Articles` `a` on((`c`.`Id_Article` = `a`.`Id_Article`))) join `Tipos` `t` on((`a`.`tipo_id` = `t`.`tipo_id`))) join `Cubos` `cu` on((`cu`.`Id_Cubo` = `c`.`Id_Cubo`))) join `Entradas` `e` on((`c`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `tr` on((`tr`.`id` = `e`.`travel_id`))) join `recibida_entrada` `re` on((`c`.`Id_Entrada` = `re`.`Id_Entrada`))) join `awb_recibida` `ar` on((`re`.`awb_recibida` = `ar`.`recibida_id`))) where (`tr`.`shipment` > makedate((year(curdate()) - 1),1)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `cdr` +-- + +/*!50001 DROP TABLE IF EXISTS `cdr`*/; +/*!50001 DROP VIEW IF EXISTS `cdr`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `cdr` AS select `c`.`call_date` AS `calldate`,`c`.`clid` AS `clid`,`c`.`src` AS `src`,`c`.`dst` AS `dst`,`c`.`dcontext` AS `dcontext`,`c`.`channel` AS `channel`,`c`.`dst_channel` AS `dstchannel`,`c`.`last_app` AS `lastapp`,`c`.`last_data` AS `lastdata`,`c`.`duration` AS `duration`,`c`.`billsec` AS `billsec`,`c`.`disposition` AS `disposition`,`c`.`ama_flags` AS `amaflags`,`c`.`account_code` AS `accountcode`,`c`.`unique_id` AS `uniqueid`,`c`.`user_field` AS `userfield` from `pbx`.`cdr` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientMana` +-- + +/*!50001 DROP TABLE IF EXISTS `clientMana`*/; +/*!50001 DROP VIEW IF EXISTS `clientMana`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientMana` AS select `t`.`Id_Cliente` AS `Id_Cliente`,`mc`.`Valor` AS `ManaUnitario`,(`mc`.`Valor` * `m`.`Cantidad`) AS `ManaTotal`,`t`.`Id_Ticket` AS `Id_Ticket`,`m`.`Id_Article` AS `Id_Article`,`m`.`Concepte` AS `Concepte`,`m`.`Cantidad` AS `Cantidad`,`m`.`Preu` AS `Preu`,`t`.`Fecha` AS `Fecha`,`m`.`Id_Movimiento` AS `Id_Movimiento` from ((((`vn2008`.`Tickets` `t` join `vn2008`.`Movimientos` `m` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) join `vn2008`.`Movimientos_componentes` `mc` on((`mc`.`Id_Movimiento` = `m`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on((`tc`.`Id_Componente` = `mc`.`Id_Componente`))) join `vn2008`.`tarifa_componentes_series` `tcs` on((`tc`.`tarifa_componentes_series_id` = `tcs`.`tarifa_componentes_series_id`))) where ((`t`.`Fecha` >= '2016-01-01') and (`tcs`.`Serie` = 'cartera_comercial') and (`mc`.`Valor` <> 0)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_article` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_article`*/; +/*!50001 DROP VIEW IF EXISTS `edi_article`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_article` AS select `edi`.`item`.`id` AS `id`,`edi`.`item`.`product_name` AS `product_name`,`edi`.`item`.`name` AS `name`,`edi`.`item`.`plant_id` AS `plant_id`,`edi`.`item`.`group_id` AS `group_id`,`edi`.`item`.`entry_date` AS `entry_date`,`edi`.`item`.`expiry_date` AS `expiry_date`,`edi`.`item`.`change_date_time` AS `change_date_time` from `edi`.`item` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_bucket` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_bucket`*/; +/*!50001 DROP VIEW IF EXISTS `edi_bucket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_bucket` AS select (cast(`edi`.`bucket`.`bucket_id` as char charset utf8) collate utf8_general_ci) AS `bucket_id`,`edi`.`bucket`.`bucket_type_id` AS `bucket_type_id`,`edi`.`bucket`.`description` AS `description`,`edi`.`bucket`.`x_size` AS `x_size`,`edi`.`bucket`.`y_size` AS `y_size`,`edi`.`bucket`.`z_size` AS `z_size`,`edi`.`bucket`.`entry_date` AS `entry_date`,`edi`.`bucket`.`expiry_date` AS `expiry_date`,`edi`.`bucket`.`change_date_time` AS `change_date_time` from `edi`.`bucket` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_bucket_type` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_bucket_type`*/; +/*!50001 DROP VIEW IF EXISTS `edi_bucket_type`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_bucket_type` AS select `edi`.`bucket_type`.`bucket_type_id` AS `bucket_type_id`,`edi`.`bucket_type`.`description` AS `description`,`edi`.`bucket_type`.`entry_date` AS `entry_date`,`edi`.`bucket_type`.`expiry_date` AS `expiry_date`,`edi`.`bucket_type`.`change_date_time` AS `change_date_time` from `edi`.`bucket_type` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_feature` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_feature`*/; +/*!50001 DROP VIEW IF EXISTS `edi_feature`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_feature` AS select `edi`.`feature`.`item_id` AS `item_id`,`edi`.`feature`.`feature_type_id` AS `feature_type_id`,`edi`.`feature`.`feature_value` AS `feature_value`,`edi`.`feature`.`entry_date` AS `entry_date`,`edi`.`feature`.`expiry_date` AS `expiry_date`,`edi`.`feature`.`change_date_time` AS `change_date_time` from `edi`.`feature` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_genus` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_genus`*/; +/*!50001 DROP VIEW IF EXISTS `edi_genus`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_genus` AS select `edi`.`genus`.`genus_id` AS `genus_id`,`edi`.`genus`.`latin_genus_name` AS `latin_genus_name`,`edi`.`genus`.`entry_date` AS `entry_date`,`edi`.`genus`.`expiry_date` AS `expiry_date`,`edi`.`genus`.`change_date_time` AS `change_date_time` from `edi`.`genus` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_item_feature` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_item_feature`*/; +/*!50001 DROP VIEW IF EXISTS `edi_item_feature`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_item_feature` AS select `edi`.`item_feature`.`item_id` AS `item_id`,`edi`.`item_feature`.`presentation_order` AS `presentation_order`,`edi`.`item_feature`.`feature` AS `feature`,`edi`.`item_feature`.`regulation_type` AS `regulation_type`,`edi`.`item_feature`.`entry_date` AS `entry_date`,`edi`.`item_feature`.`expiry_date` AS `expiry_date`,`edi`.`item_feature`.`change_date_time` AS `change_date_time` from `edi`.`item_feature` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_plant` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_plant`*/; +/*!50001 DROP VIEW IF EXISTS `edi_plant`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_plant` AS select `edi`.`plant`.`plant_id` AS `plant_id`,`edi`.`plant`.`genus_id` AS `genus_id`,`edi`.`plant`.`specie_id` AS `specie_id`,`edi`.`plant`.`entry_date` AS `entry_date`,`edi`.`plant`.`expiry_date` AS `expiry_date`,`edi`.`plant`.`change_date_time` AS `change_date_time` from `edi`.`plant` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_specie` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_specie`*/; +/*!50001 DROP VIEW IF EXISTS `edi_specie`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_specie` AS select `edi`.`specie`.`specie_id` AS `specie_id`,`edi`.`specie`.`genus_id` AS `genus_id`,`edi`.`specie`.`latin_species_name` AS `latin_species_name`,`edi`.`specie`.`entry_date` AS `entry_date`,`edi`.`specie`.`expiry_date` AS `expiry_date`,`edi`.`specie`.`change_date_time` AS `change_date_time` from `edi`.`specie` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_supplier` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_supplier`*/; +/*!50001 DROP VIEW IF EXISTS `edi_supplier`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_supplier` AS select `edi`.`supplier`.`supplier_id` AS `supplier_id`,`edi`.`supplier`.`company_name` AS `company_name` from `edi`.`supplier` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_type` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_type`*/; +/*!50001 DROP VIEW IF EXISTS `edi_type`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_type` AS select `edi`.`type`.`type_id` AS `type_id`,`edi`.`type`.`type_group_id` AS `type_group_id`,`edi`.`type`.`description` AS `description`,`edi`.`type`.`entry_date` AS `entry_date`,`edi`.`type`.`expiry_date` AS `expiry_date`,`edi`.`type`.`change_date_time` AS `change_date_time` from `edi`.`type` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `edi_value` +-- + +/*!50001 DROP TABLE IF EXISTS `edi_value`*/; +/*!50001 DROP VIEW IF EXISTS `edi_value`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `edi_value` AS select `edi`.`value`.`type_id` AS `type_id`,`edi`.`value`.`type_value` AS `type_value`,`edi`.`value`.`type_description` AS `type_description`,`edi`.`value`.`entry_date` AS `entry_date`,`edi`.`value`.`expiry_date` AS `expiry_date`,`edi`.`value`.`change_date_time` AS `change_date_time` from `edi`.`value` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemTag` +-- + +/*!50001 DROP TABLE IF EXISTS `itemTag`*/; +/*!50001 DROP VIEW IF EXISTS `itemTag`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemTag` AS select `i`.`id` AS `id`,`i`.`itemFk` AS `itemFk`,`i`.`tagFk` AS `tagFk`,`i`.`value` AS `value`,`i`.`priority` AS `priority` from `vn`.`itemTag` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemTagArranged` +-- + +/*!50001 DROP TABLE IF EXISTS `itemTagArranged`*/; +/*!50001 DROP VIEW IF EXISTS `itemTagArranged`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemTagArranged` AS select `i`.`itemFk` AS `itemFk`,`i`.`tag1` AS `tag1`,`i`.`val1` AS `val1`,`i`.`tag2` AS `tag2`,`i`.`val2` AS `val2`,`i`.`tag3` AS `tag3`,`i`.`val3` AS `val3`,`i`.`tag4` AS `tag4`,`i`.`val4` AS `val4`,`i`.`tag5` AS `tag5`,`i`.`val5` AS `val5`,`i`.`tag6` AS `tag6`,`i`.`val6` AS `val6`,`i`.`description` AS `description` from `vn`.`itemTagArranged` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `item_entry_in` +-- + +/*!50001 DROP TABLE IF EXISTS `item_entry_in`*/; +/*!50001 DROP VIEW IF EXISTS `item_entry_in`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `item_entry_in` AS select `t`.`warehouse_id` AS `warehouse_id`,`t`.`landing` AS `dat`,`m`.`Id_Article` AS `item_id`,`m`.`Cantidad` AS `amount`,`t`.`received` AS `received` from ((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) where ((`e`.`Inventario` = 0) and (`m`.`Cantidad` <> 0)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `item_entry_out` +-- + +/*!50001 DROP TABLE IF EXISTS `item_entry_out`*/; +/*!50001 DROP VIEW IF EXISTS `item_entry_out`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `item_entry_out` AS select `t`.`warehouse_id_out` AS `warehouse_id`,`t`.`shipment` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,(`t`.`delivered` or ifnull(`co`.`valor`,0)) AS `delivered` from (((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) left join `Compres_ok` `co` on(((`co`.`Id_Compra` = `m`.`Id_Compra`) and (`co`.`Id_Accion` = 3)))) where ((`e`.`Inventario` = 0) and (`e`.`Redada` = 0) and (`m`.`Cantidad` <> 0)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `item_entry_outkk` +-- + +/*!50001 DROP TABLE IF EXISTS `item_entry_outkk`*/; +/*!50001 DROP VIEW IF EXISTS `item_entry_outkk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `item_entry_outkk` AS select `t`.`warehouse_id_out` AS `warehouse_id`,`t`.`shipment` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,`t`.`delivered` AS `delivered` from ((`Compres` `m` join `Entradas` `e` on((`m`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `t` on((`e`.`travel_id` = `t`.`id`))) where ((`e`.`Inventario` = 0) and (`e`.`Redada` = 0) and (`m`.`Cantidad` <> 0)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `item_out` +-- + +/*!50001 DROP TABLE IF EXISTS `item_out`*/; +/*!50001 DROP VIEW IF EXISTS `item_out`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `item_out` AS select `t`.`warehouse_id` AS `warehouse_id`,`t`.`Fecha` AS `dat`,`m`.`Id_Article` AS `item_id`,-(`m`.`Cantidad`) AS `amount`,`m`.`OK` AS `ok`,`m`.`Reservado` AS `Reservado`,(`ts`.`alertLevel` = 3) AS `ready`,`t`.`Factura` AS `invoice`,ifnull(`ts`.`alertLevel`,0) AS `alertLevel` from ((`vn2008`.`Movimientos` `m` join `vn2008`.`Tickets` `t` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) left join `vn`.`ticketState` `ts` on((`t`.`Id_Ticket` = `ts`.`ticket`))) where (`m`.`Cantidad` <> 0) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `new_viewkk` +-- + +/*!50001 DROP TABLE IF EXISTS `new_viewkk`*/; +/*!50001 DROP VIEW IF EXISTS `new_viewkk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `new_viewkk` AS select `vn`.`workerDocument`.`id` AS `id`,`vn`.`workerDocument`.`worker` AS `worker`,`vn`.`workerDocument`.`document` AS `document` from `vn`.`workerDocument` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order` +-- + +/*!50001 DROP TABLE IF EXISTS `order`*/; +/*!50001 DROP VIEW IF EXISTS `order`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order` AS select `hedera`.`order`.`id` AS `id`,`hedera`.`order`.`date_make` AS `date_make`,`hedera`.`order`.`date_send` AS `date_send`,`hedera`.`order`.`customer_id` AS `customer_id`,`hedera`.`order`.`delivery_method_id` AS `delivery_method_id`,`hedera`.`order`.`agency_id` AS `agency_id`,`hedera`.`order`.`address_id` AS `address_id`,`hedera`.`order`.`note` AS `note`,`hedera`.`order`.`confirmed` AS `confirmed`,`hedera`.`order`.`is_bionic` AS `is_bionic`,`hedera`.`order`.`source_app` AS `source_app` from `hedera`.`order` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_component` +-- + +/*!50001 DROP TABLE IF EXISTS `order_component`*/; +/*!50001 DROP VIEW IF EXISTS `order_component`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_component` AS select `c`.`order_row_id` AS `order_row_id`,`c`.`component_id` AS `component_id`,`c`.`price` AS `price` from `hedera`.`order_component` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_row` +-- + +/*!50001 DROP TABLE IF EXISTS `order_row`*/; +/*!50001 DROP VIEW IF EXISTS `order_row`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_row` AS select `order_row`.`id` AS `id`,`order_row`.`order_id` AS `order_id`,`order_row`.`item_id` AS `item_id`,`order_row`.`warehouse_id` AS `warehouse_id`,`order_row`.`shipment` AS `shipment`,`order_row`.`amount` AS `amount`,`order_row`.`price` AS `price`,`order_row`.`rate` AS `rate`,`order_row`.`created` AS `created`,`order_row`.`Id_Movimiento` AS `Id_Movimiento` from `hedera`.`order_row` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `person_user` +-- + +/*!50001 DROP TABLE IF EXISTS `person_user`*/; +/*!50001 DROP VIEW IF EXISTS `person_user`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `person_user` AS select `u`.`id` AS `id`,`u`.`role` AS `mysql_user_id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`active` AS `active`,`u`.`lastPassChange` AS `last_pass_change` from `account`.`user` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `person_user_idtrabajador` +-- + +/*!50001 DROP TABLE IF EXISTS `person_user_idtrabajador`*/; +/*!50001 DROP VIEW IF EXISTS `person_user_idtrabajador`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `person_user_idtrabajador` AS select `t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn2008`.`person_user` `p` join `vn2008`.`Trabajadores` `t` on((`p`.`id` = `t`.`user_id`))) where (`t`.`user_id` = `account`.`userGetId`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `proveedores_clientes` +-- + +/*!50001 DROP TABLE IF EXISTS `proveedores_clientes`*/; +/*!50001 DROP VIEW IF EXISTS `proveedores_clientes`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `proveedores_clientes` AS select `Proveedores`.`Id_Proveedor` AS `Id_Proveedor`,`Proveedores`.`Proveedor` AS `Proveedor`,`Clientes`.`id_cliente` AS `Id_Cliente`,`Clientes`.`cliente` AS `Cliente` from (`Proveedores` join `Clientes` on((`Proveedores`.`NIF` = `Clientes`.`if`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `sms` +-- + +/*!50001 DROP TABLE IF EXISTS `sms`*/; +/*!50001 DROP VIEW IF EXISTS `sms`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `sms` AS select `t`.`id` AS `id`,`t`.`senderFk` AS `Id_trabajador`,`t`.`destinationFk` AS `Id_Cliente`,`t`.`sender` AS `from`,`t`.`destination` AS `to`,`t`.`message` AS `text`,`t`.`statusCode` AS `sent`,`t`.`status` AS `response`,`t`.`created` AS `DATE_ODBC` from `vn`.`sms` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `tag` +-- + +/*!50001 DROP TABLE IF EXISTS `tag`*/; +/*!50001 DROP VIEW IF EXISTS `tag`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `tag` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`free` AS `free`,`t`.`isQuantitatif` AS `isQuantitatif`,`t`.`sourceTable` AS `sourceTable`,`t`.`unit` AS `unit` from `vn`.`tag` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `tarifa_componentes` +-- + +/*!50001 DROP TABLE IF EXISTS `tarifa_componentes`*/; +/*!50001 DROP VIEW IF EXISTS `tarifa_componentes`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `tarifa_componentes` AS select `bi`.`tarifa_componentes`.`Id_Componente` AS `Id_Componente`,`bi`.`tarifa_componentes`.`Componente` AS `Componente`,`bi`.`tarifa_componentes`.`tarifa_componentes_series_id` AS `tarifa_componentes_series_id`,`bi`.`tarifa_componentes`.`tarifa_class` AS `tarifa_class`,`bi`.`tarifa_componentes`.`tax` AS `tax`,`bi`.`tarifa_componentes`.`is_renewable` AS `is_renewable` from `bi`.`tarifa_componentes` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `tarifa_componentes_series` +-- + +/*!50001 DROP TABLE IF EXISTS `tarifa_componentes_series`*/; +/*!50001 DROP VIEW IF EXISTS `tarifa_componentes_series`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `tarifa_componentes_series` AS select `bi`.`tarifa_componentes_series`.`tarifa_componentes_series_id` AS `tarifa_componentes_series_id`,`bi`.`tarifa_componentes_series`.`Serie` AS `Serie`,`bi`.`tarifa_componentes_series`.`base` AS `base` from `bi`.`tarifa_componentes_series` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticketCreationData` +-- + +/*!50001 DROP TABLE IF EXISTS `ticketCreationData`*/; +/*!50001 DROP VIEW IF EXISTS `ticketCreationData`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticketCreationData` AS select dayname(`h`.`confirm_date`) AS `DiadelaSemana`,hour(`h`.`confirm_date`) AS `Hora`,cast(`h`.`confirm_date` as date) AS `Fecha`,`h`.`source_app` AS `Dispositivo` from `hedera`.`order` `h` where `h`.`confirm_date` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_Agenda` +-- + +/*!50001 DROP TABLE IF EXISTS `v_Agenda`*/; +/*!50001 DROP VIEW IF EXISTS `v_Agenda`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_Agenda` AS select 'P' AS `Tipo`,`Proveedores`.`Id_Proveedor` AS `Id`,`Proveedores`.`Proveedor` AS `Nombre`,`Proveedores`.`Telefono` AS `Telephone` from `Proveedores` where (`Proveedores`.`Telefono` is not null) union select 'C' AS `Tipo`,`Clientes`.`id_cliente` AS `Id`,`Clientes`.`cliente` AS `Cliente`,`Clientes`.`telefono` AS `Telefono` from `Clientes` where (`Clientes`.`telefono` is not null) union select 'C' AS `Tipo`,`Clientes`.`id_cliente` AS `Id`,`Clientes`.`cliente` AS `Cliente`,`Clientes`.`movil` AS `Movil` from `Clientes` where (`Clientes`.`movil` is not null) union select if(isnull(`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`Relaciones`.`Id_Proveedor`),`Relaciones`.`Id_Cliente`,`Relaciones`.`Id_Proveedor`) AS `Id`,`Contactos`.`Nombre` AS `Nombre`,`Contactos`.`Telefono` AS `Telefono` from (`Contactos` join `Relaciones` on((`Contactos`.`Id_Contacto` = `Relaciones`.`Id_Contacto`))) where (`Contactos`.`Telefono` is not null) union select if(isnull(`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`Relaciones`.`Id_Proveedor`),`Relaciones`.`Id_Cliente`,`Relaciones`.`Id_Proveedor`) AS `Id`,`Contactos`.`Nombre` AS `Nombre`,`Contactos`.`Movil` AS `Movil` from (`Contactos` join `Relaciones` on((`Contactos`.`Id_Contacto` = `Relaciones`.`Id_Contacto`))) where (`Contactos`.`Movil` is not null) union select 'T' AS `Tipo`,`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador`,`Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`Trabajadores`.`extension` AS `extension` from `Trabajadores` where (`Trabajadores`.`extension` is not null) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_Agenda2` +-- + +/*!50001 DROP TABLE IF EXISTS `v_Agenda2`*/; +/*!50001 DROP VIEW IF EXISTS `v_Agenda2`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_Agenda2` AS select `v_Agenda`.`Tipo` AS `Tipo`,`v_Agenda`.`Id` AS `Id`,`v_Agenda`.`Nombre` AS `Nombre`,replace(`v_Agenda`.`Telephone`,' ','') AS `Telefono` from `v_Agenda` where `v_Agenda`.`Telephone` group by replace(`v_Agenda`.`Telephone`,' ','') */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_Articles_botanical` +-- + +/*!50001 DROP TABLE IF EXISTS `v_Articles_botanical`*/; +/*!50001 DROP VIEW IF EXISTS `v_Articles_botanical`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_Articles_botanical` AS select `ab`.`Id_Article` AS `Id_Article`,ifnull(`ab`.`botanical`,concat(`g`.`latin_genus_name`,' ',ifnull(`s`.`latin_species_name`,''))) AS `edi_botanic` from ((`vn2008`.`Articles_botanical` `ab` left join `edi`.`genus` `g` on((`ab`.`genus_id` = `g`.`genus_id`))) left join `edi`.`specie` `s` on((`s`.`specie_id` = `ab`.`specie_id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_Movimientos_Volumen_shipping_charge` +-- + +/*!50001 DROP TABLE IF EXISTS `v_Movimientos_Volumen_shipping_charge`*/; +/*!50001 DROP VIEW IF EXISTS `v_Movimientos_Volumen_shipping_charge`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_Movimientos_Volumen_shipping_charge` AS select `M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`t`.`Fecha` AS `Fecha`,`az`.`price` AS `price`,(((`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(((`r`.`Id_Article` = `M`.`Id_Article`) and (`r`.`warehouse_id` = `t`.`warehouse_id`)))) join `vn2008`.`Cubos` `cb` on((`cb`.`Id_Cubo` = 94))) 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)))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_Ordenes` +-- + +/*!50001 DROP TABLE IF EXISTS `v_Ordenes`*/; +/*!50001 DROP VIEW IF EXISTS `v_Ordenes`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_Ordenes` AS select `Ordenes`.`Id_ORDEN` AS `Id_ORDEN`,`Ordenes`.`ORDEN` AS `ORDEN`,`Ordenes`.`datORDEN` AS `datORDEN`,`Ordenes`.`datTICKET` AS `datTICKET`,`Ordenes`.`CodVENDEDOR` AS `CodVENDEDOR`,`Ordenes`.`CodCOMPRADOR` AS `CodCOMPRADOR`,`Ordenes`.`CANTIDAD` AS `CANTIDAD`,`Ordenes`.`PRECIOMAX` AS `PRECIOMAX`,`Ordenes`.`PREU` AS `PREU`,`Ordenes`.`Id_ARTICLE` AS `Id_ARTICLE`,`Ordenes`.`Id_CLIENTE` AS `Id_CLIENTE`,`Ordenes`.`COMENTARIO` AS `COMENTARIO`,`Ordenes`.`OK` AS `OK`,`Ordenes`.`TOTAL` AS `TOTAL`,`Ordenes`.`datCOMPRA` AS `datCOMPRA`,`Ordenes`.`KO` AS `KO`,`Ordenes`.`Id_Movimiento` AS `Id_Movimiento`,`Ordenes`.`odbc_date` AS `odbc_date` from `Ordenes` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_XDiario_ALL` +-- + +/*!50001 DROP TABLE IF EXISTS `v_XDiario_ALL`*/; +/*!50001 DROP VIEW IF EXISTS `v_XDiario_ALL`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_XDiario_ALL` AS select `bi`.`XDiario_ALL`.`empresa_id` AS `empresa_id`,`bi`.`XDiario_ALL`.`SUBCTA` AS `SUBCTA`,`bi`.`XDiario_ALL`.`Eurodebe` AS `Eurodebe`,`bi`.`XDiario_ALL`.`Eurohaber` AS `Eurohaber`,`bi`.`XDiario_ALL`.`Fecha` AS `Fecha`,`bi`.`XDiario_ALL`.`FECHA_EX` AS `FECHA_EX` from `bi`.`XDiario_ALL` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_accion` +-- + +/*!50001 DROP TABLE IF EXISTS `v_accion`*/; +/*!50001 DROP VIEW IF EXISTS `v_accion`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_accion` AS select `vncontrol`.`accion`.`accion_id` AS `accion_id`,`vncontrol`.`accion`.`accion` AS `accion` from `vncontrol`.`accion` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_account` +-- + +/*!50001 DROP TABLE IF EXISTS `v_account`*/; +/*!50001 DROP VIEW IF EXISTS `v_account`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_account` AS select `a`.`id` AS `user_id` from `account`.`account` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_analisis_ventas` +-- + +/*!50001 DROP TABLE IF EXISTS `v_analisis_ventas`*/; +/*!50001 DROP VIEW IF EXISTS `v_analisis_ventas`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_analisis_ventas` AS select `bi`.`analisis_ventas`.`Familia` AS `Familia`,`bi`.`analisis_ventas`.`Reino` AS `Reino`,`bi`.`analisis_ventas`.`Comercial` AS `Comercial`,`bi`.`analisis_ventas`.`Comprador` AS `Comprador`,`bi`.`analisis_ventas`.`Provincia` AS `Provincia`,`bi`.`analisis_ventas`.`almacen` AS `almacen`,`bi`.`analisis_ventas`.`Año` AS `Año`,`bi`.`analisis_ventas`.`Mes` AS `Mes`,`bi`.`analisis_ventas`.`Semana` AS `Semana`,`bi`.`analisis_ventas`.`Vista` AS `Vista`,`bi`.`analisis_ventas`.`Importe` AS `Importe` from `bi`.`analisis_ventas` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_awb_volumen` +-- + +/*!50001 DROP TABLE IF EXISTS `v_awb_volumen`*/; +/*!50001 DROP VIEW IF EXISTS `v_awb_volumen`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_awb_volumen` AS select `a`.`id` AS `awb_id`,`a`.`codigo` AS `codigo`,`a`.`importe` AS `importe`,cast(sum(`v`.`volume`) as signed) AS `Vol_Total` from (`awb` `a` join `awb_volume` `v` on((`v`.`awb_id` = `a`.`id`))) group by `a`.`id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_barcodes` +-- + +/*!50001 DROP TABLE IF EXISTS `v_barcodes`*/; +/*!50001 DROP VIEW IF EXISTS `v_barcodes`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_barcodes` AS select `Articles`.`Id_Article` AS `code`,`Articles`.`Id_Article` AS `Id_Article` from `Articles` union all select `barcodes`.`code` AS `code`,`barcodes`.`Id_Article` AS `Id_Article` from `barcodes` union all select `c`.`Id_Compra` AS `Id_Compra`,`c`.`Id_Article` AS `Id_Article` from ((`Compres` `c` join `Entradas` `e` on((`c`.`Id_Entrada` = `e`.`Id_Entrada`))) join `travel` `tr` on((`tr`.`id` = `e`.`travel_id`))) where (`tr`.`landing` >= (curdate() + interval -(15) day)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_barcodes_plus` +-- + +/*!50001 DROP TABLE IF EXISTS `v_barcodes_plus`*/; +/*!50001 DROP VIEW IF EXISTS `v_barcodes_plus`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_barcodes_plus` AS select `cache`.`barcodes`.`code` AS `code`,`cache`.`barcodes`.`Id_Article` AS `Id_Article`,`cache`.`barcodes`.`Article` AS `Article`,`cache`.`barcodes`.`Medida` AS `Medida`,`cache`.`barcodes`.`Color` AS `Color`,`cache`.`barcodes`.`Categoria` AS `Categoria`,`cache`.`barcodes`.`Producer` AS `Producer` from `cache`.`barcodes` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_botanic_export` +-- + +/*!50001 DROP TABLE IF EXISTS `v_botanic_export`*/; +/*!50001 DROP VIEW IF EXISTS `v_botanic_export`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_botanic_export` AS select concat(ifnull(concat(`eg`.`latin_genus_name`,' '),''),ifnull(`es`.`latin_species_name`,'')) AS `Nom_botanic`,`be`.`Id_Paises` AS `Id_Paises`,`be`.`restriction` AS `restriction`,`be`.`description` AS `description` from ((`vn2008`.`botanic_export` `be` left join `vn2008`.`edi_genus` `eg` on((`be`.`edi_genus_id` = `eg`.`genus_id`))) left join `vn2008`.`edi_specie` `es` on((`be`.`edi_specie_id` = `es`.`specie_id`))) order by concat(`eg`.`latin_genus_name`,' ',`es`.`latin_species_name`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_compres` +-- + +/*!50001 DROP TABLE IF EXISTS `v_compres`*/; +/*!50001 DROP VIEW IF EXISTS `v_compres`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_compres` AS select `TP`.`Id_Tipo` AS `Familia`,`RN`.`id` AS `reino_id`,`C`.`Id_Compra` AS `Id_Compra`,`C`.`Id_Entrada` AS `Id_Entrada`,`C`.`Id_Article` AS `Id_Article`,`C`.`Cantidad` AS `Cantidad`,`C`.`Costefijo` AS `Costefijo`,`C`.`Portefijo` AS `Portefijo`,`C`.`Novincular` AS `Novincular`,`C`.`Etiquetas` AS `Etiquetas`,`C`.`Packing` AS `Packing`,`C`.`grouping` AS `grouping`,`C`.`Comisionfija` AS `Comisionfija`,`C`.`Embalajefijo` AS `Embalajefijo`,`an`.`nicho` AS `Nicho`,`C`.`Id_Cubo` AS `Id_Cubo`,`C`.`Tarifa1` AS `Tarifa1`,`C`.`Tarifa2` AS `Tarifa2`,`C`.`Tarifa3` AS `Tarifa3`,`C`.`PVP` AS `PVP`,`C`.`Vida` AS `Vida`,`C`.`Id_Trabajador` AS `Id_Trabajador`,`C`.`punteo` AS `punteo`,`C`.`odbc_date` AS `odbc_date`,`E`.`Inventario` AS `Inventario`,`E`.`Id_Proveedor` AS `Id_Proveedor`,`E`.`Fecha` AS `Fecha`,`E`.`Confirmada` AS `Confirmada`,`E`.`Redada` AS `Redada`,`E`.`empresa_id` AS `empresa_id`,`E`.`travel_id` AS `travel_id`,`E`.`Pedida` AS `Pedida`,`E`.`recibida_id` AS `recibida_id`,`TR`.`id` AS `id`,`TR`.`shipment` AS `shipment`,`TR`.`landing` AS `landing`,`TR`.`warehouse_id` AS `warehouse_id`,`TR`.`warehouse_id_out` AS `warehouse_id_out`,`TR`.`agency_id` AS `agency_id`,`TR`.`ref` AS `ref`,`TR`.`delivered` AS `delivered`,`TR`.`received` AS `received`,`A`.`Article` AS `Article`,`A`.`Medida` AS `Medida`,`A`.`Tallos` AS `Tallos`,`C`.`caja` AS `caja`,`A`.`Categoria` AS `Categoria`,`A`.`id_origen` AS `id_origen`,`TP`.`Id_Tipo` AS `Tipo`,`A`.`tipo_id` AS `tipo_id`,`A`.`Color` AS `Color`,`A`.`Min` AS `Min`,(((`C`.`Costefijo` + `C`.`Embalajefijo`) + `C`.`Comisionfija`) + `C`.`Portefijo`) AS `Coste`,`W_OUT`.`fuente` AS `fuente`,`A`.`iva_group_id` AS `iva_group_id`,(if((`cb`.`Volumen` > 0),`cb`.`Volumen`,((`cb`.`X` * `cb`.`Y`) * if((`cb`.`Z` = 0),(`A`.`Medida` + 10),`cb`.`Z`))) * `C`.`Etiquetas`) AS `cm3`,`A`.`producer_id` AS `producer_id` from (((((((((`Compres` `C` join `Entradas` `E` on((`C`.`Id_Entrada` = `E`.`Id_Entrada`))) join `travel` `TR` on((`TR`.`id` = `E`.`travel_id`))) join `warehouse` `W_IN` on((`W_IN`.`id` = `TR`.`warehouse_id`))) join `warehouse` `W_OUT` on((`W_OUT`.`id` = `TR`.`warehouse_id_out`))) join `Articles` `A` on((`C`.`Id_Article` = `A`.`Id_Article`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `RN` on((`RN`.`id` = `TP`.`reino_id`))) join `Cubos` `cb` on((`cb`.`Id_Cubo` = `C`.`Id_Cubo`))) left join `Articles_nicho` `an` on(((`A`.`Id_Article` = `an`.`Id_Article`) and (`an`.`warehouse_id` = `W_IN`.`id`)))) where ((not(`W_IN`.`fuente`)) and (not(`E`.`Inventario`)) and (not(`E`.`Redada`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_departure_limit` +-- + +/*!50001 DROP TABLE IF EXISTS `v_departure_limit`*/; +/*!50001 DROP VIEW IF EXISTS `v_departure_limit`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_departure_limit` AS select `cache`.`departure_limit`.`warehouse_id` AS `warehouse_id`,`cache`.`departure_limit`.`fecha` AS `fecha`,`cache`.`departure_limit`.`hora` AS `hora`,`cache`.`departure_limit`.`minSpeed` AS `minSpeed` from `cache`.`departure_limit` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_descuadre_bionic` +-- + +/*!50001 DROP TABLE IF EXISTS `v_descuadre_bionic`*/; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_bionic`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_descuadre_bionic` AS select `t`.`Id_Ticket` AS `Id_Ticket`,`t`.`Alias` AS `Alias`,`m`.`Concepte` AS `Concepte`,sum(`mc`.`Valor`) AS `suma_componente`,`m`.`Preu` AS `Preu`,`m`.`Descuento` AS `Descuento`,(((`m`.`Preu` * (100 - `m`.`Descuento`)) / 100) - sum(`mc`.`Valor`)) AS `diferencia`,`t`.`Fecha` AS `Fecha`,((`m`.`Preu` > 0) and (`tp`.`reino_id` <> 6) and (`a`.`tipo_id` not in (7,115)) and (`t`.`warehouse_id` <> 41)) AS `benvenut` from ((((((`Movimientos` `m` join `Tickets` `t` on((`m`.`Id_Ticket` = `t`.`Id_Ticket`))) join `Clientes` `c` on((`t`.`Id_Cliente` = `c`.`id_cliente`))) join `warehouse` `w` on((`w`.`id` = `t`.`warehouse_id`))) join `Articles` `a` on((`m`.`Id_Article` = `a`.`Id_Article`))) join `Tipos` `tp` on((`a`.`tipo_id` = `tp`.`tipo_id`))) left join `Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567)) and `w`.`reserve` and `c`.`real` and (`tp`.`reino_id` <> 6)) group by `m`.`Id_Movimiento` having ((abs(`diferencia`) > 0.01) or isnull(`diferencia`)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_descuadre_porte` +-- + +/*!50001 DROP TABLE IF EXISTS `v_descuadre_porte`*/; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_descuadre_porte` AS select `t`.`Id_Ticket` AS `Id_Ticket`,round(sum((`mc`.`Valor` * `m`.`Cantidad`)),2) AS `suma_componente`,round(`es`.`shipping_charge`,2) AS `teorico_agencia`,round((sum((`mc`.`Valor` * `m`.`Cantidad`)) - `es`.`shipping_charge`),2) AS `diferencia`,`t`.`Fecha` AS `Fecha` from ((((`vn2008`.`Movimientos` `m` left join `vn2008`.`Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on(((`tc`.`Id_Componente` = `mc`.`Id_Componente`) and (`tc`.`tarifa_componentes_series_id` = 6)))) join `vn2008`.`Tickets` `t` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) left join `vn2008`.`v_expeditions_shipping_charge` `es` on((`es`.`Id_Ticket` = `t`.`Id_Ticket`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567))) group by `t`.`Id_Ticket` having ((abs(`diferencia`) > 0.01) or isnull(`diferencia`)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_descuadre_porte2` +-- + +/*!50001 DROP TABLE IF EXISTS `v_descuadre_porte2`*/; +/*!50001 DROP VIEW IF EXISTS `v_descuadre_porte2`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_descuadre_porte2` AS select `t`.`Id_Ticket` AS `Id_Ticket`,(`mc`.`Valor` * `m`.`Cantidad`) AS `suma_componente`,`t`.`Fecha` AS `Fecha` from (((`vn2008`.`Movimientos` `m` left join `vn2008`.`Movimientos_componentes` `mc` on((`m`.`Id_Movimiento` = `mc`.`Id_Movimiento`))) join `vn2008`.`tarifa_componentes` `tc` on(((`tc`.`Id_Componente` = `mc`.`Id_Componente`) and (`tc`.`tarifa_componentes_series_id` = 6)))) join `vn2008`.`Tickets` `t` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) where ((`t`.`Fecha` >= '2015-09-01') and (`t`.`empresa_id` in (442,791,567))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_empresa` +-- + +/*!50001 DROP TABLE IF EXISTS `v_empresa`*/; +/*!50001 DROP VIEW IF EXISTS `v_empresa`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_empresa` AS select `e`.`logo` AS `logo`,`e`.`id` AS `id`,`e`.`registro` AS `registro`,`e`.`gerente_id` AS `gerente_id`,`e`.`alta` AS `alta`,`t`.`Nombre` AS `Nombre`,`t`.`Apellidos` AS `Apellidos`,`p`.`Proveedor` AS `Proveedor`,`p`.`Domicilio` AS `Domicilio`,`p`.`CP` AS `CP`,`p`.`Localidad` AS `Localidad`,`p`.`NIF` AS `NIF`,`p`.`Telefono` AS `Telefono`,`p`.`Alias` AS `Alias`,`e`.`abbreviation` AS `abbreviation` from ((`empresa` `e` join `Trabajadores` `t` on((`t`.`Id_Trabajador` = `e`.`gerente_id`))) join `Proveedores` `p` on((`p`.`Id_Proveedor` = `e`.`id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_encajado` +-- + +/*!50001 DROP TABLE IF EXISTS `v_encajado`*/; +/*!50001 DROP VIEW IF EXISTS `v_encajado`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_encajado` AS select hour(`e`.`odbc_date`) AS `hora`,minute(`e`.`odbc_date`) AS `minuto`,ifnull(`c`.`Volumen`,94500) AS `cm3`,`t`.`warehouse_id` AS `warehouse_id` from ((`expeditions` `e` left join `Cubos` `c` on((`c`.`item_id` = `e`.`EsBulto`))) join `Tickets` `t` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) where (`e`.`odbc_date` between curdate() and `DAYEND`(curdate())) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_encajado_ultima_hora` +-- + +/*!50001 DROP TABLE IF EXISTS `v_encajado_ultima_hora`*/; +/*!50001 DROP VIEW IF EXISTS `v_encajado_ultima_hora`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_encajado_ultima_hora` AS select sum((ifnull(`c`.`Volumen`,94500) / 1000000)) AS `m3`,`t`.`warehouse_id` AS `warehouse_id` from ((`expeditions` `e` left join `Cubos` `c` on((`c`.`item_id` = `e`.`EsBulto`))) join `Tickets` `t` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) where ((`e`.`odbc_date` > (now() + interval -(1) hour)) and (`t`.`warehouse_id` in (1,44))) group by `t`.`warehouse_id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_expeditions_shipping_charge` +-- + +/*!50001 DROP TABLE IF EXISTS `v_expeditions_shipping_charge`*/; +/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_expeditions_shipping_charge` AS select `t`.`Id_Ticket` AS `Id_Ticket`,sum((`az`.`price` * if(((`e`.`EsBulto` = 71) and isnull(`e`.`Id_Article`) and (`a`.`Vista` = 2)),0.75,1))) AS `shipping_charge`,`t`.`Fecha` AS `Fecha` from ((((((`Tickets` `t` join `Clientes` `cli` on((`cli`.`id_cliente` = `t`.`Id_Cliente`))) left join `expeditions` `e` on((`e`.`ticket_id` = `t`.`Id_Ticket`))) join `Consignatarios` `c` on((`c`.`id_consigna` = `t`.`Id_Consigna`))) join `Agencias` `a` on((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) join `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 `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` >= '2015-10-01') and (`cli`.`real` <> 0) and (`t`.`empresa_id` in (442,791,567))) group by `t`.`Id_Ticket` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_expeditions_shipping_charge2` +-- + +/*!50001 DROP TABLE IF EXISTS `v_expeditions_shipping_charge2`*/; +/*!50001 DROP VIEW IF EXISTS `v_expeditions_shipping_charge2`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_expeditions_shipping_charge2` AS select `t`.`Id_Ticket` AS `Id_Ticket`,(`az`.`price` * if(((`e`.`EsBulto` = 71) and isnull(`e`.`Id_Article`) and (`a`.`Vista` = 2)),0.75,1)) AS `shipping_charge`,`t`.`Fecha` AS `Fecha`,`t`.`warehouse_id` AS `warehouse_id` from (((((`Tickets` `t` left join `expeditions` `e` on((`e`.`ticket_id` = `t`.`Id_Ticket`))) join `Consignatarios` `c` on((`c`.`id_consigna` = `t`.`Id_Consigna`))) join `Agencias` `a` on((`a`.`Id_Agencia` = `t`.`Id_Agencia`))) join `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 `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` >= '2016-01-01') and (`t`.`empresa_id` in (442,567))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_fallo` +-- + +/*!50001 DROP TABLE IF EXISTS `v_fallo`*/; +/*!50001 DROP VIEW IF EXISTS `v_fallo`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_fallo` AS select `vncontrol`.`fallo`.`queja_id` AS `queja_id`,`vncontrol`.`fallo`.`accion_id` AS `accion_id` from `vncontrol`.`fallo` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_inter` +-- + +/*!50001 DROP TABLE IF EXISTS `v_inter`*/; +/*!50001 DROP VIEW IF EXISTS `v_inter`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_inter` AS select `vncontrol`.`inter`.`inter_id` AS `inter_id`,`vncontrol`.`inter`.`state_id` AS `state_id`,`vncontrol`.`inter`.`nota` AS `nota`,`vncontrol`.`inter`.`odbc_date` AS `odbc_date`,`vncontrol`.`inter`.`Id_Ticket` AS `Id_Ticket`,`vncontrol`.`inter`.`Id_Trabajador` AS `Id_Trabajador`,`vncontrol`.`inter`.`Id_Supervisor` AS `Id_supervisor` from `vncontrol`.`inter` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_jerarquia` +-- + +/*!50001 DROP TABLE IF EXISTS `v_jerarquia`*/; +/*!50001 DROP VIEW IF EXISTS `v_jerarquia`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_jerarquia` AS select `jerarquia`.`worker_id` AS `Id_Trabajador`,`jerarquia`.`boss_id` AS `boss_id` from `jerarquia` union all select distinct `jerarquia`.`boss_id` AS `Id_Trabajador`,`jerarquia`.`boss_id` AS `boss_id` from `jerarquia` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_location` +-- + +/*!50001 DROP TABLE IF EXISTS `v_location`*/; +/*!50001 DROP VIEW IF EXISTS `v_location`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_location` AS select `tl`.`longitude` AS `longitude`,`tl`.`latitude` AS `latitude`,`t`.`Id_Consigna` AS `Id_Consigna` from (`ticket_location` `tl` join `Tickets` `t` on((`t`.`Id_Ticket` = `tl`.`Id_Ticket`))) where (`t`.`Fecha` >= (curdate() + interval -(3) month)) group by `t`.`Id_Consigna` order by `t`.`Id_Ticket` desc */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_mana_spellers` +-- + +/*!50001 DROP TABLE IF EXISTS `v_mana_spellers`*/; +/*!50001 DROP VIEW IF EXISTS `v_mana_spellers`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_mana_spellers` AS select `bs`.`mana_spellers`.`Id_Trabajador` AS `Id_Trabajador`,`bs`.`mana_spellers`.`size` AS `size`,`bs`.`mana_spellers`.`used` AS `used` from `bs`.`mana_spellers` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_miriam` +-- + +/*!50001 DROP TABLE IF EXISTS `v_miriam`*/; +/*!50001 DROP VIEW IF EXISTS `v_miriam`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_miriam` AS select `M`.`Id_Article` AS `Id_Article`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,`T`.`Fecha` AS `Fecha`,`T`.`Id_Cliente` AS `Id_Cliente`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe` from (((`Tickets` `T` join `Movimientos` `M` on((`T`.`Id_Ticket` = `M`.`Id_Ticket`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) where ((`T`.`Fecha` >= '2011-01-01') and (`A`.`tipo_id` = 7)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_movimientos_log` +-- + +/*!50001 DROP TABLE IF EXISTS `v_movimientos_log`*/; +/*!50001 DROP VIEW IF EXISTS `v_movimientos_log`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_movimientos_log` AS select `bi`.`movimientos_log`.`idmovimientos_log` AS `idmovimientos_log`,`bi`.`movimientos_log`.`Id_Movimiento` AS `Id_Movimiento`,`bi`.`movimientos_log`.`odbc_date` AS `odbc_date`,`bi`.`movimientos_log`.`Id_Trabajador` AS `Id_Trabajador`,`bi`.`movimientos_log`.`field_name` AS `field_name`,`bi`.`movimientos_log`.`new_value` AS `new_value` from `bi`.`movimientos_log` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_movimientos_mark` +-- + +/*!50001 DROP TABLE IF EXISTS `v_movimientos_mark`*/; +/*!50001 DROP VIEW IF EXISTS `v_movimientos_mark`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_movimientos_mark` AS select `Movimientos_mark`.`Id_Movimiento` AS `Id_Movimiento`,max(`Movimientos_mark`.`Id_Accion`) AS `Accion` from `Movimientos_mark` group by `Movimientos_mark`.`Id_Movimiento` having ((max(`Movimientos_mark`.`Id_Accion`) = '6') or (max(`Movimientos_mark`.`Id_Accion`) = '7')) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_pedidos_auto_preparados` +-- + +/*!50001 DROP TABLE IF EXISTS `v_pedidos_auto_preparados`*/; +/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparados`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_pedidos_auto_preparados` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`i`.`Id_Ticket` AS `Id_Ticket`,`i`.`odbc_date` AS `Momento` from ((`vn2008`.`v_jerarquia` `j` left join `vn2008`.`v_inter` `i` on((`j`.`Id_Trabajador` = `i`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `j`.`Id_Trabajador`))) where (`i`.`state_id` = 20) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_pedidos_auto_preparadoskk` +-- + +/*!50001 DROP TABLE IF EXISTS `v_pedidos_auto_preparadoskk`*/; +/*!50001 DROP VIEW IF EXISTS `v_pedidos_auto_preparadoskk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_pedidos_auto_preparadoskk` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`TK`.`Fecha` AS `Fecha`,`TK`.`Id_Ticket` AS `Id_Ticket`,`i`.`odbc_date` AS `Momento` from (((`vn2008`.`v_jerarquia` `j` left join `vn2008`.`v_inter` `i` on((`j`.`Id_Trabajador` = `i`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `j`.`Id_Trabajador`))) left join `vn2008`.`Tickets` `TK` on((`TK`.`Id_Ticket` = `i`.`Id_Ticket`))) where (`i`.`state_id` = 5) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_phonebook` +-- + +/*!50001 DROP TABLE IF EXISTS `v_phonebook`*/; +/*!50001 DROP VIEW IF EXISTS `v_phonebook`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_phonebook` AS select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`telefono`,' ','') AS `Telefono` from `Clientes` where (`Clientes`.`telefono` and `Clientes`.`activo`) union select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`movil`,' ','') AS `Movil` from `Clientes` where (`Clientes`.`movil` and `Clientes`.`activo`) union select `Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`Consignatarios`.`telefono`,' ','') AS `TRIM(telefono)` from (`Consignatarios` join `Clientes` `c` on((`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`Consignatarios`.`telefono` and `c`.`activo`) union select `Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`Consignatarios`.`movil`,' ','') AS `TRIM(movil)` from (`Consignatarios` join `Clientes` `c` on((`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`Consignatarios`.`movil` and `c`.`activo`) union select `r`.`Id_Cliente` AS `Id_Cliente`,replace(`c`.`Telefono`,' ','') AS `REPLACE(c.telefono,' ','')` from ((`Clientes` `cl` join `Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `Contactos` `c` on((`r`.`Id_Contacto` = `c`.`Id_Contacto`))) where (`cl`.`telefono` and `cl`.`activo`) union select `r`.`Id_Cliente` AS `Id_Cliente`,replace(`c`.`Movil`,' ','') AS `REPLACE(c.Movil,' ','')` from ((`Clientes` `cl` join `Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `Contactos` `c` on((`r`.`Id_Contacto` = `c`.`Id_Contacto`))) where (`cl`.`movil` and `cl`.`activo`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_price_fixed` +-- + +/*!50001 DROP TABLE IF EXISTS `v_price_fixed`*/; +/*!50001 DROP VIEW IF EXISTS `v_price_fixed`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_price_fixed` AS select `pf`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from `price_fixed` `pf` where (`pf`.`warehouse_id` < 1000) union all select `wg`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from (`price_fixed` `pf` join `warehouse_group` `wg`) where ((`wg`.`warehouse_alias_id` + 1000) = `pf`.`warehouse_id`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_price_fixed_group` +-- + +/*!50001 DROP TABLE IF EXISTS `v_price_fixed_group`*/; +/*!50001 DROP VIEW IF EXISTS `v_price_fixed_group`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_price_fixed_group` AS select `pf`.`warehouse_id` AS `warehouse_id`,`pf`.`item_id` AS `item_id`,`pf`.`rate_0` AS `rate_0`,`pf`.`rate_1` AS `rate_1`,`pf`.`rate_2` AS `rate_2`,`pf`.`rate_3` AS `rate_3`,`pf`.`date_start` AS `date_start`,`pf`.`date_end` AS `date_end`,`pf`.`bonus` AS `bonus`,`pf`.`grouping` AS `grouping`,`pf`.`Packing` AS `Packing`,`pf`.`caja` AS `caja` from `v_price_fixed` `pf` group by `pf`.`warehouse_id`,`pf`.`item_id`,`pf`.`date_start`,`pf`.`date_end` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_session` +-- + +/*!50001 DROP TABLE IF EXISTS `v_session`*/; +/*!50001 DROP VIEW IF EXISTS `v_session`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_session` AS select 1 AS `id`,`t`.`CodigoTrabajador` AS `CodigoTrabajador`,if(isnull(`sc`.`Id_Suplente`),`c`.`Id_Trabajador`,`sc`.`Id_Suplente`) AS `Id_Trabajador`,`c`.`id_cliente` AS `Id_Cliente`,`c`.`cliente` AS `Cliente`,`s`.`lastUpdate` AS `Fecha` from ((((`hedera`.`userSession` `s` join `hedera`.`visitUser` `v` on((`v`.`id` = `s`.`userVisit`))) join `vn2008`.`Clientes` `c` on((`c`.`id_cliente` = `v`.`user`))) left join `vn2008`.`Trabajadores` `t` on((`c`.`Id_Trabajador` = `t`.`Id_Trabajador`))) left join `vn2008`.`sharingcart` `sc` on(((`sc`.`Id_Trabajador` = `c`.`Id_Trabajador`) and (curdate() between `sc`.`datSTART` and `sc`.`datEND`)))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_ticket_amount` +-- + +/*!50001 DROP TABLE IF EXISTS `v_ticket_amount`*/; +/*!50001 DROP VIEW IF EXISTS `v_ticket_amount`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_ticket_amount` AS select `Movimientos`.`Id_Ticket` AS `Id_Ticket`,sum((((`Movimientos`.`Cantidad` * `Movimientos`.`Preu`) * (100 - `Movimientos`.`Descuento`)) / 100)) AS `amount` from (`Movimientos` join `Tickets` on((`Movimientos`.`Id_Ticket` = `Tickets`.`Id_Ticket`))) where (`Tickets`.`Fecha` >= (curdate() + interval -(6) month)) group by `Movimientos`.`Id_Ticket` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_trabajadores` +-- + +/*!50001 DROP TABLE IF EXISTS `v_trabajadores`*/; +/*!50001 DROP VIEW IF EXISTS `v_trabajadores`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_trabajadores` AS select `t`.`CodigoTrabajador` AS `CodigoTrabajador`,`t`.`Nombre` AS `Nombre`,`t`.`Fecha_Inicio` AS `Fecha_Inicio`,`t`.`Password` AS `Password`,`t`.`user` AS `user`,`t`.`Apellidos` AS `Apellidos`,`t`.`Id_Trabajador` AS `Id_Trabajador`,`t`.`Foto` AS `Foto` from `vn2008`.`Trabajadores` `t` where (`t`.`Id_Cliente_Interno` = `account`.`userGetId`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_user` +-- + +/*!50001 DROP TABLE IF EXISTS `v_user`*/; +/*!50001 DROP VIEW IF EXISTS `v_user`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_user` AS select `u`.`id` AS `id`,`u`.`role` AS `mysql_user_id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`active` AS `active` from `account`.`user` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_ventes` +-- + +/*!50001 DROP TABLE IF EXISTS `v_ventes`*/; +/*!50001 DROP VIEW IF EXISTS `v_ventes`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_ventes` AS select `Agencias`.`Agencia` AS `Agencia`,`A`.`Categoria` AS `Categoria`,`A`.`tipo_id` AS `tipo_id`,`A`.`Medida` AS `Medida`,`A`.`Article` AS `Article`,`A`.`Color` AS `Color`,`CS`.`Id_cliente` AS `Id_Cliente`,`TP`.`Id_Tipo` AS `Tipo`,`T`.`Factura` AS `Factura`,`T`.`warehouse_id` AS `warehouse_id`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`M`.`Id_Article` AS `Id_Article`,`TP`.`Id_Tipo` AS `Familia`,`M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`quantity` AS `quantity`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,if((`T`.`Fecha` >= '2015-10-01'),`M`.`CostFixat`,((`M`.`Preu` * (100 - `M`.`Descuento`)) / 100)) AS `CostFixat`,`M`.`Reservado` AS `Reservado`,`M`.`OK` AS `OK`,`M`.`PrecioFijado` AS `PrecioFijado`,`M`.`odbc_date` AS `odbc_date`,cast(`T`.`Fecha` as date) AS `Fecha`,`T`.`Fecha` AS `FechaCompleta`,`CS`.`consignatario` AS `Alias`,`T`.`Id_Consigna` AS `Id_Consigna`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe`,`O`.`Origen` AS `Origen`,`TP`.`reino_id` AS `reino_id`,`C`.`invoice` AS `invoice`,`A`.`producer_id` AS `producer_id` from ((((((((`Movimientos` `M` join `Tickets` `T` on((`M`.`Id_Ticket` = `T`.`Id_Ticket`))) join `Consignatarios` `CS` on((`CS`.`id_consigna` = `T`.`Id_Consigna`))) join `Clientes` `C` on((`CS`.`Id_cliente` = `C`.`id_cliente`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Origen` `O` on((`O`.`id` = `A`.`id_origen`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `r` on((`TP`.`reino_id` = `r`.`id`))) join `Agencias` on((`Agencias`.`Id_Agencia` = `T`.`Id_Agencia`))) where ((`T`.`Fecha` >= '2013-01-01') and (`C`.`real` > 0) and (`r`.`id` <> 6)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_venteskk` +-- + +/*!50001 DROP TABLE IF EXISTS `v_venteskk`*/; +/*!50001 DROP VIEW IF EXISTS `v_venteskk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_venteskk` AS select `Agencias`.`Agencia` AS `Agencia`,`A`.`Categoria` AS `Categoria`,`A`.`tipo_id` AS `tipo_id`,`A`.`Medida` AS `Medida`,`A`.`Article` AS `Article`,`A`.`Color` AS `Color`,`CS`.`Id_cliente` AS `Id_Cliente`,`TP`.`Id_Tipo` AS `Tipo`,`T`.`Factura` AS `Factura`,`T`.`warehouse_id` AS `warehouse_id`,`M`.`Id_Movimiento` AS `Id_Movimiento`,`M`.`Id_Article` AS `Id_Article`,`TP`.`Id_Tipo` AS `Familia`,`M`.`Id_Ticket` AS `Id_Ticket`,`M`.`Concepte` AS `Concepte`,`M`.`Cantidad` AS `Cantidad`,`M`.`quantity` AS `quantity`,`M`.`Preu` AS `Preu`,`M`.`Descuento` AS `Descuento`,if((`T`.`Fecha` >= '2015-10-01'),`M`.`CostFixat`,((`M`.`Preu` * (100 - `M`.`Descuento`)) / 100)) AS `CostFixat`,`M`.`Reservado` AS `Reservado`,`M`.`OK` AS `OK`,`M`.`PrecioFijado` AS `PrecioFijado`,`M`.`odbc_date` AS `odbc_date`,cast(`T`.`Fecha` as date) AS `Fecha`,`T`.`Fecha` AS `FechaCompleta`,`CS`.`consignatario` AS `Alias`,`T`.`Id_Consigna` AS `Id_Consigna`,(((`M`.`Cantidad` * `M`.`Preu`) * (100 - `M`.`Descuento`)) / 100) AS `Importe`,`O`.`Origen` AS `Origen`,`TP`.`reino_id` AS `reino_id`,`C`.`invoice` AS `invoice`,`A`.`producer_id` AS `producer_id` from ((((((((`Movimientos` `M` join `Tickets` `T` on((`M`.`Id_Ticket` = `T`.`Id_Ticket`))) join `Consignatarios` `CS` on((`CS`.`id_consigna` = `T`.`Id_Consigna`))) join `Clientes` `C` on((`CS`.`Id_cliente` = `C`.`id_cliente`))) join `Articles` `A` on((`M`.`Id_Article` = `A`.`Id_Article`))) join `Origen` `O` on((`O`.`id` = `A`.`id_origen`))) join `Tipos` `TP` on((`A`.`tipo_id` = `TP`.`tipo_id`))) join `reinos` `r` on((`TP`.`reino_id` = `r`.`id`))) join `Agencias` on((`Agencias`.`Id_Agencia` = `T`.`Id_Agencia`))) where ((`T`.`Fecha` >= '2013-01-01') and (`C`.`real` > 0) and (`r`.`id` <> 6)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_warehouse` +-- + +/*!50001 DROP TABLE IF EXISTS `v_warehouse`*/; +/*!50001 DROP VIEW IF EXISTS `v_warehouse`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_warehouse` AS select `warehouse`.`id` AS `id`,`warehouse`.`name` AS `almacen` from `warehouse` union all select (1000 + `warehouse_alias`.`warehouse_alias_id`) AS `warehouse_alias_id`,concat(`warehouse_alias`.`alias`,'(G)') AS `concat(alias, '(G)')` from `warehouse_alias` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_xsubclien` +-- + +/*!50001 DROP TABLE IF EXISTS `v_xsubclien`*/; +/*!50001 DROP VIEW IF EXISTS `v_xsubclien`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_xsubclien` AS select distinct `Facturas`.`Id_Cliente` AS `Id_Cliente`,`Facturas`.`empresa_id` AS `empresa_id` from `Facturas` where (`Facturas`.`Fecha` > (curdate() + interval -(2) month)) union select `Recibos`.`Id_Cliente` AS `Id_Cliente`,`Recibos`.`empresa_id` AS `empresa_id` from `Recibos` where (`Recibos`.`Fechacobro` > (curdate() + interval -(2) month)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_xsubcuentas` +-- + +/*!50001 DROP TABLE IF EXISTS `v_xsubcuentas`*/; +/*!50001 DROP VIEW IF EXISTS `v_xsubcuentas`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_xsubcuentas` AS select `Clientes`.`Cuenta` AS `COD`,`Clientes`.`razonSocial` AS `TITULO`,concat(if((`p`.`CEE` = 1),`p`.`Codigo`,''),`Clientes`.`if`) AS `NIF`,`Clientes`.`domicilio` AS `DOMICILIO`,`Clientes`.`poblacion` AS `POBLACION`,`province`.`name` AS `PROVINCIA`,`Clientes`.`codPostal` AS `CODPOSTAL`,`p`.`Codigo` AS `country_code`,`v_xsubclien`.`empresa_id` AS `empresa_id`,substr(`Clientes`.`e-mail`,1,(coalesce(nullif(locate(',',`Clientes`.`e-mail`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((`Clientes` join `v_xsubclien` on((`Clientes`.`id_cliente` = `v_xsubclien`.`Id_Cliente`))) left join `Paises` `p` on((`p`.`Id` = `Clientes`.`Id_Pais`))) join `province` on((`Clientes`.`province_id` = `province`.`province_id`))) where (`Clientes`.`oficial` <> 0) group by `Clientes`.`id_cliente`,`v_xsubclien`.`empresa_id` union all select `Proveedores`.`cuenta` AS `Cuenta`,`Proveedores`.`Proveedor` AS `Proveedor`,concat(if((`p`.`CEE` = 1),`p`.`Codigo`,''),`Proveedores`.`NIF`) AS `NIF`,`Proveedores`.`Domicilio` AS `Domicilio`,`Proveedores`.`Localidad` AS `Localidad`,`prov`.`name` AS `Provincia`,`Proveedores`.`CP` AS `CP`,`p`.`Codigo` AS `country_code`,`v_xsubprov`.`empresa_id` AS `empresa_id`,substr(`c`.`email`,1,(coalesce(nullif(locate(',',`c`.`email`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((((`Proveedores` join `v_xsubprov` on((`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`))) left join `Paises` `p` on((`p`.`Id` = `Proveedores`.`pais_id`))) left join `province` `prov` on((`prov`.`province_id` = `Proveedores`.`province_id`))) left join `Relaciones` `r` on((`r`.`Id_Proveedor` = `Proveedores`.`Id_Proveedor`))) left join `Contactos` `c` on((`c`.`Id_Contacto` = `r`.`Id_Contacto`))) where (`Proveedores`.`oficial` <> 0) group by `v_xsubprov`.`proveedor_id`,`v_xsubprov`.`empresa_id` union all select `Gastos`.`Id_Gasto` AS `Id_Gasto`,`Gastos`.`Gasto` AS `Gasto`,NULL AS `NULL`,NULL AS `My_exp_NULL`,NULL AS `My_exp_1_NULL`,NULL AS `My_exp_2_NULL`,NULL AS `My_exp_3_NULL`,NULL AS `country_code`,`e`.`id` AS `id`,NULL AS `EMAIL`,1 AS `IDNIF` from (`Gastos` join `empresa` `e` on((`e`.`id` = 442))) union all select `Bancos`.`Cuenta` AS `Cuenta`,`Bancos`.`Banco` AS `Banco`,NULL AS `NULL`,NULL AS `My_exp_NULL`,NULL AS `My_exp_1_NULL`,NULL AS `My_exp_2_NULL`,NULL AS `My_exp_3_NULL`,NULL AS `country_code`,`e`.`id` AS `id`,NULL AS `EMAIL`,1 AS `IDNIF` from (`Bancos` join `empresa` `e` on((`e`.`id` = 442))) union all select lpad(right(`Proveedores`.`cuenta`,5),10,'47510000') AS `Cuenta`,`Proveedores`.`Proveedor` AS `Proveedor`,`Proveedores`.`NIF` AS `NIF`,`Proveedores`.`Domicilio` AS `Domicilio`,`Proveedores`.`Localidad` AS `Localidad`,`prov`.`name` AS `Provincia`,`Proveedores`.`CP` AS `CP`,`p`.`Codigo` AS `country_code`,`v_xsubprov`.`empresa_id` AS `empresa_id`,substr(`c`.`email`,1,(coalesce(nullif(locate(',',`c`.`email`),0),99) - 1)) AS `EMAIL`,if((`p`.`CEE` = 0),1,if((`p`.`CEE` = 1),2,4)) AS `IDNIF` from (((((`Proveedores` join `v_xsubprov` on((`Proveedores`.`Id_Proveedor` = `v_xsubprov`.`proveedor_id`))) left join `Paises` `p` on((`p`.`Id` = `Proveedores`.`pais_id`))) left join `province` `prov` on((`prov`.`province_id` = `Proveedores`.`province_id`))) left join `Relaciones` `r` on((`r`.`Id_Proveedor` = `Proveedores`.`Id_Proveedor`))) left join `Contactos` `c` on((`c`.`Id_Contacto` = `r`.`Id_Contacto`))) where (((`Proveedores`.`cuenta` like '_____3____') or (`Proveedores`.`cuenta` like '_____2____')) and (`Proveedores`.`oficial` = 1)) group by `v_xsubprov`.`proveedor_id`,`v_xsubprov`.`empresa_id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_xsubprov` +-- + +/*!50001 DROP TABLE IF EXISTS `v_xsubprov`*/; +/*!50001 DROP VIEW IF EXISTS `v_xsubprov`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_xsubprov` AS select `recibida`.`proveedor_id` AS `proveedor_id`,`recibida`.`empresa_id` AS `empresa_id` from `recibida` where (`recibida`.`fecha` > (curdate() + interval -(3) month)) group by `recibida`.`proveedor_id`,`recibida`.`empresa_id` union all select `pago`.`id_proveedor` AS `id_proveedor`,`pago`.`empresa_id` AS `empresa_id` from `pago` where (`pago`.`fecha` > (curdate() + interval -(3) month)) group by `pago`.`id_proveedor`,`pago`.`empresa_id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `vnCreditClassification` +-- + +/*!50001 DROP TABLE IF EXISTS `vnCreditClassification`*/; +/*!50001 DROP VIEW IF EXISTS `vnCreditClassification`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `vnCreditClassification` AS select `vn`.`creditClassification`.`id` AS `id`,`vn`.`creditClassification`.`client` AS `client`,`vn`.`creditClassification`.`dateStart` AS `dateStart`,`vn`.`creditClassification`.`dateEnd` AS `dateEnd` from `vn`.`creditClassification` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `vnCreditInsurance` +-- + +/*!50001 DROP TABLE IF EXISTS `vnCreditInsurance`*/; +/*!50001 DROP VIEW IF EXISTS `vnCreditInsurance`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `vnCreditInsurance` AS select `vn`.`creditInsurance`.`id` AS `id`,`vn`.`creditInsurance`.`creditClassification` AS `creditClassification`,`vn`.`creditInsurance`.`credit` AS `credit`,`vn`.`creditInsurance`.`creationDate` AS `creationDate`,`vn`.`creditInsurance`.`grade` AS `grade` from `vn`.`creditInsurance` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `vnSolunionCAP` +-- + +/*!50001 DROP TABLE IF EXISTS `vnSolunionCAP`*/; +/*!50001 DROP VIEW IF EXISTS `vnSolunionCAP`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `vnSolunionCAP` AS select `vn`.`solunionCAP`.`creditInsurance` AS `creditInsurance`,`vn`.`solunionCAP`.`dateStart` AS `dateStart`,`vn`.`solunionCAP`.`dateEnd` AS `dateEnd`,`vn`.`solunionCAP`.`dateLeaving` AS `dateLeaving` from `vn`.`solunionCAP` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `workerDocument` +-- + +/*!50001 DROP TABLE IF EXISTS `workerDocument`*/; +/*!50001 DROP VIEW IF EXISTS `workerDocument`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `workerDocument` AS select `vn`.`workerDocument`.`id` AS `id`,`vn`.`workerDocument`.`worker` AS `worker`,`vn`.`workerDocument`.`document` AS `document` from `vn`.`workerDocument` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `workerTeamCollegues` +-- + +/*!50001 DROP TABLE IF EXISTS `workerTeamCollegues`*/; +/*!50001 DROP VIEW IF EXISTS `workerTeamCollegues`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `workerTeamCollegues` AS select distinct `w`.`Id_Trabajador` AS `workerId`,`t`.`Id_Trabajador` AS `collegueId` from (`vn`.`workerTeam` `w` join `vn`.`workerTeam` `t` on((`w`.`team` = `t`.`team`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `workerTeam_kk` +-- + +/*!50001 DROP TABLE IF EXISTS `workerTeam_kk`*/; +/*!50001 DROP VIEW IF EXISTS `workerTeam_kk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `workerTeam_kk` AS select `w`.`team` AS `team`,`w`.`user` AS `user`,`w`.`id` AS `id`,`t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn`.`workerTeam` `w` left join `vn2008`.`Trabajadores` `t` on((`t`.`user_id` = `w`.`user`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `zoneNickname` +-- + +/*!50001 DROP TABLE IF EXISTS `zoneNickname`*/; +/*!50001 DROP VIEW IF EXISTS `zoneNickname`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `zoneNickname` AS select `ap`.`warehouse_id` AS `warehouse_id`,`ap`.`agency_id` AS `agency_id`,`ap`.`zona` AS `zona`,concat('ZONA ',`ap`.`zona`,' ',if((`ap`.`zona` = 20),'Madrid',`p`.`name`)) AS `alias` from (`Agencias_province` `ap` join `province` `p` on((`p`.`province_id` = `ap`.`province_id`))) group by `ap`.`zona`,`ap`.`warehouse_id`,`ap`.`agency_id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `vn` +-- + +USE `vn`; + +-- +-- Final view structure for view `accounting` +-- + +/*!50001 DROP TABLE IF EXISTS `accounting`*/; +/*!50001 DROP VIEW IF EXISTS `accounting`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `accounting` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `address` +-- + +/*!50001 DROP TABLE IF EXISTS `address`*/; +/*!50001 DROP VIEW IF EXISTS `address`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `address` AS select `t`.`id_consigna` AS `id`,`t`.`Id_cliente` AS `clientFk`,`t`.`Id_cliente` AS `customer`,`t`.`domicilio` AS `street`,`t`.`poblacion` AS `city`,`t`.`codPostal` AS `postalCode`,`t`.`province_id` AS `provinceFk`,`t`.`province_id` AS `province`,`t`.`telefono` AS `phone`,`t`.`movil` AS `mobile`,`t`.`movil` AS `celular`,`t`.`consignatario` AS `nickname`,`t`.`predeterminada` AS `isDefaultAddress`,`t`.`predeterminada` AS `defaultAddress`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`warehouse_id` AS `warehouse`,`t`.`Id_Agencia` AS `agencyModeFk`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Agencia` AS `agency`,`t`.`isEqualizated` AS `isEqualizated`,`t`.`active` AS `isActive`,`t`.`active` AS `active` from `vn2008`.`Consignatarios` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `addressObservation` +-- + +/*!50001 DROP TABLE IF EXISTS `addressObservation`*/; +/*!50001 DROP VIEW IF EXISTS `addressObservation`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `addressObservation` AS select `co`.`consignatarios_observation_id` AS `id`,`co`.`Id_Consigna` AS `addressFk`,`co`.`observation_type_id` AS `observationTypeFk`,`co`.`text` AS `description` from `vn2008`.`consignatarios_observation` `co` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `agency` +-- + +/*!50001 DROP TABLE IF EXISTS `agency`*/; +/*!50001 DROP VIEW IF EXISTS `agency`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `agency` AS select `a`.`agency_id` AS `id`,`a`.`name` AS `name`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseAliasFk`,`a`.`propios` AS `own`,`a`.`zone_label` AS `labelZone` from `vn2008`.`agency` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `agencyHour` +-- + +/*!50001 DROP TABLE IF EXISTS `agencyHour`*/; +/*!50001 DROP VIEW IF EXISTS `agencyHour`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `agencyHour` AS select `h`.`agency_hour_id` AS `id`,`h`.`agency_id` AS `agency`,`h`.`agency_id` AS `agencyFk`,`h`.`week_day` AS `weekDay`,`h`.`warehouse_id` AS `warehouse`,`h`.`warehouse_id` AS `warehouseFk`,`h`.`province_id` AS `province`,`h`.`province_id` AS `provinceFk`,`h`.`subtract_day` AS `substractDay`,`h`.`max_hour` AS `maxHour` from `vn2008`.`agency_hour` `h` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `agencyMode` +-- + +/*!50001 DROP TABLE IF EXISTS `agencyMode`*/; +/*!50001 DROP VIEW IF EXISTS `agencyMode`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `agencyMode` AS select `a`.`Id_Agencia` AS `id`,`a`.`Agencia` AS `name`,`a`.`description` AS `description`,`a`.`Vista` AS `deliveryMethodFk`,`a`.`Vista` AS `deliveryMethod`,`a`.`Vista` AS `view`,`a`.`m3` AS `m3`,`a`.`cod71` AS `cod71`,`a`.`web` AS `web`,`a`.`agency_id` AS `agencyFk`,`a`.`agency_id` AS `agency`,`a`.`agency_service_id` AS `agencyServiceFk`,`a`.`agency_service_id` AS `agencyService`,`a`.`inflacion` AS `inflation`,`a`.`inflacion` AS `inflacion`,`a`.`is_volumetric` AS `isVolumetric`,`a`.`send_mail` AS `reportMail` from `vn2008`.`Agencias` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `agencyWarehouse` +-- + +/*!50001 DROP TABLE IF EXISTS `agencyWarehouse`*/; +/*!50001 DROP VIEW IF EXISTS `agencyWarehouse`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `agencyWarehouse` AS select `a`.`agency_id` AS `agencyFk`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`Vista` AS `agencyType` from `vn2008`.`agency_warehouse` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `awb` +-- + +/*!50001 DROP TABLE IF EXISTS `awb`*/; +/*!50001 DROP VIEW IF EXISTS `awb`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `awb` AS select `a`.`id` AS `id`,`a`.`codigo` AS `code`,`a`.`bultos` AS `package`,`a`.`peso` AS `weight`,`a`.`MYSQL_TIME` AS `created`,`a`.`transitario_id` AS `transitoryFk`,`a`.`iva_id` AS `taxFk`,`a`.`gestdoc_id` AS `docFk`,`a`.`importe` AS `amount`,`a`.`carguera_id` AS `freightFk`,`a`.`m3` AS `m3`,`a`.`stems` AS `stems`,`a`.`flight_id` AS `flightFk`,`a`.`volume_weight` AS `volumeWeight`,`a`.`hb` AS `hb`,`a`.`rate` AS `rate`,`a`.`booked` AS `booked`,`a`.`issued` AS `issued`,`a`.`operated` AS `operated`,`a`.`bookEntried` AS `bookEntried`,`a`.`invoiceInFk` AS `invoiceInFk`,`a`.`isChecked` AS `isChecked` from `vn2008`.`awb` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `bank` +-- + +/*!50001 DROP TABLE IF EXISTS `bank`*/; +/*!50001 DROP VIEW IF EXISTS `bank`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `bank` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `cash`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `bankEntity` +-- + +/*!50001 DROP TABLE IF EXISTS `bankEntity`*/; +/*!50001 DROP VIEW IF EXISTS `bankEntity`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `bankEntity` AS select `e`.`entity_id` AS `id`,`e`.`pais_id` AS `countryFk`,`e`.`description` AS `name`,`e`.`bic` AS `bic` from `vn2008`.`entity` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `botanicExport` +-- + +/*!50001 DROP TABLE IF EXISTS `botanicExport`*/; +/*!50001 DROP VIEW IF EXISTS `botanicExport`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `botanicExport` AS select `be`.`botanic_export_id` AS `id`,`be`.`edi_genus_id` AS `ediGenusFk`,`be`.`edi_specie_id` AS `ediSpecieFk`,`be`.`Id_Paises` AS `countryFk`,`be`.`restriction` AS `restriction`,`be`.`description` AS `description` from `vn2008`.`botanic_export` `be` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `buy` +-- + +/*!50001 DROP TABLE IF EXISTS `buy`*/; +/*!50001 DROP VIEW IF EXISTS `buy`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `buy` AS select `c`.`Id_Compra` AS `id`,`c`.`Id_Entrada` AS `entryFk`,`c`.`Id_Article` AS `itemFk`,`c`.`Cantidad` AS `amount`,`c`.`Costefijo` AS `buyingValue`,`c`.`Cantidad` AS `quantity`,`c`.`Id_Cubo` AS `packageFk`,`c`.`Etiquetas` AS `stickers`,`c`.`Portefijo` AS `freightValue`,`c`.`Embalajefijo` AS `packageValue`,`c`.`Comisionfija` AS `comissionValue`,`c`.`Packing` AS `packing`,`c`.`grouping` AS `grouping`,`c`.`caja` AS `groupingMode`,`c`.`Nicho` AS `location`,`c`.`Tarifa1` AS `price1`,`c`.`Tarifa2` AS `price2`,`c`.`Tarifa3` AS `price3`,`c`.`PVP` AS `minPrice`,`c`.`Productor` AS `producer`,`c`.`Vida` AS `printedStickers`,`c`.`punteo` AS `isChecked` from `vn2008`.`Compres` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `city` +-- + +/*!50001 DROP TABLE IF EXISTS `city`*/; +/*!50001 DROP VIEW IF EXISTS `city`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `city` AS select `c`.`city_id` AS `id`,`c`.`name` AS `name`,`c`.`province_id` AS `provinceFk` from `vn2008`.`city` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `client` +-- + +/*!50001 DROP TABLE IF EXISTS `client`*/; +/*!50001 DROP VIEW IF EXISTS `client`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `client` AS select `c`.`id_cliente` AS `id`,`c`.`cliente` AS `name`,`c`.`if` AS `fi`,`c`.`razonSocial` AS `socialName`,`c`.`contacto` AS `contact`,`c`.`domicilio` AS `street`,`c`.`poblacion` AS `city`,`c`.`codPostal` AS `postcode`,`c`.`telefono` AS `phone`,`c`.`movil` AS `mobile`,`c`.`fax` AS `fax`,`c`.`real` AS `isRelevant`,`c`.`e-mail` AS `email`,`c`.`iban` AS `iban`,`c`.`vencimiento` AS `dueDay`,`c`.`Cuenta` AS `accountingAccount`,`c`.`RE` AS `isEqualizated`,`c`.`province_id` AS `provinceFk`,`c`.`invoice` AS `hasToInvoice`,`c`.`credito` AS `credit`,`c`.`Id_Pais` AS `countryFk`,`c`.`activo` AS `isActive`,`c`.`gestdoc_id` AS `gestdocFk`,`c`.`calidad` AS `quality`,`c`.`pay_met_id` AS `payMethodFk`,`c`.`created` AS `created`,`c`.`mail` AS `isToBeMailed`,`c`.`chanel_id` AS `contactChannelFk`,`c`.`sepaVnl` AS `hasSepaVnl`,`c`.`coreVnl` AS `hasCoreVnl`,`c`.`coreVnh` AS `hasCoreVnh`,`c`.`default_address` AS `defaultAddressFk`,`c`.`risk_calculated` AS `riskCalculated`,`c`.`clientes_tipo_id` AS `clientTypeFk`,`c`.`mail_address` AS `mailAddress`,`c`.`cplusTerIdNifFk` AS `cplusTerIdNifFk`,`c`.`invoiceByAddress` AS `hasToInvoiceByAddress`,`c`.`contabilizado` AS `isTaxDataChecked`,`c`.`congelado` AS `isFreezed`,`c`.`creditInsurance` AS `creditInsurance`,`c`.`isCreatedAsServed` AS `isCreatedAsServed`,`c`.`hasInvoiceSimplified` AS `hasInvoiceSimplified`,`c`.`Id_Trabajador` AS `salesPersonFk`,`c`.`vies` AS `isVies`,`c`.`EYPBC` AS `eypbc` from `vn2008`.`Clientes` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientCredit` +-- + +/*!50001 DROP TABLE IF EXISTS `clientCredit`*/; +/*!50001 DROP VIEW IF EXISTS `clientCredit`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientCredit` AS select `c`.`id` AS `id`,`c`.`Id_Cliente` AS `clientFk`,`c`.`Id_Trabajador` AS `workerFk`,`c`.`amount` AS `amount`,`c`.`odbc_date` AS `created` from `vn2008`.`credit` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientDefaultCompany` +-- + +/*!50001 DROP TABLE IF EXISTS `clientDefaultCompany`*/; +/*!50001 DROP VIEW IF EXISTS `clientDefaultCompany`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientDefaultCompany` AS select `t`.`Id_Clientes_empresa` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`empresa_id` AS `companyFk`,`t`.`fecha_ini` AS `started`,`t`.`fecha_fin` AS `finished` from `vn2008`.`Clientes_empresa` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientManaCache` +-- + +/*!50001 DROP TABLE IF EXISTS `clientManaCache`*/; +/*!50001 DROP VIEW IF EXISTS `clientManaCache`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientManaCache` AS select `mc`.`Id_Cliente` AS `clientFk`,`mc`.`Mana` AS `mana`,`mc`.`dated` AS `dated` from `bs`.`manaCustomer` `mc` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientNotification` +-- + +/*!50001 DROP TABLE IF EXISTS `clientNotification`*/; +/*!50001 DROP VIEW IF EXISTS `clientNotification`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientNotification` AS select `e`.`id` AS `id`,`e`.`Id_Cliente` AS `clientFk`,`e`.`escritos_id` AS `clientNotificationTypeFk`,`e`.`fecha` AS `created`,`e`.`Id_Trabajador` AS `workerFk`,`e`.`userFk` AS `userFk` from `vn2008`.`escritos_det` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientNotificationType` +-- + +/*!50001 DROP TABLE IF EXISTS `clientNotificationType`*/; +/*!50001 DROP VIEW IF EXISTS `clientNotificationType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientNotificationType` AS select `e`.`id` AS `id`,`e`.`abrev` AS `code`,`e`.`descripcion` AS `description`,`e`.`visible` AS `isVisible` from `vn2008`.`escritos` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientObservation` +-- + +/*!50001 DROP TABLE IF EXISTS `clientObservation`*/; +/*!50001 DROP VIEW IF EXISTS `clientObservation`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientObservation` AS select `t`.`client_observation_id` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`text` AS `text`,`t`.`odbc_date` AS `created` from `vn2008`.`client_observation` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `clientType` +-- + +/*!50001 DROP TABLE IF EXISTS `clientType`*/; +/*!50001 DROP VIEW IF EXISTS `clientType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `clientType` AS select `ct`.`clientes_tipo_id` AS `id`,`ct`.`code` AS `code`,`ct`.`tipo` AS `type` from `vn2008`.`clientes_tipo` `ct` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `color` +-- + +/*!50001 DROP TABLE IF EXISTS `color`*/; +/*!50001 DROP VIEW IF EXISTS `color`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `color` AS select `c`.`Id_Color` AS `id`,`c`.`Color` AS `name` from `vn2008`.`Colores` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `company` +-- + +/*!50001 DROP TABLE IF EXISTS `company`*/; +/*!50001 DROP VIEW IF EXISTS `company`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `company` AS select `e`.`id` AS `id`,`e`.`abbreviation` AS `code`,`e`.`Id_Proveedores_account` AS `supplierAccountFk`,`e`.`CodigoEmpresa` AS `CodigoEmpresa` from `vn2008`.`empresa` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `comparative` +-- + +/*!50001 DROP TABLE IF EXISTS `comparative`*/; +/*!50001 DROP VIEW IF EXISTS `comparative`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `comparative` AS select `c`.`Periodo` AS `timePeriod`,`c`.`Id_Article` AS `itemFk`,`c`.`warehouse_id` AS `warehouseFk`,`c`.`Cantidad` AS `quantity`,`c`.`price` AS `price` from `vn2008`.`Comparativa` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `comparativeFilter` +-- + +/*!50001 DROP TABLE IF EXISTS `comparativeFilter`*/; +/*!50001 DROP VIEW IF EXISTS `comparativeFilter`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `comparativeFilter` AS select `f`.`id` AS `id`,`f`.`name` AS `name`,`f`.`sql` AS `whereSql` from `vn2008`.`filtros` `f` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `componentRate` +-- + +/*!50001 DROP TABLE IF EXISTS `componentRate`*/; +/*!50001 DROP VIEW IF EXISTS `componentRate`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `componentRate` AS select `t`.`Id_Componente` AS `id`,`t`.`Componente` AS `name`,`t`.`tarifa_componentes_series_id` AS `componentTypeRate`,`t`.`tarifa_class` AS `classRate`,`t`.`tax` AS `tax`,`t`.`is_renewable` AS `isRenewable` from `bi`.`tarifa_componentes` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `componentTypeRate` +-- + +/*!50001 DROP TABLE IF EXISTS `componentTypeRate`*/; +/*!50001 DROP VIEW IF EXISTS `componentTypeRate`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `componentTypeRate` AS select `t`.`tarifa_componentes_series_id` AS `id`,`t`.`Serie` AS `type` from `bi`.`tarifa_componentes_series` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `contactChannel` +-- + +/*!50001 DROP TABLE IF EXISTS `contactChannel`*/; +/*!50001 DROP VIEW IF EXISTS `contactChannel`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `contactChannel` AS select `c`.`chanel_id` AS `id`,`c`.`name` AS `name` from `vn2008`.`chanel` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `country` +-- + +/*!50001 DROP TABLE IF EXISTS `country`*/; +/*!50001 DROP VIEW IF EXISTS `country`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `country` AS select `p`.`Id` AS `id`,`p`.`Pais` AS `country`,`p`.`CEE` AS `CEE`,`p`.`isUeeMember` AS `isUeeMember`,`p`.`Codigo` AS `code`,`p`.`Id_Moneda` AS `currencyFk`,`p`.`Id_Paisreal` AS `politicalCountryFk`,`p`.`geoFk` AS `geoFk` from `vn2008`.`Paises` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `currency` +-- + +/*!50001 DROP TABLE IF EXISTS `currency`*/; +/*!50001 DROP VIEW IF EXISTS `currency`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `currency` AS select `m`.`Id_Moneda` AS `id`,`m`.`Moneda` AS `code`,`m`.`Descripcion` AS `name` from `vn2008`.`Monedas` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `deliveryMethod` +-- + +/*!50001 DROP TABLE IF EXISTS `deliveryMethod`*/; +/*!50001 DROP VIEW IF EXISTS `deliveryMethod`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `deliveryMethod` AS select `d`.`vista_id` AS `id`,`d`.`code` AS `code`,`d`.`vista` AS `description` from `vn2008`.`Vistas` `d` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ediGenus` +-- + +/*!50001 DROP TABLE IF EXISTS `ediGenus`*/; +/*!50001 DROP VIEW IF EXISTS `ediGenus`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ediGenus` AS select `g`.`genus_id` AS `id`,`g`.`latin_genus_name` AS `latinGenusName`,`g`.`entry_date` AS `entried`,`g`.`expiry_date` AS `dued`,`g`.`change_date_time` AS `modified` from `edi`.`genus` `g` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ediSpecie` +-- + +/*!50001 DROP TABLE IF EXISTS `ediSpecie`*/; +/*!50001 DROP VIEW IF EXISTS `ediSpecie`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ediSpecie` AS select `s`.`specie_id` AS `id`,`s`.`genus_id` AS `genusFk`,`s`.`latin_species_name` AS `latinSpeciesName`,`s`.`entry_date` AS `entried`,`s`.`expiry_date` AS `dued`,`s`.`change_date_time` AS `modified` from `edi`.`specie` `s` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `entity` +-- + +/*!50001 DROP TABLE IF EXISTS `entity`*/; +/*!50001 DROP VIEW IF EXISTS `entity`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `entity` AS select `e`.`pais_id` AS `countryFk`,`e`.`entity_id` AS `id`,`e`.`description` AS `description`,`e`.`bic` AS `bic` from `vn2008`.`entity` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `entry` +-- + +/*!50001 DROP TABLE IF EXISTS `entry`*/; +/*!50001 DROP VIEW IF EXISTS `entry`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `entry` AS select `e`.`Id_Entrada` AS `id`,`e`.`Id_Proveedor` AS `supplierFk`,`e`.`Referencia` AS `ref`,`e`.`Inventario` AS `isInventory`,`e`.`Confirmada` AS `isConfirmed`,`e`.`Pedida` AS `isOrdered`,`e`.`Redada` AS `isRaid`,`e`.`comision` AS `commission`,`e`.`odbc_date` AS `created`,`e`.`Notas_Eva` AS `evaNotes`,`e`.`travel_id` AS `travelFk`,`e`.`Id_Moneda` AS `currencyFk`,`e`.`empresa_id` AS `companyFk`,`e`.`gestdoc_id` AS `gestDocFk`,`e`.`recibida_id` AS `invoiceReceivedFk` from `vn2008`.`Entradas` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `especialPrice` +-- + +/*!50001 DROP TABLE IF EXISTS `especialPrice`*/; +/*!50001 DROP VIEW IF EXISTS `especialPrice`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `especialPrice` AS select `p`.`Id_PrecioEspecial` AS `id`,`p`.`Id_Cliente` AS `clientFk`,`p`.`Id_Article` AS `itemFk`,`p`.`PrecioEspecial` AS `value` from `vn2008`.`PreciosEspeciales` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `expedition` +-- + +/*!50001 DROP TABLE IF EXISTS `expedition`*/; +/*!50001 DROP VIEW IF EXISTS `expedition`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `expedition` AS select `e`.`expeditions_id` AS `id`,`e`.`agency_id` AS `agency`,`e`.`agency_id` AS `agencyFk`,`e`.`agency_id` AS `agencyModeFk`,`e`.`ticket_id` AS `ticket`,`e`.`ticket_id` AS `ticketFk`,`e`.`EsBulto` AS `isBox`,`e`.`odbc_date` AS `printingTime`,`e`.`Id_Article` AS `item`,`e`.`Id_Article` AS `itemFk`,`e`.`counter` AS `counter`,`e`.`checked` AS `checked`,`e`.`workerFk` AS `workerFk` from `vn2008`.`expeditions` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `expence` +-- + +/*!50001 DROP TABLE IF EXISTS `expence`*/; +/*!50001 DROP VIEW IF EXISTS `expence`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `expence` AS select `g`.`Id_Gasto` AS `id`,`g`.`iva_tipo_id` AS `taxTypeFk`,`g`.`Gasto` AS `name`,`g`.`isWithheld` AS `isWithheld` from `vn2008`.`Gastos` `g` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `firstTicketShipped` +-- + +/*!50001 DROP TABLE IF EXISTS `firstTicketShipped`*/; +/*!50001 DROP VIEW IF EXISTS `firstTicketShipped`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `firstTicketShipped` AS select min(`ticket`.`shipped`) AS `shipped`,`ticket`.`clientFk` AS `clientFk` from `vn`.`ticket` where (`ticket`.`shipped` > '2001-01-01') group by `ticket`.`clientFk` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `grant` +-- + +/*!50001 DROP TABLE IF EXISTS `grant`*/; +/*!50001 DROP VIEW IF EXISTS `grant`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `grant` AS select `vn2008`.`Permisos`.`Id_Grupo` AS `group`,`vn2008`.`Permisos`.`Id_Trabajador` AS `worker`,`vn2008`.`Permisos`.`empresa_id` AS `company` from `vn2008`.`Permisos` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `grantGroup` +-- + +/*!50001 DROP TABLE IF EXISTS `grantGroup`*/; +/*!50001 DROP VIEW IF EXISTS `grantGroup`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `grantGroup` AS select `vn2008`.`Grupos`.`id` AS `id`,`vn2008`.`Grupos`.`Grupo` AS `description`,`vn2008`.`Grupos`.`observation_type_id` AS `observationType` from `vn2008`.`Grupos` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `greuge` +-- + +/*!50001 DROP TABLE IF EXISTS `greuge`*/; +/*!50001 DROP VIEW IF EXISTS `greuge`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `greuge` AS select `g`.`Id` AS `id`,`g`.`Id_Cliente` AS `clientFk`,`g`.`Comentario` AS `description`,`g`.`Importe` AS `amount`,`g`.`Fecha` AS `shipped`,`g`.`odbc_date` AS `created`,`g`.`Greuges_type_id` AS `greugeTypeFk`,`g`.`Id_Ticket` AS `ticketFk` from `vn2008`.`Greuges` `g` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `greugeType` +-- + +/*!50001 DROP TABLE IF EXISTS `greugeType`*/; +/*!50001 DROP VIEW IF EXISTS `greugeType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `greugeType` AS select `gt`.`Greuges_type_id` AS `id`,`gt`.`name` AS `name` from `vn2008`.`Greuges_type` `gt` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ink` +-- + +/*!50001 DROP TABLE IF EXISTS `ink`*/; +/*!50001 DROP VIEW IF EXISTS `ink`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ink` AS select `c`.`Id_Tinta` AS `id`,`c`.`name` AS `name`,`c`.`Tinta` AS `picture`,`c`.`Orden` AS `showOrder` from `vn2008`.`Tintas` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `inkL10n` +-- + +/*!50001 DROP TABLE IF EXISTS `inkL10n`*/; +/*!50001 DROP VIEW IF EXISTS `inkL10n`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `inkL10n` AS select `k`.`id` AS `id`,ifnull(`i`.`name`,`k`.`name`) AS `name` from (`vn`.`ink` `k` left join `vn`.`inkI18n` `i` on(((`i`.`inkFk` = `k`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `intrastat` +-- + +/*!50001 DROP TABLE IF EXISTS `intrastat`*/; +/*!50001 DROP VIEW IF EXISTS `intrastat`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `intrastat` AS select `i`.`Codintrastat` AS `id`,`i`.`Definicion` AS `description`,`i`.`iva_group_id` AS `taxClassFk`,`i`.`iva_codigo_id` AS `taxCodeFk` from `vn2008`.`Intrastat` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceCorrection` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceCorrection`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceCorrection`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceCorrection` AS select `ic`.`correctingFk` AS `correctingFk`,`ic`.`correctedFk` AS `correctedFk`,`ic`.`cplusRectificationTypeFk` AS `cplusRectificationTypeFk`,`ic`.`cplusInvoiceType477Fk` AS `cplusInvoiceType477Fk`,`ic`.`invoiceCorrectionTypeFk` AS `invoiceCorrectionTypeFk` from `vn2008`.`invoiceCorrection` `ic` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceCorrectionDataSource` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceCorrectionDataSource`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceCorrectionDataSource`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceCorrectionDataSource` AS select `s`.`itemFk` AS `itemFk`,`s`.`quantity` AS `quantity`,`s`.`concept` AS `concept`,`s`.`price` AS `price`,`s`.`discount` AS `discount`,`t`.`refFk` AS `refFk`,`s`.`id` AS `saleFk`,`t`.`shipped` AS `shipped` from (`vn`.`sale` `s` join `vn`.`ticket` `t` on((`t`.`id` = `s`.`ticketFk`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceIn` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceIn`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceIn`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceIn` AS select `r`.`id` AS `id`,`r`.`num_recibida` AS `serialNumber`,`r`.`serie` AS `serial`,`r`.`proveedor_id` AS `supplierFk`,`r`.`fecha` AS `issued`,`r`.`sref` AS `supplierRef`,`r`.`contabilizada` AS `isBooked`,`r`.`moneda_id` AS `currencyFk`,`r`.`MYSQL_TIME` AS `created`,`r`.`empresa_id` AS `companyFk`,`r`.`gestdoc_id` AS `docFk`,`r`.`dateBooking` AS `booked`,`r`.`dateOperation` AS `operated`,`r`.`cplusInvoiceType472Fk` AS `cplusInvoiceType472Fk`,`r`.`cplusRectificationTypeFk` AS `cplusRectificationTypeFk`,`r`.`cplusSubjectOpFk` AS `cplusSubjectOpFk`,`r`.`cplusTaxBreakFk` AS `cplusTaxBreakFk`,`r`.`cplusTrascendency472Fk` AS `cplusTrascendency472Fk`,`r`.`bookEntried` AS `bookEntried`,`r`.`isVatDeductible` AS `isVatDeductible` from `vn2008`.`recibida` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceInAwb` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceInAwb`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceInAwb`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceInAwb` AS select `a`.`recibida_id` AS `invoiceInFk`,`a`.`awb_id` AS `awbFk`,`a`.`dua` AS `dua` from `vn2008`.`awb_recibida` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceInDueDay` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceInDueDay`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceInDueDay`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceInDueDay` AS select `r`.`id` AS `id`,`r`.`recibida_id` AS `invoiceInFk`,`r`.`fecha` AS `dueDated`,`r`.`banco_id` AS `bankFk`,`r`.`cantidad` AS `amount`,`r`.`divisa` AS `foreignValue`,`r`.`stamp` AS `created` from `vn2008`.`recibida_vencimiento` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceInEntry` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceInEntry`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceInEntry`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceInEntry` AS select `i`.`recibida_entrada_id` AS `id`,`i`.`recibida_id` AS `invoiceInFk`,`i`.`Id_Entrada` AS `entryFk`,`i`.`percentage` AS `percentage`,`i`.`awb_recibida` AS `invoiceInAwbFk`,`i`.`Contabilizado` AS `isBooked` from `vn2008`.`recibida_entrada` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceInIntrastat` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceInIntrastat`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceInIntrastat`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceInIntrastat` AS select `r`.`recibida_id` AS `invoiceInFk`,`r`.`Codintrastat` AS `intrastatFk`,`r`.`importe` AS `amount` from `vn2008`.`recibida_intrastat` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceInTax` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceInTax`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceInTax`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceInTax` AS select `r`.`id` AS `id`,`r`.`recibida_id` AS `invoiceInFk`,`r`.`iva_id` AS `taxCodeFk`,`r`.`bi` AS `taxableBase`,`r`.`gastos_id` AS `expenceFk`,`r`.`divisa` AS `foreignValue`,`r`.`MYSQL_TIME` AS `created` from `vn2008`.`recibida_iva` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoiceOut` +-- + +/*!50001 DROP TABLE IF EXISTS `invoiceOut`*/; +/*!50001 DROP VIEW IF EXISTS `invoiceOut`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoiceOut` AS select `f`.`factura_id` AS `id`,`f`.`Id_Factura` AS `ref`,`f`.`Serie` AS `serial`,`f`.`Fecha` AS `issued`,`f`.`Importe` AS `amount`,`f`.`Id_Cliente` AS `clientFk`,`f`.`odbc_date` AS `created`,`f`.`empresa_id` AS `companyFk`,`f`.`Vencimiento` AS `dued`,`f`.`booked` AS `booked`,`f`.`cplusInvoiceType477Fk` AS `cplusInvoiceType477Fk`,`f`.`cplusTaxBreakFk` AS `cplusTaxBreakFk`,`f`.`cplusSubjectOpFk` AS `cplusSubjectOpFk`,`f`.`cplusTrascendency477Fk` AS `cplusTrascendency477Fk`,`f`.`pdf` AS `pdf` from `vn2008`.`Facturas` `f` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `item` +-- + +/*!50001 DROP TABLE IF EXISTS `item`*/; +/*!50001 DROP VIEW IF EXISTS `item`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `item` AS select `t`.`Id_Article` AS `id`,`t`.`Article` AS `name`,`t`.`tipo_id` AS `typeFk`,`t`.`Medida` AS `size`,`t`.`Color` AS `inkFk`,`t`.`Categoria` AS `category`,`t`.`Tallos` AS `stems`,`t`.`id_origen` AS `originFk`,`t`.`description` AS `description`,`t`.`producer_id` AS `producerFk`,`t`.`Codintrastat` AS `intrastatFk`,`t`.`offer` AS `isOnOffer`,`t`.`expenceFk` AS `expenceFk`,`t`.`bargain` AS `isBargain`,`t`.`comments` AS `comment`,`t`.`relevancy` AS `relevancy`,`t`.`Foto` AS `image`,`t`.`iva_group_id` AS `taxClassFk` from `vn2008`.`Articles` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemBarcode` +-- + +/*!50001 DROP TABLE IF EXISTS `itemBarcode`*/; +/*!50001 DROP VIEW IF EXISTS `itemBarcode`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemBarcode` AS select `vn2008`.`barcodes`.`id` AS `id`,`vn2008`.`barcodes`.`Id_Article` AS `itemFk`,`vn2008`.`barcodes`.`code` AS `code` from `vn2008`.`barcodes` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemBotanical` +-- + +/*!50001 DROP TABLE IF EXISTS `itemBotanical`*/; +/*!50001 DROP VIEW IF EXISTS `itemBotanical`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemBotanical` AS select `ab`.`Id_Article` AS `itemFk`,`ab`.`botanical` AS `botanical`,`ab`.`genus_id` AS `genusFk`,`ab`.`specie_id` AS `specieFk` from `vn2008`.`Articles_botanical` `ab` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemBotanicalWithGenus` +-- + +/*!50001 DROP TABLE IF EXISTS `itemBotanicalWithGenus`*/; +/*!50001 DROP VIEW IF EXISTS `itemBotanicalWithGenus`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemBotanicalWithGenus` AS select `ib`.`itemFk` AS `itemFk`,ifnull(`ib`.`botanical`,concat(`g`.`latinGenusName`,' ',ifnull(`s`.`latinSpeciesName`,''))) AS `ediBotanic` from ((`vn`.`itemBotanical` `ib` left join `vn`.`ediGenus` `g` on((`g`.`id` = `ib`.`genusFk`))) left join `vn`.`ediSpecie` `s` on((`s`.`id` = `ib`.`specieFk`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemCategory` +-- + +/*!50001 DROP TABLE IF EXISTS `itemCategory`*/; +/*!50001 DROP VIEW IF EXISTS `itemCategory`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemCategory` AS select `r`.`id` AS `id`,`r`.`reino` AS `name`,`r`.`display` AS `display`,`r`.`color` AS `color` from `vn2008`.`reinos` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemCategoryL10n` +-- + +/*!50001 DROP TABLE IF EXISTS `itemCategoryL10n`*/; +/*!50001 DROP VIEW IF EXISTS `itemCategoryL10n`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemCategoryL10n` AS select `c`.`id` AS `id`,ifnull(`i`.`name`,`c`.`name`) AS `name` from (`vn`.`itemCategory` `c` left join `vn`.`itemCategoryI18n` `i` on(((`i`.`categoryFk` = `c`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemPlacement` +-- + +/*!50001 DROP TABLE IF EXISTS `itemPlacement`*/; +/*!50001 DROP VIEW IF EXISTS `itemPlacement`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemPlacement` AS select `an`.`Id_Article` AS `itemFk`,`an`.`warehouse_id` AS `warehouseFk`,`an`.`nicho` AS `code` from `vn2008`.`Articles_nicho` `an` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemTagged` +-- + +/*!50001 DROP TABLE IF EXISTS `itemTagged`*/; +/*!50001 DROP VIEW IF EXISTS `itemTagged`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemTagged` AS select distinct `itemTag`.`itemFk` AS `itemFk` from `itemTag` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemType` +-- + +/*!50001 DROP TABLE IF EXISTS `itemType`*/; +/*!50001 DROP VIEW IF EXISTS `itemType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemType` AS select `t`.`tipo_id` AS `id`,`t`.`Id_Tipo` AS `code`,`t`.`Tipo` AS `name`,`t`.`reino_id` AS `categoryFk`,`t`.`life` AS `life`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`isPackaging` AS `isPackaging` from `vn2008`.`Tipos` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `itemTypeL10n` +-- + +/*!50001 DROP TABLE IF EXISTS `itemTypeL10n`*/; +/*!50001 DROP VIEW IF EXISTS `itemTypeL10n`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `itemTypeL10n` AS select `t`.`id` AS `id`,ifnull(`i`.`name`,`t`.`name`) AS `name` from (`vn`.`itemType` `t` left join `vn`.`itemTypeI18n` `i` on(((`i`.`typeFk` = `t`.`id`) and (`i`.`lang` = `util`.`LANG`())))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `mail` +-- + +/*!50001 DROP TABLE IF EXISTS `mail`*/; +/*!50001 DROP VIEW IF EXISTS `mail`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `mail` AS select `vn2008`.`mail`.`id` AS `id`,`vn2008`.`mail`.`senderFk` AS `senderFk`,`vn2008`.`mail`.`recipientFk` AS `recipientFk`,`vn2008`.`mail`.`to` AS `sender`,`vn2008`.`mail`.`reply_to` AS `replyTo`,`vn2008`.`mail`.`subject` AS `subject`,`vn2008`.`mail`.`text` AS `body`,`vn2008`.`mail`.`plainTextBody` AS `plainTextBody`,`vn2008`.`mail`.`path` AS `attachment`,`vn2008`.`mail`.`DATE_ODBC` AS `creationDate`,`vn2008`.`mail`.`sent` AS `sent`,`vn2008`.`mail`.`error` AS `status` from `vn2008`.`mail` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `manaSpellers` +-- + +/*!50001 DROP TABLE IF EXISTS `manaSpellers`*/; +/*!50001 DROP VIEW IF EXISTS `manaSpellers`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `manaSpellers` AS select `bs`.`mana_spellers`.`Id_Trabajador` AS `worker`,`bs`.`mana_spellers`.`size` AS `size`,`bs`.`mana_spellers`.`used` AS `used`,`bs`.`mana_spellers`.`prices_modifier_rate` AS `pricesModifierRate`,`bs`.`mana_spellers`.`prices_modifier_activated` AS `pricesModifierActivated`,`vn2008`.`Trabajadores`.`CodigoTrabajador` AS `workerCode`,`vn2008`.`Trabajadores`.`Nombre` AS `firstname`,`vn2008`.`Trabajadores`.`Apellidos` AS `name` from (`bs`.`mana_spellers` join `vn2008`.`Trabajadores` on((`bs`.`mana_spellers`.`Id_Trabajador` = `vn2008`.`Trabajadores`.`Id_Trabajador`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `mandate` +-- + +/*!50001 DROP TABLE IF EXISTS `mandate`*/; +/*!50001 DROP VIEW IF EXISTS `mandate`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `mandate` AS select `m`.`id` AS `id`,`m`.`Id_Cliente` AS `clientFk`,`m`.`empresa_id` AS `companyFk`,`m`.`Id_mandato` AS `code`,`m`.`FAlta` AS `created`,`m`.`Fbaja` AS `finished`,`m`.`idmandato_tipo` AS `mandateTypeFk` from `vn2008`.`mandato` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `mandateType` +-- + +/*!50001 DROP TABLE IF EXISTS `mandateType`*/; +/*!50001 DROP VIEW IF EXISTS `mandateType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `mandateType` AS select `m`.`idmandato_tipo` AS `id`,`m`.`Nombre` AS `name` from `vn2008`.`mandato_tipo` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `movement` +-- + +/*!50001 DROP TABLE IF EXISTS `movement`*/; +/*!50001 DROP VIEW IF EXISTS `movement`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `movement` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `item`,`m`.`Id_Ticket` AS `ticket`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `amount`,`m`.`quantity` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`CostFixat` AS `cost`,`m`.`Reservado` AS `reservado`,`m`.`OK` AS `od`,`m`.`PrecioFijado` AS `priceFixed`,`m`.`odbc_date` AS `lastUpdate` from `vn2008`.`Movimientos` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `movementkk` +-- + +/*!50001 DROP TABLE IF EXISTS `movementkk`*/; +/*!50001 DROP VIEW IF EXISTS `movementkk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `movementkk` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `item`,`m`.`Id_Ticket` AS `ticket`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `amount`,`m`.`quantity` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`CostFixat` AS `cost`,`m`.`Reservado` AS `reservado`,`m`.`OK` AS `od`,`m`.`PrecioFijado` AS `priceFixed`,`m`.`odbc_date` AS `lastUpdate` from `vn2008`.`Movimientos` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `observationType` +-- + +/*!50001 DROP TABLE IF EXISTS `observationType`*/; +/*!50001 DROP VIEW IF EXISTS `observationType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `observationType` AS select `ot`.`observation_type_id` AS `id`,`ot`.`description` AS `description` from `vn2008`.`observation_type` `ot` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `origin` +-- + +/*!50001 DROP TABLE IF EXISTS `origin`*/; +/*!50001 DROP VIEW IF EXISTS `origin`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `origin` AS select `o`.`id` AS `id`,`o`.`Abreviatura` AS `code`,`o`.`Origen` AS `name` from `vn2008`.`Origen` `o` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `originL10n` +-- + +/*!50001 DROP TABLE IF EXISTS `originL10n`*/; +/*!50001 DROP VIEW IF EXISTS `originL10n`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `originL10n` AS select `o`.`id` AS `id`,ifnull(`i`.`name`,`o`.`name`) AS `name` from (`vn`.`origin` `o` left join `vn`.`originI18n` `i` on(((`i`.`originFk` = `o`.`id`) and (`i`.`lang` = `util`.`lang`())))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `outgoingInvoice` +-- + +/*!50001 DROP TABLE IF EXISTS `outgoingInvoice`*/; +/*!50001 DROP VIEW IF EXISTS `outgoingInvoice`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `outgoingInvoice` AS select `vn2008`.`Facturas`.`Id_Factura` AS `id`,`vn2008`.`Facturas`.`Serie` AS `serie`,`vn2008`.`Facturas`.`Fecha` AS `dateInvoice`,`vn2008`.`Facturas`.`Importe` AS `total`,`vn2008`.`Facturas`.`Vencimiento` AS `dueDate`,`vn2008`.`Facturas`.`Id_Banco` AS `bank`,`vn2008`.`Facturas`.`Id_Cliente` AS `client`,`vn2008`.`Facturas`.`Id_Remesa` AS `remittance`,`vn2008`.`Facturas`.`Remesar` AS `remit`,`vn2008`.`Facturas`.`Id_Trabajador` AS `worker`,`vn2008`.`Facturas`.`odbc_date` AS `creationDate`,`vn2008`.`Facturas`.`empresa_id` AS `company`,`vn2008`.`Facturas`.`liquidacion` AS `liquidacion?`,`vn2008`.`Facturas`.`pdf` AS `isPdf` from `vn2008`.`Facturas` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `package` +-- + +/*!50001 DROP TABLE IF EXISTS `package`*/; +/*!50001 DROP VIEW IF EXISTS `package`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `package` AS select `c`.`Id_Cubo` AS `id`,`c`.`Volumen` AS `volume`,`c`.`X` AS `width`,`c`.`Y` AS `height`,`c`.`Z` AS `depth`,`c`.`Retornable` AS `isPackageReturnable`,`c`.`odbc_date` AS `created`,`c`.`item_id` AS `itemFk`,`c`.`pvp` AS `price` from `vn2008`.`Cubos` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `packageEquivalentItem` +-- + +/*!50001 DROP TABLE IF EXISTS `packageEquivalentItem`*/; +/*!50001 DROP VIEW IF EXISTS `packageEquivalentItem`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `packageEquivalentItem` AS select `i`.`itemFk` AS `itemFk`,`ie`.`itemFk` AS `equivalentFk` from ((`vn`.`packageEquivalent` `pe` join `vn`.`package` `i` on((`i`.`id` = `pe`.`packageFk`))) join `vn`.`package` `ie` on((`ie`.`id` = `pe`.`equivalentFk`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `payMethod` +-- + +/*!50001 DROP TABLE IF EXISTS `payMethod`*/; +/*!50001 DROP VIEW IF EXISTS `payMethod`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `payMethod` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`graceDays` AS `graceDays`,`t`.`deudaviva` AS `outstandingDebt`,`t`.`ibanRequired` AS `ibanRequired` from `vn2008`.`pay_met` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `payment` +-- + +/*!50001 DROP TABLE IF EXISTS `payment`*/; +/*!50001 DROP VIEW IF EXISTS `payment`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `payment` AS select `p`.`id` AS `id`,`p`.`fecha` AS `received`,`p`.`id_proveedor` AS `supplierFk`,`p`.`importe` AS `amount`,`p`.`id_moneda` AS `currencyFk`,`p`.`divisa` AS `divisa`,`p`.`id_banco` AS `bankFk`,`p`.`pay_met_id` AS `payMethod`,`p`.`empresa_id` AS `companyFk`,`p`.`pago_sdc_id` AS `paymentExchangeInsuranceFk`,`p`.`conciliado` AS `isConciliate` from `vn2008`.`pago` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `paymentExchangeInsurance` +-- + +/*!50001 DROP TABLE IF EXISTS `paymentExchangeInsurance`*/; +/*!50001 DROP VIEW IF EXISTS `paymentExchangeInsurance`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `paymentExchangeInsurance` AS select `p`.`pago_sdc_id` AS `id`,`p`.`importe` AS `amount`,`p`.`fecha` AS `created`,`p`.`vencimiento` AS `dueDay`,`p`.`entity_id` AS `entityFk`,`p`.`ref` AS `ref`,`p`.`rate` AS `rate`,`p`.`empresa_id` AS `companyFk`,`p`.`financialProductTypefk` AS `financialProductTypefk`,`p`.`upperBarrier` AS `upperBarrier`,`p`.`lowerBarrier` AS `lowerBarrier`,`p`.`strike` AS `strike` from `vn2008`.`pago_sdc` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `payrollCenter` +-- + +/*!50001 DROP TABLE IF EXISTS `payrollCenter`*/; +/*!50001 DROP VIEW IF EXISTS `payrollCenter`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `payrollCenter` AS select `b`.`cod_centro` AS `codCenter`,`b`.`Centro` AS `name`,`b`.`nss_cotizacion` AS `nss`,`b`.`domicilio` AS `street`,`b`.`poblacion` AS `city`,`b`.`cp` AS `postcode`,`b`.`empresa_id` AS `companyFk`,`b`.`codempresa` AS `companyCode` from `vn2008`.`payroll_centros` `b` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `plantpassport` +-- + +/*!50001 DROP TABLE IF EXISTS `plantpassport`*/; +/*!50001 DROP VIEW IF EXISTS `plantpassport`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `plantpassport` AS select `pp`.`producer_id` AS `producerFk`,`pp`.`plantpassport_authority_id` AS `plantpassportAuthorityFk`,`pp`.`number` AS `number` from `vn2008`.`plantpassport` `pp` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `plantpassportAuthority` +-- + +/*!50001 DROP TABLE IF EXISTS `plantpassportAuthority`*/; +/*!50001 DROP VIEW IF EXISTS `plantpassportAuthority`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `plantpassportAuthority` AS select `ppa`.`plantpassport_authority_id` AS `id`,`ppa`.`denomination` AS `denomination`,`ppa`.`Paises_Id` AS `countryFk` from `vn2008`.`plantpassport_authority` `ppa` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `priceBuilderDistinctTags` +-- + +/*!50001 DROP TABLE IF EXISTS `priceBuilderDistinctTags`*/; +/*!50001 DROP VIEW IF EXISTS `priceBuilderDistinctTags`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `priceBuilderDistinctTags` AS select `priceBuilderTag`.`priceBuilderFk` AS `priceBuilderFk`,count(distinct `priceBuilderTag`.`tagFk`) AS `numTags` from `priceBuilderTag` group by `priceBuilderTag`.`priceBuilderFk` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `priceFixed` +-- + +/*!50001 DROP TABLE IF EXISTS `priceFixed`*/; +/*!50001 DROP VIEW IF EXISTS `priceFixed`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `priceFixed` AS select `p`.`item_id` AS `itemFk`,`p`.`rate_0` AS `rate0`,`p`.`rate_1` AS `rate1`,`p`.`rate_2` AS `rate2`,`p`.`rate_3` AS `rate3`,`p`.`date_start` AS `started`,`p`.`date_end` AS `ended`,`p`.`bonus` AS `bonus`,`p`.`warehouse_id` AS `warehouseFk`,`p`.`odbc_date` AS `created`,`p`.`price_fixed_id` AS `id`,`p`.`grouping` AS `grouping`,`p`.`Packing` AS `packing`,`p`.`caja` AS `box` from `vn2008`.`price_fixed` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `printServerQueue` +-- + +/*!50001 DROP TABLE IF EXISTS `printServerQueue`*/; +/*!50001 DROP VIEW IF EXISTS `printServerQueue`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `printServerQueue` AS select `c`.`Id_Cola` AS `id`,`c`.`Id_Impresora` AS `printerFk`,`c`.`Id_Prioridad` AS `priorityFk`,`c`.`Id_Informe` AS `reportFk`,`c`.`Id_Estado` AS `statusFk`,`c`.`Hora_Inicio` AS `started`,`c`.`Hora_Fin` AS `finished`,`c`.`Cola` AS `param1`,`c`.`Id_Trabajador` AS `workerFk`,`c`.`Cola2` AS `param2`,`c`.`Cola3` AS `param3`,`c`.`error` AS `error` from `vn2008`.`Colas` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `printingQueue` +-- + +/*!50001 DROP TABLE IF EXISTS `printingQueue`*/; +/*!50001 DROP VIEW IF EXISTS `printingQueue`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `printingQueue` AS select `c`.`Id_Cola` AS `id`,`c`.`Id_Impresora` AS `printer`,`c`.`Id_Prioridad` AS `priority`,`c`.`Id_Informe` AS `report`,`c`.`Id_Estado` AS `state`,`c`.`Hora_Inicio` AS `startingTime`,`c`.`Hora_Fin` AS `endingTime`,`c`.`Cola` AS `text`,`c`.`Id_Trabajador` AS `worker`,`c`.`Cola2` AS `text2`,`c`.`Cola3` AS `text3` from `vn2008`.`Colas` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `producer` +-- + +/*!50001 DROP TABLE IF EXISTS `producer`*/; +/*!50001 DROP VIEW IF EXISTS `producer`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `producer` AS select `p`.`producer_id` AS `id`,`p`.`name` AS `name` from `vn2008`.`producer` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `promissoryNote` +-- + +/*!50001 DROP TABLE IF EXISTS `promissoryNote`*/; +/*!50001 DROP VIEW IF EXISTS `promissoryNote`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `promissoryNote` AS select `p`.`Id_Pagare` AS `id`,`p`.`Concepto` AS `Concept`,`p`.`pago_id` AS `paymentFk` from `vn2008`.`Pagares` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `province` +-- + +/*!50001 DROP TABLE IF EXISTS `province`*/; +/*!50001 DROP VIEW IF EXISTS `province`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `province` AS select `t`.`province_id` AS `id`,`t`.`name` AS `name`,`t`.`Paises_Id` AS `countryFk`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`zone` AS `zoneFk`,`t`.`geoFk` AS `geoFk` from `vn2008`.`province` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `receipt` +-- + +/*!50001 DROP TABLE IF EXISTS `receipt`*/; +/*!50001 DROP VIEW IF EXISTS `receipt`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `receipt` AS select `t`.`Id` AS `Id`,`t`.`Id_Factura` AS `invoiceFk`,`t`.`Entregado` AS `amountPaid`,`t`.`Pendiente` AS `amountUnpaid`,`t`.`Fechacobro` AS `payed`,`t`.`Id_Trabajador` AS `workerFk`,`t`.`Id_Banco` AS `bankFk`,`t`.`Id_Cliente` AS `clientFk`,`t`.`odbc_date` AS `created`,`t`.`empresa_id` AS `companyFk`,`t`.`conciliado` AS `isConciliate` from `vn2008`.`Recibos` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `referenceRate` +-- + +/*!50001 DROP TABLE IF EXISTS `referenceRate`*/; +/*!50001 DROP VIEW IF EXISTS `referenceRate`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `referenceRate` AS select `r`.`moneda_id` AS `currencyFk`,`r`.`date` AS `dated`,`r`.`rate` AS `value` from `vn2008`.`reference_rate` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `role` +-- + +/*!50001 DROP TABLE IF EXISTS `role`*/; +/*!50001 DROP VIEW IF EXISTS `role`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `role` AS select `account`.`role`.`id` AS `id`,`account`.`role`.`name` AS `name`,`account`.`role`.`description` AS `description`,`account`.`role`.`hasLogin` AS `hasLogin` from `account`.`role` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `route` +-- + +/*!50001 DROP TABLE IF EXISTS `route`*/; +/*!50001 DROP VIEW IF EXISTS `route`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `route` AS select `a`.`Id_Ruta` AS `id`,`a`.`Id_Trabajador` AS `workerFk`,`a`.`Fecha` AS `created`,`a`.`Id_Vehiculo` AS `vehicleFk`,`a`.`Id_Agencia` AS `agencyModeFk`,`a`.`Hora` AS `time`,`a`.`ok` AS `isOk`,`a`.`km_start` AS `kmStart`,`a`.`km_end` AS `kmEnd`,`a`.`date_start` AS `started`,`a`.`date_end` AS `finished`,`a`.`gestdoc_id` AS `gestdocFk`,`a`.`cost` AS `cost`,`a`.`m3` AS `m3`,`a`.`description` AS `description` from `vn2008`.`Rutas` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `routesControl` +-- + +/*!50001 DROP TABLE IF EXISTS `routesControl`*/; +/*!50001 DROP VIEW IF EXISTS `routesControl`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `routesControl` AS select `t`.`Id_Ruta` AS `routeFk`,count(`e`.`expeditions_id`) AS `expeditions`,count(`sl`.`scan_line_id`) AS `scanned`,count(distinct `sl`.`scan_id`) AS `pallets`,max(`sl`.`odbc_date`) AS `lastScanned` from ((`vn2008`.`Tickets` `t` join `vn2008`.`expeditions` `e` on((`t`.`Id_Ticket` = `e`.`ticket_id`))) left join `vn2008`.`scan_line` `sl` on((`e`.`expeditions_id` = `sl`.`code`))) where (`t`.`Fecha` >= (curdate() + interval -(1) day)) group by `t`.`Id_Ruta` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `sale` +-- + +/*!50001 DROP TABLE IF EXISTS `sale`*/; +/*!50001 DROP VIEW IF EXISTS `sale`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `sale` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `itemFk`,`m`.`Id_Ticket` AS `ticketFk`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `quantity`,`m`.`Preu` AS `price`,`m`.`Descuento` AS `discount`,`m`.`Reservado` AS `reserved`,`m`.`OK` AS `isPicked`,`m`.`odbc_date` AS `created` from `vn2008`.`Movimientos` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `saleComponent` +-- + +/*!50001 DROP TABLE IF EXISTS `saleComponent`*/; +/*!50001 DROP VIEW IF EXISTS `saleComponent`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `saleComponent` AS select `mc`.`Id_Movimiento` AS `saleFk`,`mc`.`Id_Componente` AS `componentFk`,`mc`.`Valor` AS `value` from `vn2008`.`Movimientos_componentes` `mc` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `state` +-- + +/*!50001 DROP TABLE IF EXISTS `state`*/; +/*!50001 DROP VIEW IF EXISTS `state`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `state` AS select `s`.`id` AS `id`,`s`.`name` AS `name`,`s`.`order` AS `order`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code` from `vn2008`.`state` `s` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `supplier` +-- + +/*!50001 DROP TABLE IF EXISTS `supplier`*/; +/*!50001 DROP VIEW IF EXISTS `supplier`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `supplier` AS select `p`.`Id_Proveedor` AS `id`,`p`.`Proveedor` AS `name`,`p`.`cuenta` AS `account`,`p`.`pais_id` AS `countryFk`,`p`.`NIF` AS `nif`,`p`.`Agricola` AS `isFarmer`,`p`.`cuentaret` AS `retAccount`,`p`.`ComisionProveedor` AS `commission`,`p`.`odbc_time` AS `created`,`p`.`postcode_id` AS `postcodeFk`,`p`.`active` AS `isActive`,`p`.`Domicilio` AS `street`,`p`.`Localidad` AS `city`,`p`.`province_id` AS `provinceFk`,`p`.`codpos` AS `postCode` from `vn2008`.`Proveedores` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `supplierAccount` +-- + +/*!50001 DROP TABLE IF EXISTS `supplierAccount`*/; +/*!50001 DROP VIEW IF EXISTS `supplierAccount`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `supplierAccount` AS select `pa`.`Id_Proveedores_account` AS `id`,`pa`.`Id_Proveedor` AS `supplierFk`,`pa`.`IBAN` AS `iban`,`pa`.`entity_id` AS `bankEntityFk` from `vn2008`.`Proveedores_account` `pa` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `tagL10n` +-- + +/*!50001 DROP TABLE IF EXISTS `tagL10n`*/; +/*!50001 DROP VIEW IF EXISTS `tagL10n`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `tagL10n` AS select `t`.`id` AS `id`,ifnull(`i`.`name`,`t`.`name`) AS `name` from (`tag` `t` left join `tagI18n` `i` on(((`i`.`tagFk` = `t`.`id`) and (`i`.`lang` = `util`.`LANG`())))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `taxClass` +-- + +/*!50001 DROP TABLE IF EXISTS `taxClass`*/; +/*!50001 DROP VIEW IF EXISTS `taxClass`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `taxClass` AS select `c`.`iva_group_id` AS `id`,`c`.`description` AS `description`,`c`.`code` AS `code` from `vn2008`.`iva_group` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `taxClassCode` +-- + +/*!50001 DROP TABLE IF EXISTS `taxClassCode`*/; +/*!50001 DROP VIEW IF EXISTS `taxClassCode`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `taxClassCode` AS select `c`.`iva_group_id` AS `taxClassFk`,`c`.`date` AS `effectived`,`c`.`iva_codigo_id` AS `taxCodeFk` from `vn2008`.`iva_group_codigo` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `taxCode` +-- + +/*!50001 DROP TABLE IF EXISTS `taxCode`*/; +/*!50001 DROP VIEW IF EXISTS `taxCode`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `taxCode` AS select `ic`.`id` AS `id`,`ic`.`fecha` AS `dated`,`ic`.`codigo` AS `code`,`ic`.`iva_tipo_id` AS `taxTypeFk`,`ic`.`iva` AS `rate`,`ic`.`recargo` AS `equalizationTax`,`ic`.`tipo` AS `type`,`ic`.`link` AS `link`,`ic`.`isActive` AS `isActive`,`ic`.`updated` AS `updated`,`ic`.`transactionCode` AS `transactionCode` from `vn2008`.`iva_codigo` `ic` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `taxType` +-- + +/*!50001 DROP TABLE IF EXISTS `taxType`*/; +/*!50001 DROP VIEW IF EXISTS `taxType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `taxType` AS select `t`.`id` AS `id`,`t`.`alias` AS `nickname`,`t`.`isAccrued` AS `isAccrued`,`t`.`serie_id` AS `serial`,`t`.`TIPOOPE` AS `TIPOOPE`,`t`.`descripcion` AS `description`,`t`.`Id_Pais` AS `countryFk` from `vn2008`.`iva_tipo` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticket` +-- + +/*!50001 DROP TABLE IF EXISTS `ticket`*/; +/*!50001 DROP VIEW IF EXISTS `ticket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticket` AS select `t`.`Id_Ticket` AS `id`,`t`.`Id_Cliente` AS `clientFk`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`Fecha` AS `shipped`,`t`.`landing` AS `landed`,`t`.`Alias` AS `nickname`,`t`.`Factura` AS `refFk`,`t`.`Id_Consigna` AS `addressFk`,`t`.`Localizacion` AS `location`,`t`.`Solucion` AS `solution`,`t`.`Id_Ruta` AS `routeFk`,`t`.`empresa_id` AS `companyFk`,`t`.`Id_Agencia` AS `agencyModeFk`,`t`.`Prioridad` AS `priority`,`t`.`Bultos` AS `packages`,`t`.`odbc_date` AS `created` from `vn2008`.`Tickets` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticketObservation` +-- + +/*!50001 DROP TABLE IF EXISTS `ticketObservation`*/; +/*!50001 DROP VIEW IF EXISTS `ticketObservation`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticketObservation` AS select `to`.`ticket_observation_id` AS `id`,`to`.`Id_Ticket` AS `ticketFk`,`to`.`observation_type_id` AS `observationTypeFk`,`to`.`text` AS `description` from `vn2008`.`ticket_observation` `to` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticketState` +-- + +/*!50001 DROP TABLE IF EXISTS `ticketState`*/; +/*!50001 DROP VIEW IF EXISTS `ticketState`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticketState` AS select `i`.`odbc_date` AS `updated`,`i`.`state_id` AS `stateFk`,`i`.`Id_Trabajador` AS `workerFk`,`ts`.`Id_Ticket` AS `ticketFk`,`s`.`id` AS `state`,`s`.`order` AS `productionOrder`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code`,`ts`.`Id_Ticket` AS `ticket`,`i`.`Id_Trabajador` AS `worker` from ((`vn2008`.`Tickets_state` `ts` join `vncontrol`.`inter` `i` on((`i`.`inter_id` = `ts`.`inter_id`))) join `vn2008`.`state` `s` on((`s`.`id` = `i`.`state_id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticketStateToday` +-- + +/*!50001 DROP TABLE IF EXISTS `ticketStateToday`*/; +/*!50001 DROP VIEW IF EXISTS `ticketStateToday`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticketStateToday` AS select `ts`.`ticket` AS `ticket`,`ts`.`state` AS `state`,`ts`.`productionOrder` AS `productionOrder`,`ts`.`alertLevel` AS `alertLevel`,`ts`.`worker` AS `worker`,`ts`.`code` AS `code` from (`vn`.`ticketState` `ts` join `vn`.`ticket` `t` on((`t`.`id` = `ts`.`ticket`))) where (`t`.`shipped` between curdate() and `MIDNIGHT`(curdate())) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ticketTracking` +-- + +/*!50001 DROP TABLE IF EXISTS `ticketTracking`*/; +/*!50001 DROP VIEW IF EXISTS `ticketTracking`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ticketTracking` AS select `i`.`inter_id` AS `id`,`i`.`state_id` AS `stateFk`,`i`.`odbc_date` AS `created`,`i`.`Id_Ticket` AS `ticketFk`,`i`.`Id_Trabajador` AS `workerFk` from `vncontrol`.`inter` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `till` +-- + +/*!50001 DROP TABLE IF EXISTS `till`*/; +/*!50001 DROP VIEW IF EXISTS `till`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `till` AS select `c`.`Id_Caja` AS `id`,`c`.`Cajafecha` AS `created`,`c`.`Serie` AS `serie`,`c`.`Concepto` AS `concept`,`c`.`Entrada` AS `in`,`c`.`Salida` AS `out`,`c`.`Id_Banco` AS `bankFk`,`c`.`empresa_id` AS `supplierFk`,`c`.`Partida` AS `isAccountable` from `vn2008`.`Cajas` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `time` +-- + +/*!50001 DROP TABLE IF EXISTS `time`*/; +/*!50001 DROP VIEW IF EXISTS `time`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `time` AS select `t`.`date` AS `dated`,`t`.`period` AS `period`,`t`.`month` AS `month`,`t`.`year` AS `year`,`t`.`day` AS `day`,`t`.`week` AS `week` from `vn2008`.`time` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `travel` +-- + +/*!50001 DROP TABLE IF EXISTS `travel`*/; +/*!50001 DROP VIEW IF EXISTS `travel`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `travel` AS select `t`.`id` AS `id`,`t`.`shipment` AS `shipped`,`t`.`shipment_hour` AS `shipmentHour`,`t`.`landing` AS `landed`,`t`.`landing_hour` AS `landingHour`,`t`.`warehouse_id` AS `warehouseInFk`,`t`.`warehouse_id_out` AS `warehouseOutFk`,`t`.`agency_id` AS `agencyFk`,`t`.`ref` AS `ref`,`t`.`delivered` AS `isDelivered`,`t`.`received` AS `isReceived`,`t`.`m3` AS `m3` from `vn2008`.`travel` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `unary` +-- + +/*!50001 DROP TABLE IF EXISTS `unary`*/; +/*!50001 DROP VIEW IF EXISTS `unary`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `unary` AS select `a`.`id` AS `id`,`a`.`parent` AS `parent` from `vn2008`.`unary` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `unaryScan` +-- + +/*!50001 DROP TABLE IF EXISTS `unaryScan`*/; +/*!50001 DROP VIEW IF EXISTS `unaryScan`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `unaryScan` AS select `u`.`unary_id` AS `unaryFk`,`u`.`name` AS `name`,`u`.`odbc_date` AS `created`,`u`.`type` AS `type` from `vn2008`.`unary_scan` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `unaryScanLine` +-- + +/*!50001 DROP TABLE IF EXISTS `unaryScanLine`*/; +/*!50001 DROP VIEW IF EXISTS `unaryScanLine`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `unaryScanLine` AS select `u`.`id` AS `id`,`u`.`code` AS `code`,`u`.`odbc_date` AS `created`,`u`.`unary_id` AS `unaryScanFk` from `vn2008`.`unary_scan_line` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `unaryScanLineBuy` +-- + +/*!50001 DROP TABLE IF EXISTS `unaryScanLineBuy`*/; +/*!50001 DROP VIEW IF EXISTS `unaryScanLineBuy`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `unaryScanLineBuy` AS select `u`.`scan_line_id` AS `unaryScanLineFk`,`u`.`Id_Article` AS `itemFk` from `vn2008`.`unary_scan_line_buy` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `unaryScanLineExpedition` +-- + +/*!50001 DROP TABLE IF EXISTS `unaryScanLineExpedition`*/; +/*!50001 DROP VIEW IF EXISTS `unaryScanLineExpedition`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `unaryScanLineExpedition` AS select `u`.`scan_line_id` AS `unaryScanLineFk`,`u`.`expedition_id` AS `expeditionFk` from `vn2008`.`unary_scan_line_expedition` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `user` +-- + +/*!50001 DROP TABLE IF EXISTS `user`*/; +/*!50001 DROP VIEW IF EXISTS `user`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `user` AS select `account`.`user`.`id` AS `id`,`account`.`user`.`name` AS `name`,`account`.`user`.`password` AS `password`,`account`.`user`.`role` AS `role`,`account`.`user`.`active` AS `active`,`account`.`user`.`recoverPass` AS `recoverPass`,`account`.`user`.`lastPassChange` AS `lastPassChange` from `account`.`user` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `vehicle` +-- + +/*!50001 DROP TABLE IF EXISTS `vehicle`*/; +/*!50001 DROP VIEW IF EXISTS `vehicle`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `vehicle` AS select `v`.`Id_Vehiculo` AS `id`,`v`.`Matricula` AS `numberPlate`,`v`.`Marca` AS `tradeMark`,`v`.`Modelo` AS `model`,`v`.`empresa_id` AS `companyFk`,`v`.`warehouseFk` AS `warehouseFk`,`v`.`description` AS `description`,`v`.`m3` AS `m3`,`v`.`active` AS `isActive` from `vn2008`.`Vehiculos` `v` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `warehouse` +-- + +/*!50001 DROP TABLE IF EXISTS `warehouse`*/; +/*!50001 DROP VIEW IF EXISTS `warehouse`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `warehouse` AS select `t`.`id` AS `id`,`t`.`name` AS `name`,`t`.`inventario` AS `isInventory`,`t`.`is_comparative` AS `isComparative`,`t`.`comisionantes` AS `hasComission`,`t`.`isManaged` AS `isManaged` from `vn2008`.`warehouse` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `warehouseAlias` +-- + +/*!50001 DROP TABLE IF EXISTS `warehouseAlias`*/; +/*!50001 DROP VIEW IF EXISTS `warehouseAlias`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `warehouseAlias` AS select `wa`.`warehouse_alias_id` AS `id`,`wa`.`alias` AS `name` from `vn2008`.`warehouse_alias` `wa` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `worker` +-- + +/*!50001 DROP TABLE IF EXISTS `worker`*/; +/*!50001 DROP VIEW IF EXISTS `worker`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `worker` AS select `t`.`Id_Trabajador` AS `id`,`t`.`CodigoTrabajador` AS `workerCode`,`t`.`Nombre` AS `firstName`,`t`.`Apellidos` AS `name`,`t`.`user_id` AS `userFk`,`t`.`phone` AS `phone`,`t`.`boss` AS `bossFk`,`t`.`Foto` AS `photo` from `vn2008`.`Trabajadores` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `workerTeam` +-- + +/*!50001 DROP TABLE IF EXISTS `workerTeam`*/; +/*!50001 DROP VIEW IF EXISTS `workerTeam`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `workerTeam` AS select `w`.`team` AS `team`,`w`.`user` AS `user`,`w`.`id` AS `id`,`t`.`Id_Trabajador` AS `Id_Trabajador` from (`vn2008`.`workerTeam` `w` left join `vn2008`.`Trabajadores` `t` on((`t`.`user_id` = `w`.`user`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `edi` +-- + +USE `edi`; + +-- +-- Current Database: `bs` +-- + +USE `bs`; + +-- +-- Final view structure for view `VentasPorCliente` +-- + +/*!50001 DROP TABLE IF EXISTS `VentasPorCliente`*/; +/*!50001 DROP VIEW IF EXISTS `VentasPorCliente`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `VentasPorCliente` AS select `v`.`Id_Cliente` AS `Id_Cliente`,round(sum(`v`.`importe`),0) AS `VentaBasica`,`t`.`year` AS `year`,`t`.`month` AS `month` from (`vn2008`.`time` `t` join `bs`.`ventas` `v` on((`v`.`fecha` = `t`.`date`))) group by `v`.`Id_Cliente`,`t`.`year`,`t`.`month` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_ventas` +-- + +/*!50001 DROP TABLE IF EXISTS `v_ventas`*/; +/*!50001 DROP VIEW IF EXISTS `v_ventas`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_ventas` AS select (`bs`.`ventas`.`importe` * `vn2008`.`Movimientos`.`Cantidad`) AS `importe`,`bs`.`ventas`.`recargo` AS `recargo`,`vn2008`.`time`.`year` AS `year`,`vn2008`.`time`.`month` AS `month`,`vn2008`.`time`.`week` AS `week`,`vn2008`.`time`.`day` AS `day` from ((`bs`.`ventas` join `vn2008`.`time` on((`vn2008`.`time`.`date` = `bs`.`ventas`.`fecha`))) join `vn2008`.`Movimientos` on((`bs`.`ventas`.`Id_Movimiento` = `vn2008`.`Movimientos`.`Id_Movimiento`))) group by `vn2008`.`time`.`date` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `bi` +-- + +USE `bi`; + +-- +-- Final view structure for view `analisis_grafico_ventas` +-- + +/*!50001 DROP TABLE IF EXISTS `analisis_grafico_ventas`*/; +/*!50001 DROP VIEW IF EXISTS `analisis_grafico_ventas`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `analisis_grafico_ventas` AS select `analisis_ventas`.`Año` AS `Año`,`analisis_ventas`.`Semana` AS `Semana`,sum(`analisis_ventas`.`Importe`) AS `Importe` from `analisis_ventas` group by `analisis_ventas`.`Año`,`analisis_ventas`.`Semana` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `analisis_ventas_simple` +-- + +/*!50001 DROP TABLE IF EXISTS `analisis_ventas_simple`*/; +/*!50001 DROP VIEW IF EXISTS `analisis_ventas_simple`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `analisis_ventas_simple` AS select `analisis_ventas`.`Año` AS `Año`,`analisis_ventas`.`Semana` AS `Semana`,sum(`analisis_ventas`.`Importe`) AS `Importe` from `analisis_ventas` group by `analisis_ventas`.`Año`,`analisis_ventas`.`Semana` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `customerRiskOverdue` +-- + +/*!50001 DROP TABLE IF EXISTS `customerRiskOverdue`*/; +/*!50001 DROP VIEW IF EXISTS `customerRiskOverdue`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `customerRiskOverdue` AS select `cr`.`customer_id` AS `customer_id`,`cr`.`amount` AS `amount`,`cr`.`company_id` AS `company_id` from (((`bi`.`customer_risk` `cr` join `vn2008`.`empresa` `e` on((`e`.`id` = `cr`.`company_id`))) join `vn2008`.`Clientes` `c` on((`cr`.`customer_id` = `c`.`id_cliente`))) join `vn2008`.`pay_met` `pm` on((`pm`.`id` = `c`.`pay_met_id`))) where (`cr`.`amount` and `e`.`morosidad` and `pm`.`deudaviva`) union all select `f`.`Id_Cliente` AS `Id_Cliente`,-(round(`f`.`Importe`,2)) AS `importe`,`f`.`empresa_id` AS `empresa_id` from (((`vn2008`.`Facturas` `f` join `vn2008`.`Clientes` `c` on((`f`.`Id_Cliente` = `c`.`id_cliente`))) join `vn2008`.`empresa` `e` on((`e`.`id` = `f`.`empresa_id`))) join `vn2008`.`pay_met` `pm` on((`pm`.`id` = `c`.`pay_met_id`))) where ((`f`.`Fecha` > (curdate() + interval -(101) day)) and ((`vn2008`.`paymentday`(`f`.`Fecha`,`c`.`vencimiento`) + interval `pm`.`graceDays` day) > curdate()) and (`f`.`Importe` > 0) and `e`.`morosidad` and `pm`.`deudaviva`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `last_Id_Cubo` +-- + +/*!50001 DROP TABLE IF EXISTS `last_Id_Cubo`*/; +/*!50001 DROP VIEW IF EXISTS `last_Id_Cubo`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `last_Id_Cubo` AS select `C`.`Id_Compra` AS `Id_Compra`,`C`.`Id_Article` AS `Id_Article`,`tr`.`warehouse_id` AS `warehouse_id`,`C`.`Id_Cubo` AS `Id_Cubo`,`C`.`Packing` AS `Packing` from ((`vn2008`.`Compres` `C` join `vn2008`.`Entradas` `E` on((`C`.`Id_Entrada` = `E`.`Id_Entrada`))) join `vn2008`.`travel` `tr` on((`E`.`travel_id` = `tr`.`id`))) where ((`C`.`Id_Cubo` is not null) and (`C`.`Id_Cubo` <> '--') and (`tr`.`landing` > (curdate() - interval 18 month))) order by `C`.`Id_Compra` desc */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_clientes_jerarquia` +-- + +/*!50001 DROP TABLE IF EXISTS `v_clientes_jerarquia`*/; +/*!50001 DROP VIEW IF EXISTS `v_clientes_jerarquia`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_clientes_jerarquia` AS select `c`.`id_cliente` AS `Id_Cliente`,`c`.`cliente` AS `Cliente`,`t`.`CodigoTrabajador` AS `Comercial`,`tj`.`CodigoTrabajador` AS `Jefe` from (((`vn2008`.`Clientes` `c` join `vn2008`.`Trabajadores` `t` on((`t`.`Id_Trabajador` = `c`.`Id_Trabajador`))) join `vn2008`.`jerarquia` on((`vn2008`.`jerarquia`.`worker_id` = `c`.`Id_Trabajador`))) join `vn2008`.`Trabajadores` `tj` on((`tj`.`Id_Trabajador` = `vn2008`.`jerarquia`.`boss_id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `v_ventas_contables` +-- + +/*!50001 DROP TABLE IF EXISTS `v_ventas_contables`*/; +/*!50001 DROP VIEW IF EXISTS `v_ventas_contables`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `v_ventas_contables` AS select `vn2008`.`time`.`year` AS `year`,`vn2008`.`time`.`month` AS `month`,cast(sum((((`m`.`Cantidad` * `m`.`Preu`) * (100 - `m`.`Descuento`)) / 100)) as decimal(10,0)) AS `importe` from (((`vn2008`.`Tickets` `t` join `bi`.`f_tvc` on((`t`.`Id_Ticket` = `bi`.`f_tvc`.`Id_Ticket`))) join `vn2008`.`Movimientos` `m` on((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) join `vn2008`.`time` on((`vn2008`.`time`.`date` = cast(`t`.`Fecha` as date)))) where (`t`.`Fecha` >= '2014-01-01') group by `vn2008`.`time`.`year`,`vn2008`.`time`.`month` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `pbx` +-- + +USE `pbx`; + +-- +-- Final view structure for view `cdrConf` +-- + +/*!50001 DROP TABLE IF EXISTS `cdrConf`*/; +/*!50001 DROP VIEW IF EXISTS `cdrConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `cdrConf` AS select `c`.`call_date` AS `calldate`,`c`.`clid` AS `clid`,`c`.`src` AS `src`,`c`.`dst` AS `dst`,`c`.`dcontext` AS `dcontext`,`c`.`channel` AS `channel`,`c`.`dst_channel` AS `dstchannel`,`c`.`last_app` AS `lastapp`,`c`.`last_data` AS `lastdata`,`c`.`duration` AS `duration`,`c`.`billsec` AS `billsec`,`c`.`disposition` AS `disposition`,`c`.`ama_flags` AS `amaflags`,`c`.`account_code` AS `accountcode`,`c`.`unique_id` AS `uniqueid`,`c`.`user_field` AS `userfield` from `cdr` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `followmeConf` +-- + +/*!50001 DROP TABLE IF EXISTS `followmeConf`*/; +/*!50001 DROP VIEW IF EXISTS `followmeConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `followmeConf` AS select `f`.`extension` AS `name`,`c`.`music` AS `music`,`c`.`context` AS `context`,`c`.`takeCall` AS `takecall`,`c`.`declineCall` AS `declinecall` from (`followme` `f` join `followmeConfig` `c`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `followmeNumberConf` +-- + +/*!50001 DROP TABLE IF EXISTS `followmeNumberConf`*/; +/*!50001 DROP VIEW IF EXISTS `followmeNumberConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `followmeNumberConf` AS select `f`.`extension` AS `name`,1 AS `ordinal`,`f`.`phone` AS `phonenumber`,`c`.`timeout` AS `timeout` from (`followme` `f` join `followmeConfig` `c`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `queueConf` +-- + +/*!50001 DROP TABLE IF EXISTS `queueConf`*/; +/*!50001 DROP VIEW IF EXISTS `queueConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `queueConf` AS select `q`.`name` AS `name`,`c`.`strategy` AS `strategy`,`c`.`timeout` AS `timeout`,`c`.`retry` AS `retry`,`c`.`weight` AS `weight`,`c`.`maxLen` AS `maxlen`,`c`.`ringInUse` AS `ringinuse` from (`queue` `q` join `queueConfig` `c` on((`q`.`config` = `c`.`id`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `queueMemberConf` +-- + +/*!50001 DROP TABLE IF EXISTS `queueMemberConf`*/; +/*!50001 DROP VIEW IF EXISTS `queueMemberConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `queueMemberConf` AS select `m`.`id` AS `uniqueid`,`m`.`queue` AS `queue_name`,concat('SIP/',`m`.`extension`) AS `interface` from `queueMember` `m` union all select `p`.`id` AS `id`,`p`.`queue` AS `queue`,concat('Local/',`p`.`phone`,'@outgoing') AS `phone` from `queuePhone` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `sipConf` +-- + +/*!50001 DROP TABLE IF EXISTS `sipConf`*/; +/*!50001 DROP VIEW IF EXISTS `sipConf`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `sipConf` AS select `s`.`user_id` AS `id`,`s`.`extension` AS `name`,`s`.`secret` AS `secret`,`s`.`caller_id` AS `callerid`,`c`.`host` AS `host`,`c`.`deny` AS `deny`,`c`.`permit` AS `permit`,`c`.`type` AS `type`,`c`.`context` AS `context`,`c`.`incomingLimit` AS `incominglimit`,`c`.`pickupGroup` AS `pickupgroup`,`c`.`careInvite` AS `careinvite`,`r`.`ipAddr` AS `ipaddr`,`r`.`regSeconds` AS `regseconds`,`r`.`port` AS `port`,`r`.`defaultUser` AS `defaultuser`,`r`.`userAgent` AS `useragent`,`r`.`lastMs` AS `lastms`,`r`.`fullContact` AS `fullcontact`,`r`.`regServer` AS `regserver` from ((`sip` `s` left join `sipReg` `r` on((`s`.`user_id` = `r`.`userId`))) join `sipConfig` `c`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `cache` +-- + +USE `cache`; + +-- +-- Current Database: `salix` +-- + +USE `salix`; + +-- +-- Final view structure for view `Account` +-- + +/*!50001 DROP TABLE IF EXISTS `Account`*/; +/*!50001 DROP VIEW IF EXISTS `Account`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Account` AS select `u`.`id` AS `id`,`u`.`name` AS `name`,`u`.`password` AS `password`,`u`.`role` AS `roleFk`,`u`.`active` AS `active`,`u`.`email` AS `email`,`u`.`created` AS `created`,`u`.`updated` AS `updated` from `account`.`user` `u` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Accounting` +-- + +/*!50001 DROP TABLE IF EXISTS `Accounting`*/; +/*!50001 DROP VIEW IF EXISTS `Accounting`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Accounting` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `accountingTypeFk`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Address` +-- + +/*!50001 DROP TABLE IF EXISTS `Address`*/; +/*!50001 DROP VIEW IF EXISTS `Address`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Address` AS select `a`.`id_consigna` AS `id`,`a`.`consignatario` AS `consignee`,`a`.`domicilio` AS `street`,`a`.`poblacion` AS `city`,`a`.`codPostal` AS `postcode`,`a`.`province_id` AS `provinceFk`,`a`.`telefono` AS `phone`,`a`.`movil` AS `mobile`,`a`.`active` AS `isEnabled`,`a`.`predeterminada` AS `isDefaultAddress`,`a`.`Id_cliente` AS `clientFk`,`a`.`Id_Agencia` AS `defaultAgencyFk`,`a`.`longitude` AS `longitude`,`a`.`latitude` AS `latitude`,`a`.`isEqualizated` AS `isEqualizated` from `vn2008`.`Consignatarios` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Agency` +-- + +/*!50001 DROP TABLE IF EXISTS `Agency`*/; +/*!50001 DROP VIEW IF EXISTS `Agency`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Agency` AS select `a`.`agency_id` AS `id`,`a`.`name` AS `name`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseAliasFk` from `vn2008`.`agency` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `AgencyMode` +-- + +/*!50001 DROP TABLE IF EXISTS `AgencyMode`*/; +/*!50001 DROP VIEW IF EXISTS `AgencyMode`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `AgencyMode` AS select `a`.`Id_Agencia` AS `id`,`a`.`Agencia` AS `name`,`a`.`description` AS `description`,`a`.`Vista` AS `agencyTypeFk`,`a`.`m3` AS `m3`,`a`.`agency_id` AS `agencyFk`,`a`.`inflacion` AS `inflation`,`a`.`send_mail` AS `sendMailTo`,`a`.`tpv` AS `isForTicket` from `vn2008`.`Agencias` `a` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Bank` +-- + +/*!50001 DROP TABLE IF EXISTS `Bank`*/; +/*!50001 DROP VIEW IF EXISTS `Bank`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Bank` AS select `b`.`Id_Banco` AS `id`,`b`.`Banco` AS `bank`,`b`.`Cuenta` AS `account`,`b`.`cash` AS `cash`,`b`.`entity_id` AS `entityFk`,`b`.`activo` AS `isActive` from `vn2008`.`Bancos` `b` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `City` +-- + +/*!50001 DROP TABLE IF EXISTS `City`*/; +/*!50001 DROP VIEW IF EXISTS `City`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `City` AS select `c`.`city_id` AS `id`,`c`.`name` AS `name`,`c`.`province_id` AS `provinceFk` from `vn2008`.`city` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Client` +-- + +/*!50001 DROP TABLE IF EXISTS `Client`*/; +/*!50001 DROP VIEW IF EXISTS `Client`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Client` AS select `c`.`id_cliente` AS `id`,`c`.`cliente` AS `name`,`c`.`if` AS `fi`,`c`.`razonSocial` AS `socialName`,`c`.`contacto` AS `contact`,`c`.`domicilio` AS `street`,`c`.`poblacion` AS `city`,`c`.`codPostal` AS `postcode`,`c`.`province_id` AS `provinceFk`,`c`.`Id_Pais` AS `countryFk`,`c`.`e-mail` AS `email`,`c`.`telefono` AS `phone`,`c`.`movil` AS `mobile`,`c`.`fax` AS `fax`,`c`.`activo` AS `active`,`c`.`descuento` AS `discount`,`c`.`credito` AS `credit`,`c`.`creditInsurance` AS `creditInsurance`,`c`.`iban` AS `iban`,`c`.`vencimiento` AS `dueDay`,`c`.`RE` AS `equalizationTax`,`c`.`invoice` AS `hasToInvoice`,`c`.`mail` AS `invoiceByEmail`,`c`.`pay_met_id` AS `payMethodFk`,`c`.`Id_Trabajador` AS `salesPersonFk`,`c`.`chanel_id` AS `contactChannelFk`,`c`.`sepaVnl` AS `sepaVnl`,`c`.`coreVnl` AS `coreVnl`,`c`.`coreVnh` AS `coreVnh`,`c`.`EYPBC` AS `eypbc`,`c`.`calidad` AS `quality`,`c`.`vies` AS `vies`,`c`.`real` AS `isRelevant`,`c`.`clientes_tipo_id` AS `typeFk`,`c`.`Cuenta` AS `accountingAccount`,`c`.`created` AS `created`,`c`.`invoiceByAddress` AS `hasToInvoiceByAddress` from `vn2008`.`Clientes` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ClientCredit` +-- + +/*!50001 DROP TABLE IF EXISTS `ClientCredit`*/; +/*!50001 DROP VIEW IF EXISTS `ClientCredit`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ClientCredit` AS select `c`.`id` AS `id`,`c`.`Id_Cliente` AS `clientFk`,`c`.`Id_Trabajador` AS `employeeFk`,`c`.`amount` AS `amount`,`c`.`odbc_date` AS `created` from `vn2008`.`credit` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ClientCreditLimit` +-- + +/*!50001 DROP TABLE IF EXISTS `ClientCreditLimit`*/; +/*!50001 DROP VIEW IF EXISTS `ClientCreditLimit`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ClientCreditLimit` AS select `l`.`id` AS `id`,`l`.`maxAmount` AS `maxAmount`,`l`.`roleFk` AS `roleFk` from `vn`.`clientCreditLimit` `l` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ClientObservation` +-- + +/*!50001 DROP TABLE IF EXISTS `ClientObservation`*/; +/*!50001 DROP VIEW IF EXISTS `ClientObservation`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ClientObservation` AS select `o`.`client_observation_id` AS `id`,`o`.`Id_Cliente` AS `clientFk`,`o`.`Id_Trabajador` AS `employeeFk`,`o`.`text` AS `text`,`o`.`odbc_date` AS `created` from `vn2008`.`client_observation` `o` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ClientType` +-- + +/*!50001 DROP TABLE IF EXISTS `ClientType`*/; +/*!50001 DROP VIEW IF EXISTS `ClientType`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ClientType` AS select `ct`.`clientes_tipo_id` AS `id`,`ct`.`code` AS `code`,`ct`.`tipo` AS `type` from `vn2008`.`clientes_tipo` `ct` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `ContactChannel` +-- + +/*!50001 DROP TABLE IF EXISTS `ContactChannel`*/; +/*!50001 DROP VIEW IF EXISTS `ContactChannel`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `ContactChannel` AS select `c`.`chanel_id` AS `id`,`c`.`name` AS `name` from `vn2008`.`chanel` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Country` +-- + +/*!50001 DROP TABLE IF EXISTS `Country`*/; +/*!50001 DROP VIEW IF EXISTS `Country`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Country` AS select `c`.`Id` AS `id`,`c`.`Pais` AS `name`,`c`.`CEE` AS `inCee`,`c`.`Codigo` AS `code`,`c`.`Id_Moneda` AS `currencyFk`,`c`.`Id_Paisreal` AS `realCountryFk` from `vn2008`.`Paises` `c` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `CreditClassification` +-- + +/*!50001 DROP TABLE IF EXISTS `CreditClassification`*/; +/*!50001 DROP VIEW IF EXISTS `CreditClassification`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `CreditClassification` AS select `vn`.`creditClassification`.`id` AS `id`,`vn`.`creditClassification`.`client` AS `clientFk`,`vn`.`creditClassification`.`dateStart` AS `started`,`vn`.`creditClassification`.`dateEnd` AS `ended` from `vn`.`creditClassification` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Delivery` +-- + +/*!50001 DROP TABLE IF EXISTS `Delivery`*/; +/*!50001 DROP VIEW IF EXISTS `Delivery`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Delivery` AS select `r`.`Id_Ruta` AS `id`,`r`.`Fecha` AS `date`,`r`.`m3` AS `m3`,`t`.`warehouse_id` AS `warehouseFk` from (`vn2008`.`Rutas` `r` join `vn2008`.`Tickets` `t` on((`r`.`Id_Ruta` = `t`.`Id_Ruta`))) where (`r`.`Fecha` = curdate()) group by `r`.`Id_Ruta` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Employee` +-- + +/*!50001 DROP TABLE IF EXISTS `Employee`*/; +/*!50001 DROP VIEW IF EXISTS `Employee`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Employee` AS select `e`.`Id_Trabajador` AS `id`,`e`.`Nombre` AS `name`,`e`.`Apellidos` AS `surname`,`e`.`user_id` AS `userFk` from `vn2008`.`Trabajadores` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `PayMethod` +-- + +/*!50001 DROP TABLE IF EXISTS `PayMethod`*/; +/*!50001 DROP VIEW IF EXISTS `PayMethod`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `PayMethod` AS select `m`.`id` AS `id`,`m`.`name` AS `name`,`m`.`graceDays` AS `graceDays`,`m`.`deudaviva` AS `outstandingDebt`,`m`.`ibanRequired` AS `ibanRequired` from `vn2008`.`pay_met` `m` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Province` +-- + +/*!50001 DROP TABLE IF EXISTS `Province`*/; +/*!50001 DROP VIEW IF EXISTS `Province`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Province` AS select `p`.`province_id` AS `id`,`p`.`name` AS `name`,`p`.`Paises_Id` AS `countryFk`,`p`.`warehouse_id` AS `warehouseFk`,`p`.`zone` AS `zoneFk` from `vn2008`.`province` `p` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Role` +-- + +/*!50001 DROP TABLE IF EXISTS `Role`*/; +/*!50001 DROP VIEW IF EXISTS `Role`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Role` AS select `r`.`id` AS `id`,`r`.`name` AS `name`,`r`.`description` AS `description`,`r`.`created` AS `created`,`r`.`modified` AS `modified` from `account`.`role` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `RoleMapping` +-- + +/*!50001 DROP TABLE IF EXISTS `RoleMapping`*/; +/*!50001 DROP VIEW IF EXISTS `RoleMapping`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `RoleMapping` AS select ((`u`.`id` * 1000) + `r`.`inheritsFrom`) AS `id`,'USER' AS `principalType`,`u`.`id` AS `principalId`,`r`.`inheritsFrom` AS `roleId` from (`account`.`user` `u` join `account`.`roleRole` `r` on((`r`.`role` = `u`.`role`))) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Route` +-- + +/*!50001 DROP TABLE IF EXISTS `Route`*/; +/*!50001 DROP VIEW IF EXISTS `Route`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Route` AS select `r`.`Id_Ruta` AS `id`,`r`.`Fecha` AS `date` from `vn2008`.`Rutas` `r` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `State` +-- + +/*!50001 DROP TABLE IF EXISTS `State`*/; +/*!50001 DROP VIEW IF EXISTS `State`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `State` AS select `s`.`id` AS `id`,`s`.`name` AS `name`,`s`.`order` AS `order`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code` from `vn2008`.`state` `s` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Ticket` +-- + +/*!50001 DROP TABLE IF EXISTS `Ticket`*/; +/*!50001 DROP VIEW IF EXISTS `Ticket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Ticket` AS select `t`.`Id_Ticket` AS `id`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Trabajador` AS `employeeFk`,`t`.`Fecha` AS `date`,`t`.`Hora` AS `hour`,`t`.`Id_Cliente` AS `clientFk` from `vn2008`.`Tickets` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `TicketState` +-- + +/*!50001 DROP TABLE IF EXISTS `TicketState`*/; +/*!50001 DROP VIEW IF EXISTS `TicketState`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `TicketState` AS select `i`.`inter_id` AS `id`,`i`.`Id_Ticket` AS `ticketFk`,`i`.`state_id` AS `stateFk`,`i`.`Id_Trabajador` AS `employeeFk`,`i`.`odbc_date` AS `updated` from `vncontrol`.`inter` `i` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Vehicle` +-- + +/*!50001 DROP TABLE IF EXISTS `Vehicle`*/; +/*!50001 DROP VIEW IF EXISTS `Vehicle`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Vehicle` AS select `v`.`Id_Vehiculo` AS `id`,`v`.`Matricula` AS `numberPlate`,`v`.`Marca` AS `tradeMark`,`v`.`Modelo` AS `model`,`v`.`empresa_id` AS `companyFk`,`v`.`warehouseFk` AS `warehouseFk`,`v`.`description` AS `description`,`v`.`m3` AS `m3`,`v`.`active` AS `isActive` from `vn2008`.`Vehiculos` `v` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Warehouse` +-- + +/*!50001 DROP TABLE IF EXISTS `Warehouse`*/; +/*!50001 DROP VIEW IF EXISTS `Warehouse`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Warehouse` AS select `w`.`id` AS `id`,`w`.`name` AS `name`,`w`.`tpv` AS `tpv`,`w`.`inventario` AS `inventory`,`w`.`isManaged` AS `isManaged` from `vn2008`.`warehouse` `w` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `WarehouseAlias` +-- + +/*!50001 DROP TABLE IF EXISTS `WarehouseAlias`*/; +/*!50001 DROP VIEW IF EXISTS `WarehouseAlias`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `WarehouseAlias` AS select `wa`.`warehouse_alias_id` AS `id`,`wa`.`alias` AS `name` from `vn2008`.`warehouse_alias` `wa` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Worker` +-- + +/*!50001 DROP TABLE IF EXISTS `Worker`*/; +/*!50001 DROP VIEW IF EXISTS `Worker`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Worker` AS select `e`.`Id_Trabajador` AS `id`,`e`.`Nombre` AS `name`,`e`.`Apellidos` AS `surname`,`e`.`user_id` AS `userFk` from `vn2008`.`Trabajadores` `e` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `Zone` +-- + +/*!50001 DROP TABLE IF EXISTS `Zone`*/; +/*!50001 DROP VIEW IF EXISTS `Zone`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Zone` AS select `z`.`zone_id` AS `id`,`z`.`name` AS `name`,`z`.`printingOrder` AS `printingOrder` from `vn2008`.`zones` `z` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Current Database: `vncontrol` +-- + +USE `vncontrol`; + +-- +-- Current Database: `hedera` +-- + +USE `hedera`; + +-- +-- Final view structure for view `address_view` +-- + +/*!50001 DROP TABLE IF EXISTS `address_view`*/; +/*!50001 DROP VIEW IF EXISTS `address_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `address_view` AS select `a`.`id_consigna` AS `id`,`a`.`Id_cliente` AS `customer_id`,`a`.`warehouse_id` AS `warehouse_id`,`a`.`domicilio` AS `name`,`a`.`poblacion` AS `city`,`a`.`province_id` AS `province_id`,`a`.`codPostal` AS `zip_code`,`a`.`consignatario` AS `consignee`,`a`.`predeterminada` AS `default`,`a`.`Id_Agencia` AS `type_id`,`a`.`especificaciones` AS `specs`,`a`.`seguro` AS `insurance`,`a`.`porte` AS `postage`,`a`.`active` AS `active` from `vn2008`.`Consignatarios` `a` where (`a`.`Id_cliente` = `account`.`userGetId`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `basket` +-- + +/*!50001 DROP TABLE IF EXISTS `basket`*/; +/*!50001 DROP VIEW IF EXISTS `basket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `basket` AS select `o`.`id` AS `id`,`o`.`date_make` AS `date_make`,`o`.`date_send` AS `date_send`,`o`.`customer_id` AS `customer_id`,`o`.`delivery_method_id` AS `delivery_method_id`,`o`.`agency_id` AS `agency_id`,`o`.`address_id` AS `address_id`,`o`.`company_id` AS `company_id`,`o`.`note` AS `note` from `hedera`.`order` `o` where (`o`.`id` = `basketGetId`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `basket_defaults` +-- + +/*!50001 DROP TABLE IF EXISTS `basket_defaults`*/; +/*!50001 DROP VIEW IF EXISTS `basket_defaults`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `basket_defaults` AS select `c`.`defaultAddressFk` AS `address_id`,`ad`.`agencyModeFk` AS `agency_id`,`m`.`code` AS `delivery_method` from (((`vn`.`client` `c` left join `vn`.`address` `ad` on((`ad`.`id` = `c`.`defaultAddressFk`))) join `vn`.`agencyMode` `a` on((`a`.`id` = `ad`.`agencyModeFk`))) join `vn`.`deliveryMethod` `m` on((`m`.`id` = `a`.`deliveryMethodFk`))) where (`c`.`id` = `account`.`userGetId`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `basket_item` +-- + +/*!50001 DROP TABLE IF EXISTS `basket_item`*/; +/*!50001 DROP VIEW IF EXISTS `basket_item`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `basket_item` AS select `r`.`id` AS `id`,`r`.`orderFk` AS `order_id`,`r`.`warehouseFk` AS `warehouse_id`,`r`.`itemFk` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price` from `hedera`.`orderRow` `r` where (`r`.`orderFk` = `BASKETGETID`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `customer_view` +-- + +/*!50001 DROP TABLE IF EXISTS `customer_view`*/; +/*!50001 DROP VIEW IF EXISTS `customer_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `customer_view` AS select `c`.`id_cliente` AS `user_id`,`c`.`cliente` AS `name`,`c`.`e-mail` AS `email`,`c`.`mail` AS `mail`,`c`.`default_address` AS `default_address`,`c`.`credito` AS `credit` from `vn2008`.`Clientes` `c` where (`c`.`id_cliente` = `account`.`userGetId`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `invoice_view` +-- + +/*!50001 DROP TABLE IF EXISTS `invoice_view`*/; +/*!50001 DROP VIEW IF EXISTS `invoice_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `invoice_view` AS select `i`.`factura_id` AS `invoice_id`,`i`.`Id_Factura` AS `serial_num`,`i`.`Fecha` AS `issued`,`i`.`Importe` AS `amount` from `vn2008`.`Facturas` `i` where ((`i`.`Id_Cliente` = `account`.`userGetId`()) and `i`.`pdf`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myAddress` +-- + +/*!50001 DROP TABLE IF EXISTS `myAddress`*/; +/*!50001 DROP VIEW IF EXISTS `myAddress`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myAddress` AS select `t`.`id` AS `id`,`t`.`clientFk` AS `clientFk`,`t`.`street` AS `street`,`t`.`city` AS `city`,`t`.`postalCode` AS `postalCode`,`t`.`provinceFk` AS `provinceFk`,`t`.`nickname` AS `nickname`,`t`.`isDefaultAddress` AS `isDefaultAddress`,`t`.`isActive` AS `isActive`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouseFk` AS `warehouseFk`,`t`.`agencyModeFk` AS `agencyModeFk` from `vn`.`address` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myClient` +-- + +/*!50001 DROP TABLE IF EXISTS `myClient`*/; +/*!50001 DROP VIEW IF EXISTS `myClient`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myClient` AS select `c`.`id` AS `id`,`c`.`isToBeMailed` AS `isToBeMailed`,`c`.`defaultAddressFk` AS `defaultAddressFk`,`c`.`credit` AS `credit` from `vn`.`client` `c` where (`c`.`id` = `account`.`userGetId`()) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myInvoice` +-- + +/*!50001 DROP TABLE IF EXISTS `myInvoice`*/; +/*!50001 DROP VIEW IF EXISTS `myInvoice`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myInvoice` AS select `i`.`id` AS `id`,`i`.`ref` AS `ref`,`i`.`issued` AS `issued`,`i`.`amount` AS `amount` from `vn`.`invoiceOut` `i` where ((`i`.`clientFk` = `account`.`userGetId`()) and `i`.`pdf`) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myMenu` +-- + +/*!50001 DROP TABLE IF EXISTS `myMenu`*/; +/*!50001 DROP VIEW IF EXISTS `myMenu`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myMenu` AS select `t`.`id` AS `id`,`t`.`path` AS `path`,`t`.`description` AS `description`,`t`.`parentFk` AS `parentFk` from (`hedera`.`menu` `t` join `account`.`userRole` `r` on((`r`.`id` = `t`.`roleFk`))) order by `t`.`parentFk`,`t`.`displayOrder`,`t`.`id` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myTicket` +-- + +/*!50001 DROP TABLE IF EXISTS `myTicket`*/; +/*!50001 DROP VIEW IF EXISTS `myTicket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myTicket` AS select `t`.`id` AS `id`,`t`.`clientFk` AS `clientFk`,`t`.`warehouseFk` AS `warehouseFk`,`t`.`shipped` AS `shipped`,`t`.`landed` AS `landed`,`t`.`nickname` AS `nickname`,`t`.`agencyModeFk` AS `agencyModeFk`,`t`.`refFk` AS `refFk`,`t`.`addressFk` AS `addressFk`,`t`.`location` AS `location`,`t`.`companyFk` AS `companyFk` from `vn`.`ticket` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myTicketRow` +-- + +/*!50001 DROP TABLE IF EXISTS `myTicketRow`*/; +/*!50001 DROP VIEW IF EXISTS `myTicketRow`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myTicketRow` AS select `s`.`id` AS `id`,`s`.`itemFk` AS `itemFk`,`s`.`ticketFk` AS `ticketFk`,`s`.`concept` AS `concept`,`s`.`quantity` AS `quantity`,`s`.`price` AS `price`,`s`.`discount` AS `discount`,`s`.`reserved` AS `reserved`,`s`.`isPicked` AS `isPicked` from (`vn`.`sale` `s` join `hedera`.`myTicket` `t` on((`s`.`ticketFk` = `t`.`id`))) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `myTpvTransaction` +-- + +/*!50001 DROP TABLE IF EXISTS `myTpvTransaction`*/; +/*!50001 DROP VIEW IF EXISTS `myTpvTransaction`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `myTpvTransaction` AS select `t`.`id` AS `id`,`t`.`merchantFk` AS `merchantFk`,`t`.`clientFk` AS `clientFk`,`t`.`receiptFk` AS `receiptFk`,`t`.`amount` AS `amount`,`t`.`response` AS `response`,`t`.`status` AS `status`,`t`.`created` AS `created` from `hedera`.`tpvTransaction` `t` where (`t`.`clientFk` = `account`.`userGetId`()) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_basket` +-- + +/*!50001 DROP TABLE IF EXISTS `order_basket`*/; +/*!50001 DROP VIEW IF EXISTS `order_basket`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_basket` AS select `t`.`clientFk` AS `customer_id`,`t`.`orderFk` AS `order_id` from `basketOrder` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_component` +-- + +/*!50001 DROP TABLE IF EXISTS `order_component`*/; +/*!50001 DROP VIEW IF EXISTS `order_component`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_component` AS select `t`.`rowFk` AS `order_row_id`,`t`.`componentFk` AS `component_id`,`t`.`price` AS `price` from `orderRowComponent` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_confirm_time` +-- + +/*!50001 DROP TABLE IF EXISTS `order_confirm_time`*/; +/*!50001 DROP VIEW IF EXISTS `order_confirm_time`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_confirm_time` AS select `o`.`date_make` AS `date_make`,`o`.`source_app` AS `source_app`,`o`.`customer_id` AS `customer_id`,`o`.`confirm_date` AS `confirm_date`,`o`.`first_row_stamp` AS `first_row_stamp`,(ceiling((((unix_timestamp(`o`.`confirm_date`) - unix_timestamp(`o`.`first_row_stamp`)) / 60) / 5)) * 5) AS `minutos` from `order` `o` where ((`o`.`confirm_date` is not null) and (`o`.`first_row_stamp` is not null)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_row` +-- + +/*!50001 DROP TABLE IF EXISTS `order_row`*/; +/*!50001 DROP VIEW IF EXISTS `order_row`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_row` AS select `t`.`id` AS `id`,`t`.`orderFk` AS `order_id`,`t`.`itemFk` AS `item_id`,`t`.`warehouseFk` AS `warehouse_id`,`t`.`shipment` AS `shipment`,`t`.`amount` AS `amount`,`t`.`price` AS `price`,`t`.`rate` AS `rate`,`t`.`created` AS `created`,`t`.`saleFk` AS `Id_Movimiento` from `orderRow` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_row_view` +-- + +/*!50001 DROP TABLE IF EXISTS `order_row_view`*/; +/*!50001 DROP VIEW IF EXISTS `order_row_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_row_view` AS select `r`.`id` AS `id`,`r`.`order_id` AS `order_id`,`r`.`warehouse_id` AS `warehouse_id`,`r`.`item_id` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price2` from `hedera`.`order_row` `r` where `r`.`order_id` in (select `order_view`.`id` AS `id` from `hedera`.`order_view`) */ +/*!50002 WITH CASCADED CHECK OPTION */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `order_view` +-- + +/*!50001 DROP TABLE IF EXISTS `order_view`*/; +/*!50001 DROP VIEW IF EXISTS `order_view`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `order_view` AS select `o`.`id` AS `id`,`o`.`date_make` AS `date_make`,`o`.`date_send` AS `date_send`,`o`.`customer_id` AS `customer_id`,`o`.`delivery_method_id` AS `delivery_method_id`,`o`.`agency_id` AS `agency_id`,`o`.`note` AS `note`,`o`.`address_id` AS `address_id`,`o`.`company_id` AS `company_id` from `hedera`.`order` `o` where ((`o`.`customer_id` = `account`.`userGetId`()) and (`o`.`is_bionic` = 0)) */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; + +-- +-- Final view structure for view `user_android` +-- + +/*!50001 DROP TABLE IF EXISTS `user_android`*/; +/*!50001 DROP VIEW IF EXISTS `user_android`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `user_android` AS select `t`.`androidId` AS `android_id`,`t`.`userFk` AS `user_id` from `androidUser` `t` */; +/*!50001 SET character_set_client = @saved_cs_client */; +/*!50001 SET character_set_results = @saved_cs_results */; +/*!50001 SET collation_connection = @saved_col_connection */; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-02-23 8:53:49 diff --git a/services/db/02-dumpedFixtures.sql b/services/db/02-dumpedFixtures.sql index 94e3041bd..440f67981 100644 --- a/services/db/02-dumpedFixtures.sql +++ b/services/db/02-dumpedFixtures.sql @@ -1,96 +1,92 @@ -USE `account`; --- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) --- --- Host: db.verdnatura.es Database: account --- ------------------------------------------------------ --- 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 */; - --- --- Dumping data for table `role` --- - -LOCK TABLES `role` WRITE; -/*!40000 ALTER TABLE `role` DISABLE KEYS */; -INSERT INTO `role` VALUES (0,'root','Rol con todos los privilegios',0,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(1,'employee','Empleado básico',1,'2017-05-19 07:04:58','2017-11-29 10:06:31'),(2,'customer','Privilegios básicos de un cliente',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(3,'agency','Consultar tablas de predicciones de bultos',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(5,'administrative','Tareas relacionadas con la contabilidad',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(6,'guest','Privilegios para usuarios sin cuenta',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(9,'developer','Desarrolladores del sistema',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(11,'account','Privilegios relacionados con el login',0,'2017-05-19 07:04:58','2017-09-20 17:06:35'),(13,'teamBoss','Jefe de departamento',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(14,'manageEmployee','Privilegios para gestión de empleados',0,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(15,'logistic','Departamento de compras, responsables de la logistica',1,'2017-05-19 07:04:58','2018-02-12 10:50:10'),(16,'logisticBoss','Jefe del departamento de logística',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(17,'adminBoss','Jefe del departamento de administración',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(18,'salesPerson','Departamento de ventas',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(19,'salesBoss','Jefe del departamento de ventas',1,'2017-05-19 07:04:58','2017-08-16 12:38:27'),(20,'manager','Departamento de gerencia',1,'2017-06-01 14:57:02','2017-06-01 14:57:51'),(21,'salesAssistant','Jefe auxiliar de ventas',1,'2017-08-16 12:40:52','2017-08-16 12:40:52'),(22,'teamManager','Jefe de departamento con privilegios de auxiliar de venta.',1,'2017-09-07 09:08:12','2017-09-07 09:08:12'),(30,'financialBoss','Director finaciero',1,'2017-09-21 11:05:36','2017-09-21 11:05:36'),(31,'freelancer','Trabajadores por cuenta ajena',1,'2017-10-10 12:57:26','2017-10-10 12:59:27'),(32,'ett','Trabajadores de empresa temporal',1,'2017-10-10 12:58:58','2017-10-10 12:59:20'),(33,'invoicing','Personal con acceso a facturación',0,'2018-01-29 16:43:34','2018-01-29 16:43:34'),(34,'agencyAdmin','Gestión administrativa de agencias',1,'2018-01-29 16:44:39','2018-01-29 16:44:39'),(35,'buyer','Departamento de compras',1,'2018-02-12 10:35:42','2018-02-12 10:35:42'),(36,'replenisher','Trabajador en la camara',1,'2018-02-16 14:07:10','2018-02-16 14:08:11'); -/*!40000 ALTER TABLE `role` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `roleRole` --- - -LOCK TABLES `roleRole` WRITE; -/*!40000 ALTER TABLE `roleRole` DISABLE KEYS */; -INSERT INTO `roleRole` VALUES (0,0),(0,1),(0,2),(0,3),(0,5),(0,6),(0,9),(0,11),(0,13),(0,14),(0,15),(0,16),(0,17),(0,18),(0,19),(0,20),(0,21),(0,22),(0,30),(0,31),(0,32),(0,33),(0,34),(0,35),(0,36),(1,1),(1,2),(1,3),(1,6),(1,11),(2,2),(2,6),(2,11),(3,3),(3,6),(3,11),(5,1),(5,2),(5,3),(5,5),(5,6),(5,11),(5,13),(5,14),(5,18),(5,19),(5,21),(5,33),(6,6),(9,0),(9,1),(9,2),(9,3),(9,5),(9,6),(9,9),(9,11),(9,13),(9,14),(9,15),(9,16),(9,17),(9,18),(9,19),(9,20),(9,21),(9,22),(9,30),(9,31),(9,32),(9,33),(9,34),(9,35),(9,36),(11,6),(11,11),(13,1),(13,2),(13,3),(13,6),(13,11),(13,13),(13,14),(14,14),(15,1),(15,2),(15,3),(15,6),(15,11),(15,15),(15,35),(16,1),(16,2),(16,3),(16,6),(16,11),(16,13),(16,14),(16,15),(16,16),(16,35),(17,1),(17,2),(17,3),(17,5),(17,6),(17,11),(17,13),(17,14),(17,17),(17,18),(17,19),(17,20),(17,21),(17,33),(18,1),(18,2),(18,3),(18,6),(18,11),(18,18),(19,1),(19,2),(19,3),(19,6),(19,11),(19,13),(19,14),(19,18),(19,19),(19,21),(20,1),(20,2),(20,3),(20,6),(20,11),(20,13),(20,14),(20,20),(21,1),(21,2),(21,3),(21,6),(21,11),(21,13),(21,14),(21,18),(21,21),(22,1),(22,2),(22,3),(22,6),(22,11),(22,13),(22,14),(22,18),(22,21),(22,22),(30,1),(30,2),(30,3),(30,5),(30,6),(30,11),(30,13),(30,14),(30,18),(30,19),(30,20),(30,21),(30,22),(30,30),(30,33),(31,1),(31,2),(31,3),(31,6),(31,11),(31,31),(32,1),(32,2),(32,3),(32,6),(32,11),(32,32),(33,33),(34,1),(34,2),(34,3),(34,6),(34,11),(34,33),(34,34),(35,1),(35,2),(35,3),(35,6),(35,11),(35,35),(36,1),(36,2),(36,3),(36,6),(36,11),(36,36); -/*!40000 ALTER TABLE `roleRole` ENABLE KEYS */; -UNLOCK TABLES; - --- --- Dumping data for table `roleInherit` --- - -LOCK TABLES `roleInherit` WRITE; -/*!40000 ALTER TABLE `roleInherit` DISABLE KEYS */; -INSERT INTO `roleInherit` VALUES (9,0),(5,1),(13,1),(18,1),(31,1),(32,1),(34,1),(35,1),(36,1),(1,2),(5,2),(1,3),(17,5),(30,5),(11,6),(1,11),(2,11),(3,11),(16,13),(17,13),(19,13),(20,13),(21,13),(22,13),(5,14),(13,14),(16,15),(21,18),(5,19),(17,20),(30,20),(19,21),(22,21),(30,22),(5,33),(34,33),(15,35); -/*!40000 ALTER TABLE `roleInherit` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2018-02-20 14:01:13 -USE `salix`; --- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) --- --- Host: db.verdnatura.es Database: salix --- ------------------------------------------------------ --- 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 */; - --- --- Dumping data for table `ACL` --- - -LOCK TABLES `ACL` WRITE; -/*!40000 ALTER TABLE `ACL` DISABLE KEYS */; -INSERT INTO `ACL` VALUES (1,'Account','*','*','ALLOW','ROLE','employee'),(3,'Address','*','*','ALLOW','ROLE','employee'),(5,'AgencyService','*','READ','ALLOW','ROLE','employee'),(7,'Client','*','*','ALLOW','ROLE','employee'),(9,'ClientObservation','*','*','ALLOW','ROLE','employee'),(11,'ContactChannel','*','READ','ALLOW','ROLE','employee'),(13,'Employee','*','READ','ALLOW','ROLE','employee'),(14,'PayMethod','*','READ','ALLOW','ROLE','employee'),(16,'FakeProduction','*','READ','ALLOW','ROLE','employee'),(17,'Warehouse','* ','READ','ALLOW','ROLE','employee'),(18,'State','*','READ','ALLOW','ROLE','employee'),(20,'TicketState','*','*','ALLOW','ROLE','employee'),(24,'Delivery','*','READ','ALLOW','ROLE','employee'),(25,'Zone','*','READ','ALLOW','ROLE','employee'),(26,'ClientCredit','*','*','ALLOW','ROLE','employee'),(27,'ClientCreditLimit','*','READ','ALLOW','ROLE','employee'),(28,'ClientObservation','*','READ','ALLOW','ROLE','employee'),(30,'GreugeType','*','READ','ALLOW','ROLE','employee'),(31,'Mandate','*','READ','ALLOW','ROLE','employee'),(32,'MandateType','*','READ','ALLOW','ROLE','employee'),(33,'Company','*','READ','ALLOW','ROLE','employee'),(34,'Greuge','*','READ','ALLOW','ROLE','employee'),(35,'AddressObservation','*','*','ALLOW','ROLE','employee'),(36,'ObservationType','*','*','ALLOW','ROLE','employee'),(37,'Greuge','*','WRITE','ALLOW','ROLE','employee'),(38,'AgencyMode','*','READ','ALLOW','ROLE','employee'),(39,'ItemTag','*','WRITE','ALLOW','ROLE','buyer'),(40,'ItemBotanical','*','WRITE','ALLOW','ROLE','buyer'),(41,'ItemBotanical','*','READ','ALLOW','ROLE','employee'),(42,'ItemPlacement','*','WRITE','ALLOW','ROLE','buyer'),(43,'ItemPlacement','*','WRITE','ALLOW','ROLE','replenisher'),(44,'ItemPlacement','*','READ','ALLOW','ROLE','employee'),(45,'ItemBarcode','*','READ','ALLOW','ROLE','employee'),(46,'ItemBarcode','*','WRITE','ALLOW','ROLE','buyer'),(47,'ItemBarcode','*','WRITE','ALLOW','ROLE','replenisher'),(48,'ItemNiche','*','READ','ALLOW','ROLE','employee'),(49,'ItemNiche','*','WRITE','ALLOW','ROLE','buyer'),(50,'ItemNiche','*','WRITE','ALLOW','ROLE','replenisher'),(51,'ItemTag','*','READ','ALLOW','ROLE','employee'),(52,'ItemTag','*','WRITE','ALLOW','ROLE','buyer'),(53,'Item','*','READ','ALLOW','ROLE','employee'),(54,'Item','*','WRITE','ALLOW ','ROLE','buyer'); -/*!40000 ALTER TABLE `ACL` ENABLE KEYS */; -UNLOCK TABLES; -/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; - -/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; -/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; -/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; -/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; -/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; -/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; - --- Dump completed on 2018-02-20 14:01:13 +USE `account`; +-- MySQL dump 10.16 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) +-- +-- Host: db.verdnatura.es Database: account +-- ------------------------------------------------------ +-- 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_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 */; + +-- +-- Dumping data for table `role` +-- + +LOCK TABLES `role` WRITE; +/*!40000 ALTER TABLE `role` DISABLE KEYS */; +INSERT INTO `role` VALUES (0,'root','Rol con todos los privilegios',0,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(1,'employee','Empleado básico',1,'2017-05-19 07:04:58','2017-11-29 10:06:31'),(2,'customer','Privilegios básicos de un cliente',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(3,'agency','Consultar tablas de predicciones de bultos',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(5,'administrative','Tareas relacionadas con la contabilidad',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(6,'guest','Privilegios para usuarios sin cuenta',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(9,'developer','Desarrolladores del sistema',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(11,'account','Privilegios relacionados con el login',0,'2017-05-19 07:04:58','2017-09-20 17:06:35'),(13,'teamBoss','Jefe de departamento',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(15,'logistic','Departamento de compras, responsables de la logistica',1,'2017-05-19 07:04:58','2018-02-12 10:50:10'),(16,'logisticBoss','Jefe del departamento de logística',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(17,'adminBoss','Jefe del departamento de administración',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(18,'salesPerson','Departamento de ventas',1,'2017-05-19 07:04:58','2017-05-19 07:04:58'),(19,'salesBoss','Jefe del departamento de ventas',1,'2017-05-19 07:04:58','2017-08-16 12:38:27'),(20,'manager','Departamento de gerencia',1,'2017-06-01 14:57:02','2017-06-01 14:57:51'),(21,'salesAssistant','Jefe auxiliar de ventas',1,'2017-08-16 12:40:52','2017-08-16 12:40:52'),(22,'teamManager','Jefe de departamento con privilegios de auxiliar de venta.',1,'2017-09-07 09:08:12','2017-09-07 09:08:12'),(30,'financialBoss','Director finaciero',1,'2017-09-21 11:05:36','2017-09-21 11:05:36'),(31,'freelancer','Trabajadores por cuenta ajena',1,'2017-10-10 12:57:26','2017-10-10 12:59:27'),(32,'ett','Trabajadores de empresa temporal',1,'2017-10-10 12:58:58','2017-10-10 12:59:20'),(33,'invoicing','Personal con acceso a facturación',0,'2018-01-29 16:43:34','2018-01-29 16:43:34'),(34,'agencyBoss','Jefe/a del departamento de agencias',1,'2018-01-29 16:44:39','2018-02-23 07:58:53'),(35,'buyer','Departamento de compras',1,'2018-02-12 10:35:42','2018-02-12 10:35:42'),(36,'replenisher','Trabajador en la camara',1,'2018-02-16 14:07:10','2018-02-16 14:08:11'),(37,'hr','Gestor/a de recursos humanos',1,'2018-02-22 17:34:53','2018-02-22 17:34:53'),(38,'hrBoss','Jefe/a de recursos humanos',1,'2018-02-22 17:35:09','2018-02-22 17:35:09'); +/*!40000 ALTER TABLE `role` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Dumping data for table `roleRole` +-- + +LOCK TABLES `roleRole` WRITE; +/*!40000 ALTER TABLE `roleRole` DISABLE KEYS */; +INSERT INTO `roleRole` VALUES (0,0),(0,1),(0,2),(0,3),(0,5),(0,6),(0,9),(0,11),(0,13),(0,15),(0,16),(0,17),(0,18),(0,19),(0,20),(0,21),(0,22),(0,30),(0,31),(0,32),(0,33),(0,34),(0,35),(0,36),(0,37),(0,38),(1,1),(1,2),(1,3),(1,6),(1,11),(2,2),(2,6),(2,11),(3,3),(3,6),(3,11),(5,1),(5,2),(5,3),(5,5),(5,6),(5,11),(5,13),(5,18),(5,19),(5,21),(5,33),(6,6),(9,0),(9,1),(9,2),(9,3),(9,5),(9,6),(9,9),(9,11),(9,13),(9,15),(9,16),(9,17),(9,18),(9,19),(9,20),(9,21),(9,22),(9,30),(9,31),(9,32),(9,33),(9,34),(9,35),(9,36),(9,37),(9,38),(11,6),(11,11),(13,1),(13,2),(13,3),(13,6),(13,11),(13,13),(15,1),(15,2),(15,3),(15,6),(15,11),(15,15),(15,35),(16,1),(16,2),(16,3),(16,6),(16,11),(16,13),(16,15),(16,16),(16,35),(17,1),(17,2),(17,3),(17,5),(17,6),(17,11),(17,13),(17,17),(17,18),(17,19),(17,20),(17,21),(17,33),(17,37),(18,1),(18,2),(18,3),(18,6),(18,11),(18,18),(19,1),(19,2),(19,3),(19,6),(19,11),(19,13),(19,18),(19,19),(19,21),(20,1),(20,2),(20,3),(20,6),(20,11),(20,13),(20,20),(21,1),(21,2),(21,3),(21,6),(21,11),(21,13),(21,18),(21,21),(22,1),(22,2),(22,3),(22,6),(22,11),(22,13),(22,18),(22,21),(22,22),(30,1),(30,2),(30,3),(30,5),(30,6),(30,11),(30,13),(30,18),(30,19),(30,20),(30,21),(30,22),(30,30),(30,33),(31,1),(31,2),(31,3),(31,6),(31,11),(31,31),(32,1),(32,2),(32,3),(32,6),(32,11),(32,32),(33,33),(34,1),(34,2),(34,3),(34,6),(34,11),(34,13),(34,33),(34,34),(35,1),(35,2),(35,3),(35,6),(35,11),(35,35),(36,1),(36,2),(36,3),(36,6),(36,11),(36,36),(37,1),(37,2),(37,3),(37,6),(37,11),(37,37),(38,1),(38,2),(38,3),(38,6),(38,11),(38,37),(38,38); +/*!40000 ALTER TABLE `roleRole` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Dumping data for table `roleInherit` +-- + +LOCK TABLES `roleInherit` WRITE; +/*!40000 ALTER TABLE `roleInherit` DISABLE KEYS */; +INSERT INTO `roleInherit` VALUES (9,0),(5,1),(13,1),(18,1),(31,1),(32,1),(34,1),(35,1),(36,1),(37,1),(1,2),(5,2),(1,3),(17,5),(30,5),(11,6),(1,11),(2,11),(3,11),(16,13),(17,13),(19,13),(20,13),(21,13),(22,13),(34,13),(16,15),(21,18),(5,19),(17,20),(30,20),(19,21),(22,21),(30,22),(5,33),(34,33),(15,35),(17,37),(38,37); +/*!40000 ALTER TABLE `roleInherit` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-02-23 9:05:51 +USE `salix`; +-- MySQL dump 10.16 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) +-- +-- Host: db.verdnatura.es Database: salix +-- ------------------------------------------------------ +-- 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_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 */; + +-- +-- Dumping data for table `ACL` +-- + +LOCK TABLES `ACL` WRITE; +/*!40000 ALTER TABLE `ACL` DISABLE KEYS */; +INSERT INTO `ACL` VALUES (1,'Account','*','*','ALLOW','ROLE','employee'),(3,'Address','*','*','ALLOW','ROLE','employee'),(5,'AgencyService','*','READ','ALLOW','ROLE','employee'),(7,'Client','*','*','ALLOW','ROLE','employee'),(9,'ClientObservation','*','*','ALLOW','ROLE','employee'),(11,'ContactChannel','*','READ','ALLOW','ROLE','employee'),(13,'Employee','*','READ','ALLOW','ROLE','employee'),(14,'PayMethod','*','READ','ALLOW','ROLE','employee'),(16,'FakeProduction','*','READ','ALLOW','ROLE','employee'),(17,'Warehouse','* ','READ','ALLOW','ROLE','employee'),(18,'State','*','READ','ALLOW','ROLE','employee'),(20,'TicketState','*','*','ALLOW','ROLE','employee'),(24,'Delivery','*','READ','ALLOW','ROLE','employee'),(25,'Zone','*','READ','ALLOW','ROLE','employee'),(26,'ClientCredit','*','*','ALLOW','ROLE','employee'),(27,'ClientCreditLimit','*','READ','ALLOW','ROLE','employee'),(28,'ClientObservation','*','READ','ALLOW','ROLE','employee'),(30,'GreugeType','*','READ','ALLOW','ROLE','employee'),(31,'Mandate','*','READ','ALLOW','ROLE','employee'),(32,'MandateType','*','READ','ALLOW','ROLE','employee'),(33,'Company','*','READ','ALLOW','ROLE','employee'),(34,'Greuge','*','READ','ALLOW','ROLE','employee'),(35,'AddressObservation','*','*','ALLOW','ROLE','employee'),(36,'ObservationType','*','*','ALLOW','ROLE','employee'),(37,'Greuge','*','WRITE','ALLOW','ROLE','employee'),(38,'AgencyMode','*','READ','ALLOW','ROLE','employee'),(39,'ItemTag','*','WRITE','ALLOW','ROLE','buyer'),(40,'ItemBotanical','*','WRITE','ALLOW','ROLE','buyer'),(41,'ItemBotanical','*','READ','ALLOW','ROLE','employee'),(42,'ItemPlacement','*','WRITE','ALLOW','ROLE','buyer'),(43,'ItemPlacement','*','WRITE','ALLOW','ROLE','replenisher'),(44,'ItemPlacement','*','READ','ALLOW','ROLE','employee'),(45,'ItemBarcode','*','READ','ALLOW','ROLE','employee'),(46,'ItemBarcode','*','WRITE','ALLOW','ROLE','buyer'),(47,'ItemBarcode','*','WRITE','ALLOW','ROLE','replenisher'),(48,'ItemNiche','*','READ','ALLOW','ROLE','employee'),(49,'ItemNiche','*','WRITE','ALLOW','ROLE','buyer'),(50,'ItemNiche','*','WRITE','ALLOW','ROLE','replenisher'),(51,'ItemTag','*','READ','ALLOW','ROLE','employee'),(52,'ItemTag','*','WRITE','ALLOW','ROLE','buyer'),(53,'Item','*','READ','ALLOW','ROLE','employee'),(54,'Item','*','WRITE','ALLOW','ROLE','buyer'); +/*!40000 ALTER TABLE `ACL` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2018-02-23 9:05:51 diff --git a/services/db/04-fixtures.sql b/services/db/04-fixtures.sql index b1210c5cb..8ea146dad 100644 --- a/services/db/04-fixtures.sql +++ b/services/db/04-fixtures.sql @@ -2,11 +2,11 @@ INSERT INTO `util`.`config` ( `dbVersion`, `hasTriggersDisabled`, `environment`) VALUES ('1.0.0', '0', 'development'); INSERT INTO `account`.`user`(`name`,`password`,`role`,`active`,`email`) - SELECT name,'ac754a330530832ba1bf7687f577da91',id,1,CONCAT(name,'@verdnatura.es') + SELECT name, MD5('nightmare'), id, 1, CONCAT(name, '@verdnatura.es') FROM `account`.`role`; INSERT INTO `vn`.`worker`(`workerCode`, `firstName`, `name`, `userFk`) - SELECT UPPER(LPAD(role, 3, '0')),name,name,id + SELECT UPPER(LPAD(role, 3, '0')), name, name, id FROM `vn`.`user`; INSERT INTO `account`.`user`(`id`,`name`,`password`,`role`,`active`,`email`) diff --git a/services/db/changes/1.0.0/05-articles_nicho.sql b/services/db/changes/1.0.0/05-articles_nicho.sql index 8609181ea..0eec346ce 100644 --- a/services/db/changes/1.0.0/05-articles_nicho.sql +++ b/services/db/changes/1.0.0/05-articles_nicho.sql @@ -1,3 +1,6 @@ +/* +-- ERROR 1091 (42000) at line 1: Can't DROP 'Articles_nichos_fk'; check that column/key exists + ALTER TABLE `vn2008`.`Articles_nicho` DROP FOREIGN KEY `Articles_nichos_fk`; ALTER TABLE `vn2008`.`Articles_nicho` @@ -11,6 +14,4 @@ ADD CONSTRAINT `Articles_nichos_fk` REFERENCES `vn2008`.`Articles` (`Id_Article`) ON DELETE CASCADE ON UPDATE CASCADE; - - - +*/ \ No newline at end of file diff --git a/services/db/changes/1.0.0/07-createUnique.sql b/services/db/changes/1.0.0/07-createUnique.sql index 182e3c3ce..84c2167a9 100644 --- a/services/db/changes/1.0.0/07-createUnique.sql +++ b/services/db/changes/1.0.0/07-createUnique.sql @@ -1,2 +1,6 @@ +/* +-- ERROR 1061 (42000) at line 1: Duplicate key name 'Id_Article_UNIQUE' + ALTER TABLE `vn2008`.`Articles_nicho` ADD UNIQUE INDEX `Id_Article_UNIQUE` (`Id_Article` ASC, `warehouse_id` ASC); +*/ diff --git a/services/db/export-data.cmd b/services/db/export-data.cmd old mode 100644 new mode 100755 index b2c929413..0972b0a0d --- a/services/db/export-data.cmd +++ b/services/db/export-data.cmd @@ -1,5 +1,5 @@ -echo USE `account`; > 02-dumpedFixtures.sql +echo "USE \`account\`;" > 02-dumpedFixtures.sql mysqldump --defaults-file=connect.ini --no-create-info account role roleRole roleInherit >> 02-dumpedFixtures.sql -echo USE `salix`; >> 02-dumpedFixtures.sql +echo "USE \`salix\`;" >> 02-dumpedFixtures.sql mysqldump --defaults-file=connect.ini --no-create-info salix ACL >> 02-dumpedFixtures.sql diff --git a/services/item/common/methods/item/crudItemTags.js b/services/item/common/methods/item/crudItemTags.js new file mode 100644 index 000000000..e02497e58 --- /dev/null +++ b/services/item/common/methods/item/crudItemTags.js @@ -0,0 +1,36 @@ +module.exports = Self => { + Self.remoteMethod('crudItemTags', { + description: 'create, update or delete itemTags', + accessType: 'WRITE', + accepts: [ + { + arg: 'itemtags', + type: 'Object', + require: true, + description: 'object with itemTags to create, update or delete, Example: {create: [], update: [], delete: []}', + http: {source: 'body'} + } + ], + http: { + path: `/crudItemTags`, + verb: 'post' + } + }); + + Self.crudItemTags = itemtags => { + let promises = []; + + if (itemtags.delete && itemtags.delete.length) { + promises.push(Self.destroyAll({id: {inq: itemtags.delete}})); + } + if (itemtags.create.length) { + promises.push(Self.create(itemtags.create)); + } + if (itemtags.update.length) { + itemtags.update.forEach(itemtag => { + promises.push(Self.upsert(itemtag)); + }); + } + return Promise.all(promises); + }; +}; diff --git a/services/item/common/methods/item/updateTaxes.js b/services/item/common/methods/item/updateTaxes.js new file mode 100644 index 000000000..502b2763f --- /dev/null +++ b/services/item/common/methods/item/updateTaxes.js @@ -0,0 +1,38 @@ +module.exports = Self => { + Self.remoteMethod('updateTaxes', { + description: 'Updates the item taxes', + accessType: 'WRITE', + accepts: [{ + arg: 'id', + type: 'number', + required: true, + description: 'The item id', + http: {source: 'path'} + }, { + arg: 'niches', + type: ['object'], + required: true, + description: 'The list of taxes to update', + http: {source: 'body'} + }], + returns: { + type: 'boolean', + root: true + }, + http: { + path: `/:id/updateTaxes`, + verb: 'post' + } + }); + + Self.updateTaxes = async (id, taxes) => { + let promises = []; + for (let tax of taxes) + promises.push(Self.app.models.ItemTaxCountry.updateAll( + {id: tax.id}, + {taxClassFk: tax.taxClassFk} + )); + await Promise.all(promises); + return true; + }; +}; diff --git a/services/item/common/models/item-niche.json b/services/item/common/models/item-niche.json index 035c07e6b..1317987c6 100644 --- a/services/item/common/models/item-niche.json +++ b/services/item/common/models/item-niche.json @@ -22,7 +22,8 @@ "warehouse": { "type": "belongsTo", "model": "Warehouse", - "foreignKey": "warehouseFk" + "foreignKey": "warehouseFk", + "required": true } } } diff --git a/services/item/common/models/item-tag.js b/services/item/common/models/item-tag.js new file mode 100644 index 000000000..d4e768bdb --- /dev/null +++ b/services/item/common/models/item-tag.js @@ -0,0 +1,3 @@ +module.exports = function(Self) { + require('../methods/item/crudItemTags.js')(Self); +}; diff --git a/services/item/common/models/item-tax-country.json b/services/item/common/models/item-tax-country.json new file mode 100644 index 000000000..7f67a271e --- /dev/null +++ b/services/item/common/models/item-tax-country.json @@ -0,0 +1,36 @@ +{ + "name": "ItemTaxCountry", + "base": "VnModel", + "options": { + "mysql": { + "table": "itemTaxCountry" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "effectived": { + "type": "Boolean" + } + }, + "relations": { + "item": { + "type": "belongsTo", + "model": "Item", + "foreignKey": "itemFk" + }, + "country": { + "type": "belongsTo", + "model": "Country", + "foreignKey": "countryFk" + }, + "taxClass": { + "type": "belongsTo", + "model": "TaxClass", + "foreignKey": "taxClassFk" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/item.js b/services/item/common/models/item.js index af0b626f3..627b6993b 100644 --- a/services/item/common/models/item.js +++ b/services/item/common/models/item.js @@ -1,6 +1,7 @@ module.exports = function(Self) { require('../methods/item/filter.js')(Self); require('../methods/item/clone.js')(Self); + require('../methods/item/updateTaxes.js')(Self); Self.validatesPresenceOf('name', {message: 'Cannot be blank'}); Self.validatesPresenceOf('originFk', {message: 'Cannot be blank'}); diff --git a/services/item/common/models/item.json b/services/item/common/models/item.json index daff68084..ddb8ff4d3 100644 --- a/services/item/common/models/item.json +++ b/services/item/common/models/item.json @@ -85,6 +85,11 @@ "model": "ItemBarcode", "foreignKey": "itemFk" }, + "taxes": { + "type": "hasMany", + "model": "ItemTaxCountry", + "foreignKey": "itemFk" + }, "itemNiche": { "type": "hasMany", "model": "ItemNiche", diff --git a/services/item/server/model-config.json b/services/item/server/model-config.json index 83b473a5a..229054dd6 100644 --- a/services/item/server/model-config.json +++ b/services/item/server/model-config.json @@ -50,6 +50,9 @@ "ItemPlacement": { "dataSource": "vn" }, + "ItemTaxCountry": { + "dataSource": "vn" + }, "Warehouse": { "dataSource": "vn" }, diff --git a/services/loopback/common/locale/es.json b/services/loopback/common/locale/es.json index ee023dcf7..7e09dd22c 100644 --- a/services/loopback/common/locale/es.json +++ b/services/loopback/common/locale/es.json @@ -4,5 +4,6 @@ "Unable to mark the equivalence surcharge": "No se puede marcar el recargo de equivalencia", "The default consignee can not be unchecked": "No se puede desmarcar el consignatario predeterminado", "Unable to default a disabled consignee": "No se puede poner predeterminado un consignatario desactivado", - "El método de pago seleccionado requiere que se especifique el IBAN": "El método de pago seleccionado requiere que se especifique el IBAN" + "El método de pago seleccionado requiere que se especifique el IBAN": "El método de pago seleccionado requiere que se especifique el IBAN", + "can't be blank": "can't be blank" } \ No newline at end of file diff --git a/services/loopback/favicon.ico b/services/loopback/favicon.ico index 0de7b90c9..e02ec7eab 100644 Binary files a/services/loopback/favicon.ico and b/services/loopback/favicon.ico differ