diff --git a/.vscode/launch.json b/.vscode/launch.json index ecebe6bce5..b35ebd9e4f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,26 +1,6 @@ { "version": "0.2.0", "configurations": [ - { - "name": "Iniciar", - "type": "node", - "request": "launch", - "program": "${workspaceRoot}/services/auth/server/server.js", - "stopOnEntry": false, - "args": [], - "cwd": "${workspaceRoot}", - "preLaunchTask": null, - "runtimeExecutable": null, - "runtimeArgs": [ - "--nolazy" - ], - "env": { - "NODE_ENV": "development" - }, - "console": "internalConsole", - "sourceMaps": false, - "outFiles": [] - }, { "name": "Asociar", "type": "node", diff --git a/Jenkinsfile b/Jenkinsfile index 06f77ffed9..2dd18f147e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -43,7 +43,7 @@ node stage ("Stopping/Removing Docker") { - sh "docker-compose down --rmi all" + sh "docker-compose down --rmi 'all'" } stage ("Generar dockers") @@ -51,4 +51,4 @@ node sh "docker-compose up -d --build" } } -} \ No newline at end of file +} diff --git a/README.md b/README.md index a8df77f6ab..8bd93762d9 100644 --- a/README.md +++ b/README.md @@ -1,53 +1,67 @@ # Project Title -One Paragraph of project description goes here +Salix is an Enterprise resource planning (ERP) integrated management of core business processes, in real-time and mediated by software and technology developed with the stack listed below. + +Salix is also the scientific name of a beautifull tree! :) ### Prerequisites -For testing purposes you will need to install globally the following items: -npm install -g karma -npm install -g karma-cli - -## Getting Started // ### Installing - -Pull from repo. - -install nodejs v6 or above. +You will need to install globally the following items: +$ npm install -g karma +$ npm install -g karma-cli +$ npm install -g gulp +$ npm install -g webpack +$ npm install -g nodemon install nginx globally. -Ask a senior dev for the datasources.development.json files required to run the project. +## Getting Started // ### Installing + +Pull from repository. + +install nodejs v6. + +Ask a senior developer for the datasources.development.json files required to run the project. on root run: -npm install -gulp install +$ npm install +$ gulp install lauching nginx: -./dev.sh +$ ./dev.sh launching frontend: -gulp client +$ gulp client +or start nginx before client on sequence +$ gulp clientDev launching backend: -gulp services +$ gulp services +or start the local database before services on sequence +$ gulp serivcesDev + +Manually reset local fixtures: +$ gulp docker + +to check docker images and containers status: +$ docker images +$ docker ps -a ## Running the tests for client-side unit tests run from project's root: -karma start +$ karma start for server-side unit tests run from project's root: -npm run testWatch or test for single run +$ npm run test ### Break down into end to end tests -on root run: +Run local database plus e2e paths: +$ gulp e2e -gulp docker - -wait 10 secs for db to be ready - -npm run e2e +Just the e2e paths as the fixtures are untainted: +$ npm run e2e ## Built With diff --git a/client/auth/src/login/login.js b/client/auth/src/login/login.js index 229c1a345a..22783f9ab2 100644 --- a/client/auth/src/login/login.js +++ b/client/auth/src/login/login.js @@ -48,7 +48,6 @@ export default class Controller { onLoginErr(json) { this.loading = false; this.password = ''; - this.focusUser(); let message; @@ -64,6 +63,7 @@ export default class Controller { } this.showMessage(message); + this.focusUser(); } focusUser() { this.$.userField.select(); diff --git a/client/client/routes.json b/client/client/routes.json index c938dd8a6b..de6bcb5622 100644 --- a/client/client/routes.json +++ b/client/client/routes.json @@ -26,7 +26,7 @@ "client": "$ctrl.client" }, "menu": { - "description": "Datos básicos", + "description": "Basic data", "icon": "person" } }, { @@ -37,7 +37,7 @@ "client": "$ctrl.client" }, "menu": { - "description": "Datos fiscales", + "description": "Fiscal data", "icon": "account_balance" } }, { @@ -64,7 +64,7 @@ "client": "$ctrl.client" }, "menu": { - "description": "Consignatarios", + "description": "Addresses", "icon": "local_shipping" } }, { @@ -83,7 +83,7 @@ "client": "$ctrl.client" }, "menu": { - "description": "Acceso web", + "description": "Web access", "icon": "language" } }, { @@ -99,13 +99,67 @@ "client": "$ctrl.client" }, "menu": { - "description": "Notas", + "description": "Notes", "icon": "insert_drive_file" } }, { "url": "/create", "state": "clientCard.notes.create", "component": "vn-note-create" + }, { + "url": "/credit", + "abstract": true, + "state": "clientCard.credit", + "component": "ui-view" + }, { + "url": "/list", + "state": "clientCard.credit.list", + "component": "vn-client-credit-list", + "params": { + "client": "$ctrl.client" + }, + "menu": { + "description": "Credit", + "icon": "credit_card" + } + }, { + "url": "/create", + "state": "clientCard.credit.create", + "component": "vn-client-credit-create", + "params": { + "client": "$ctrl.client" + } + }, { + "url": "/greuge", + "abstract": true, + "state": "clientCard.greuge", + "component": "ui-view" + }, { + "url": "/list", + "state": "clientCard.greuge.list", + "component": "vn-client-greuge-list", + "params": { + "client": "$ctrl.client" + }, + "menu": { + "description": "Greuge", + "icon": "work" + } + }, { + "url": "/create", + "state": "clientCard.greuge.create", + "component": "vn-client-greuge-create", + "params": { + "client": "$ctrl.client" + } + }, { + "url": "/mandate", + "state": "clientCard.mandate", + "component": "vn-client-mandate", + "menu": { + "description": "Mandate", + "icon": "pan_tool" + } } ] } diff --git a/client/client/src/address-edit/address-edit.html b/client/client/src/address-edit/address-edit.html index d94324c92b..2d4caea42c 100644 --- a/client/client/src/address-edit/address-edit.html +++ b/client/client/src/address-edit/address-edit.html @@ -12,10 +12,10 @@ Address - + - + diff --git a/client/client/src/addresses/addresses.html b/client/client/src/addresses/addresses.html index 8ec33bc5e3..8b70502229 100644 --- a/client/client/src/addresses/addresses.html +++ b/client/client/src/addresses/addresses.html @@ -5,29 +5,31 @@ Addresses - - + star star_border - +
{{::i.consignee}}
{{::i.street}}
{{::i.city}}, {{::i.province}}
{{::i.phone}}, {{::i.mobile}}
-
- +
+
- +
- + + + - - - - - + - + - + - + - + { this.vnApp.showMessage(this.translate.instant('Notification sent!')); } diff --git a/client/client/src/billing-data/billing-data.spec.js b/client/client/src/billing-data/billing-data.spec.js index df169b18c5..85980aa80d 100644 --- a/client/client/src/billing-data/billing-data.spec.js +++ b/client/client/src/billing-data/billing-data.spec.js @@ -25,9 +25,6 @@ describe('Client', () => { describe('copyData()', () => { it(`should define billData using client's data`, () => { controller.client = { - credit: 1000000000000, - creditInsurance: null, - discount: 99, dueDay: 0, iban: null, payMethodFk: 1 @@ -72,8 +69,8 @@ describe('Client', () => { describe('returnDialog()', () => { it('should request to send notification email', () => { controller.client = {id: '123'}; - $httpBackend.when('POST', `/mailer/manuscript/payment-update/${controller.client.id}`).respond('done'); - $httpBackend.expectPOST(`/mailer/manuscript/payment-update/${controller.client.id}`); + $httpBackend.when('POST', `/mailer/notification/payment-update/${controller.client.id}`).respond('done'); + $httpBackend.expectPOST(`/mailer/notification/payment-update/${controller.client.id}`); controller.returnDialog('ACCEPT'); $httpBackend.flush(); }); diff --git a/client/client/src/billing-data/locale/es.json b/client/client/src/billing-data/locale/es.json index 1d643a9348..6104f0c5b9 100644 --- a/client/client/src/billing-data/locale/es.json +++ b/client/client/src/billing-data/locale/es.json @@ -10,5 +10,10 @@ "Yes, propagate": "Si, propagar", "Equivalent tax spreaded": "Recargo de equivalencia propagado", "Invoice by address": "Facturar por consignatario", - "Equalization tax": "Recargo de equivalencia" + "Equalization tax": "Recargo de equivalencia", + "Due day": "Vencimiento", + "Received core VNH": "Recibido core VNH", + "Received core VNL": "Recibido core VNL", + "Received B2B VNL": "Recibido B2B VNL", + "SAVE": "GUARDAR" } \ No newline at end of file diff --git a/client/client/src/card/card.html b/client/client/src/card/card.html index e9ebd07a04..623bdfbc45 100644 --- a/client/client/src/card/card.html +++ b/client/client/src/card/card.html @@ -1,18 +1,16 @@ - + - - - - - - - - - + + + + + + + + + + diff --git a/client/client/src/card/card.js b/client/client/src/card/card.js index b21c3f6362..9660ce3ce6 100644 --- a/client/client/src/card/card.js +++ b/client/client/src/card/card.js @@ -1,5 +1,4 @@ import ngModule from '../module'; -import './style.css'; export default class Controller { constructor() { diff --git a/client/client/src/card/style.css b/client/client/src/card/style.css deleted file mode 100644 index 1958794093..0000000000 --- a/client/client/src/card/style.css +++ /dev/null @@ -1,3 +0,0 @@ -vn-descriptor { - font-family: raleway-bold; -} \ No newline at end of file diff --git a/client/client/src/client.js b/client/client/src/client.js index 6dc0de725e..d61f4e4aad 100644 --- a/client/client/src/client.js +++ b/client/client/src/client.js @@ -14,3 +14,8 @@ import './address-edit/address-edit'; import './notes/notes'; import './note-create/note-create'; import './web-access/web-access'; +import './credit-list/credit-list'; +import './credit-create/credit-create'; +import './greuge-list/greuge-list'; +import './greuge-create/greuge-create'; +import './mandate/mandate'; diff --git a/client/client/src/create/create.html b/client/client/src/create/create.html index 5d1f62db9e..aa999bbe28 100644 --- a/client/client/src/create/create.html +++ b/client/client/src/create/create.html @@ -20,13 +20,20 @@ - + - - + diff --git a/client/client/src/credit-create/credit-create.html b/client/client/src/credit-create/credit-create.html new file mode 100644 index 0000000000..c02ff71675 --- /dev/null +++ b/client/client/src/credit-create/credit-create.html @@ -0,0 +1,23 @@ + + + +
+ + + Add credit + + + + + + + + + + + +
diff --git a/client/client/src/credit-create/credit-create.js b/client/client/src/credit-create/credit-create.js new file mode 100644 index 0000000000..2d0bccf56c --- /dev/null +++ b/client/client/src/credit-create/credit-create.js @@ -0,0 +1,8 @@ +import ngModule from '../module'; + +ngModule.component('vnClientCreditCreate', { + template: require('./credit-create.html'), + bindings: { + client: '<' + } +}); diff --git a/client/client/src/credit-create/locale/es.json b/client/client/src/credit-create/locale/es.json new file mode 100644 index 0000000000..7b0a22a1f3 --- /dev/null +++ b/client/client/src/credit-create/locale/es.json @@ -0,0 +1,3 @@ +{ + "Add credit": "Añadir crédito" +} \ No newline at end of file diff --git a/client/client/src/credit-list/credit-list.html b/client/client/src/credit-list/credit-list.html new file mode 100644 index 0000000000..e888bfacb5 --- /dev/null +++ b/client/client/src/credit-list/credit-list.html @@ -0,0 +1,27 @@ + + + + Credit + + + + + + + + {{::credit.amount | number:2}} € + {{::credit.created | date:'dd/MM/yyyy HH:mm' }} + {{::credit.employee.name}} {{::credit.employee.surname}} + + + No results + + + + + + + \ No newline at end of file diff --git a/client/client/src/credit-list/credit-list.js b/client/client/src/credit-list/credit-list.js new file mode 100644 index 0000000000..c1d283e336 --- /dev/null +++ b/client/client/src/credit-list/credit-list.js @@ -0,0 +1,9 @@ +import ngModule from '../module'; +import FilterClientList from '../filterClientList'; + +class ClientCreditList extends FilterClientList {} + +ngModule.component('vnClientCreditList', { + template: require('./credit-list.html'), + controller: ClientCreditList +}); diff --git a/client/client/src/credit-list/locale/es.json b/client/client/src/credit-list/locale/es.json new file mode 100644 index 0000000000..2c99e8b737 --- /dev/null +++ b/client/client/src/credit-list/locale/es.json @@ -0,0 +1,5 @@ +{ + "Since" : "Desde", + "Employee" : "Empleado", + "No results": "Sin resultados" +} \ No newline at end of file diff --git a/client/client/src/descriptor/descriptor.html b/client/client/src/descriptor/descriptor.html index 64dd29fe44..bf1a993376 100644 --- a/client/client/src/descriptor/descriptor.html +++ b/client/client/src/descriptor/descriptor.html @@ -1,15 +1,18 @@ - - - - - person - - -
{{::$ctrl.client.id}}
-
{{$ctrl.client.name}}
-
{{$ctrl.client.phone}}
- + + + + person + + + + + {{::title}}: + + {{$ctrl.client[field] || 0 | number:2}} € + {{$ctrl.client[field]}} + + -
+
diff --git a/client/client/src/descriptor/descriptor.js b/client/client/src/descriptor/descriptor.js index 1311e58583..ec70d0fa1c 100644 --- a/client/client/src/descriptor/descriptor.js +++ b/client/client/src/descriptor/descriptor.js @@ -1,26 +1,32 @@ import ngModule from '../module'; export default class Controller { - constructor($scope, $http) { - this.$http = $http; + constructor($translate) { + this.$translate = $translate; + // CLient fields to display + this.fields = ['id', 'name', 'phone', 'credit', 'creditInsurance']; + this.fieldsToShow = {}; } - set active(value) { - if (this._active !== value && this._active !== undefined) - this.$http.put(`/client/api/Clients/${this.client.id}/activate`); - this._active = value; + // concat 2 Arrays without duplicates + _concatFields(a, b) { + return a.concat(b.filter(item => a.indexOf(item) < 0)); } - get active() { - return this._active; + + $onInit() { + let fields = (this.moreFields && this.moreFields instanceof Array) ? this._concatFields(this.fields, this.moreFields) : this.fields; + fields.forEach(field => { + this.fieldsToShow[field] = this.$translate.instant(field); + }); } } -Controller.$inject = ['$scope', '$http']; +Controller.$inject = ['$translate']; ngModule.component('vnDescriptor', { template: require('./descriptor.html'), controller: Controller, bindings: { client: '<', - active: '<' + moreFields: ' { describe('Component vnDescriptor', () => { let $componentController; - let $scope; + let $translate; let controller; beforeEach(() => { angular.mock.module('client'); }); - beforeEach(angular.mock.inject((_$componentController_, $rootScope) => { + beforeEach(angular.mock.inject((_$componentController_, _$translate_) => { $componentController = _$componentController_; - $scope = $rootScope.$new(); - controller = $componentController('vnDescriptor', {$scope: $scope}); + $translate = _$translate_; + controller = $componentController('vnDescriptor', {$translate: $translate}); })); - describe('set active', () => { - it('should check if active is defined and diferent from the new value', () => { - controller.client = {id: 1}; + describe('onInit()', () => { + it('should create Object with basic fields', () => { + controller.client = { + id: 1, + name: "Peter Parker", + phone: null, + mobile: "666666", + credit: 300, + creditInsurance: null + }; + controller.$onInit(); - expect(controller._active).toBe(undefined); - controller.active = false; - - expect(controller._active).toBe(false); - controller.active = true; - - expect(controller._active).toBe(true); + expect(controller.fieldsToShow.id).toBe('id'); }); }); }); diff --git a/client/client/src/filterClientList.js b/client/client/src/filterClientList.js new file mode 100644 index 0000000000..6b6f48bb99 --- /dev/null +++ b/client/client/src/filterClientList.js @@ -0,0 +1,40 @@ +// Generic object to list models, related to the client, with mgCrud +export default class FilterClientList { + constructor($scope, $timeout, $state) { + this.$ = $scope; + this.$timeout = $timeout; + this.$state = $state; + + this.waitingMgCrud = 0; + this.clientFk = $state.params.id; + } + onOrder(field, order) { + this.filter(`${field} ${order}`); + } + filter(order) { + if (this.$.index && this.clientFk) { + this.waitingMgCrud = 0; + this.$.index.filter = { + page: 1, + size: 10, + clientFk: this.clientFk + }; + + if (order) { + this.$.index.filter.order = order; + } + + this.$.index.accept(); + } else if (!this.clientFk) { + throw new Error('Error: ClientFk not found'); + } else if (this.waitingMgCrud > 3) { + throw new Error('Error: Magic Crud is not loaded'); + } else { + this.waitingMgCrud++; + this.$timeout(() => { + this.filter(order); + }, 250); + } + } +} +FilterClientList.$inject = ['$scope', '$timeout', '$state']; diff --git a/client/client/src/fiscal-data/fiscal-data.html b/client/client/src/fiscal-data/fiscal-data.html index f9c9c418b6..3c9f182e2c 100644 --- a/client/client/src/fiscal-data/fiscal-data.html +++ b/client/client/src/fiscal-data/fiscal-data.html @@ -12,6 +12,7 @@ + @@ -42,41 +43,42 @@ - + - + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + - You changes the equivalent tax - Do you want to spread the change to their consignees? + You changes the equivalen + Do you want to spread the change to their consig diff --git a/client/client/src/fiscal-data/fiscal-data.js b/client/client/src/fiscal-data/fiscal-data.js index 6ef3c39315..5fd10bf933 100644 --- a/client/client/src/fiscal-data/fiscal-data.js +++ b/client/client/src/fiscal-data/fiscal-data.js @@ -6,7 +6,7 @@ export default class ClientFiscalData { this.$http = $http; this.vnApp = vnApp; this.translate = $translate; - this.equalizationTax = undefined; + this.isEqualizated = undefined; this.copyData(); } @@ -16,7 +16,7 @@ export default class ClientFiscalData { copyData() { if (this.client) { - this.equalizationTax = this.client.equalizationTax; + this.isEqualizated = this.client.isEqualizated; } } @@ -26,16 +26,16 @@ export default class ClientFiscalData { } checkEtChanges() { - let equals = this.equalizationTax == this.client.equalizationTax; - this.equalizationTax = this.client.equalizationTax; + let equals = this.isEqualizated == this.client.isEqualizated; + this.isEqualizated = this.client.isEqualizated; if (!equals) - this.$.propagateEqualizationTax.show(); + this.$.propagateIsEqualizated.show(); } returnDialogEt(response) { if (response === 'ACCEPT') { - this.$http.patch(`/client/api/Clients/${this.client.id}/addressesPropagateRe`, {isEqualizated: this.client.equalizationTax}).then( + this.$http.patch(`/client/api/Clients/${this.client.id}/addressesPropagateRe`, {isEqualizated: this.client.isEqualizated}).then( res => { if (res.data) this.vnApp.showMessage(this.translate.instant('Equivalent tax spreaded')); diff --git a/client/client/src/greuge-create/greuge-create.html b/client/client/src/greuge-create/greuge-create.html new file mode 100644 index 0000000000..2e8ed24545 --- /dev/null +++ b/client/client/src/greuge-create/greuge-create.html @@ -0,0 +1,36 @@ + + + + +
+ + + Add Greuge + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/client/client/src/greuge-create/greuge-create.js b/client/client/src/greuge-create/greuge-create.js new file mode 100644 index 0000000000..3e8aa96a89 --- /dev/null +++ b/client/client/src/greuge-create/greuge-create.js @@ -0,0 +1,25 @@ +import ngModule from '../module'; + +class ClientGreugeCreate { + constructor($scope, $state, $filter) { + this.$ = $scope; + this.$state = $state; + this.greuge = { + shipped: $filter('date')(new Date(), 'yyyy-MM-dd HH:mm') + }; + } + onSubmit() { + this.greuge.clientFk = this.$state.params.id; + this.$.watcher.submit().then( + () => { + this.$state.go('clientCard.greuge.list'); + } + ); + } +} +ClientGreugeCreate.$inject = ['$scope', '$state', '$filter']; + +ngModule.component('vnClientGreugeCreate', { + template: require('./greuge-create.html'), + controller: ClientGreugeCreate +}); diff --git a/client/client/src/greuge-create/greuge-create.spec.js b/client/client/src/greuge-create/greuge-create.spec.js new file mode 100644 index 0000000000..1cc408088f --- /dev/null +++ b/client/client/src/greuge-create/greuge-create.spec.js @@ -0,0 +1,39 @@ +import './greuge-create.js'; + +describe('Client', () => { + describe('Component vnClientGreugeCreate', () => { + let $componentController; + let $scope; + let $state; + let controller; + + beforeEach(() => { + angular.mock.module('client'); + }); + + beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$state_) => { + $componentController = _$componentController_; + $scope = $rootScope.$new(); + $state = _$state_; + $scope.watcher = { + submit: () => { + return { + then: callback => { + callback(); + } + }; + } + }; + controller = $componentController('vnClientGreugeCreate', {$scope: $scope}); + })); + + describe('onSubmit()', () => { + it('should call the function go() on $state to go to the greuges list', () => { + spyOn($state, 'go'); + controller.onSubmit(); + + expect(controller.$state.go).toHaveBeenCalledWith('clientCard.greuge.list'); + }); + }); + }); +}); diff --git a/client/client/src/greuge-list/greuge-list.html b/client/client/src/greuge-list/greuge-list.html new file mode 100644 index 0000000000..a361dfbcfc --- /dev/null +++ b/client/client/src/greuge-list/greuge-list.html @@ -0,0 +1,38 @@ + + + + + Greuge + + + + + + + + + + {{::greuge.shipped | date:'dd/MM/yyyy HH:mm' }} + {{::greuge.description}} + {{::greuge.amount | number:2}} € + {{::greuge.greugeType.name}} + + + + No results + + + + {{edit.model.sumAmount | number:2}} € + + + + + + + + diff --git a/client/client/src/greuge-list/greuge-list.js b/client/client/src/greuge-list/greuge-list.js new file mode 100644 index 0000000000..a2e5bd33af --- /dev/null +++ b/client/client/src/greuge-list/greuge-list.js @@ -0,0 +1,9 @@ +import ngModule from '../module'; +import FilterClientList from '../filterClientList'; + +class ClientGreugeList extends FilterClientList {} + +ngModule.component('vnClientGreugeList', { + template: require('./greuge-list.html'), + controller: ClientGreugeList +}); diff --git a/client/client/src/greuge-list/locale/es.json b/client/client/src/greuge-list/locale/es.json new file mode 100644 index 0000000000..7aa276bd03 --- /dev/null +++ b/client/client/src/greuge-list/locale/es.json @@ -0,0 +1,7 @@ +{ + "Date" : "Fecha", + "Comment" : "Comentario", + "Amount" : "Importe", + "Type": "Tipo", + "Add Greuge": "Añadir Greuge" +} \ No newline at end of file diff --git a/client/client/src/index/index.html b/client/client/src/index/index.html index 3556b78086..ba40c663b6 100644 --- a/client/client/src/index/index.html +++ b/client/client/src/index/index.html @@ -3,12 +3,13 @@
- + popover="vn-client-search-panel" + ignore-keys = "['page', 'size', 'search']" + > diff --git a/client/client/src/index/index.js b/client/client/src/index/index.js index 38d9996ca2..d07b125491 100644 --- a/client/client/src/index/index.js +++ b/client/client/src/index/index.js @@ -7,7 +7,6 @@ export default class Controller { this.model = {}; } search(index) { - index.filter.search = this.model.search; index.accept(); } } diff --git a/client/client/src/index/index.spec.js b/client/client/src/index/index.spec.js index 821cb4685d..d1dd2532bc 100644 --- a/client/client/src/index/index.spec.js +++ b/client/client/src/index/index.spec.js @@ -18,19 +18,19 @@ describe('Client', () => { expect(controller.model).toEqual({}); }); - describe('search()', () => { - it(`should set model's search to the search input`, () => { - controller.model.search = 'batman'; - let index = { - filter: {}, - accept: () => { - return 'accepted'; - } - }; - controller.search(index); + // describe('search()', () => { + // it(`should set model's search to the search input`, () => { + // controller.model.search = 'batman'; + // let index = { + // filter: {}, + // accept: () => { + // return 'accepted'; + // } + // }; + // controller.search(index); - expect(index.filter.search).toBe('batman'); - }); - }); + // expect(index.filter.search).toBe('batman'); + // }); + // }); }); }); diff --git a/client/client/src/index/style.css b/client/client/src/index/style.css index b30351f098..123a0bf977 100644 --- a/client/client/src/index/style.css +++ b/client/client/src/index/style.css @@ -12,5 +12,5 @@ vn-item-client a:hover { } .vn-item-client-name { - font-family: raleway-bold; + font-family: vn-font-bold; } diff --git a/client/client/src/locale/es.json b/client/client/src/locale/es.json index 20089e85c0..b6d78de1db 100644 --- a/client/client/src/locale/es.json +++ b/client/client/src/locale/es.json @@ -1,7 +1,12 @@ { + "Active": "Activo", "Client": "Cliente", "Clients": "Clientes", + "Basic data": "Datos básicos", "Fiscal data": "Datos Fiscales", + "Addresses": "Consignatarios", + "Web access": "Acceso web", + "Notes": "Notas", "Has to invoice": "Factura", "Invoice by mail": "Factura impresa", "Country": "País", @@ -10,5 +15,11 @@ "Postcode": "Código postal", "Province": "Provincia", "Save": "Guardar", - "Pay method" : "Forma de pago" + "Pay method" : "Forma de pago", + "Address": "Consignatario", + "Credit" : "Crédito", + "Secured credit": "Crédito asegurado", + "Verified data": "Datos comprobados", + "Mandate": "Mandato", + "Amount": "Importe" } diff --git a/client/client/src/mandate/locale/es.json b/client/client/src/mandate/locale/es.json new file mode 100644 index 0000000000..51e30f9ed6 --- /dev/null +++ b/client/client/src/mandate/locale/es.json @@ -0,0 +1,5 @@ +{ + "Company": "Empresa", + "Register date": "Fecha alta", + "End date": "Fecha baja" +} \ No newline at end of file diff --git a/client/client/src/mandate/mandate.html b/client/client/src/mandate/mandate.html new file mode 100644 index 0000000000..f129da64b0 --- /dev/null +++ b/client/client/src/mandate/mandate.html @@ -0,0 +1,31 @@ + + + + Mandate + + + + + + + + + + + {{::mandate.id}} + {{::mandate.company.code}} + {{::mandate.mandateType.name}} + {{::mandate.created | date:'dd/MM/yyyy HH:mm' }} + {{::mandate.finished | date:'dd/MM/yyyy HH:mm' || '-'}} + + + No results + + + + + \ No newline at end of file diff --git a/client/client/src/mandate/mandate.js b/client/client/src/mandate/mandate.js new file mode 100644 index 0000000000..e48222ce65 --- /dev/null +++ b/client/client/src/mandate/mandate.js @@ -0,0 +1,7 @@ +import ngModule from '../module'; +import FilterClientList from '../filterClientList'; + +ngModule.component('vnClientMandate', { + template: require('./mandate.html'), + controller: FilterClientList +}); diff --git a/client/client/src/notes/locale/es.json b/client/client/src/notes/locale/es.json deleted file mode 100644 index 28b37f5a81..0000000000 --- a/client/client/src/notes/locale/es.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "Notes": "Notas" -} \ No newline at end of file diff --git a/client/client/src/notes/notes.html b/client/client/src/notes/notes.html index ecea1d668c..5eefb99814 100644 --- a/client/client/src/notes/notes.html +++ b/client/client/src/notes/notes.html @@ -1,13 +1,19 @@ Notes - - -
{{::n.created | date:'dd/MM/yyyy HH:mm'}}
-
{{::n.employee.name}}
-
{{::n.text}}
-
-
+ + + {{::n.employee.name}} {{::n.employee.surname}} + {{::n.created | date:'dd/MM/yyyy HH:mm'}} + + + {{::n.text}} + +
{}; } onSearch() { - this.setStorageValue(); this.onSubmit(this.filter); } - - $onChanges() { - var value = this.sessionStorage.get('filter'); - if (value !== undefined) - this.filter = value; - } - - setStorageValue() { - this.sessionStorage.set('filter', this.filter); - } } -Controller.$inject = ['sessionStorage']; +Controller.$inject = []; ngModule.component('vnClientSearchPanel', { template: require('./search-panel.html'), diff --git a/client/client/src/search-panel/search-panel.spec.js b/client/client/src/search-panel/search-panel.spec.js index e4b7b5634d..43c520b82f 100644 --- a/client/client/src/search-panel/search-panel.spec.js +++ b/client/client/src/search-panel/search-panel.spec.js @@ -16,26 +16,26 @@ describe('Client', () => { controller = $componentController('vnClientSearchPanel', {sessionStorage: sessionStorage}); })); - describe('onSearch()', () => { - it('should call setStorageValue() and onSubmit()', () => { - spyOn(controller, 'setStorageValue'); - spyOn(controller, 'onSubmit'); - controller.setStorageValue(); - controller.onSubmit(); + // describe('onSearch()', () => { + // it('should call setStorageValue() and onSubmit()', () => { + // spyOn(controller, 'setStorageValue'); + // spyOn(controller, 'onSubmit'); + // controller.setStorageValue(); + // controller.onSubmit(); - expect(controller.setStorageValue).toHaveBeenCalledWith(); - expect(controller.onSubmit).toHaveBeenCalledWith(); - }); - }); + // expect(controller.setStorageValue).toHaveBeenCalledWith(); + // expect(controller.onSubmit).toHaveBeenCalledWith(); + // }); + // }); - describe('$onChanges()', () => { - it('should set filter properties using the search values', () => { - expect(controller.filter).not.toBeDefined(); - spyOn(sessionStorage, 'get').and.returnValue({data: 'data'}); - controller.$onChanges(); + // describe('$onChanges()', () => { + // it('should set filter properties using the search values', () => { + // expect(controller.filter).not.toBeDefined(); + // spyOn(sessionStorage, 'get').and.returnValue({data: 'data'}); + // controller.$onChanges(); - expect(controller.filter).toBe(sessionStorage.get({data: 'data'})); - }); - }); + // expect(controller.filter).toBe(sessionStorage.get({data: 'data'})); + // }); + // }); }); }); diff --git a/client/client/src/web-access/locale/es.json b/client/client/src/web-access/locale/es.json index 82652f89f0..dd42d1c3ab 100644 --- a/client/client/src/web-access/locale/es.json +++ b/client/client/src/web-access/locale/es.json @@ -1,7 +1,6 @@ { "User": "Usuario", "Enable web access": "Habilitar acceso web", - "Web access": "Acceso web", "New password": "Nueva contraseña", "Repeat password": "Repetir contraseña", "Change password": "Cambiar contraseña" diff --git a/client/core/src/autocomplete/autocomplete.html b/client/core/src/autocomplete/autocomplete.html index 9627986290..eda0596a3a 100644 --- a/client/core/src/autocomplete/autocomplete.html +++ b/client/core/src/autocomplete/autocomplete.html @@ -1,6 +1,12 @@ - - - + + + {{$parent.item.name}} \ No newline at end of file diff --git a/client/core/src/autocomplete/autocomplete.js b/client/core/src/autocomplete/autocomplete.js index 8532675923..33d8e12d3c 100644 --- a/client/core/src/autocomplete/autocomplete.js +++ b/client/core/src/autocomplete/autocomplete.js @@ -2,6 +2,7 @@ import {module} from '../module'; import Component from '../lib/component'; import copyObject from '../lib/copy'; import './style.scss'; +import { log } from 'util'; class Autocomplete extends Component { constructor($element, $scope, $http, $timeout, $filter) { @@ -27,6 +28,8 @@ class Autocomplete extends Component { this._multiField = []; this.readonly = true; this.removeLoadMore = false; + this.form = null; + this.findForm = false; } get showDropDown() { @@ -87,6 +90,7 @@ class Autocomplete extends Component { if (this.multiple) { this.setMultiField(value[this.valueField]); } + this.setDirtyForm(); } else { this.setValue(value); } @@ -284,6 +288,22 @@ class Autocomplete extends Component { } } } + _parentForm() { + this.findForm = true; + let formScope = this.$scope; + while (formScope && !formScope.form && formScope.$id > 1) { + formScope = formScope.$parent; + } + this.form = formScope ? formScope.form || null : null; + } + setDirtyForm() { + if (!this.form && !this.findForm) { + this._parentForm(); + } + if (this.form) { + this.form.$setDirty(); + } + } $onInit() { this.findMore = this.url && this.maxRow; diff --git a/client/core/src/autocomplete/style.scss b/client/core/src/autocomplete/style.scss index 1472dbcf36..15e59d4d38 100644 --- a/client/core/src/autocomplete/style.scss +++ b/client/core/src/autocomplete/style.scss @@ -18,18 +18,23 @@ ul.vn-autocomplete { } &.load-more { color: #ffa410; - font-weight: bold; + font-family: vn-font-bold; padding: .4em .8em; } } } vn-autocomplete { + position: relative; + vn-vertical { + outline:none; + } + .mdl-chip__action { position: absolute; top: 0px; right: -6px; margin: 22px 0px; - background-color: white; + background: transparent; } .material-icons { font-size: 18px; diff --git a/client/core/src/column-header/column-header.html b/client/core/src/column-header/column-header.html index 435057a19b..df0a4caeed 100644 --- a/client/core/src/column-header/column-header.html +++ b/client/core/src/column-header/column-header.html @@ -1,11 +1,22 @@
- - - {{::$ctrl.text}} + + + {{::$ctrl.text}} - - - + + + diff --git a/client/core/src/column-header/column-header.js b/client/core/src/column-header/column-header.js index 2f5f4d3c36..51f990db6c 100644 --- a/client/core/src/column-header/column-header.js +++ b/client/core/src/column-header/column-header.js @@ -1,19 +1,29 @@ import {module} from '../module'; export default class ColumnHeader { - constructor() { + constructor($attrs) { this.order = undefined; this.mouseIsOver = false; + this.orderLocked = ($attrs.orderLocked !== undefined); } - onClick() { - if (this.order === 'ASC') { - this.order = 'DESC'; - } else { - this.order = 'ASC'; + onClick(event, order) { + if (!this.orderLocked) { + if (order) { + this.order = order; + } else if (this.order === 'ASC') { + this.order = 'DESC'; + } else { + this.order = 'ASC'; + } + this.gridHeader.selectColum(this); } - this.gridHeader.selectColum(this); + if (event) + event.preventDefault(); } showArrow(type) { + if (this.orderLocked) + return false; + let showArrow = (this.gridHeader && this.gridHeader.currentColumn && this.gridHeader.currentColumn.field === this.field && this.order === type); let showOther = (this.gridHeader && this.gridHeader.currentColumn && this.gridHeader.currentColumn.field === this.field && this.order !== type); if (type === 'DESC' && this.mouseIsOver && !showOther) { @@ -22,13 +32,13 @@ export default class ColumnHeader { return showArrow; } $onInit() { - if (this.defaultOrder) { + if (this.defaultOrder && !this.orderLocked) { this.order = this.defaultOrder; this.onClick(); } } } -ColumnHeader.$inject = []; +ColumnHeader.$inject = ['$attrs']; module.component('vnColumnHeader', { template: require('./column-header.html'), diff --git a/client/core/src/column-header/column-header.spec.js b/client/core/src/column-header/column-header.spec.js index 5c6d29d732..2291094b3d 100644 --- a/client/core/src/column-header/column-header.spec.js +++ b/client/core/src/column-header/column-header.spec.js @@ -3,6 +3,8 @@ import './column-header.js'; describe('Component vnColumnHeader', () => { let $componentController; let controller; + let $event; + let $attrs; beforeEach(() => { angular.mock.module('client'); @@ -10,14 +12,18 @@ describe('Component vnColumnHeader', () => { beforeEach(angular.mock.inject(_$componentController_ => { $componentController = _$componentController_; - controller = $componentController('vnColumnHeader', {}); + $event = { + preventDefault: () => {} + }; + $attrs = {}; + controller = $componentController('vnColumnHeader', {$attrs}); })); describe('onClick()', () => { it(`should change the ordenation to DESC (descendant) if it was ASC (ascendant)`, () => { controller.gridHeader = {selectColum: () => {}}; controller.order = 'ASC'; - controller.onClick(); + controller.onClick($event); expect(controller.order).toEqual('DESC'); }); @@ -25,7 +31,7 @@ describe('Component vnColumnHeader', () => { it(`should change the ordenation to ASC (ascendant) if it wasnt ASC`, () => { controller.gridHeader = {selectColum: () => {}}; controller.order = 'DESC or any other value that might occur'; - controller.onClick(); + controller.onClick($event); expect(controller.order).toEqual('ASC'); }); @@ -34,7 +40,7 @@ describe('Component vnColumnHeader', () => { controller.gridHeader = {selectColum: () => {}}; controller.order = 'Change me!'; spyOn(controller.gridHeader, 'selectColum'); - controller.onClick(); + controller.onClick($event); expect(controller.gridHeader.selectColum).toHaveBeenCalledWith(controller); }); diff --git a/client/core/src/confirm/style.css b/client/core/src/confirm/style.css index 7177560fdc..b19288ecbb 100644 --- a/client/core/src/confirm/style.css +++ b/client/core/src/confirm/style.css @@ -1,5 +1,5 @@ - -vn-confirm .dialog-title { - color:#424242; - font-family: raleway-bold; -} + +vn-confirm .dialog-title { + color:#424242; + font-family: vn-font-bold; +} diff --git a/client/core/src/datePicker/datePicker.html b/client/core/src/datePicker/datePicker.html index d91f0a53f8..21839aa165 100644 --- a/client/core/src/datePicker/datePicker.html +++ b/client/core/src/datePicker/datePicker.html @@ -4,7 +4,8 @@ ng-focus="$ctrl.hasFocus = true" ng-blur="$ctrl.hasFocus = false" ng-mouseenter="$ctrl.hasMouseIn = true" - ng-mouseleave="$ctrl.hasMouseIn = false" + ng-mouseleave="$ctrl.hasMouseIn = false" + ng-click="$ctrl.onClick()" > { + this.model = value; + }, 250); + } else { + this.model = null; + this.modelView = ''; + this._waitingInit = 0; } } get modelView() { @@ -52,17 +77,23 @@ class DatePicker extends Component { this._modelView = value; this.input.value = value; this._setModel(value); - this.$timeout(() => { - this.mdlUpdate(); - }, 500); + this.mdlUpdate(); } + onClear() { this.modelView = null; } + onClick() { + if (this.vp) { + this.vp.open(); + } + } mdlUpdate() { - let mdlField = this.element.firstChild.MaterialTextfield; - if (mdlField) - mdlField.updateClasses_(); + this.$timeout(() => { + let mdlField = this.element.firstChild.MaterialTextfield; + if (mdlField) + mdlField.updateClasses_(); + }, 500); } _formatFlat2Angular(string) { // change string Flatpickr format to angular format (d-m-Y -> dd-MM-yyyy) @@ -83,54 +114,59 @@ class DatePicker extends Component { return parts.join('-'); } + _string2BackFormat(value) { + let formats = this.iniOptions.dateFormat.split(/[ZT.,/ :-]/); + let aux = value.split(/[ZT.,/ :-]/); + let date = {}; + formats.forEach( + (k, i) => { + if (k.toLowerCase() === 'y') { + date.year = aux[i]; + } else if (k === 'm' || k === 'n') { + date.month = aux[i]; + } else if (k === 'd' || k === 'j') { + date.day = aux[i]; + } else if (k.toLowerCase() === 'h') { + date.hour = aux[i]; + } else if (k === 'i') { + date.minutes = aux[i]; + } else if (k === 's') { + date.seccons = aux[i]; + } + } + ); + + let dateStr = ''; + let hourStr = ''; + + if (date.year && date.month && date.day) { + dateStr = `${date.year}-${date.month}-${date.day}`; + } + if (date.hour) { + hourStr = date.hour; + if (date.minutes) { + hourStr += ':' + date.minutes; + } else { + hourStr += ':00'; + } + if (date.seccons) { + hourStr += ':' + date.seccons; + } else { + hourStr += ':00'; + } + } + return `${dateStr} ${hourStr}`.trim(); + } + _setModel(value) { let model; + let options = this._getOptions(); if (!value) { model = undefined; - } else if (!this.iniOptions || (this.iniOptions.dateFormat && this.iniOptions.dateFormat.startsWith('Y-m-d'))) { + } else if (!options || (options.dateFormat && options.dateFormat.startsWith('Y-m-d'))) { model = value; } else { - let formats = this.iniOptions.dateFormat.split(/[ZT.,/ :-]/); - let aux = value.split(/[ZT.,/ :-]/); - let date = {}; - formats.forEach( - (k, i) => { - if (k.toLowerCase() === 'y') { - date.year = aux[i]; - } else if (k === 'm' || k === 'n') { - date.month = aux[i]; - } else if (k === 'd' || k === 'j') { - date.day = aux[i]; - } else if (k.toLowerCase() === 'h') { - date.hour = aux[i]; - } else if (k === 'i') { - date.minutes = aux[i]; - } else if (k === 's') { - date.seccons = aux[i]; - } - } - ); - - let dateStr = ''; - let hourStr = ''; - - if (date.year && date.month && date.day) { - dateStr = `${date.year}-${date.month}-${date.day}`; - } - if (date.hour) { - hourStr = date.hour; - if (date.minutes) { - hourStr += ':' + date.minutes; - } else { - hourStr += ':00'; - } - if (date.seccons) { - hourStr += ':' + date.seccons; - } else { - hourStr += ':00'; - } - } - model = `${dateStr} ${hourStr}`.trim(); + model = this._string2BackFormat(value); } if (this.model !== model) { @@ -148,8 +184,8 @@ class DatePicker extends Component { if (!this.iniOptions.locale) this.iniOptions.locale = this.$translate.use(); - if (!this.iniOptions.dateFormat && this.iniOptions.locale === 'es') - this.iniOptions.dateFormat = 'd-m-Y'; + if (!this.iniOptions.dateFormat) + this.iniOptions.dateFormat = this.iniOptions.locale === 'es' ? 'd-m-Y' : 'Y-m-d'; else if (this.iniOptions.dateFormat) { let format = this.iniOptions.dateFormat.split(/[ZT.,/ :-]/); if (format.length <= 1) { @@ -163,21 +199,44 @@ class DatePicker extends Component { } ); } + + if (this.$attrs.hasOwnProperty('today')) { + this.iniOptions.defaultDate = new Date(); + } + this._optionsChecked = true; return this.iniOptions; } - $onInit() { + initPicker() { this.iniOptions = this._getOptions(); this.isTimePicker = (this.iniOptions && this.iniOptions.enableTime && this.iniOptions.noCalendar); this.vp = new Flatpickr(this.input, this.iniOptions); + if (this.iniOptions.defaultDate) { + this.modelView = this.vp.formatDate(this.iniOptions.defaultDate, this.iniOptions.dateFormat); + } } - $onDestroy() { + destroyPicker() { if (this.vp) this.vp.destroy(); + this.vp = undefined; + } + + $onChanges(objChange) { + if (objChange.iniOptions && objChange.iniOptions.currentValue) { + this.iniOptions = Object.assign(this.iniOptions, objChange.iniOptions.currentValue); + } + } + + $onInit() { + this.initPicker(); + } + + $onDestroy() { + this.destroyPicker(); } } -DatePicker.$inject = ['$element', '$translate', '$filter', '$timeout']; +DatePicker.$inject = ['$element', '$translate', '$filter', '$timeout', '$attrs']; module.component('vnDatePicker', { template: require('./datePicker.html'), diff --git a/client/core/src/datePicker/datePicker.spec.js b/client/core/src/datePicker/datePicker.spec.js index bd0807dd7a..05ff49d4f2 100644 --- a/client/core/src/datePicker/datePicker.spec.js +++ b/client/core/src/datePicker/datePicker.spec.js @@ -2,9 +2,10 @@ import './datePicker.js'; describe('Component vnDatePicker', () => { let $componentController; - let $scope; + let $filter; let $timeout; let $element; + let $attrs; let $translate; let controller; @@ -12,13 +13,14 @@ describe('Component vnDatePicker', () => { angular.mock.module('client'); }); - beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$timeout_, _$translate_) => { + beforeEach(angular.mock.inject((_$componentController_, _$filter_, _$timeout_, _$translate_) => { $componentController = _$componentController_; - $scope = $rootScope.$new(); + $filter = _$filter_; $timeout = _$timeout_; $element = angular.element(`
`); $translate = _$translate_; - controller = $componentController('vnDatePicker', {$scope, $element, $translate, $timeout}); + $attrs = {}; + controller = $componentController('vnDatePicker', {$element, $translate, $filter, $timeout, $attrs}); })); describe('_formatFlat2Angular()', () => { @@ -36,6 +38,7 @@ describe('Component vnDatePicker', () => { it(`should split the given string into parts`, () => { controller.iniOptions = {dateFormat: 'd/m/Y'}; + controller._optionsChecked = true; controller.model = '2017-12-23'; expect(controller.modelView).toBe('23-12-2017'); diff --git a/client/core/src/dialog/style.scss b/client/core/src/dialog/style.scss index 1b30f5e982..73bd5ba190 100644 --- a/client/core/src/dialog/style.scss +++ b/client/core/src/dialog/style.scss @@ -1,68 +1,68 @@ -.vn-dialog { - display: none; - z-index: 100; - position: fixed; - left: 0; - top: 0; - height: 100%; - width: 100%; - background-color: rgba(1,1,1,.4); - - button.close { - position: absolute; - top: 0; - right: 0; - border-style: none; - background-color: transparent; - padding: .3em; - cursor: pointer; - - vn-icon { - display: block; - - i { - display: block; - } - } - - &:hover { - background-color: rgba(0, 0, 0, .1); - } - } - & > div { - position: relative; - box-shadow: 0 0 .4em rgba(1,1,1,.4); - background-color: white; - border-radius: .2em; - overflow: auto; - top: 50%; - left: 50%; - padding: 2em; - box-sizing: border-box; - - width: 28em; - margin-top: -10em; - margin-left: -14em; - } - .button-bar { - margin-top: 1.5em; - text-align: right; - - button { - background: none; - border: none; - text-transform: uppercase; - font-size: 1.1em; - color: #ffa410; - font-weight: bold; - cursor: pointer; - padding: .5em; - margin: -0.5em; - margin-left: .5em; - - &:hover { - background-color: rgba(1,1,1,.1); - } - } - } -} +.vn-dialog { + display: none; + z-index: 100; + position: fixed; + left: 0; + top: 0; + height: 100%; + width: 100%; + background-color: rgba(1,1,1,.4); + + button.close { + position: absolute; + top: 0; + right: 0; + border-style: none; + background-color: transparent; + padding: .3em; + cursor: pointer; + + vn-icon { + display: block; + + i { + display: block; + } + } + + &:hover { + background-color: rgba(0, 0, 0, .1); + } + } + & > div { + position: relative; + box-shadow: 0 0 .4em rgba(1,1,1,.4); + background-color: white; + border-radius: .2em; + overflow: auto; + top: 50%; + left: 50%; + padding: 2em; + box-sizing: border-box; + + width: 28em; + margin-top: -10em; + margin-left: -14em; + } + .button-bar { + margin-top: 1.5em; + text-align: right; + + button { + background: none; + border: none; + text-transform: uppercase; + font-size: 1.1em; + color: #ffa410; + font-family: vn-font-bold; + cursor: pointer; + padding: .5em; + margin: -0.5em; + margin-left: .5em; + + &:hover { + background-color: rgba(1,1,1,.1); + } + } + } +} diff --git a/client/core/src/directives/acl.js b/client/core/src/directives/acl.js index 362dad65df..f29142e1f1 100644 --- a/client/core/src/directives/acl.js +++ b/client/core/src/directives/acl.js @@ -1,6 +1,25 @@ import {module} from '../module'; function vnAcl(aclService, $timeout) { + function getMaterialType(className) { + let type = ''; + if (className) { + type = className.replace('mdl-', '').replace('__input', ''); + type = type.charAt(0).toUpperCase() + type.slice(1); + } + return type; + } + function udateMaterial(input) { + if (input && input.className) { + let find = input.className.match(/mdl-[\w]+input/g); + if (find && find.length && find[0]) { + let type = getMaterialType(find[0]); + if (type && input.parentNode[`Material${type}`] && input.parentNode[`Material${type}`].updateClasses_) { + input.parentNode[`Material${type}`].updateClasses_(); + } + } + } + } return { restrict: 'A', priority: -1, @@ -18,6 +37,7 @@ function vnAcl(aclService, $timeout) { if (input) { $timeout(() => { input.setAttribute("disabled", "true"); + udateMaterial(input); }); $element[0].querySelectorAll('i, vn-drop-down').forEach(element => { element.parentNode.removeChild(element); diff --git a/client/core/src/directives/index.js b/client/core/src/directives/index.js index 4bd512eb0b..67093faa86 100644 --- a/client/core/src/directives/index.js +++ b/client/core/src/directives/index.js @@ -3,3 +3,4 @@ import './focus'; import './dialog'; import './validation'; import './acl'; +import './onErrorSrc'; diff --git a/client/core/src/directives/onErrorSrc.js b/client/core/src/directives/onErrorSrc.js new file mode 100644 index 0000000000..fd3cf2b825 --- /dev/null +++ b/client/core/src/directives/onErrorSrc.js @@ -0,0 +1,17 @@ +import {module} from '../module'; + +function onErrorSrc() { + return { + restrict: 'A', + link: (scope, element, attrs) => { + let imgError = '/static/images/no-image200x200.png'; + element.bind('error', function() { + if (attrs.src != imgError) { + attrs.$set('src', imgError); + } + }); + } + }; +} + +module.directive('onErrorSrc', onErrorSrc); diff --git a/client/core/src/directives/specs/validation.spec.js b/client/core/src/directives/specs/validation.spec.js index e69de29bb2..f13f0024f5 100644 --- a/client/core/src/directives/specs/validation.spec.js +++ b/client/core/src/directives/specs/validation.spec.js @@ -0,0 +1,186 @@ +describe('Directive validation', () => { + let scope; + let element; + let compile; + + beforeEach(() => { + angular.mock.module('client'); + }); + + compile = (_element, validations, value) => { + inject(($compile, $rootScope, aclService, _$timeout_, $window) => { + $window.validations = validations; + scope = $rootScope.$new(); + scope.user = {name: value}; + element = angular.element(_element); + $compile(element)(scope); + scope.$digest(); + }); + }; + + it(`should throw an error if the vnValidation doesn't have the right syntax`, () => { + let html = ``; + + expect(() => { + compile(html, {}); + }).toThrow(new Error(`vnValidation: Attribute must have this syntax: [entity].[field]`)); + }); + + it('should throw an error if the window.validations aint defined', () => { + let html = ``; + + expect(() => { + compile(html, {}); + }).toThrow(new Error(`vnValidation: Entity 'User' doesn't exist`)); + }); + + describe('Validator presence()', () => { + it('should not validate the user name as it is an empty string', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'presence'}]}}}; + compile(html, validations, 'Spiderman'); + scope.user.name = ''; + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + }); + + describe('Validator absence()', () => { + it('should not validate the entity as it should be an empty string', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'absence'}]}}}; + compile(html, validations, 'Spiderman'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + + it('should validate the entity as it is an empty string', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'absence'}]}}}; + compile(html, validations, ''); + scope.$digest(); + + expect(element[0].classList).toContain('ng-valid'); + expect(element[0].classList).not.toContain('ng-invalid'); + }); + }); + + describe('Validator length()', () => { + it('should not validate the user name as it should have min length of 15', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'length', min: 10, max: 50, is: 15}]}}}; + compile(html, validations, 'fifteen!'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + + it('should validate the user name as it has length of 15', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'length', min: 10, max: 50, is: 15}]}}}; + compile(html, validations, 'fifteen length!'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-valid'); + expect(element[0].classList).not.toContain('ng-invalid'); + }); + + it('should not validate the user name as it should have min length of 10', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'length', min: 10}]}}}; + compile(html, validations, 'shortname'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + + it('should validate the user name as its length is greater then the minimum', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'length', min: 10}]}}}; + compile(html, validations, 'verylongname'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-valid'); + expect(element[0].classList).not.toContain('ng-invalid'); + }); + + it('should not validate the user name as its length is greater then the maximum', () => { + let html = `
`; + let validations = {User: {validations: {name: [{validation: 'length', max: 10}]}}}; + compile(html, validations, 'toolongname'); + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + }); + + describe('Validator numericality()', () => { + it('should not validate the phone number as it should a integer', () => { + let html = `
`; + let validations = {User: {validations: {phone: [{validation: 'numericality', is: 'what is this?'}]}}}; + compile(html, validations, 'spiderman'); + scope.user.phone = 'this is not a phone number!'; + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + + it('should validate the phone number as it an integer', () => { + let html = `
`; + let validations = {User: {validations: {phone: [{validation: 'numericality', is: 'what is this?'}]}}}; + compile(html, validations, 'spiderman'); + scope.user.phone = '555555555'; + scope.$digest(); + + expect(element[0].classList).toContain('ng-valid'); + expect(element[0].classList).not.toContain('ng-invalid'); + }); + }); + + describe('Validator inclusion()', () => { + it('should not validate the phone number as it is not an integer', () => { + let html = `
`; + let validations = {User: {validations: {phone: [{validation: 'inclusion'}]}}}; + compile(html, validations, 'spiderman'); + scope.user.phone = 'this is not a phone number!'; + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + }); + + describe('Validator exclusion()', () => { + it('should validate the phone number as it is an integer', () => { + let html = `
`; + let validations = {User: {validations: {phone: [{validation: 'exclusion'}]}}}; + compile(html, validations, 'spiderman'); + scope.user.phone = '555555555'; + scope.$digest(); + + expect(element[0].classList).toContain('ng-valid'); + expect(element[0].classList).not.toContain('ng-invalid'); + }); + }); + + describe('Validator format()', () => { + it('should not validate the email number as it doesnt contain @', () => { + let html = `
`; + let validations = {User: {validations: {email: [{validation: 'format', with: '@'}]}}}; + compile(html, validations, 'spiderman'); + scope.user.email = 'userverdnatura.es'; + scope.$digest(); + + expect(element[0].classList).toContain('ng-invalid'); + expect(element[0].classList).not.toContain('ng-valid'); + }); + }); +}); diff --git a/client/core/src/directives/validation.js b/client/core/src/directives/validation.js index cd3878d9ed..09c4a9f8ed 100644 --- a/client/core/src/directives/validation.js +++ b/client/core/src/directives/validation.js @@ -29,7 +29,6 @@ export function directive(interpolate, compile, $window) { throw new Error(`vnValidation: Entity '${entityName}' doesn't exist`); let validations = entity.validations[fieldName]; - if (!validations || validations.length == 0) return; @@ -40,7 +39,7 @@ export function directive(interpolate, compile, $window) { let errorShown = false; input.$options.$$options.allowInvalid = true; - input.$validators.entity = function(value) { + input.$validators.entity = value => { try { validateAll(value, validations); return true; @@ -51,9 +50,9 @@ export function directive(interpolate, compile, $window) { } }; - scope.$watch(function() { + scope.$watch(() => { return (form.$submitted || input.$dirty) && input.$invalid; - }, function(value) { + }, value => { let parent = element.parent(); if (value) { diff --git a/client/core/src/drop-down/drop-down.html b/client/core/src/drop-down/drop-down.html index 9bab060696..e155c67af1 100644 --- a/client/core/src/drop-down/drop-down.html +++ b/client/core/src/drop-down/drop-down.html @@ -1,13 +1,13 @@ - - + + - - + + - + \ No newline at end of file diff --git a/client/core/src/drop-down/drop-down.js b/client/core/src/drop-down/drop-down.js index 90a02e8578..5a36666515 100644 --- a/client/core/src/drop-down/drop-down.js +++ b/client/core/src/drop-down/drop-down.js @@ -1,5 +1,6 @@ import {module} from '../module'; import './style.scss'; +import validKey from '../lib/keyCodes'; export default class DropDown { constructor($element, $filter, $timeout) { @@ -7,26 +8,36 @@ export default class DropDown { this.$filter = $filter; this.$timeout = $timeout; - this.parent = this.parent || $element[0].parentNode; this._search = null; this.itemsFiltered = []; this._activeOption = -1; this._focusingFilter = false; + this._tryToShow = 0; } + + get container() { + return this.$element[0].querySelector('ul.dropdown'); + } + get show() { return this._show; } set show(value) { let oldValue = this.show; - this._show = value; - if (value && !this._focusingFilter && oldValue !== value && this.filter) { - let inputFilterSearch = this.$element[0].querySelector('input'); - this._focusingFilter = true; + // It wait up to 1 second if the dropdown opens but there is no data to show + if (value && !oldValue && !this.itemsFiltered.length && this._tryToShow < 4) { this.$timeout(() => { - inputFilterSearch.focus(); - this._focusingFilter = false; + this._tryToShow++; + this.show = true; + if (this.activeOption === -1) { + this.activeOption = 0; + } }, 250); + } else { + this._tryToShow = 0; + this._show = value; + this._toggleDropDown(value, oldValue); } } @@ -51,18 +62,92 @@ export default class DropDown { set activeOption(value) { if (value < 0) { value = 0; - } else if (value >= this.items.length) { - value = this.showLoadMore ? this.items.length : this.items.length - 1; + } else if (value >= this.itemsFiltered.length) { + value = this.showLoadMore ? this.itemsFiltered.length : this.itemsFiltered.length - 1; } this.$timeout(() => { this._activeOption = value; - // AutoLoad items with "scroll" (1st version): - if (value && value >= this.items.length - 3 && !this.removeLoadMore) { + if (value && value >= this.itemsFiltered.length - 3 && !this.removeLoadMore) { this.loadItems(); } }); } + _toggleDropDown(value, oldValue) { + this.$timeout(() => { + this._eventScroll(value); + this._calculatePosition(value, oldValue); + }); + } + + _eventScroll(add, num) { + let count = num || 0; + if (add) { + if (this.container) { + this.container.addEventListener('scroll', e => this.loadFromScroll(e)); + // this.$timeout(() => { // falla al entrar por primera vez xq pierde el foco y cierra el dropdown + // this._setFocusInFilterInput(); + // }); + } else if (count < 4) { + count++; + this.$timeout(() => { // wait angular ngIf + this._eventScroll(add, count); + }, 250); + } + } else if (this.container) { + this.container.removeEventListener('scroll', e => this.loadFromScroll(e)); + } + } + + _setFocusInFilterInput() { + let inputFilterSearch = this.$element[0].querySelector('input'); + this._focusingFilter = true; + if (inputFilterSearch) + this.$timeout(() => { + inputFilterSearch.focus(); + this._focusingFilter = false; + }, 250); + } + + _background(create) { + let el = document.getElementById('ddBack'); + if (el) { + el.parentNode.removeChild(el); + } + + if (create) { + el = document.createElement('div'); + el.id = 'ddBack'; + document.body.appendChild(el); + } + } + _calculatePosition(value, oldValue) { + if (value && !oldValue) { + if (this.parent === undefined) { + this.parent = this.$element.parent().parent(); + } + + let parentRect = this.parent.getBoundingClientRect(); + let elemetRect = this.$element[0].getBoundingClientRect(); + let instOffset = parentRect.bottom + elemetRect.height; + + if (instOffset >= window.innerHeight) { + this._background(true); + this.$element.addClass('fixed-dropDown'); + this.$element.css('top', `${(parentRect.top - elemetRect.height)}px`); + this.$element.css('left', `${(parentRect.x)}px`); + this.$element.css('height', `${elemetRect.height}px`); + } + } else if (!value && oldValue) { + this.$element.removeAttr('style'); + if (this.itemWidth) { + this.$element.css('width', this.itemWidth + 'px'); + } + this.$element.removeClass('fixed-dropDown'); + this._background(); + } + } + filterItems() { this.itemsFiltered = this.search ? this.$filter('filter')(this.items, this.search) : this.items; } @@ -73,18 +158,6 @@ export default class DropDown { } } - $onChanges(changesObj) { - if (changesObj.show && changesObj.top && changesObj.top.currentValue) { - this.$element.css('top', changesObj.top.currentValue + 'px'); - } - if (changesObj.show && changesObj.itemWidth && changesObj.itemWidth.currentValue) { - this.$element.css('width', changesObj.itemWidth.currentValue + 'px'); - } - if (changesObj.items) { - this.filterItems(); - } - } - clearSearch() { this.search = null; } @@ -101,42 +174,55 @@ export default class DropDown { onKeydown(event) { if (this.show) { - switch (event.keyCode) { - case 13: // Enter + if (event.keyCode === 13) { // Enter this.$timeout(() => { this.selectOption(); }); event.preventDefault(); - break; - case 27: // Escape + } else if (event.keyCode === 27) { // Escape this.clearSearch(); - break; - case 38: // Arrow up + } else if (event.keyCode === 38) { // Arrow up this.activeOption--; this.$timeout(() => { this.setScrollPosition(); }, 100); - break; - case 40: // Arrow down + } else if (event.keyCode === 40) { // Arrow down this.activeOption++; this.$timeout(() => { this.setScrollPosition(); }, 100); - break; - default: - return; + } else if (event.keyCode === 35) { // End + this.activeOption = this.itemsFiltered.length - 1; + this.$timeout(() => { + this.setScrollPosition(); + }, 100); + } else if (event.keyCode === 36) { // Start + this.activeOption = 0; + this.$timeout(() => { + this.setScrollPosition(); + }, 100); + } else if (this.filter) { + let oldValue = this.search || ''; + if (validKey(event)) { + this.search = oldValue + String.fromCharCode(event.keyCode); + } else if (event.keyCode === 8) { // backSpace + this.search = oldValue.slice(0, -1); + } + } /* else { + console.error(`Error: keyCode ${event.keyCode} not supported`); + } */ + } + } + setScrollPosition() { + let child = this.$element[0].querySelector('ul.dropdown li.active'); + if (child) { + let childRect = child.getBoundingClientRect(); + let containerRect = this.container.getBoundingClientRect(); + if (typeof child.scrollIntoView === 'function' && (childRect.top > containerRect.top + containerRect.height || childRect.top < containerRect.top)) { + child.scrollIntoView(); } } } - - setScrollPosition() { - let dropdown = this.$element[0].querySelector('ul.dropdown'); - let child = dropdown ? dropdown.childNodes[this.activeOption] : null; - if (child && typeof child.scrollIntoView === 'function') { - child.scrollIntoView(); - } - } - selectItem(item) { this.selected = item; if (this.multiple) { @@ -146,14 +232,26 @@ export default class DropDown { this.show = false; } } - loadItems() { if (this.showLoadMore && this.loadMore) { this.loadMore(); } this.show = true; } - + loadFromScroll(e) { + let containerRect = e.target.getBoundingClientRect(); + if (e.target.scrollHeight - e.target.scrollTop - containerRect.height <= 50) { + this.loadItems(); + } + } + $onChanges(changesObj) { + if (changesObj.show && changesObj.itemWidth && changesObj.itemWidth.currentValue) { + this.$element.css('width', changesObj.itemWidth.currentValue + 'px'); + } + if (changesObj.items) { + this.filterItems(); + } + } $onInit() { if (this.parent) this.parent.addEventListener('keydown', e => this.onKeydown(e)); @@ -179,7 +277,6 @@ module.component('vnDropDown', { removeLoadMore: ' { $timeout = _$timeout_; $filter = _$filter_; controller = $componentController('vnDropDown', {$element, $timeout, $filter}); + controller.parent = angular.element('')[0]; })); describe('show() setter', () => { @@ -62,43 +63,43 @@ describe('Component vnDropDown', () => { it(`should set _activeOption as items.length if showLoadMore is defined if activeOption is bigger than items.length then call loadItems()`, () => { spyOn(controller, 'loadItems'); controller.showLoadMore = true; - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; controller.activeOption = 10; $timeout.flush(); - expect(controller._activeOption).toEqual(4); + expect(controller.activeOption).toEqual(4); expect(controller.loadItems).toHaveBeenCalledWith(); }); it(`should set _activeOption as activeOption if showLoadMore is defined if activeOption is smaller than items.length then call loadItems()`, () => { spyOn(controller, 'loadItems'); controller.showLoadMore = true; - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; controller.activeOption = 2; $timeout.flush(); - expect(controller._activeOption).toEqual(2); + expect(controller.activeOption).toEqual(2); expect(controller.loadItems).toHaveBeenCalledWith(); }); it(`should set _activeOption as items.length -1 if showLoadMore is not defined then call loadItems()`, () => { spyOn(controller, 'loadItems'); controller.showLoadMore = undefined; - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; controller.activeOption = 10; $timeout.flush(); - expect(controller._activeOption).toEqual(3); + expect(controller.activeOption).toEqual(3); expect(controller.loadItems).toHaveBeenCalledWith(); }); it(`should define _activeOption as activeOption and never call loadItems()`, () => { spyOn(controller, 'loadItems'); - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}, {id: 5, name: 'Doctor X'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}, {id: 5, name: 'Doctor X'}]; controller.activeOption = 1; $timeout.flush(); - expect(controller._activeOption).toEqual(1); + expect(controller.activeOption).toEqual(1); expect(controller.loadItems).not.toHaveBeenCalledWith(); }); }); @@ -139,14 +140,6 @@ describe('Component vnDropDown', () => { }); describe('$onChanges()', () => { - it(`should set the top css of the $element`, () => { - let argumentObject = {show: true, top: {currentValue: 100}}; - spyOn(controller.$element, 'css'); - controller.$onChanges(argumentObject); - - expect(controller.$element.css).toHaveBeenCalledWith('top', '100px'); - }); - it(`should set the width css of the $element`, () => { let argumentObject = {show: true, itemWidth: {currentValue: 100}}; spyOn(controller.$element, 'css'); @@ -235,7 +228,7 @@ describe('Component vnDropDown', () => { }); it(`should call clearSearch() Esc key is pressed and take off 1 from _activeOption`, () => { - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; spyOn(controller, 'setScrollPosition'); controller._show = true; controller.element = document.createElement('div'); @@ -250,7 +243,7 @@ describe('Component vnDropDown', () => { }); it(`should call clearSearch() Esc key is pressed and add up 1 to _activeOption`, () => { - controller.items = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; spyOn(controller, 'setScrollPosition'); controller._show = true; controller.element = document.createElement('div'); @@ -265,18 +258,19 @@ describe('Component vnDropDown', () => { }); }); - describe('setScrollPosition()', () => { - it(`should call child.scrollIntoView if defined `, () => { - $element[0].firstChild.setAttribute('class', 'dropdown'); - let child = $element[0].firstChild.firstChild; - child.scrollIntoView = () => {}; - spyOn(child, 'scrollIntoView'); - controller._activeOption = 0; - controller.setScrollPosition(); + // describe('setScrollPosition()', () => { + // it(`should call child.scrollIntoView if defined `, () => { + // $element[0].firstChild.setAttribute('class', 'dropdown'); + // let child = $element[0].firstChild.firstChild; - expect(child.scrollIntoView).toHaveBeenCalledWith(); - }); - }); + // child.scrollIntoView = () => {}; + // spyOn(child, 'scrollIntoView'); + // controller._activeOption = 0; + // controller.setScrollPosition(); + + // expect(child.scrollIntoView).toHaveBeenCalledWith(); + // }); + // }); describe('selectItem()', () => { it(`should pass item to selected and set controller._show to false`, () => { @@ -293,26 +287,40 @@ describe('Component vnDropDown', () => { controller.selectItem(item); expect(controller.selected).toEqual(item); - expect(controller._show).toEqual(true); + expect(controller._show).not.toBeDefined(); }); }); describe('loadItems()', () => { - it(`should set controller._show to true`, () => { + it(`should set controller.show to true`, () => { + controller.show = false; + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; controller.loadItems(); - expect(controller._show).toEqual(true); + expect(controller.show).toEqual(true); }); - it(`should call loadMore() and then set controller._show to true`, () => { + it(`should call loadMore() and then set controller._show to true if there are items`, () => { controller.showLoadMore = () => {}; controller.loadMore = () => {}; spyOn(controller, 'loadMore'); + controller.itemsFiltered = [{id: 1, name: 'Batman'}, {id: 2, name: 'Bruce'}, {id: 3, name: 'Logan'}, {id: 4, name: 'Wolverine'}]; controller.loadItems(); expect(controller._show).toEqual(true); expect(controller.loadMore).toHaveBeenCalledWith(); }); + + it(`should call loadMore() and then set controller._show to undefined if there are not items`, () => { + controller.showLoadMore = () => {}; + controller.loadMore = () => {}; + spyOn(controller, 'loadMore'); + controller.itemsFiltered = []; + controller.loadItems(); + + expect(controller._show).not.toBeDefined(); + expect(controller.loadMore).toHaveBeenCalledWith(); + }); }); describe('$onInit()', () => { diff --git a/client/core/src/drop-down/style.scss b/client/core/src/drop-down/style.scss index e65fd4e6ee..d4c28f734f 100644 --- a/client/core/src/drop-down/style.scss +++ b/client/core/src/drop-down/style.scss @@ -4,6 +4,8 @@ vn-drop-down { padding: 0 15px; margin-left: -15px; background: transparent; + max-height: 446px; + overflow: hidden; .dropdown-body{ background: white; border: 1px solid #A7A7A7; @@ -27,7 +29,7 @@ vn-drop-down { padding: 0; margin: 0; background: white; - max-height: 400px; + max-height: 378px; overflow-y: auto; li { outline: none; @@ -55,4 +57,24 @@ vn-drop-down { } } } +} +#ddBack { + position: fixed; + z-index: 9998; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: transparent; +} +vn-drop-down.fixed-dropDown { + position: fixed; + margin: 0; + padding: 0; + .dropdown-body{ + height: 100%; + ul{ + border-bottom: 1px solid #A7A7A7; + } + } } \ No newline at end of file diff --git a/client/core/src/grid-header/style.scss b/client/core/src/grid-header/style.scss index cc983dcf1a..8f3475b35f 100644 --- a/client/core/src/grid-header/style.scss +++ b/client/core/src/grid-header/style.scss @@ -2,7 +2,6 @@ vn-grid-header { border-bottom: 3px solid #9D9D9D; font-weight: bold; .orderly{ - cursor: pointer; text-align: center; white-space: nowrap; justify-content: center; @@ -11,13 +10,18 @@ vn-grid-header { } } vn-icon{ - line-height: 17px; - font-size: 17px; margin: 0; padding: 0; - display: inline; i { - padding-top: 3px; + padding: 0; + margin: -2px -17px 0 0; + opacity: 0.2; + cursor: pointer; + } + &.active { + i { + opacity: 1; + } } } [min-none]{ diff --git a/client/core/src/icon-menu/icon-menu.html b/client/core/src/icon-menu/icon-menu.html index 6f49a6f7ee..c2d5ffeff8 100644 --- a/client/core/src/icon-menu/icon-menu.html +++ b/client/core/src/icon-menu/icon-menu.html @@ -1,7 +1,7 @@ -
+
{ this.$timeout(() => { - this.showDropDown = true; + this.mouseFocus = true; + this.showDropDown = this.focused; }); }); this.$element.bind('mouseout', () => { this.$timeout(() => { - this.showDropDown = false; + this.mouseFocus = false; + this.showDropDown = this.focused; }); }); this.$element.bind('focusin', e => { this.$timeout(() => { + this.focused = true; this.showDropDown = true; }); }); this.$element.bind('focusout', e => { this.$timeout(() => { - this.showDropDown = false; + this.focused = false; + this.showDropDown = this.mouseFocus; }); }); } diff --git a/client/core/src/lib/app.js b/client/core/src/lib/app.js index dd6ef1f098..46d041fd8b 100644 --- a/client/core/src/lib/app.js +++ b/client/core/src/lib/app.js @@ -7,8 +7,13 @@ import {module} from '../module'; * @property {Snackbar} snackbar The main object to show messages. */ export default class App { + constructor($rootScope) { + this.loaderStatus = 0; + this.$rootScope = $rootScope; + this.timeout = window.snackbarTimeout || 2000; + } show(message) { - if (this.snackbar) this.snackbar.show({message: message}); + if (this.snackbar) this.snackbar.show({message: message, timeout: this.timeout}); } showMessage(message) { this.show(message); @@ -16,5 +21,17 @@ export default class App { showError(message) { this.show(`Error: ${message}`); } + pushLoader() { + this.loaderStatus++; + if (this.loaderStatus === 1) + this.$rootScope.loading = true; + } + popLoader() { + this.loaderStatus--; + if (this.loaderStatus === 0) + this.$rootScope.loading = false; + } } +App.$inject = ['$rootScope']; + module.service('vnApp', App); diff --git a/client/core/src/lib/crud.js b/client/core/src/lib/crud.js index df5c5d062c..fe2c39af2b 100644 --- a/client/core/src/lib/crud.js +++ b/client/core/src/lib/crud.js @@ -8,6 +8,14 @@ function index(mgIndex) { } module.factory('vnIndex', index); +nonAuto.$inject = ['mgIndex']; +function nonAuto(mgIndex) { + return Object.assign({}, mgIndex, { + auto: false + }); +} +module.factory('vnIndexNonAuto', nonAuto); + successFactoryCreate.$inject = ['mgSuccessFactoryCreate']; function successFactoryCreate(create) { return Object.assign({}, create, { diff --git a/client/core/src/lib/fullEmpty.js b/client/core/src/lib/fullEmpty.js new file mode 100644 index 0000000000..86c8e6bcea --- /dev/null +++ b/client/core/src/lib/fullEmpty.js @@ -0,0 +1,9 @@ +import {module} from '../module'; + +const isFullEmpty = item => { + return (item === null || item === undefined) || (typeof item === 'object' && !Object.keys(item).length); +}; + +export default isFullEmpty; +export const NAME = 'isFullEmpty'; +module.value(NAME, isFullEmpty); diff --git a/client/core/src/lib/index.js b/client/core/src/lib/index.js index a081b5f872..46c4e48828 100644 --- a/client/core/src/lib/index.js +++ b/client/core/src/lib/index.js @@ -14,3 +14,4 @@ export {NAME as INTERPOLATE, Interpolate} from './interpolate'; export {NAME as COPY_OBJECT} from './copy'; export {NAME as EQUALS_OBJECT} from './equals'; export {NAME as GET_DATA_MODIFIED, factory as Modified} from './modified'; +export {NAME as VALID_KEY} from './keyCodes'; diff --git a/client/core/src/lib/input.js b/client/core/src/lib/input.js new file mode 100644 index 0000000000..8db191c337 --- /dev/null +++ b/client/core/src/lib/input.js @@ -0,0 +1,13 @@ +import Component from './component'; + +/** + * Component that host an input. + */ +export default class Input extends Component { + select() { + this.input.select(); + } + focus() { + this.input.focus(); + } +} diff --git a/client/core/src/lib/interceptor.js b/client/core/src/lib/interceptor.js index 9cd97d78af..6d92660184 100644 --- a/client/core/src/lib/interceptor.js +++ b/client/core/src/lib/interceptor.js @@ -1,11 +1,10 @@ import {module} from '../module'; -interceptor.$inject = ['$q', '$rootScope', '$window', 'vnApp', '$translate', '$cookies']; -function interceptor($q, $rootScope, $window, vnApp, $translate, $cookies) { - $rootScope.loading = false; +interceptor.$inject = ['$q', '$window', 'vnApp', '$translate', '$cookies']; +function interceptor($q, $window, vnApp, $translate, $cookies) { return { request: function(config) { - $rootScope.loading = true; + vnApp.pushLoader(); let token = $cookies.get('vnToken'); if (token) @@ -23,11 +22,11 @@ function interceptor($q, $rootScope, $window, vnApp, $translate, $cookies) { case 'PATCH': vnApp.showMessage($translate.instant('Data saved!')); } - $rootScope.loading = false; + vnApp.popLoader(); return response; }, responseError: function(rejection) { - $rootScope.loading = false; + vnApp.popLoader(); let data = rejection.data; let error; diff --git a/client/core/src/lib/keyCodes.js b/client/core/src/lib/keyCodes.js new file mode 100644 index 0000000000..9586868ec7 --- /dev/null +++ b/client/core/src/lib/keyCodes.js @@ -0,0 +1,19 @@ +import {module} from '../module'; + +const validKey = key => { + let keycode = key.keyCode || key; + + let valid = + (keycode > 47 && keycode < 58) || // number keys + (keycode > 64 && keycode < 91) || // letter keys + (keycode > 95 && keycode < 112) || // numpad keys + (keycode > 185 && keycode < 193) || // ;=,-./` (in order) + (keycode > 218 && keycode < 223); // [\]' (in order) + + return valid; +}; + +export default validKey; + +export const NAME = 'validKey'; +module.value(NAME, validKey); diff --git a/client/core/src/lib/specs/aclService.spec.js b/client/core/src/lib/specs/aclService.spec.js new file mode 100644 index 0000000000..45a820acc5 --- /dev/null +++ b/client/core/src/lib/specs/aclService.spec.js @@ -0,0 +1,50 @@ +describe('Service acl', () => { + let aclService; + + beforeEach(() => { + angular.mock.module('vnCore'); + }); + + beforeEach(angular.mock.module($provide => { + $provide.value('aclConstant', {}); + })); + + beforeEach(inject((_aclService_, $httpBackend) => { + aclService = _aclService_; + })); + + it("should return false as the service doesn't have roles", () => { + expect(aclService.routeHasPermission('http://www.verdnatura.es')).toBeFalsy(); + }); + + it("should return true as the service has roles but the route has no acl", () => { + aclService.roles = {customer: true}; + + expect(aclService.routeHasPermission('http://www.verdnatura.es')).toBeTruthy(); + }); + + it("should return false as the service roles have no length", () => { + aclService.roles = {}; + let route = {url: 'http://www.verdnatura.es', acl: []}; + + expect(aclService.routeHasPermission(route)).toBeFalsy(); + }); + + it("should call the service aclPermission() function and return false as the service has roles and the rote has acl without length", () => { + aclService.roles = {customer: true, employee: true}; + let route = {url: 'http://www.verdnatura.es', acl: []}; + spyOn(aclService, 'aclPermission').and.callThrough(); + + expect(aclService.routeHasPermission(route)).toBeFalsy(); + expect(aclService.aclPermission).toHaveBeenCalledWith(route.acl); + }); + + it("should call the service aclPermission() function to return true as the service has roles matching with the ones in acl", () => { + aclService.roles = {customer: true, employee: true}; + let route = {url: 'http://www.verdnatura.es', acl: ['customer']}; + spyOn(aclService, 'aclPermission').and.callThrough(); + + expect(aclService.routeHasPermission(route)).toBeTruthy(); + expect(aclService.aclPermission).toHaveBeenCalledWith(route.acl); + }); +}); diff --git a/client/core/src/lib/validator.js b/client/core/src/lib/validator.js index d31fa9e36e..9f8d6d53f2 100644 --- a/client/core/src/lib/validator.js +++ b/client/core/src/lib/validator.js @@ -1,20 +1,21 @@ import {validator} from 'vendor'; export const validators = { - presence: function(value, conf) { - if (validator.isEmpty(value)) + presence: value => { + if (validator.isEmpty(value ? String(value) : '')) throw new Error(`Value can't be empty`); }, - absence: function(value, conf) { + absence: value => { if (!validator.isEmpty(value)) throw new Error(`Value should be empty`); }, - length: function(value, conf) { + length: (value, conf) => { let options = { min: conf.min || conf.is, max: conf.max || conf.is }; - if (!validator.isLength(value, options)) { + let val = value ? String(value) : ''; + if (!validator.isLength(val, options)) { if (conf.is) { throw new Error(`Value should be ${conf.is} characters long`); } else if (conf.min && conf.max) { @@ -26,26 +27,26 @@ export const validators = { } } }, - numericality: function(value, conf) { + numericality: (value, conf) => { if (conf.int) { if (!validator.isInt(value)) throw new Error(`Value should be integer`); } else if (!validator.isNumeric(value)) throw new Error(`Value should be a number`); }, - inclusion: function(value, conf) { + inclusion: (value, conf) => { if (!validator.isIn(value, conf.in)) throw new Error(`Invalid value`); }, - exclusion: function(value, conf) { + exclusion: (value, conf) => { if (validator.isIn(value, conf.in)) throw new Error(`Invalid value`); }, - format: function(value, conf) { + format: (value, conf) => { if (!validator.matches(value, conf.with)) throw new Error(`Invalid value`); }, - custom: function(value, conf) { + custom: (value, conf) => { if (!conf.bindedFunction(value)) throw new Error(`Invalid value`); } @@ -73,7 +74,7 @@ export function validate(value, conf) { try { checkNull(value, conf); - if (validator && value != null) + if (validator) // && value != null ?? validator(value, conf); } catch (e) { let message = conf.message ? conf.message : e.message; diff --git a/client/core/src/mdl-override.css b/client/core/src/mdl-override.css index 83043a144f..3a1f391a2f 100644 --- a/client/core/src/mdl-override.css +++ b/client/core/src/mdl-override.css @@ -1,60 +1,60 @@ -/** - * Rewrited CSS rules from Material Design Lite. - * TODO: don't use !important - */ - -.mdl-textfield { - width: 100%; -} - -.mdl-button { - font-weight: bolder; - color: #ffa410; -} -.mdl-button--colored { - color: white !important; -} -.mdl-button--colored, -.mdl-button--colored:focus, -.mdl-button--colored:active { - background-color: #ffa410 !important; -} -.mdl-button--colored:hover, -.mdl-button--raised:hover { - background-color: #ffa410 !important; -} -.mdl-button--fab{ - color: white !important; - background-color: #ff9400 !important; -} - -.mdl-dialog__actions--full-width>*{ - text-align: center; -} - -.mdl-dialog{ - width: 400px; - font-family: raleway-regular; - line-height:60px; - text-align: center; -} - -.mdl-textfield__error { - visibility: visible; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - width: 100%; -} -.mdl-textfield.invalid .mdl-textfield__input { - border-color: #d50000; - box-shadow: none; -} -.mdl-textfield.invalid .mdl-textfield__label::after { - background-color: #d50000; -} -.mdl-textfield--floating-label.invalid .mdl-textfield__label { - color: #d50000; - font-size: 12px; - top: 4px; -} +/** + * Rewrited CSS rules from Material Design Lite. + * TODO: don't use !important + */ + +.mdl-textfield { + width: 100%; +} + +.mdl-button { + font-weight: bolder; + color: #ffa410; +} +.mdl-button--colored { + color: white !important; +} +.mdl-button--colored, +.mdl-button--colored:focus, +.mdl-button--colored:active { + background-color: #ffa410 !important; +} +.mdl-button--colored:hover, +.mdl-button--raised:hover { + background-color: #ffa410 !important; +} +.mdl-button--fab{ + color: white !important; + background-color: #ff9400 !important; +} + +.mdl-dialog__actions--full-width>*{ + text-align: center; +} + +.mdl-dialog{ + width: 400px; + font-family: vn-font; + line-height:60px; + text-align: center; +} + +.mdl-textfield__error { + visibility: visible; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + width: 100%; +} +.mdl-textfield.invalid .mdl-textfield__input { + border-color: #d50000; + box-shadow: none; +} +.mdl-textfield.invalid .mdl-textfield__label::after { + background-color: #d50000; +} +.mdl-textfield--floating-label.invalid .mdl-textfield__label { + color: #d50000; + font-size: 12px; + top: 4px; +} diff --git a/client/core/src/textfield/style.scss b/client/core/src/textfield/style.scss index aafeee2045..0f9d95c8ec 100644 --- a/client/core/src/textfield/style.scss +++ b/client/core/src/textfield/style.scss @@ -7,12 +7,18 @@ vn-textfield { width: auto; top: 0px; right: -6px; - margin: 22px 0px; - background-color: white; + margin: 21px 0px; + background: white; + opacity: 1; + z-index: 9999; + color: #aaa; } .material-icons { font-size: 18px; float: right; - margin-right: 5px; + margin-right: 5px; + } + .material-icons:hover { + color: rgba(0,0,0, .87); } } \ No newline at end of file diff --git a/client/core/src/textfield/textfield.html b/client/core/src/textfield/textfield.html index 3b8f24e1e2..e709c835df 100644 --- a/client/core/src/textfield/textfield.html +++ b/client/core/src/textfield/textfield.html @@ -1,11 +1,7 @@
+ ng-mouseleave="$ctrl.hasMouseIn = false"> + ng-focus="$ctrl.hasFocus = true" + ng-blur="$ctrl.hasFocus = false" + />
- info_outline - clear + + info_outline + + + clear +
diff --git a/client/core/src/textfield/textfield.js b/client/core/src/textfield/textfield.js index 09d65ab9d0..b9262bc0ec 100644 --- a/client/core/src/textfield/textfield.js +++ b/client/core/src/textfield/textfield.js @@ -1,9 +1,8 @@ import {module} from '../module'; -import Component from '../lib/component'; -import * as normalizerFactory from '../lib/inputAttrsNormalizer'; +import Input from '../lib/input'; import './style.scss'; -export default class TextfieldController extends Component { +export default class Textfield extends Input { constructor($element, $scope, $attrs, $timeout, normalizer) { super($element); @@ -15,45 +14,42 @@ export default class TextfieldController extends Component { this.$timeout = $timeout; this._value = null; - this.type = this.$attrs.type || 'text'; + this.type = $attrs.type || 'text'; this.showActions = false; this.input = $element[0].querySelector('input'); - this.focus = false; - this.hasInfo = Boolean(this.$attrs.info); - this.info = this.$attrs.info || null; + this.hasInfo = Boolean($attrs.info); + this.info = $attrs.info || null; this.hasFocus = false; this.hasMouseIn = false; componentHandler.upgradeElement($element[0].firstChild); } - get value() { return this._value; } - set value(value) { this._value = (value === undefined || value === '') ? null : value; this.input.value = this._value; this.hasValue = Boolean(this._value); this.mdlUpdate(); } - + set tabIndex(value) { + this.input.tabIndex = value; + } mdlUpdate() { let mdlField = this.$element[0].firstChild.MaterialTextfield; if (mdlField) mdlField.updateClasses_(); } - clear() { this.value = null; this.input.focus(); } } - -TextfieldController.$inject = ['$element', '$scope', '$attrs', '$timeout', normalizerFactory.NAME]; +Textfield.$inject = ['$element', '$scope', '$attrs', '$timeout', 'vnInputAttrsNormalizer']; module.component('vnTextfield', { template: require('./textfield.html'), - controller: TextfieldController, + controller: Textfield, bindings: { value: '=model', label: '@?', @@ -61,6 +57,7 @@ module.component('vnTextfield', { disabled: ' this.$state.go(state) + () => this.$state.go(state, params || {}) ); } /** @@ -92,10 +94,10 @@ export default class Watcher extends Component { (resolve, reject) => this.noChanges(reject) ); } - let changedData = getModifiedData(this.data, this.orgData); + let changedData = (this.$attrs.save && this.$attrs.save.toLowerCase() === 'post') ? this.copyInNewObject(this.data) : getModifiedData(this.data, this.orgData); if (this.save) { - this.save.model = changedData; + this.save.model = changedData; // this.copyInNewObject(changedData); return new Promise((resolve, reject) => { this.save.accept().then( json => this.writeData({data: json}, resolve), @@ -154,7 +156,7 @@ export default class Watcher extends Component { if (data && typeof data === 'object') { Object.keys(data).forEach( val => { - if (data[val] !== "" && data[val] !== undefined && data[val] !== null) { + if (!isFullEmpty(data[val])) { if (typeof data[val] === 'object') { newCopy[val] = this.copyInNewObject(data[val]); } else { @@ -179,6 +181,7 @@ export default class Watcher extends Component { } dataChanged() { + if (this.form && !this.form.$dirty) return false; let newData = this.copyInNewObject(this.data); return !isEqual(newData, this.orgData); } @@ -193,7 +196,7 @@ export default class Watcher extends Component { } } -Watcher.$inject = ['$element', '$scope', '$state', '$transitions', '$http', 'vnApp', '$translate']; +Watcher.$inject = ['$element', '$scope', '$state', '$transitions', '$http', 'vnApp', '$translate', '$attrs']; module.component('vnWatcher', { template: require('./watcher.html'), diff --git a/client/core/src/watcher/watcher.spec.js b/client/core/src/watcher/watcher.spec.js index 0ed342e317..e27efc9f05 100644 --- a/client/core/src/watcher/watcher.spec.js +++ b/client/core/src/watcher/watcher.spec.js @@ -11,6 +11,7 @@ describe('Component vnWatcher', () => { let vnApp; let $translate; let controller; + let $attrs; beforeEach(() => { angular.mock.module('client'); @@ -25,7 +26,10 @@ describe('Component vnWatcher', () => { $transitions = _$transitions_; $httpBackend = _$httpBackend_; $translate = _$translate_; - controller = $componentController('vnWatcher', {$scope, $element, $state, vnApp, $transitions, $httpBackend, $translate}); + $attrs = { + save: "patch" + }; + controller = $componentController('vnWatcher', {$scope, $element, $state, vnApp, $transitions, $httpBackend, $translate, $attrs}); })); describe('$onInit()', () => { @@ -100,11 +104,11 @@ describe('Component vnWatcher', () => { it(`should call controller.$state.go() function after calling controllers submit() function`, done => { spyOn(controller, 'submit').and.returnValue(Promise.resolve()); spyOn(controller.$state, 'go'); - let state = 'the state'; + let state = 'the.State'; controller.submitGo(state) .then(() => { expect(controller.submit).toHaveBeenCalledWith(); - expect(controller.$state.go).toHaveBeenCalledWith(state); + expect(controller.$state.go).toHaveBeenCalledWith(state, {}); done(); }); }); @@ -290,4 +294,3 @@ describe('Component vnWatcher', () => { }); }); }); -// 309 \ No newline at end of file diff --git a/client/item/index.js b/client/item/index.js new file mode 100644 index 0000000000..c94fde7de4 --- /dev/null +++ b/client/item/index.js @@ -0,0 +1 @@ +export * from './src/item'; diff --git a/client/item/routes.json b/client/item/routes.json new file mode 100644 index 0000000000..74dbe6dadb --- /dev/null +++ b/client/item/routes.json @@ -0,0 +1,106 @@ +{ + "module": "item", + "name": "Items", + "icon": "/static/images/icon_item.png", + "validations" : true, + "routes": [ + { + "url": "/item", + "state": "item", + "abstract": true, + "component": "ui-view" + }, + { + "url": "/list", + "state": "item.index", + "component": "vn-item-list", + "acl": ["developer"] + }, { + "url": "/create", + "state": "item.create", + "component": "vn-item-create" + }, { + "url": "/:id", + "state": "item.card", + "abstract": true, + "component": "vn-item-card" + }, { + "url" : "/data", + "state": "item.card.data", + "component": "vn-item-data", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Basic data", + "icon": "folder" + } + },{ + "url" : "/tags", + "state": "item.card.tags", + "component": "vn-item-tags", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Tags", + "icon": "folder" + } + },{ + "url" : "/history", + "state": "item.card.history", + "component": "vn-item-history", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "History", + "icon": "folder" + } + },{ + "url" : "/niche", + "state": "item.card.niche", + "component": "vn-item-niche", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Niche", + "icon": "folder" + } + },{ + "url" : "/botanical", + "state": "item.card.botanical", + "component": "vn-item-botanical", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Botanical", + "icon": "folder" + } + },{ + "url" : "/picture", + "state": "item.card.picture", + "component": "vn-item-picture", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Picture", + "icon": "folder" + } + }, { + "url" : "/barcode", + "state": "item.card.barcode", + "component": "vn-item-barcode", + "params": { + "item": "$ctrl.item" + }, + "menu": { + "description": "Barcode", + "icon": "folder" + } + } + ] +} \ No newline at end of file diff --git a/client/item/src/barcode/item-barcode.html b/client/item/src/barcode/item-barcode.html new file mode 100644 index 0000000000..549ac04d16 --- /dev/null +++ b/client/item/src/barcode/item-barcode.html @@ -0,0 +1,5 @@ + + + Item barcode + + \ No newline at end of file diff --git a/client/item/src/barcode/item-barcode.js b/client/item/src/barcode/item-barcode.js new file mode 100644 index 0000000000..850c262b8e --- /dev/null +++ b/client/item/src/barcode/item-barcode.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemBarcode', { + template: require('./item-barcode.html') +}); diff --git a/client/item/src/botanical/item-botanical.html b/client/item/src/botanical/item-botanical.html new file mode 100644 index 0000000000..36cd49f8fb --- /dev/null +++ b/client/item/src/botanical/item-botanical.html @@ -0,0 +1,5 @@ + + + Botanical + + \ No newline at end of file diff --git a/client/item/src/botanical/item-botanical.js b/client/item/src/botanical/item-botanical.js new file mode 100644 index 0000000000..8bd744e539 --- /dev/null +++ b/client/item/src/botanical/item-botanical.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemBotanical', { + template: require('./item-botanical.html') +}); diff --git a/client/item/src/card/item-card.html b/client/item/src/card/item-card.html new file mode 100644 index 0000000000..6696d07fd4 --- /dev/null +++ b/client/item/src/card/item-card.html @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/client/item/src/card/item-card.js b/client/item/src/card/item-card.js new file mode 100644 index 0000000000..0639103699 --- /dev/null +++ b/client/item/src/card/item-card.js @@ -0,0 +1,32 @@ +import ngModule from '../module'; + +class ItemCard { + constructor($http, $state) { + this.$http = $http; + this.$state = $state; + this.item = {}; + } + + $onInit() { + let filter = { + include: [ + {relation: "itemType"}, + {relation: "origin"}, + {relation: "ink"}, + {relation: "producer"}, + {relation: "intrastat"} + ] + }; + this.$http.get(`/item/api/Items/${this.$state.params.id}?filter=${JSON.stringify(filter)}`).then( + res => { + this.item = res.data; + } + ); + } +} +ItemCard.$inject = ['$http', '$state']; + +ngModule.component('vnItemCard', { + template: require('./item-card.html'), + controller: ItemCard +}); diff --git a/client/item/src/create/item-create.html b/client/item/src/create/item-create.html new file mode 100644 index 0000000000..1a489057d9 --- /dev/null +++ b/client/item/src/create/item-create.html @@ -0,0 +1,57 @@ + + + +
+
+ + + New item + + + + + + + + {{$parent.$parent.item.description}} + + + + + + + + + + + + + + + +
+
diff --git a/client/item/src/create/item-create.js b/client/item/src/create/item-create.js new file mode 100644 index 0000000000..415e67c4f6 --- /dev/null +++ b/client/item/src/create/item-create.js @@ -0,0 +1,23 @@ +import ngModule from '../module'; + +class ItemCreate { + constructor($scope, $state) { + this.$ = $scope; + this.$state = $state; + this.item = { + relevancy: 0 + }; + } + + onSubmit() { + this.$.watcher.submit().then( + json => this.$state.go('item.card.data', {id: json.data.id}) + ); + } +} +ItemCreate.$inject = ['$scope', '$state']; + +ngModule.component('vnItemCreate', { + template: require('./item-create.html'), + controller: ItemCreate +}); diff --git a/client/item/src/data/item-data.html b/client/item/src/data/item-data.html new file mode 100644 index 0000000000..35fbf0b1a2 --- /dev/null +++ b/client/item/src/data/item-data.html @@ -0,0 +1,65 @@ + + + + + +
+ + + Basic data + + + + + + + + {{$parent.$parent.item.description}} + + + + + + + + + + + + + + +
+ diff --git a/client/item/src/data/item-data.js b/client/item/src/data/item-data.js new file mode 100644 index 0000000000..6046e8dbc1 --- /dev/null +++ b/client/item/src/data/item-data.js @@ -0,0 +1,8 @@ +import ngModule from '../module'; + +ngModule.component('vnItemData', { + template: require('./item-data.html'), + bindings: { + item: '<' + } +}); diff --git a/client/item/src/descriptor/item-descriptor.html b/client/item/src/descriptor/item-descriptor.html new file mode 100644 index 0000000000..ef658f0ef0 --- /dev/null +++ b/client/item/src/descriptor/item-descriptor.html @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/client/item/src/descriptor/item-descriptor.js b/client/item/src/descriptor/item-descriptor.js new file mode 100644 index 0000000000..e2c93c484f --- /dev/null +++ b/client/item/src/descriptor/item-descriptor.js @@ -0,0 +1,8 @@ +import ngModule from '../module'; + +ngModule.component('vnItemDescriptor', { + template: require('./item-descriptor.html'), + bindings: { + item: '<' + } +}); diff --git a/client/item/src/filter-panel/filter-panel.html b/client/item/src/filter-panel/filter-panel.html new file mode 100644 index 0000000000..607e7e7cc2 --- /dev/null +++ b/client/item/src/filter-panel/filter-panel.html @@ -0,0 +1,58 @@ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/client/item/src/filter-panel/filter-panel.js b/client/item/src/filter-panel/filter-panel.js new file mode 100644 index 0000000000..608918b51f --- /dev/null +++ b/client/item/src/filter-panel/filter-panel.js @@ -0,0 +1,16 @@ +import ngModule from '../module'; + +class ItemFilterPanel { + constructor() { + this.onSubmit = () => {}; + } + + onSearch() { + this.onSubmit(this.filter); + } +} + +ngModule.component('vnItemFilterPanel', { + template: require('./filter-panel.html'), + controller: ItemFilterPanel +}); diff --git a/client/item/src/filter-panel/locale/es.json b/client/item/src/filter-panel/locale/es.json new file mode 100644 index 0000000000..e7bc89814c --- /dev/null +++ b/client/item/src/filter-panel/locale/es.json @@ -0,0 +1,5 @@ +{ + "Ink": "Tinta", + "Origin": "Origen", + "Producer": "Productor" +} \ No newline at end of file diff --git a/client/item/src/history/item-history.html b/client/item/src/history/item-history.html new file mode 100644 index 0000000000..032f17033b --- /dev/null +++ b/client/item/src/history/item-history.html @@ -0,0 +1,5 @@ + + + Item history + + \ No newline at end of file diff --git a/client/item/src/history/item-history.js b/client/item/src/history/item-history.js new file mode 100644 index 0000000000..a07503c811 --- /dev/null +++ b/client/item/src/history/item-history.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemHistory', { + template: require('./item-history.html') +}); diff --git a/client/item/src/item.js b/client/item/src/item.js new file mode 100644 index 0000000000..ddfbb2d052 --- /dev/null +++ b/client/item/src/item.js @@ -0,0 +1,15 @@ +export * from './module'; + +import './list/list'; +import './filter-panel/filter-panel'; +import './create/item-create'; +import './card/item-card'; +import './descriptor/item-descriptor'; +import './data/item-data'; +import './tags/item-tags'; +import './history/item-history'; +import './niche/item-niche'; +import './botanical/item-botanical'; +import './picture/item-picture'; +import './barcode/item-barcode'; + diff --git a/client/item/src/list/item-product.html b/client/item/src/list/item-product.html new file mode 100644 index 0000000000..852ba7dc37 --- /dev/null +++ b/client/item/src/list/item-product.html @@ -0,0 +1,14 @@ + + + + + + +
Id: {{$ctrl.item.id}}
+
Name: {{$ctrl.item.name}}
+
Description: {{$ctrl.item.description}}
+
Size: {{$ctrl.item.size}}
+
Type: {{$ctrl.item.itemType.name}}
+
+
+ diff --git a/client/item/src/list/item-product.js b/client/item/src/list/item-product.js new file mode 100644 index 0000000000..4f7c7b4e79 --- /dev/null +++ b/client/item/src/list/item-product.js @@ -0,0 +1,8 @@ +import ngModule from '../module'; + +ngModule.component('vnItemProduct', { + template: require('./item-product.html'), + bindings: { + item: '<' + } +}); diff --git a/client/item/src/list/list.html b/client/item/src/list/list.html new file mode 100644 index 0000000000..00f498d4ef --- /dev/null +++ b/client/item/src/list/list.html @@ -0,0 +1,26 @@ + +
+
+ + + + + + + + + + + + +
+ + + +
\ No newline at end of file diff --git a/client/item/src/list/list.js b/client/item/src/list/list.js new file mode 100644 index 0000000000..db48692d8d --- /dev/null +++ b/client/item/src/list/list.js @@ -0,0 +1,17 @@ +import ngModule from '../module'; +import './item-product'; +import './style.css'; + +class ItemList { + constructor() { + this.model = {}; + } + search(index) { + index.accept(); + } +} + +ngModule.component('vnItemList', { + template: require('./list.html'), + controller: ItemList +}); diff --git a/client/item/src/list/style.css b/client/item/src/list/style.css new file mode 100644 index 0000000000..ca53151b95 --- /dev/null +++ b/client/item/src/list/style.css @@ -0,0 +1,20 @@ +vn-item-product { + display: block; +} +a.item-product-link { + display: block; + text-decoration: none; + color: inherit; +} +a.item-product-link:hover { + color: white; + background-color: #424242; +} + +vn-item-product img { + max-width: 150px; +} + +.vn-item-product-name { + font-family: vn-font-bold; +} diff --git a/client/item/src/locale/es.json b/client/item/src/locale/es.json new file mode 100644 index 0000000000..46cebc0147 --- /dev/null +++ b/client/item/src/locale/es.json @@ -0,0 +1,20 @@ +{ + "Items": "Artículos", + "Item": "Artículo", + "Category": "Categoría", + "Description": "Descripción", + "Size": "Tamaño", + "Type": "Tipo", + "Name": "Nombre", + "Relevancy": "Relevancia", + "New item": "Nuevo artículo", + "Basic data": "Datos básicos", + "History" : "Historial", + "Item history" : "Historial del artículo", + "Item tags" : "Tags del artículo", + "Niche": "Nicho", + "Picture": "Foto", + "Item pictures": "Fotos del artículo", + "Barcode": "Código barras", + "Item barcode": "Código de barras del artículo" +} \ No newline at end of file diff --git a/client/item/src/module.js b/client/item/src/module.js new file mode 100644 index 0000000000..b44509fb22 --- /dev/null +++ b/client/item/src/module.js @@ -0,0 +1,5 @@ +import {ng} from 'vendor'; +import 'core'; + +const ngModule = ng.module('item', ['vnCore']); +export default ngModule; diff --git a/client/item/src/niche/item-niche.html b/client/item/src/niche/item-niche.html new file mode 100644 index 0000000000..9d2297ca22 --- /dev/null +++ b/client/item/src/niche/item-niche.html @@ -0,0 +1,5 @@ + + + Niche + + \ No newline at end of file diff --git a/client/item/src/niche/item-niche.js b/client/item/src/niche/item-niche.js new file mode 100644 index 0000000000..caa84c9eaf --- /dev/null +++ b/client/item/src/niche/item-niche.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemNiche', { + template: require('./item-niche.html') +}); diff --git a/client/item/src/picture/item-picture.html b/client/item/src/picture/item-picture.html new file mode 100644 index 0000000000..93acec3c9a --- /dev/null +++ b/client/item/src/picture/item-picture.html @@ -0,0 +1,5 @@ + + + Item pictures + + \ No newline at end of file diff --git a/client/item/src/picture/item-picture.js b/client/item/src/picture/item-picture.js new file mode 100644 index 0000000000..20fdd84990 --- /dev/null +++ b/client/item/src/picture/item-picture.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemPicture', { + template: require('./item-picture.html') +}); diff --git a/client/item/src/tags/item-tags.html b/client/item/src/tags/item-tags.html new file mode 100644 index 0000000000..8f00b0b292 --- /dev/null +++ b/client/item/src/tags/item-tags.html @@ -0,0 +1,5 @@ + + + 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 new file mode 100644 index 0000000000..a390820b7e --- /dev/null +++ b/client/item/src/tags/item-tags.js @@ -0,0 +1,5 @@ +import ngModule from '../module'; + +ngModule.component('vnItemTags', { + template: require('./item-tags.html') +}); diff --git a/client/modules.json b/client/modules.json index 62c5e11a11..d7dd0f7ce4 100644 --- a/client/modules.json +++ b/client/modules.json @@ -5,5 +5,6 @@ "client": [], "production": [], "route": [], - "locator": [] + "locator": [], + "item": [] } diff --git a/client/production/src/index/index.html b/client/production/src/index/index.html index 5f215808d2..63e899206f 100644 --- a/client/production/src/index/index.html +++ b/client/production/src/index/index.html @@ -1,39 +1,37 @@ - - + + Finder - -
- - - - -
- + + + + - + initial-value="$ctrl.filter.warehouseFk" + show-field="name" + value-field="id" + field="$ctrl.filter.warehouseFk" + url="/production/api/Warehouses/production" + on-change = "$ctrl.onChangeWareHouse(item)" + label="Store" + >
- + diff --git a/client/production/src/index/index.js b/client/production/src/index/index.js index fff3505802..48aa3f9ae0 100644 --- a/client/production/src/index/index.js +++ b/client/production/src/index/index.js @@ -2,14 +2,13 @@ import ngModule from '../module'; import './style.scss'; export default class ProductionIndex { - constructor($element, $scope, $http, vnPopover, aclConstant) { + constructor($element, $scope, $http, aclConstant) { this.$element = $element; this.$ = $scope; this.$http = $http; - this.vnPopover = vnPopover; this.filter = {}; this.tickets = []; - this.states = []; + this.checkAll = 0; this.footer = { total: null, @@ -17,23 +16,17 @@ export default class ProductionIndex { meters: null }; this._search = null; - this.hourItems = []; + + this.sharedData = { + states: [], + hourItems: [] + }; + this.child = undefined; this.userProfile = aclConstant.userProfile; this.filter.warehouseFk = this.userProfile.warehouseId; } - get search() { - return this._search; - } - set search(value) { - this._search = value; - this.filter.q = value; - if (!value) { - this.searchTickets(); - } - } - get checkAll() { return this._checkAll; } @@ -72,55 +65,21 @@ export default class ProductionIndex { } ); } - - moreFilters(event) { - this.child = this.vnPopover.showComponent('vn-production-filter-panel', this.$, this.$element[0].querySelector('.filterPanel')); - var childCtrl = angular.element(this.child).isolateScope().$ctrl; - childCtrl.filter = Object.assign({}, this.filter); - childCtrl.data = Object.assign({}, {states: this.states}, {hourItems: this.hourItems}); - childCtrl.onSubmit = filter => this.onChildSubmit(filter); - childCtrl.onCancel = () => this.onChildCancel(); - event.preventDefault(); - } - onChildSubmit(filter) { - let newFilter = {}; - Object.keys(filter).forEach( - field => { - if (filter[field] !== null) { - newFilter[field] = filter[field]; - } - } - ); - this.searchTickets(newFilter); - this.onChildCancel(); - } - onChildCancel() { - angular.element(this.child).scope().$destroy(); - angular.element(this.child).remove(); - delete this.child; - } searchTickets(filter) { - this.filter = Object.assign({}, this.filter, filter || {}); - let filters = Object.assign({}, { - where: this.filter - }, { - page: 1, - limit: 1000 - }); + this.$.index.filter.filter = Object.assign({}, this.filter, filter || {}); this.checkAll = 0; - this.$http.get('/production/api/FakeProductions/list?filter=' + JSON.stringify(filters)).then( + this.$.index.accept().then( json => { - this.tickets = json.data.tickets; - this.footer.lines = json.data.lines; - this.footer.meters = json.data.m3; - this.footer.total = json.data.total; + this.tickets = json.tickets; + this.footer.lines = json.lines; + this.footer.meters = json.m3; + this.footer.total = json.total; } ); } refreshTickets() { this.filter = {}; this.filter.warehouseFk = this.$.displayValue = this.userProfile.warehouseId; - this.search = null; } onChangeWareHouse(warehouse) { if (warehouse && warehouse != this.filter.warehouseFk) { @@ -135,13 +94,13 @@ export default class ProductionIndex { hour = [0, i].join(''); } hour += ':00'; - this.hourItems.push({id: i, name: hour}); + this.sharedData.hourItems.push({id: i, name: hour}); } this.filter.warehouseFk = this.$.displayValue = this.userProfile.warehouseId; } } -ProductionIndex.$inject = ['$element', '$scope', '$http', 'vnPopover', 'aclConstant']; +ProductionIndex.$inject = ['$element', '$scope', '$http', 'aclConstant']; ngModule.component('vnProductionIndex', { template: require('./index.html'), diff --git a/client/production/src/locale/es.json b/client/production/src/locale/es.json index 0cf5acba55..59571cb2c6 100644 --- a/client/production/src/locale/es.json +++ b/client/production/src/locale/es.json @@ -22,5 +22,9 @@ "Province" : "Provincia", "Filter" : "Filtrar", "Cancel" : "Cancelar", + "Worker" : "Trabajador", + "Town" : "Población", + "Client ID" : "ID Cliente", + "Ticket with incidence" : "Ticket con incidencia" } \ No newline at end of file diff --git a/client/production/src/production-actions/production-actions.html b/client/production/src/production-actions/production-actions.html index 4786d9136b..db9daf9327 100644 --- a/client/production/src/production-actions/production-actions.html +++ b/client/production/src/production-actions/production-actions.html @@ -1,7 +1,7 @@ - + @@ -10,6 +10,6 @@ - + \ No newline at end of file diff --git a/client/production/src/production-actions/production-actions.js b/client/production/src/production-actions/production-actions.js index 0e5482f30c..fee7b687b5 100644 --- a/client/production/src/production-actions/production-actions.js +++ b/client/production/src/production-actions/production-actions.js @@ -35,45 +35,35 @@ export default class ProductionActions { return this._actionWorker; } - _changeState(ids, sateteId, stateName, index) { - this.$http.put(`/production/api/TicketStates/${sateteId}/changeState`, {tickets: ids}).then( + _changeState(ids, sateteId) { + this.$http.put(`/production/api/TicketStates/${sateteId}/changeState`, {tickets: ids}) + .then( () => { - index.forEach( - i => { - this.tickets[i].state = stateName; - this.tickets[i].stateFk = sateteId; - } - ); + this.parent.searchTickets(); } ); } _sendMessage(tickets) { - this.$http.post(`/production/api/FakeProductions/messageSend`, {tickets: tickets}).then( - () => { - this.vnApp.showMessage(this.$translate.instant('Success: message send!')); - } - ); + this.$http.post(`/production/api/FakeProductions/messageSend`, {tickets: tickets}) + .then( + () => { + this.vnApp.showMessage(this.$translate.instant('Success: message send!')); + } + ); } _changeTime(ids, time, index) { - this.$http.put(`/production/api/Tickets/${time}/changeTime`, {tickets: ids}).then( + this.$http.put(`/production/api/Tickets/${time}/changeTime`, {tickets: ids}) + .then( () => { - index.forEach( - i => { - this.tickets[i].hour = time; - } - ); + this.parent.searchTickets(); } ); } _changeWorker(ids, workerFk, index) { - this.$http.put(`/production/api/Tickets/${workerFk}/changeWorker`, {tickets: ids}).then( + this.$http.put(`/production/api/Tickets/${workerFk}/changeWorker`, {tickets: ids}) + .then( () => { - index.forEach( - i => { - this.tickets[i].workerFk = this.actionWorker.id; - this.tickets[i].worker = this.actionWorker.name; - } - ); + this.parent.searchTickets(); } ); } @@ -82,7 +72,7 @@ export default class ProductionActions { let ids = []; let index = []; let tickets = []; - this.tickets.forEach( + this.parent.tickets.forEach( (val, i) => { if (val.checked) { ids.push(val.ticketFk); @@ -94,13 +84,13 @@ export default class ProductionActions { if (tickets.length) { switch (actionName) { case 'changeState' : - this._changeState(ids, this.actionState.id, this.actionState.name, index); + this._changeState(ids, this.actionState.id); break; case 'addComment': this._sendMessage(tickets); break; case 'markPrinted': - this._changeState(ids, 4, 'Impreso', index); + this._changeState(ids, 4); break; case 'changeTime': this._changeTime(ids, this.actionHours.name, index); @@ -121,10 +111,8 @@ ProductionActions.$inject = ['$http', '$translate', 'vnApp']; ngModule.component('vnProductionActions', { template: require('./production-actions.html'), - bindings: { - tickets: '<', - states: '<', - hourItems: '<' - }, - controller: ProductionActions + controller: ProductionActions, + require: { + parent: '^^vnProductionIndex' + } }); diff --git a/client/production/src/production-table/production-table.html b/client/production/src/production-table/production-table.html index 42a9e45ac8..e874107221 100644 --- a/client/production/src/production-table/production-table.html +++ b/client/production/src/production-table/production-table.html @@ -8,6 +8,7 @@ + @@ -16,7 +17,7 @@ - + @@ -27,8 +28,9 @@ {{::ticket.agency}} {{::ticket.routeFk}} {{::ticket.salesPerson | ucwords}} - {{ticket.hour}} - {{ticket.state}} + {{::ticket.worker | ucwords}} + {{::ticket.hour}} + {{::ticket.state}} {{::ticket.lines}} {{::ticket.m3}} {{::ticket.boxes}} @@ -44,10 +46,15 @@ : {{$ctrl.footer.total}} - + + + + + + {{$ctrl.footer.lines}} {{$ctrl.footer.meters}} - + diff --git a/client/production/src/production-table/production-table.js b/client/production/src/production-table/production-table.js index 91c24314ff..288118a0dd 100644 --- a/client/production/src/production-table/production-table.js +++ b/client/production/src/production-table/production-table.js @@ -13,6 +13,8 @@ export class ProductionTable { }, model: [] }; + this.filteredField = null; + this.filteredReverse = null; } get checkAll() { return this._checkAll; @@ -21,7 +23,7 @@ export class ProductionTable { this._checkAll = value; } set tickets(value) { - this._tickets = value; + this._tickets = this.filteredField ? this.$filter('orderBy')(value, this.filteredField, this.filteredReverse) : value; this.totalFilter = this._tickets.length; this.pageTable.filter.page = 1; this.pageTickets(); @@ -30,8 +32,9 @@ export class ProductionTable { return this._tickets; } onOrder(field, order) { - let reverse = order === 'DESC'; - this.tickets = this.$filter('orderBy')(this.tickets, field, reverse); + this.filteredField = field; + this.filteredReverse = order === 'DESC'; + this.tickets = this.tickets; // call tickets setter } pageTickets() { let init = (this.pageTable.filter.page - 1) * this.itemsDisplayedInList; diff --git a/client/route/src/card/card.html b/client/route/src/card/card.html index c87155a74c..b787b738f9 100644 --- a/client/route/src/card/card.html +++ b/client/route/src/card/card.html @@ -4,7 +4,7 @@ actions="$ctrl.route = edit.model" options="mgEdit"> - + @@ -19,7 +19,7 @@ - + diff --git a/client/salix/src/components/app/app.html b/client/salix/src/components/app/app.html index 959cf42823..0a447851f4 100644 --- a/client/salix/src/components/app/app.html +++ b/client/salix/src/components/app/app.html @@ -1,12 +1,12 @@ - + - + diff --git a/client/salix/src/components/left-menu/actions.js b/client/salix/src/components/left-menu/actions.js index 4d4d6ee6d8..30d379df13 100644 --- a/client/salix/src/components/left-menu/actions.js +++ b/client/salix/src/components/left-menu/actions.js @@ -9,7 +9,7 @@ export default class MenuActions { switchItem() { if (!this.items || !this.items.length) return; - let stateName = this.$state.current.name.replace('create', 'list').replace('edit', 'list'); + let stateName = this.$state.current.name.replace('.create', '.list').replace('.edit', '.list'); for (let i = 0; i < this.items.length; i++) { this.items[i].active = (this.items[i].href === stateName); diff --git a/client/salix/src/components/searchbar/searchbar.html b/client/salix/src/components/searchbar/searchbar.html index d4636aaf1c..e54a00ccd4 100644 --- a/client/salix/src/components/searchbar/searchbar.html +++ b/client/salix/src/components/searchbar/searchbar.html @@ -1,10 +1,10 @@
- + diff --git a/client/salix/src/components/searchbar/searchbar.js b/client/salix/src/components/searchbar/searchbar.js index 2f0864bf73..06d572f333 100644 --- a/client/salix/src/components/searchbar/searchbar.js +++ b/client/salix/src/components/searchbar/searchbar.js @@ -1,21 +1,67 @@ import ngModule from '../../module'; export default class Controller { - constructor($element, $scope, $document, $compile, vnPopover, sessionStorage, $timeout) { + constructor($element, $scope, $document, $compile, vnPopover, $timeout) { this.element = $element[0]; this.$scope = $scope; this.$document = $document; this.$compile = $compile; this.vnPopover = vnPopover; - this.sessionStorage = sessionStorage; this.$timeout = $timeout; + this.stringSearch = ''; } clearFilter() { - this.index.filter = {}; - this.sessionStorage.remove('filter'); + this.index.filter = { + page: 1, + size: 20 + }; } - onClick(event) { - this.search = null; + // string search to json filter + getFiltersFromSearch() { + let toFind = this.stringSearch; + let find; + if (this.stringSearch) { + // find pattern key:value or key:(extra value) and returns array + find = toFind.match(/((([\w_]+):([\w_]+))|([\w_]+):\(([\w_ ]+)\))/gi); + // remove pattern key:value or key:(extra value) from string and returns string + this.index.filter.search = (toFind.replace(/((([\w_]+):([\w_]+))|([\w_]+):\(([\w_ ]+)\))/gi, '')).trim(); + if (find) + for (let i = 0; i < find.length; i++) { + let aux = find[i].split(':'); + let property = aux[0]; + let value = aux[1].replace(/\(|\)/g, ''); + this.index.filter[property] = value.trim(); + } + } + } + // json filter to string search + createFilterSearch(filter) { + let search = []; + let keys = Object.keys(filter); + if (keys.length) { + keys.forEach(k => { + let ignore = (this.ignoreKeys && this.ignoreKeys instanceof Array && this.ignoreKeys.indexOf(k) !== -1); + if (!ignore) { + let value = filter[k]; + + if (typeof value === 'string' && value.indexOf(' ') !== -1) { + search.push(`${k}:(${value})`); + } else if (typeof value !== 'object') { + search.push(`${k}:${value}`); + } + } + }); + } + if (this.index.filter.search) { + search.push(this.index.filter.search); + } + delete this.index.filter.search; + this.stringSearch = (search.length) ? search.join(' ') : ''; + } + onpenFilters(event) { + if (this.stringSearch) { + this.getFiltersFromSearch(); + } this.child = this.vnPopover.showComponent(this.popover, this.$scope, this.element); @@ -23,16 +69,26 @@ export default class Controller { var childCtrl = angular.element(this.child).isolateScope().$ctrl; childCtrl.filter = Object.assign({}, this.index.filter); childCtrl.onSubmit = filter => this.onChildSubmit(filter); - + if (this.data) + childCtrl.data = Object.assign({}, this.data); event.preventDefault(); } onChildSubmit(filter) { - // this.vnPopover.hide(); - Object.assign(this.index.filter, filter); - this.onSubmit(); + this.createFilterSearch(filter); + this.index.filter = { + page: 1, + size: 20 + }; + this.$timeout(() => { + this.onSubmit(); + }); } onSubmit() { + if (this.stringSearch) { + this.getFiltersFromSearch(); + } + if (this.onSearch) this.onSearch(); @@ -47,17 +103,18 @@ export default class Controller { this.clearFilter(); } } -Controller.$inject = ['$element', '$scope', '$document', '$compile', 'vnPopover', 'sessionStorage', '$timeout']; +Controller.$inject = ['$element', '$scope', '$document', '$compile', 'vnPopover', '$timeout']; ngModule.component('vnSearchbar', { template: require('./searchbar.html'), bindings: { index: '<', - search: '=', onSearch: '&', advanced: '=', popover: '@', - label: '@?' + label: '@?', + ignoreKeys: '`, resolve: { loader: loader(moduleName, validations) @@ -57,7 +56,13 @@ function config($stateProvider, $urlRouterProvider, aclServiceProvider, modulesF data: { routes: fileRoutes } - }); + }; + if (route.abstract) + configRoute.abstract = true; + if (route.routeParams) + configRoute.params = route.routeParams; + + $stateProvider.state(route.state, configRoute); } else if (route.state === mainModule.state) { break; } diff --git a/client/salix/src/locale/es.json b/client/salix/src/locale/es.json index a5f88410b1..338feede85 100644 --- a/client/salix/src/locale/es.json +++ b/client/salix/src/locale/es.json @@ -12,5 +12,10 @@ "Routes" : "Rutas", "Production" : "Producción", "Modules access" : "Acceso a módulos", - "Locator": "Localizador" + "Locator": "Localizador", + "Items": "Artículos", + "name": "Nombre", + "credit": "Crédito", + "phone": "Teléfono", + "creditInsurance": "Crédito Asegurado" } \ No newline at end of file diff --git a/client/salix/src/spliting.js b/client/salix/src/spliting.js index 697bcef981..b1a2a4d19c 100644 --- a/client/salix/src/spliting.js +++ b/client/salix/src/spliting.js @@ -43,3 +43,14 @@ export const locator = () => { }; core.splitingRegister.register('locator', locator); + +export const item = () => { + return new Promise(resolve => { + require.ensure([], () => { + require('item'); + resolve('item'); + }, 'item'); + }); +}; + +core.splitingRegister.register('item', item); diff --git a/client/salix/src/styles/border.scss b/client/salix/src/styles/border.scss index 3eb08176db..bd046c5595 100644 --- a/client/salix/src/styles/border.scss +++ b/client/salix/src/styles/border.scss @@ -1,45 +1,51 @@ -@import "colors"; - -$border-color: #AAA; -$border-thin: 1px; -$border-thick: 2px; - -html [border-none], .border-none { - border: 0; -} - -/* Solid border */ - -html [border-solid], .border-solid { - border: $border-thin solid $border-color; -} -html [border-solid-top], .border-solid-top { - border-top: $border-thin solid $border-color; -} -html [border-solid-left], .border-solid-left { - border-left: $border-thin solid $border-color; -} -html [border-solid-right], .border-solid-right { - border-right: $border-thin solid $border-color; -} -html [border-solid-bottom], .border-solid-bottom { - border-bottom: $border-thin solid $border-color; -} - -/* Dashed border */ - -html [border-dashed], .border-dashed { - border: $border-thin dashed $border-color; -} -html [border-dashed-top], .border-dashed-top { - border-top: $border-thin dashed $border-color; -} -html [border-dashed-left], .border-dashed-left { - border-left: $border-thin dashed $border-color; -} -html [border-dashed-right], .border-dashed-right { - border-right: $border-thin dashed $border-color; -} -html [border-dashed-bottom], .border-dashed-bottom { - border-bottom: $border-thin dashed $border-color; -} +@import "colors"; + +$border-color: #AAA; +$border-thin: 1px; +$border-thick: 2px; + +html [border-none], .border-none { + border: 0; +} + +/* Solid border */ + +html [border-solid], .border-solid { + border: $border-thin solid $border-color; +} +html [border-solid-top], .border-solid-top { + border-top: $border-thin solid $border-color; +} +html [border-solid-left], .border-solid-left { + border-left: $border-thin solid $border-color; +} +html [border-solid-right], .border-solid-right { + border-right: $border-thin solid $border-color; +} +html [border-solid-bottom], .border-solid-bottom { + border-bottom: $border-thin solid $border-color; +} + +/* Dashed border */ + +html [border-dashed], .border-dashed { + border: $border-thin dashed $border-color; +} +html [border-dashed-top], .border-dashed-top { + border-top: $border-thin dashed $border-color; +} +html [border-dashed-left], .border-dashed-left { + border-left: $border-thin dashed $border-color; +} +html [border-dashed-right], .border-dashed-right { + border-right: $border-thin dashed $border-color; +} +html [border-dashed-bottom], .border-dashed-bottom { + border-bottom: $border-thin dashed $border-color; +} + +/* Border Radius */ + +html [border-radius], .border-radius { + border-radius: .3em; +} \ No newline at end of file diff --git a/client/salix/src/styles/display.css b/client/salix/src/styles/display.css index 9824322527..c296eec694 100644 --- a/client/salix/src/styles/display.css +++ b/client/salix/src/styles/display.css @@ -24,9 +24,9 @@ } .popover-label { - font-weight: bold; - color: black; - padding-top:5px; + font-family: vn-font-bold; + color: black; + padding-top:5px; } /* Icon cuadrado */ diff --git a/client/salix/src/styles/font-family.css b/client/salix/src/styles/font-family.css index 3fc6b8fcdf..21a5219c85 100644 --- a/client/salix/src/styles/font-family.css +++ b/client/salix/src/styles/font-family.css @@ -1,21 +1,12 @@ -@font-face { - font-family: raleway-italic; - src: url(./fonts/Raleway-Italic.ttf); -} -@font-face { - font-family: raleway-thin; - src: url(./fonts/Raleway-Thin.ttf); -} -@font-face { - font-family: raleway-regular; - src: url(./fonts/Raleway-Regular.ttf); -} -@font-face { - font-family: raleway-bold; - src: url(./fonts/Raleway-Bold.ttf); -} -@font-face { - font-family: raleway-semi-bold; - src: url(./fonts/Raleway-SemiBold.ttf); -} - +@font-face { + font-family: vn-font-medium; + src: url(./fonts/Roboto-Medium.ttf); +} +@font-face { + font-family: vn-font; + src: url(./fonts/Roboto.ttf); +} +@font-face { + font-family: vn-font-bold; + src: url(./fonts/Roboto-Bold.ttf); +} diff --git a/client/salix/src/styles/font-style.scss b/client/salix/src/styles/font-style.scss index fb4b055d3a..db0198cdef 100644 --- a/client/salix/src/styles/font-style.scss +++ b/client/salix/src/styles/font-style.scss @@ -1,12 +1,12 @@ -@import "colors"; -@import "font-family"; - -$font-color: $color-dark-grey; - -body { - color: $font-color; - font-family: raleway-regular; -} -html [uppercase], .uppercase { - text-transform: uppercase; +@import "colors"; +@import "font-family"; + +$font-color: $color-dark-grey; + +body { + color: $font-color; + font-family: vn-font; +} +html [uppercase], .uppercase { + text-transform: uppercase; } \ No newline at end of file diff --git a/client/salix/src/styles/fonts/Roboto-Bold.ttf b/client/salix/src/styles/fonts/Roboto-Bold.ttf new file mode 100644 index 0000000000..072b842925 Binary files /dev/null and b/client/salix/src/styles/fonts/Roboto-Bold.ttf differ diff --git a/client/salix/src/styles/fonts/Roboto-Medium.ttf b/client/salix/src/styles/fonts/Roboto-Medium.ttf new file mode 100644 index 0000000000..d0f6e2b64f Binary files /dev/null and b/client/salix/src/styles/fonts/Roboto-Medium.ttf differ diff --git a/client/salix/src/styles/fonts/Roboto.ttf b/client/salix/src/styles/fonts/Roboto.ttf new file mode 100644 index 0000000000..d0f6e2b64f Binary files /dev/null and b/client/salix/src/styles/fonts/Roboto.ttf differ diff --git a/client/salix/src/styles/layout.css b/client/salix/src/styles/layout.css index 1d35fd5c87..c952abe37f 100644 --- a/client/salix/src/styles/layout.css +++ b/client/salix/src/styles/layout.css @@ -1,110 +1,106 @@ - -html, body { - height: 100%; - margin: 0px; - padding: 0px; -} - -html [full-height], .full-height { - height: 100%; -} -html [self-scroll], .self-scroll { - overflow: auto; -} - -/* Horizontal & vertical */ - -html [vn-horizontal], vn-horizontal, .vn-horizontal, -html [vn-vertical], vn-vertical, .vn-vertical { - display: flex; -} -html [vn-horizontal], vn-horizontal, .vn-horizontal { - flex-direction: row; -} -vn-horizontal[reverse] { - flex-direction: row-reverse; -} -html [vn-vertical], vn-vertical, .vn-vertical { - flex-direction: column; -} -vn-vertical[reverse] { - flex-direction: column-reverse; -} -html [wrap] { - flex-wrap: wrap; -} -html [wrap-reverse] { - flex-wrap: wrap-reverse; -} -html [scrollable] { - min-height: 1px; - flex: 1; - flex-basis: 0.000000001px; -} - -/* Horizontal & vertical childs */ - -html [vn-auto], -html [vn-none], -html [vn-one], -html [vn-two], -html [vn-three], -html [vn-four], -html [vn-five], -html [vn-six], -html [vn-seven], -html [vn-eight], -html [vn-nine], -html [vn-ten], -html [vn-eleven], -html [vn-twelve]{ - flex-basis: 0.000000001px; -} -html [vn-auto], vn-auto, .vn-auto { - flex: 1; - flex-basis: auto; -} -html [vn-empty], vn-empty, .vn-empty { - display: block; -} -html [vn-none], vn-none, .vn-none { - flex: 1; - flex: none; -} -html [vn-one], vn-one, .vn-one { - flex: 1; -} -html [vn-two], vn-two, .vn-two { - flex: 2; -} -html [vn-three], vn-three, .vn-three { - flex: 3; -} -html [vn-four], vn-four, .vn-four { - flex: 4; -} -html [vn-five], vn-five, .vn-five { - flex: 5; -} -html [vn-six], vn-six, .vn-six { - flex: 6; -} -html [vn-seven], vn-seven, .vn-seven { - flex: 7; -} -html [vn-eight], vn-eight, .vn-eight { - flex: 8; -} -html [vn-nine], vn-nine, .vn-nine { - flex: 9; -} -html [vn-ten], vn-ten, .vn-ten { - flex: 10; -} -html [vn-eleven], vn-eleven, .vn-eleven { - flex: 11; -} -html [vn-twelve], vn-twelve, .vn-twelve { - flex: 12; -} - + +html, body { + height: 100%; + margin: 0px; + padding: 0px; +} + +html [full-height], .full-height { + height: 100%; +} +html [self-scroll], .self-scroll { + overflow: auto; +} + +/* Horizontal & vertical */ + +html [vn-horizontal], vn-horizontal, .vn-horizontal, +html [vn-vertical], vn-vertical, .vn-vertical { + display: flex; +} +html [vn-horizontal], vn-horizontal, .vn-horizontal { + flex-direction: row; +} +vn-horizontal[reverse] { + flex-direction: row-reverse; +} +html [vn-vertical], vn-vertical, .vn-vertical { + flex-direction: column; +} +vn-vertical[reverse] { + flex-direction: column-reverse; +} +html [wrap] { + flex-wrap: wrap; +} +html [wrap-reverse] { + flex-wrap: wrap-reverse; +} +html [scrollable] { + min-height: 1px; + flex: 1; + flex-basis: 0.000000001px; +} + +/* Horizontal & vertical childs */ + +html [vn-auto], +html [vn-none], +html [vn-one], +html [vn-two], +html [vn-three], +html [vn-four], +html [vn-five], +html [vn-six], +html [vn-seven], +html [vn-eight], +html [vn-nine], +html [vn-ten], +html [vn-eleven], +html [vn-twelve]{ + flex-basis: 0.000000001px; +} +html [vn-auto], vn-auto, .vn-auto { + flex-basis: auto; +} +html [vn-none], vn-none, .vn-none { + flex: 1; + flex: none; +} +html [vn-one], vn-one, .vn-one { + flex: 1; +} +html [vn-two], vn-two, .vn-two { + flex: 2; +} +html [vn-three], vn-three, .vn-three { + flex: 3; +} +html [vn-four], vn-four, .vn-four { + flex: 4; +} +html [vn-five], vn-five, .vn-five { + flex: 5; +} +html [vn-six], vn-six, .vn-six { + flex: 6; +} +html [vn-seven], vn-seven, .vn-seven { + flex: 7; +} +html [vn-eight], vn-eight, .vn-eight { + flex: 8; +} +html [vn-nine], vn-nine, .vn-nine { + flex: 9; +} +html [vn-ten], vn-ten, .vn-ten { + flex: 10; +} +html [vn-eleven], vn-eleven, .vn-eleven { + flex: 11; +} +html [vn-twelve], vn-twelve, .vn-twelve { + flex: 12; +} + diff --git a/client/salix/src/styles/misc.scss b/client/salix/src/styles/misc.scss index 8168b6781b..5138567a02 100644 --- a/client/salix/src/styles/misc.scss +++ b/client/salix/src/styles/misc.scss @@ -64,7 +64,7 @@ html [vn-center], .vn-center{ .tooltip { .list-header{ border-bottom: 3px solid $color-medium-grey; - font-weight: bold; + font-family: vn-font-bold; text-align: center } .list-element{ @@ -72,7 +72,7 @@ html [vn-center], .vn-center{ } } .list-footer{ - font-weight: bold; + font-family: vn-font-bold; border-top: 3px solid $color-medium-grey; } .list-element.warning{ @@ -95,3 +95,41 @@ html [vn-center], .vn-center{ html [pointer], .pointer{ cursor: pointer; } + +html [noDrop], .noDrop{ + cursor: no-drop; +} + +vn-main-block { + display:block; + max-width: 1920px; + width:100%; + margin: 0 auto; + + .left-block { + max-width: 20em; + min-width: 18em; + padding-left: 1em; + padding-bottom: 1em; + } +} +.descriptor-header{ + background: rgb(255,171,64); + color: white; + text-align: center; + i { + font-size: 51px; + } + img { + width: 51px; + height: 51px; + } +} +fieldset[disabled] .mdl-textfield .mdl-textfield__input, .mdl-textfield.is-disabled .mdl-textfield__input, +fieldset[disabled] .mdl-checkbox .mdl-checkbox__label, .mdl-checkbox.is-disabled .mdl-checkbox__label{ + border: none !important; + color: inherit !important; +} +fieldset[disabled] .mdl-textfield .mdl-textfield__label, .mdl-textfield.is-disabled.is-disabled .mdl-textfield__label { + color: rgb(255,171,64) !important; +} \ No newline at end of file diff --git a/client/salix/src/styles/title.css b/client/salix/src/styles/title.css index 4589f0b9cf..1fe3e45cac 100644 --- a/client/salix/src/styles/title.css +++ b/client/salix/src/styles/title.css @@ -1,25 +1,25 @@ - -h1 { - font-size: 32pt; -} -h2 { - font-size: 28pt; -} -h3 { - font-size: 24pt; -} -h4 { - font-size: 20pt; -} -h5 { - font-size: 16pt; -} -h6 { - font-size: 12pt; -} - -h1, h2, h3, h4, h5, h6 { - padding: 0; - margin: .4em 0; - font-family: raleway-semi-bold; + +h1 { + font-size: 32pt; +} +h2 { + font-size: 28pt; +} +h3 { + font-size: 24pt; +} +h4 { + font-size: 20pt; +} +h5 { + font-size: 16pt; +} +h6 { + font-size: 12pt; +} + +h1, h2, h3, h4, h5, h6 { + padding: 0; + margin: .4em 0; + font-family: vn-font-bold; } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index f809398dd8..481aeb0caf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -71,6 +71,30 @@ services: - "3005" ports: - "3005:3005" + print: + environment: + - NODE_ENV=${NODE_ENV} + container_name: "${BRANCH_NAME}-print" + image: "print:${TAG}" + build: + context: ./services + dockerfile: /print/Dockerfile + expose: + - "3006" + ports: + - "3006:3006" + item: + environment: + - NODE_ENV=${NODE_ENV} + container_name: "${BRANCH_NAME}-item" + image: "item:${TAG}" + build: + context: ./services + dockerfile: /item/Dockerfile + expose: + - "3007" + ports: + - "3007:3007" nginx: container_name: "${BRANCH_NAME}-nginx" image: "nginx:${TAG}" @@ -89,3 +113,4 @@ services: - "mailer:${BRANCH_NAME}-mailer" - "production:${BRANCH_NAME}-production" - "route:${BRANCH_NAME}-route" + - "print:${BRANCH_NAME}-print" diff --git a/e2e/helpers/components_selectors.js b/e2e/helpers/components_selectors.js index 87dc22c69c..4b33bce61d 100644 --- a/e2e/helpers/components_selectors.js +++ b/e2e/helpers/components_selectors.js @@ -4,6 +4,7 @@ // delete me, this comment is to add a commit export default { vnTextfield: 'vn-textfield > div > input', + vnTextarea: 'vn-textarea', vnSubmit: 'vn-submit > input', vnTopbar: 'vn-topbar > header', vnIcon: 'vn-icon', @@ -14,5 +15,6 @@ export default { vnFloatButton: 'vn-float-button > button', vnMenuItem: 'vn-menu-item > li > a', vnAutocomplete: 'vn-autocomplete', - vnCheck: 'vn-check' + vnCheck: 'vn-check', + vnIconButton: 'vn-icon-button' }; diff --git a/e2e/helpers/extensions.js b/e2e/helpers/extensions.js index 168540de48..a90d4f4100 100644 --- a/e2e/helpers/extensions.js +++ b/e2e/helpers/extensions.js @@ -122,11 +122,27 @@ Nightmare.action('waitForNumberOfElements', function(selector, count, done) { Nightmare.action('waitForTextInElement', function(selector, name, done) { this.wait((resultSelector, expectedName) => { - return document.querySelectorAll(resultSelector)[0].innerText.toLowerCase().includes(expectedName.toLowerCase()); + return document.querySelector(resultSelector).innerText.toLowerCase().includes(expectedName.toLowerCase()); }, selector, name) .then(done); }); +Nightmare.action('changeLanguageToEnglish', function(done) { + this.wait(selectors.globalItems.languageButton) + .evaluate(selector => { + return document.querySelector(selector).title; + }, selectors.globalItems.languageButton) + .then(result => { + if (result === 'Cambiar idioma') { + this.click(selectors.globalItems.languageButton) + .then(done); + } + if (result === 'Change language') { + this.then(done); + } + }); +}); + Nightmare.action('waitForSnackbarReset', function(done) { this.wait(() => { return document.querySelector('vn-snackbar').innerText === ''; diff --git a/e2e/helpers/nightmare.js b/e2e/helpers/nightmare.js index 7427ac18fe..8bc84526dc 100644 --- a/e2e/helpers/nightmare.js +++ b/e2e/helpers/nightmare.js @@ -1,19 +1,19 @@ /* eslint no-console: 0 */ import Nightmare from 'nightmare'; -export default function createNightmare(width = 1100, height = 600) { - const nightmare = new Nightmare({show: true, typeInterval: 10}).viewport(width, height); +export default function createNightmare(width = 1280, height = 720) { + const nightmare = new Nightmare({show: true, typeInterval: 10, x: 0, y: 0}).viewport(width, height); - nightmare.on('page', function(type, message, error) { + nightmare.on('page', (type, message, error) => { fail(error); }); - nightmare.on('console', function(type, message) { + nightmare.on('console', (type, message) => { if (type === 'error') { fail(message); } if (type === 'log') { - console.log(message); + // console.log(message); } }); return nightmare; diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index fb968e2d7c..ea076f76af 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -10,6 +10,7 @@ export default { globalItems: { topBar: `${components.vnTopbar}`, logOutButton: `${components.vnIcon}[icon="exit_to_app"]`, + languageButton: `${components.vnIcon}[icon="language"]`, snackbarIsActive: '.mdl-snackbar--active > .mdl-snackbar__text', applicationsMenuButton: `${components.vnIcon}[icon="apps"]`, applicationsMenuVisible: `${components.vnMainMenu} .is-visible > div`, @@ -30,35 +31,112 @@ export default { socialName: `${components.vnTextfield}[name="socialName"]`, userName: `${components.vnTextfield}[name="userName"]`, email: `${components.vnTextfield}[name="email"]`, + salesPersonInput: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"] > vn-vertical > ${components.vnTextfield}`, + salesBruceBannerOption: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(1)`, createButton: `${components.vnSubmit}` }, basicData: { basicDataButton: `${components.vnMenuItem}[ui-sref="clientCard.basicData"]`, nameInput: `${components.vnTextfield}[name="name"]`, - taxNumberInput: `${components.vnTextfield}[name="fi"]`, - socialNameInput: `${components.vnTextfield}[name="socialName"]`, + contactInput: `${components.vnTextfield}[name="contact"]`, phoneInput: `${components.vnTextfield}[name="phone"]`, mobileInput: `${components.vnTextfield}[name="mobile"]`, faxInput: `${components.vnTextfield}[name="fax"]`, emailInput: `${components.vnTextfield}[name="email"]`, - salesPersonInput: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"]`, + salesPersonInput: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"] > vn-vertical > ${components.vnTextfield}`, + salesBruceBannerOption: `${components.vnAutocomplete}[field="$ctrl.client.salesPersonFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(1)`, channelInput: `${components.vnAutocomplete}[field="$ctrl.client.contactChannelFk"] > vn-vertical > ${components.vnTextfield}`, - channelMetropolisOption: `${components.vnAutocomplete}[field="$ctrl.client.contactChannelFk"] > vn-vertical > vn-drop-down > vn-vertical > vn-one:nth-child(2) > ul > li:nth-child(3)`, + channelMetropolisOption: `${components.vnAutocomplete}[field="$ctrl.client.contactChannelFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(3)`, saveButton: `${components.vnSubmit}` }, fiscalData: { fiscalDataButton: `${components.vnMenuItem}[ui-sref="clientCard.fiscalData"]`, - hasToInvoiceCheckboxLabel: `${components.vnCheck}[label='Has to invoice'] > label`, - hasToInvoiceCheckboxInput: `${components.vnCheck}[label='Has to invoice'] > label > label > input`, - invoiceByMailCheckboxLabel: `${components.vnCheck}[label='Invoice by mail'] > label`, - invoiceByMailCheckboxInput: `${components.vnCheck}[label='Invoice by mail'] > label > label > input`, + socialNameInput: `${components.vnTextfield}[name="socialName"]`, + fiscalIdInput: `${components.vnTextfield}[name="fi"]`, + equalizationTaxCheckboxLabel: `${components.vnCheck}[label='Is equalizated'] > label > input`, + acceptPropagationButton: `body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > vn-client-fiscal-data > vn-dialog > div > form > div.button-bar > tpl-buttons > button:nth-child(2)`, addressInput: `${components.vnTextfield}[name="street"]`, cityInput: `${components.vnTextfield}[name="city"]`, postcodeInput: `${components.vnTextfield}[name="postcode"]`, provinceInput: `${components.vnAutocomplete}[field="$ctrl.client.provinceFk"] > vn-vertical > ${components.vnTextfield}`, - provinceFifthOption: `${components.vnAutocomplete}[field="$ctrl.client.provinceFk"] > vn-vertical > vn-drop-down > vn-vertical > vn-one:nth-child(2) > ul > li:nth-child(5)`, + provinceFifthOption: `${components.vnAutocomplete}[field="$ctrl.client.provinceFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(5)`, countryInput: `${components.vnAutocomplete}[field="$ctrl.client.countryFk"] > vn-vertical > ${components.vnTextfield}`, - countryThirdOption: `${components.vnAutocomplete}[field="$ctrl.client.countryFk"] > vn-vertical > vn-drop-down > vn-vertical > vn-one:nth-child(3) > ul > li:nth-child(3)`, + countryThirdOption: `${components.vnAutocomplete}[field="$ctrl.client.countryFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(3)`, + activeCheckboxLabel: `${components.vnCheck}[label='Active'] > label`, + invoiceByAddressCheckboxInput: `${components.vnCheck}[label='Invoice by address'] > label > input`, + verifiedDataCheckboxInput: `${components.vnCheck}[label='Verified data'] > label > input`, + hasToInvoiceCheckboxLabel: `${components.vnCheck}[label='Has to invoice'] > label`, + invoiceByMailCheckboxLabel: `${components.vnCheck}[label='Invoice by mail'] > label`, + viesCheckboxInput: `${components.vnCheck}[label='Vies'] > label > input`, saveButton: `${components.vnSubmit}` + }, + payMethod: { + payMethodButton: `${components.vnMenuItem}[ui-sref="clientCard.billingData"]`, + payMethodInput: `${components.vnAutocomplete}[field="$ctrl.client.payMethodFk"] > vn-vertical > ${components.vnTextfield}`, + payMethodIBANOption: `${components.vnAutocomplete}[field="$ctrl.client.payMethodFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(5)`, + payMethodOptionOne: `${components.vnAutocomplete}[field="$ctrl.client.payMethodFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(2)`, + IBANInput: `${components.vnTextfield}[name="iban"]`, + dueDayInput: `${components.vnTextfield}[name="dueDay"]`, + cancelNotificationButton: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > vn-client-billing-data > vn-dialog > div > form > div.button-bar > tpl-buttons > button:nth-child(1)', + receivedCoreVNHCheckbox: `${components.vnCheck}[label='Received core VNH'] > label > input`, + receivedCoreVNLCheckbox: `${components.vnCheck}[label='Received core VNL'] > label > input`, + receivedB2BVNLCheckbox: `${components.vnCheck}[label='Received B2B VNL'] > label > input`, + saveButton: `${components.vnSubmit}` + }, + addresses: { + addressesButton: `${components.vnMenuItem}[ui-sref="clientCard.addresses.list"]`, + createAddress: `${components.vnFloatButton}`, + defaultCheckboxInput: `${components.vnCheck}[label='Default'] > label > input`, + consigneeInput: `${components.vnTextfield}[name="consignee"]`, + streetAddressInput: `${components.vnTextfield}[name="street"]`, + postcodeInput: `${components.vnTextfield}[name="postcode"]`, + cityInput: `${components.vnTextfield}[name="city"]`, + provinceInput: `${components.vnAutocomplete}[field="$ctrl.address.provinceFk"] > vn-vertical > ${components.vnTextfield}`, + provinceSecondOption: `${components.vnAutocomplete}[field="$ctrl.address.provinceFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(2)`, + agencyInput: `${components.vnAutocomplete}[field="$ctrl.address.agencyFk"] > vn-vertical > ${components.vnTextfield}`, + agenctySecondOption: `${components.vnAutocomplete}[field="$ctrl.address.agencyFk"] > vn-vertical > vn-drop-down > vn-vertical:not(.ng-hide) > vn-auto:nth-child(2) > ul > li:nth-child(2)`, + phoneInput: `${components.vnTextfield}[name="phone"]`, + mobileInput: `${components.vnTextfield}[name="mobile"]`, + defaultAddress: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-addresses > vn-vertical > vn-card > div > vn-vertical > vn-horizontal:nth-child(2) > vn-one > vn-horizontal > vn-one > div:nth-child(2)', + secondMakeDefaultStar: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-addresses > vn-vertical > vn-card > div > vn-vertical > vn-horizontal:nth-child(3) > vn-one > vn-horizontal > vn-none > i', + firstEditButton: `${components.vnIconButton}[icon='edit']`, + secondEditButton: `vn-horizontal:nth-child(3) > vn-one > vn-horizontal > a > ${components.vnIconButton}[icon='edit']`, + activeCheckbox: `${components.vnCheck}[label='Enabled'] > label > input`, + equalizationTaxCheckboxLabel: `${components.vnCheck}[label='Is equalizated'] > label > input`, + saveButton: `${components.vnSubmit}` + }, + webAccess: { + webAccessButton: `${components.vnMenuItem}[ui-sref="clientCard.webAccess"]`, + enableWebAccessCheckbox: `${components.vnCheck}[label='Enable web access'] > label > input`, + userNameInput: `${components.vnTextfield}[name="name"]`, + saveButton: `${components.vnSubmit}` + }, + notes: { + notesButton: `${components.vnMenuItem}[ui-sref="clientCard.notes.list"]`, + addNoteFloatButton: `${components.vnFloatButton}`, + noteInput: `${components.vnTextarea}[label="Note"]`, + saveButton: `${components.vnSubmit}`, + firstNoteText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-notes > vn-card > div > vn-vertical > vn-one:nth-child(2) > vn-horizontal:nth-child(2) > b' + }, + credit: { + creditButton: `${components.vnMenuItem}[ui-sref="clientCard.credit.list"]`, + addCreditFloatButton: `${components.vnFloatButton}`, + creditInput: `${components.vnTextfield}[name="credit"]`, + saveButton: `${components.vnSubmit}`, + firstCreditText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-credit-list > vn-card > div > vn-vertical > vn-one > vn-horizontal:nth-child(1) > vn-one' + }, + greuge: { + greugeButton: `${components.vnMenuItem}[ui-sref="clientCard.greuge.list"]`, + addGreugeFloatButton: `${components.vnFloatButton}`, + amountInput: `${components.vnTextfield}[name="amount"]`, + descriptionInput: `${components.vnTextfield}[name="description"]`, + typeInput: `${components.vnAutocomplete}[field="$ctrl.greuge.greugeTypeFk"] > vn-vertical > ${components.vnTextfield}`, + typeSecondOption: `${components.vnAutocomplete}[field="$ctrl.greuge.greugeTypeFk"] > vn-vertical > vn-drop-down > vn-vertical > vn-auto:nth-child(2) > ul > li`, + saveButton: `${components.vnSubmit}`, + firstGreugeText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > ui-view > vn-client-greuge-list > vn-card > div > vn-vertical > vn-one > vn-horizontal' + }, + mandate: { + mandateButton: `${components.vnMenuItem}[ui-sref="clientCard.mandate"]`, + firstMandateText: 'body > vn-app > vn-vertical > vn-vertical > vn-client-card > vn-main-block > vn-horizontal > vn-one > vn-vertical > vn-client-mandate > vn-card > div > vn-vertical > vn-one > vn-horizontal' } }; diff --git a/e2e/paths/create_client_path.spec.js b/e2e/paths/01_create_client_path.spec.js similarity index 85% rename from e2e/paths/create_client_path.spec.js rename to e2e/paths/01_create_client_path.spec.js index b9107bf2c4..b235dc8183 100644 --- a/e2e/paths/create_client_path.spec.js +++ b/e2e/paths/01_create_client_path.spec.js @@ -5,6 +5,8 @@ import {catchErrors} from '../../services/utils/jasmineHelpers'; const nightmare = createNightmare(); const moduleAccessViewHashURL = '#!/'; +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + describe('create client path', () => { describe('warm up', () => { it('should warm up login and fixtures', done => { @@ -31,6 +33,15 @@ describe('create client path', () => { .catch(catchErrors(done)); }); + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + it('should access to the clients index by clicking the clients button', done => { nightmare .click(selectors.moduleAccessView.clientsSectionButton) @@ -75,7 +86,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('No hay cambios que guardar'); + expect(result).toEqual('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -89,7 +100,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`Error: La instancia`); + expect(result).toContain('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -104,7 +115,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`Error: La instancia`); + expect(result).toContain('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -119,7 +130,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`Error: La instancia`); + expect(result).toContain('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -134,7 +145,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`Error: La instancia`); + expect(result).toContain('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -149,7 +160,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual(`Algunos campos no son válidos`); + expect(result).toEqual('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -164,7 +175,22 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`Error: La instancia`); + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the create button having all the form fields empty but sales person', done => { + nightmare + .waitToClick(selectors.createClientView.salesPersonInput) + .waitToClick(selectors.createClientView.salesBruceBannerOption) + .wait(200) + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); done(); }) .catch(catchErrors(done)); @@ -184,7 +210,7 @@ describe('create client path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toContain(`¡Datos guardados!`); + expect(result).toContain('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -218,4 +244,3 @@ describe('create client path', () => { .catch(catchErrors(done)); }); }); - diff --git a/e2e/paths/edit_basic_data.spec.js b/e2e/paths/02_edit_basic_data.spec.js similarity index 70% rename from e2e/paths/edit_basic_data.spec.js rename to e2e/paths/02_edit_basic_data.spec.js index 8fcd7dca19..2150fe4c9c 100644 --- a/e2e/paths/edit_basic_data.spec.js +++ b/e2e/paths/02_edit_basic_data.spec.js @@ -5,6 +5,8 @@ import {catchErrors} from '../../services/utils/jasmineHelpers'; const nightmare = createNightmare(); const moduleAccessViewHashURL = '#!/'; +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + describe('Edit basicData path', () => { describe('warm up', () => { it('should warm up login and fixtures', done => { @@ -31,6 +33,15 @@ describe('Edit basicData path', () => { .catch(catchErrors(done)); }); + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + it('should click on the Clients button of the top bar menu', done => { nightmare .waitToClick(selectors.globalItems.applicationsMenuButton) @@ -76,12 +87,12 @@ describe('Edit basicData path', () => { nightmare .wait(selectors.basicData.nameInput) .clearInput(selectors.basicData.nameInput) - .type(selectors.basicData.nameInput, 'Carol Danvers Edited') + .type(selectors.basicData.nameInput, 'Ororo Munroe') .click(selectors.basicData.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -96,67 +107,37 @@ describe('Edit basicData path', () => { .wait(selectors.basicData.nameInput) .getInputValue(selectors.basicData.nameInput) .then(result => { - expect(result).toEqual('Carol Danvers Edited'); + expect(result).toEqual('Ororo Munroe'); done(); }) .catch(catchErrors(done)); }); - it('should edit the tax number', done => { + it('should edit the contact name', done => { nightmare - .wait(selectors.basicData.taxNumberInput) - .clearInput(selectors.basicData.taxNumberInput) - .type(selectors.basicData.taxNumberInput, 'AVG tax Edited') + .wait(selectors.basicData.contactInput) + .clearInput(selectors.basicData.contactInput) + .type(selectors.basicData.contactInput, 'Black Panther') .click(selectors.basicData.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); }); - it('should confirm the tax number have been edited', done => { + it('should confirm the contact name have been edited', done => { nightmare .waitForSnackbarReset() .click(selectors.fiscalData.fiscalDataButton) .wait(selectors.fiscalData.addressInput) .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.taxNumberInput) - .getInputValue(selectors.basicData.taxNumberInput) + .wait(selectors.basicData.contactInput) + .getInputValue(selectors.basicData.contactInput) .then(result => { - expect(result).toEqual('AVG tax Edited'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should edit the social name', done => { - nightmare - .wait(selectors.basicData.socialNameInput) - .clearInput(selectors.basicData.socialNameInput) - .type(selectors.basicData.socialNameInput, 'Avengers Team Edited') - .click(selectors.basicData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual('¡Datos guardados!'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should confirm the social name have been edited', done => { - nightmare - .waitForSnackbarReset() - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.addressInput) - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.socialNameInput) - .getInputValue(selectors.basicData.socialNameInput) - .then(result => { - expect(result).toEqual('Avengers Team Edited'); + expect(result).toEqual('Black Panther'); done(); }) .catch(catchErrors(done)); @@ -171,7 +152,7 @@ describe('Edit basicData path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -201,7 +182,7 @@ describe('Edit basicData path', () => { .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -222,46 +203,16 @@ describe('Edit basicData path', () => { .catch(catchErrors(done)); }); - it('should add the fax number', done => { - nightmare - .wait(selectors.basicData.faxInput) - .clearInput(selectors.basicData.faxInput) - .type(selectors.basicData.faxInput, '432198765') - .click(selectors.basicData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual('¡Datos guardados!'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should confirm the fax number have been added', done => { - nightmare - .waitForSnackbarReset() - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.addressInput) - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.faxInput) - .getInputValue(selectors.basicData.faxInput) - .then(result => { - expect(result).toEqual('432198765'); - done(); - }) - .catch(catchErrors(done)); - }); - it('should edit the email', done => { nightmare .wait(selectors.basicData.emailInput) .clearInput(selectors.basicData.emailInput) - .type(selectors.basicData.emailInput, 'CarolDanversEdited@verdnatura.es') + .type(selectors.basicData.emailInput, 'Storm@verdnatura.es') .click(selectors.basicData.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -276,35 +227,52 @@ describe('Edit basicData path', () => { .wait(selectors.basicData.emailInput) .getInputValue(selectors.basicData.emailInput) .then(result => { - expect(result).toEqual('CarolDanversEdited@verdnatura.es'); + expect(result).toEqual('Storm@verdnatura.es'); done(); }) .catch(catchErrors(done)); }); - // it('should select the sales person', done => { - // nightmare - // .wait(selectors.basicData.salesPersonInput) - // .select(selectors.basicData.salesPersonInput, '') // not working quite yet - // .click(selectors.basicData.saveButton) - // .wait(selectors.globalItems.snackbarIsActive) - // .getInnerText(selectors.globalItems.snackbarIsActive) - // .then(result => { - // expect(result).toEqual('¡Datos guardados!'); - // done(); - // }) - // .catch(catchErrors(done)); - // }); + it('should select the sales person', done => { + nightmare + .waitToClick(selectors.basicData.salesPersonInput) + .waitToClick(selectors.basicData.salesBruceBannerOption) + .wait(200) + .waitToClick(selectors.basicData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the sales person have been selected', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.addressInput) + .waitToClick(selectors.basicData.basicDataButton) + .wait(200) + .getInputValue(selectors.basicData.salesPersonInput) + .then(result => { + expect(result).toEqual('Bruce Banner'); + done(); + }) + .catch(catchErrors(done)); + }); it('should select the channel', done => { nightmare .waitToClick(selectors.basicData.channelInput) .waitToClick(selectors.basicData.channelMetropolisOption) + .wait(400) .waitToClick(selectors.basicData.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); @@ -313,10 +281,10 @@ describe('Edit basicData path', () => { it('should confirm the channel have been selected', done => { nightmare .waitForSnackbarReset() - .click(selectors.fiscalData.fiscalDataButton) + .waitToClick(selectors.fiscalData.fiscalDataButton) .wait(selectors.fiscalData.addressInput) - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.basicDataButton) + .waitToClick(selectors.basicData.basicDataButton) + .wait(400) .getInputValue(selectors.basicData.channelInput) .then(result => { expect(result).toEqual('Metropolis newspaper'); diff --git a/e2e/paths/03_edit_fiscal_data.spec.js b/e2e/paths/03_edit_fiscal_data.spec.js new file mode 100644 index 0000000000..60464a9c6c --- /dev/null +++ b/e2e/paths/03_edit_fiscal_data.spec.js @@ -0,0 +1,579 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Edit fiscalData path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Bruce Banner', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Bruce Banner') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + describe('Confirm all addresses have EQtax false for future propagation test', () => { + it(`should click on the search result to access to the client's addresses`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.addresses.addressesButton) + .waitForURL('/addresses/list') + .url() + .then(url => { + expect(url).toContain('/addresses/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the 1st edit icon to check EQtax is checked`, done => { + nightmare + .waitToClick(selectors.addresses.firstEditButton) + .wait(selectors.addresses.equalizationTaxCheckboxLabel) + .wait(200) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.addresses.equalizationTaxCheckboxLabel) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should go back to addresses then select the second one and confirm the EQtax is checked`, done => { + nightmare + .waitToClick(selectors.addresses.addressesButton) + .waitToClick(selectors.addresses.secondEditButton) + .wait(selectors.addresses.equalizationTaxCheckboxLabel) + .wait(200) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.addresses.equalizationTaxCheckboxLabel) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it(`should click on the fiscal data button to start editing`, done => { + nightmare + .waitToClick(selectors.fiscalData.fiscalDataButton) + .waitForURL('fiscal-data') + .url() + .then(url => { + expect(url).toContain('fiscal-data'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should edit the social name', done => { + nightmare + .wait(selectors.fiscalData.socialNameInput) + .clearInput(selectors.fiscalData.socialNameInput) + .type(selectors.fiscalData.socialNameInput, 'Hulk edited') + .click(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the social name have been edited', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.socialNameInput) + .getInputValue(selectors.fiscalData.socialNameInput) + .then(result => { + expect(result).toEqual('Hulk edited'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should edit the fiscal id', done => { + nightmare + .wait(selectors.fiscalData.fiscalIdInput) + .clearInput(selectors.fiscalData.fiscalIdInput) + .type(selectors.fiscalData.fiscalIdInput, '94980061C') + .click(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the fiscal id have been edited', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.fiscalIdInput) + .getInputValue(selectors.fiscalData.fiscalIdInput) + .then(result => { + expect(result).toEqual('94980061C'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should check the Equalization tax checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.equalizationTaxCheckboxLabel) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should propagate the Equalization tax', done => { + nightmare + .waitToClick(selectors.fiscalData.acceptPropagationButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Equalization tax checkbox is checked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.equalizationTaxCheckboxLabel) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.equalizationTaxCheckboxLabel) + .then(value => { + expect(value).toBeTruthy(); + done(); + }) + .catch(catchErrors(done)); + }); + + describe('Confirm all addresses have now EQtax checked', () => { + it(`should click on the addresses button to access to the client's addresses`, done => { + nightmare + .waitToClick(selectors.addresses.addressesButton) + .waitForURL('/addresses/list') + .url() + .then(url => { + expect(url).toContain('/addresses/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the 1st edit icon to confirm EQtax is checked`, done => { + nightmare + .waitToClick(selectors.addresses.firstEditButton) + .wait(selectors.addresses.equalizationTaxCheckboxLabel) + .wait(200) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.addresses.equalizationTaxCheckboxLabel) + .then(value => { + expect(value).toBeTruthy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should go back to addresses then select the second one and confirm the EQtax is checked`, done => { + nightmare + .waitToClick(selectors.addresses.addressesButton) + .waitToClick(selectors.addresses.secondEditButton) + .wait(selectors.addresses.equalizationTaxCheckboxLabel) + .wait(200) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.addresses.equalizationTaxCheckboxLabel) + .then(value => { + expect(value).toBeTruthy(); + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should go to fiscal data then edit the address', done => { + nightmare + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.addressInput) + .clearInput(selectors.fiscalData.addressInput) + .type(selectors.fiscalData.addressInput, 'Somewhere edited') + .click(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the address have been edited', done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.addressInput) + .getInputValue(selectors.fiscalData.addressInput) + .then(result => { + expect(result).toEqual('Somewhere edited'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should edit the city', done => { + nightmare + .wait(selectors.fiscalData.cityInput) + .clearInput(selectors.fiscalData.cityInput) + .type(selectors.fiscalData.cityInput, 'N/A') + .click(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the city have been edited', done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.cityInput) + .getInputValue(selectors.fiscalData.cityInput) + .then(result => { + expect(result).toEqual('N/A'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should edit the postcode', done => { + nightmare + .wait(selectors.fiscalData.postcodeInput) + .clearInput(selectors.fiscalData.postcodeInput) + .type(selectors.fiscalData.postcodeInput, '12345') + .click(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the postcode have been edited', done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.postcodeInput) + .getInputValue(selectors.fiscalData.postcodeInput) + .then(result => { + expect(result).toEqual('12345'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should edit the province`, done => { + nightmare + .waitToClick(selectors.fiscalData.provinceInput) + .waitToClick(selectors.fiscalData.provinceFifthOption) + .wait(200) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should confirm the province have been selected`, done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.fiscalData.fiscalDataButton) + .wait(200) + .getInputValue(selectors.fiscalData.provinceInput) + .then(result => { + expect(result).toEqual('Province two'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should uncheck the active checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.activeCheckboxLabel) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm active checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.activeCheckboxLabel) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.activeCheckboxLabel) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should uncheck the invoice by address checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.invoiceByAddressCheckboxInput) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm invoice by address checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.invoiceByAddressCheckboxInput) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.invoiceByAddressCheckboxInput) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should check the Verified data checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.verifiedDataCheckboxInput) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Verified data checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.verifiedDataCheckboxInput) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.verifiedDataCheckboxInput) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should uncheck the Has to invoice checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.hasToInvoiceCheckboxLabel) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Has to invoice checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.hasToInvoiceCheckboxLabel) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.hasToInvoiceCheckboxLabel) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should uncheck the Invoice by mail checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.invoiceByMailCheckboxLabel) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Invoice by mail checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.invoiceByMailCheckboxLabel) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.invoiceByMailCheckboxLabel) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should check the Vies checkbox', done => { + nightmare + .waitToClick(selectors.fiscalData.viesCheckboxInput) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Vies checkbox is checked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.fiscalData.fiscalDataButton) + .wait(selectors.fiscalData.viesCheckboxInput) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.fiscalData.viesCheckboxInput) + .then(value => { + expect(value).toBeTruthy(); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/edit_fiscal_data.spec.js b/e2e/paths/04_edit_pay_method.spec.js similarity index 57% rename from e2e/paths/edit_fiscal_data.spec.js rename to e2e/paths/04_edit_pay_method.spec.js index b7cefa28c5..88e186ad21 100644 --- a/e2e/paths/edit_fiscal_data.spec.js +++ b/e2e/paths/04_edit_pay_method.spec.js @@ -5,7 +5,9 @@ import {catchErrors} from '../../services/utils/jasmineHelpers'; const nightmare = createNightmare(); const moduleAccessViewHashURL = '#!/'; -describe('Edit fiscalData path', () => { +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Edit pay method path', () => { describe('warm up', () => { it('should warm up login and fixtures', done => { nightmare @@ -31,6 +33,15 @@ describe('Edit fiscalData path', () => { .catch(catchErrors(done)); }); + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + it('should click on the Clients button of the top bar menu', done => { nightmare .waitToClick(selectors.globalItems.applicationsMenuButton) @@ -59,43 +70,149 @@ describe('Edit fiscalData path', () => { .catch(catchErrors(done)); }); - it(`should click on the search result to access to the client's fiscal data`, done => { + it(`should click on the search result to access to the client's pay method`, done => { nightmare .waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner') .waitToClick(selectors.clientsIndex.searchResult) - .waitToClick(selectors.fiscalData.fiscalDataButton) - .waitForURL('fiscal-data') + .waitToClick(selectors.payMethod.payMethodButton) + .waitForURL('billing-data') .url() .then(url => { - expect(url).toContain('fiscal-data'); + expect(url).toContain('billing-data'); done(); }) .catch(catchErrors(done)); }); - it('should uncheck the hasToInvoice checkbox', done => { + it(`should edit the Pay method to any without IBAN`, done => { nightmare - .waitToClick(selectors.fiscalData.hasToInvoiceCheckboxLabel) - .waitToClick(selectors.fiscalData.saveButton) + .waitToClick(selectors.payMethod.payMethodInput) + .waitToClick(selectors.payMethod.payMethodOptionOne) + .wait(200) + .waitToClick(selectors.payMethod.saveButton) + .waitToClick(selectors.payMethod.cancelNotificationButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); }); - it('should confirm hasToInvoice checkbox is unchecked', done => { + it(`should confirm the Pay method have been selected`, done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.payMethod.payMethodButton) + .wait(200) + .getInputValue(selectors.payMethod.payMethodInput) + .then(result => { + expect(result).toEqual('PayMethod one'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should receive an error when changing payMethod to IBAN without an IBAN entered`, done => { + nightmare + .waitToClick(selectors.payMethod.payMethodInput) + .waitToClick(selectors.payMethod.payMethodIBANOption) + .wait(200) + .waitToClick(selectors.payMethod.saveButton) + .waitToClick(selectors.payMethod.cancelNotificationButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Error'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should add the IBAN`, done => { + nightmare + .type(selectors.payMethod.IBANInput, 'ES91 2100 0418 4502 0005 1332') + .waitToClick(selectors.payMethod.saveButton) + .waitToClick(selectors.payMethod.cancelNotificationButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should confirm the IBAN pay method is sucessfully saved`, done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.payMethod.payMethodButton) + .wait(200) + .getInputValue(selectors.payMethod.payMethodInput) + .then(result => { + expect(result).toEqual('PayMethod with IBAN'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should edit the due day`, done => { + nightmare + .clearInput(selectors.payMethod.dueDayInput) + .type(selectors.payMethod.dueDayInput, '60') + .waitToClick(selectors.payMethod.saveButton) + .waitToClick(selectors.payMethod.cancelNotificationButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the due day have been edited', done => { nightmare .waitForSnackbarReset() .waitToClick(selectors.basicData.basicDataButton) .wait(selectors.basicData.nameInput) - .waitToClick(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.hasToInvoiceCheckboxLabel) + .waitToClick(selectors.payMethod.payMethodButton) + .wait(selectors.payMethod.dueDayInput) + .getInputValue(selectors.payMethod.dueDayInput) + .then(result => { + expect(result).toEqual('60'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should uncheck the Received core VNH checkbox', done => { + nightmare + .waitToClick(selectors.payMethod.receivedCoreVNHCheckbox) + .waitToClick(selectors.payMethod.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Received core VNH checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.payMethod.payMethodButton) + .wait(selectors.payMethod.receivedCoreVNHCheckbox) .evaluate(selector => { return document.querySelector(selector).checked; - }, selectors.fiscalData.hasToInvoiceCheckboxLabel) + }, selectors.payMethod.receivedCoreVNHCheckbox) .then(value => { expect(value).toBeFalsy(); done(); @@ -103,29 +220,29 @@ describe('Edit fiscalData path', () => { .catch(catchErrors(done)); }); - it('should uncheck the invoiceByMail checkbox', done => { + it('should uncheck the Received core VNL checkbox', done => { nightmare - .waitToClick(selectors.fiscalData.invoiceByMailCheckboxLabel) - .waitToClick(selectors.fiscalData.saveButton) + .waitToClick(selectors.payMethod.receivedCoreVNLCheckbox) + .waitToClick(selectors.payMethod.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); }); - it('should confirm invoiceByMail checkbox is unchecked', done => { + it('should confirm Received core VNL checkbox is unchecked', done => { nightmare .waitForSnackbarReset() .waitToClick(selectors.basicData.basicDataButton) .wait(selectors.basicData.nameInput) - .waitToClick(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.invoiceByMailCheckboxLabel) + .waitToClick(selectors.payMethod.payMethodButton) + .wait(selectors.payMethod.receivedCoreVNLCheckbox) .evaluate(selector => { return document.querySelector(selector).checked; - }, selectors.fiscalData.invoiceByMailCheckboxLabel) + }, selectors.payMethod.receivedCoreVNLCheckbox) .then(value => { expect(value).toBeFalsy(); done(); @@ -133,149 +250,31 @@ describe('Edit fiscalData path', () => { .catch(catchErrors(done)); }); - it('should edit the address', done => { + it('should uncheck the Received B2B VNL checkbox', done => { nightmare - .wait(selectors.fiscalData.addressInput) - .clearInput(selectors.fiscalData.addressInput) - .type(selectors.fiscalData.addressInput, 'Alpha Flight Low-Orbit') - .click(selectors.fiscalData.saveButton) + .waitToClick(selectors.payMethod.receivedB2BVNLCheckbox) + .waitToClick(selectors.payMethod.saveButton) .wait(selectors.globalItems.snackbarIsActive) .getInnerText(selectors.globalItems.snackbarIsActive) .then(result => { - expect(result).toEqual('¡Datos guardados!'); + expect(result).toEqual('Data saved!'); done(); }) .catch(catchErrors(done)); }); - it('should confirm the address have been edited', done => { + it('should confirm Received B2B VNL checkbox is unchecked', done => { nightmare .waitForSnackbarReset() - .click(selectors.basicData.basicDataButton) + .waitToClick(selectors.basicData.basicDataButton) .wait(selectors.basicData.nameInput) - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.addressInput) - .getInputValue(selectors.fiscalData.addressInput) - .then(result => { - expect(result).toEqual('Alpha Flight Low-Orbit'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should edit the city', done => { - nightmare - .wait(selectors.fiscalData.cityInput) - .clearInput(selectors.fiscalData.cityInput) - .type(selectors.fiscalData.cityInput, 'N/A') - .click(selectors.fiscalData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual('¡Datos guardados!'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should confirm the city have been edited', done => { - nightmare - .waitForSnackbarReset() - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.nameInput) - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.cityInput) - .getInputValue(selectors.fiscalData.cityInput) - .then(result => { - expect(result).toEqual('N/A'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should edit the postcode', done => { - nightmare - .wait(selectors.fiscalData.postcodeInput) - .clearInput(selectors.fiscalData.postcodeInput) - .type(selectors.fiscalData.postcodeInput, '12345') - .click(selectors.fiscalData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual('¡Datos guardados!'); - done(); - }) - .catch(catchErrors(done)); - }); - - it('should confirm the postcode have been edited', done => { - nightmare - .waitForSnackbarReset() - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.nameInput) - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.postcodeInput) - .getInputValue(selectors.fiscalData.postcodeInput) - .then(result => { - expect(result).toEqual('12345'); - done(); - }) - .catch(catchErrors(done)); - }); - - it(`should edit the province`, done => { - nightmare - .waitToClick(selectors.fiscalData.provinceInput) - .waitToClick(selectors.fiscalData.provinceFifthOption) - .waitToClick(selectors.fiscalData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual(`¡Datos guardados!`); - done(); - }) - .catch(catchErrors(done)); - }); - - it(`should confirm the province have been selected`, done => { - nightmare - .waitForSnackbarReset() - .click(selectors.basicData.basicDataButton) - .wait(selectors.basicData.nameInput) - .click(selectors.fiscalData.fiscalDataButton) - .wait(100) - .getInputValue(selectors.fiscalData.provinceInput) - .then(result => { - expect(result).toEqual('Province two'); - done(); - }) - .catch(catchErrors(done)); - }); - - it(`should edit the country`, done => { - nightmare - .waitToClick(selectors.fiscalData.countryInput) - .waitToClick(selectors.fiscalData.countryThirdOption) - .waitToClick(selectors.fiscalData.saveButton) - .wait(selectors.globalItems.snackbarIsActive) - .getInnerText(selectors.globalItems.snackbarIsActive) - .then(result => { - expect(result).toEqual(`¡Datos guardados!`); - done(); - }) - .catch(catchErrors(done)); - }); - - it(`should confirm the country have been selected`, done => { - nightmare - .waitForSnackbarReset() - .click(selectors.fiscalData.fiscalDataButton) - .wait(selectors.fiscalData.addressInput) - .click(selectors.fiscalData.basicDataButton) - .wait(100) - .getInputValue(selectors.fiscalData.countryInput) - .then(result => { - expect(result).toEqual('Holanda'); + .waitToClick(selectors.payMethod.payMethodButton) + .wait(selectors.payMethod.receivedB2BVNLCheckbox) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.payMethod.receivedB2BVNLCheckbox) + .then(value => { + expect(value).toBeFalsy(); done(); }) .catch(catchErrors(done)); diff --git a/e2e/paths/05_edit_addresses.spec.js b/e2e/paths/05_edit_addresses.spec.js new file mode 100644 index 0000000000..b87ba7fd4c --- /dev/null +++ b/e2e/paths/05_edit_addresses.spec.js @@ -0,0 +1,301 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Edit addresses path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Bruce Banner', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Bruce Banner') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's pay method`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.addresses.addressesButton) + .waitForURL('addresses/list') + .url() + .then(url => { + expect(url).toContain('addresses/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the add new address button to access to the new address form`, done => { + nightmare + .waitToClick(selectors.addresses.createAddress) + .waitForURL('addresses/create') + .url() + .then(url => { + expect(url).toContain('addresses/create'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should check the default checkbox then receive an error after clicking save button as the form is empty', done => { + nightmare + .waitToClick(selectors.addresses.defaultCheckboxInput) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but consignee', done => { + nightmare + .waitForSnackbarReset() + .type(selectors.addresses.consigneeInput, 'Bruce Bunner') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but Street', done => { + nightmare + .waitForSnackbarReset() + .clearInput(selectors.addresses.consigneeInput) + .type(selectors.addresses.streetAddressInput, '320 Park Avenue New York') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but postcode', done => { + nightmare + .waitForSnackbarReset() + .clearInput(selectors.addresses.streetAddressInput) + .type(selectors.addresses.postcodeInput, '10022') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but city', done => { + nightmare + .waitForSnackbarReset() + .clearInput(selectors.addresses.postcodeInput) + .type(selectors.addresses.cityInput, 'New York') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but province', done => { + nightmare + .waitForSnackbarReset() + .clearInput(selectors.addresses.cityInput) + .waitToClick(selectors.addresses.provinceInput) + .waitToClick(selectors.addresses.provinceSecondOption) + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but province and agency', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.addresses.agencyInput) + .waitToClick(selectors.addresses.agenctySecondOption) + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but province, agency and phone', done => { + nightmare + .waitForSnackbarReset() + .type(selectors.addresses.phoneInput, '999887744') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should receive an error when clicking the save button having all the form fields empty but province, agency and mobile', done => { + nightmare + .waitForSnackbarReset() + .clearInput(selectors.addresses.phoneInput) + .type(selectors.addresses.mobileInput, '999887744') + .click(selectors.createClientView.createButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should create a new address with all it's data`, done => { + nightmare + .waitForSnackbarReset() + .type(selectors.addresses.consigneeInput, 'Bruce Bunner') + .type(selectors.addresses.streetAddressInput, '320 Park Avenue New York') + .type(selectors.addresses.postcodeInput, '10022') + .type(selectors.addresses.cityInput, 'New York') + .type(selectors.addresses.phoneInput, '999887744') + .click(selectors.addresses.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the addresses button confirm the new address exists and it's the default one`, done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.addresses.addressesButton) + .wait(selectors.addresses.defaultAddress) + .getInnerText(selectors.addresses.defaultAddress) + .then(result => { + expect(result).toContain('320 Park Avenue New York'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the make default icon of the second address then confirm it is the default one now`, done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.addresses.secondMakeDefaultStar) + .waitForTextInElement(selectors.addresses.defaultAddress, 'Somewhere in Thailand') + .getInnerText(selectors.addresses.defaultAddress) + .then(result => { + expect(result).toContain('Somewhere in Thailand'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the edit icon of the default address`, done => { + nightmare + .waitForTextInElement(selectors.addresses.defaultAddress, 'Somewhere in Thailand') + .waitToClick(selectors.addresses.firstEditButton) + .waitForURL('/edit') + .url() + .then(result => { + expect(result).toContain('/edit'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the active checkbox and receive an error to save it becouse it is the default address`, done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.addresses.activeCheckbox) + .waitToClick(selectors.addresses.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Error'); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/06_edit_web_access.spec.js b/e2e/paths/06_edit_web_access.spec.js new file mode 100644 index 0000000000..e42e465616 --- /dev/null +++ b/e2e/paths/06_edit_web_access.spec.js @@ -0,0 +1,146 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Edit web access path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Bruce Banner', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Bruce Banner') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's web access`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.webAccess.webAccessButton) + .waitForURL('web-access') + .url() + .then(url => { + expect(url).toContain('web-access'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the Enable web access checkbox to uncheck it`, done => { + nightmare + .waitToClick(selectors.webAccess.enableWebAccessCheckbox) + .waitToClick(selectors.fiscalData.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain(`Data saved!`); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm Enable web access checkbox is unchecked', done => { + nightmare + .waitForSnackbarReset() + .waitToClick(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .waitToClick(selectors.webAccess.webAccessButton) + .wait(selectors.webAccess.enableWebAccessCheckbox) + .evaluate(selector => { + return document.querySelector(selector).checked; + }, selectors.webAccess.enableWebAccessCheckbox) + .then(value => { + expect(value).toBeFalsy(); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should edit the User name', done => { + nightmare + .wait(selectors.webAccess.userNameInput) + .clearInput(selectors.webAccess.userNameInput) + .type(selectors.webAccess.userNameInput, 'Hulk') + .click(selectors.webAccess.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the User name have been edited', done => { + nightmare + .waitForSnackbarReset() + .click(selectors.basicData.basicDataButton) + .wait(selectors.basicData.nameInput) + .click(selectors.webAccess.webAccessButton) + .wait(selectors.webAccess.userNameInput) + .getInputValue(selectors.webAccess.userNameInput) + .then(result => { + expect(result).toEqual('Hulk'); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/07_add_notes.spec.js b/e2e/paths/07_add_notes.spec.js new file mode 100644 index 0000000000..cb88d83b18 --- /dev/null +++ b/e2e/paths/07_add_notes.spec.js @@ -0,0 +1,123 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Add notes path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Bruce Banner', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Bruce Banner') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's notes`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Bruce Banner') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.notes.notesButton) + .waitForURL('notes/list') + .url() + .then(url => { + expect(url).toContain('notes/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the add note button`, done => { + nightmare + .waitToClick(selectors.notes.addNoteFloatButton) + .waitForURL('/notes/create') + .url() + .then(url => { + expect(url).toContain('/notes/create'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should create a note`, done => { + nightmare + .type(selectors.notes.noteInput, 'Meeting with Black Widow 21th 9am') + .click(selectors.notes.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the note was created', done => { + nightmare + .waitForSnackbarReset() + .wait(selectors.notes.firstNoteText) + .getInnerText(selectors.notes.firstNoteText) + .then(value => { + expect(value).toEqual('Meeting with Black Widow 21th 9am'); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/08_add_credit.spec.js b/e2e/paths/08_add_credit.spec.js new file mode 100644 index 0000000000..d3a2183279 --- /dev/null +++ b/e2e/paths/08_add_credit.spec.js @@ -0,0 +1,123 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Add credit path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Petter Parker', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Petter Parker') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's credit`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter Parker') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.credit.creditButton) + .waitForURL('credit/list') + .url() + .then(url => { + expect(url).toContain('credit/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the add credit button`, done => { + nightmare + .waitToClick(selectors.credit.addCreditFloatButton) + .waitForURL('/credit/create') + .url() + .then(url => { + expect(url).toContain('/credit/create'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should edit the credit`, done => { + nightmare + .type(selectors.credit.creditInput, 999) + .click(selectors.credit.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toEqual('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the credit was updated', done => { + nightmare + .waitForSnackbarReset() + .wait(selectors.credit.firstCreditText) + .getInnerText(selectors.credit.firstCreditText) + .then(value => { + expect(value).toContain(999); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/09_add_greuge.spec.js b/e2e/paths/09_add_greuge.spec.js new file mode 100644 index 0000000000..4dd6990cf0 --- /dev/null +++ b/e2e/paths/09_add_greuge.spec.js @@ -0,0 +1,180 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('Add greuge path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Petter Parker', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Petter Parker') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's greuge`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter Parker') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.greuge.greugeButton) + .waitForURL('greuge/list') + .url() + .then(url => { + expect(url).toContain('greuge/list'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the add greuge button`, done => { + nightmare + .waitToClick(selectors.greuge.addGreugeFloatButton) + .waitForURL('greuge/create') + .url() + .then(url => { + expect(url).toContain('greuge/create'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should receive an error if all fields are empty but date on submit`, done => { + nightmare + .click(selectors.credit.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should receive an error if all fields are empty but date and amount on submit`, done => { + nightmare + .type(selectors.greuge.amountInput, 999) + .click(selectors.greuge.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should receive an error if all fields are empty but date and description on submit`, done => { + nightmare + .clearInput(selectors.greuge.amountInput) + .type(selectors.greuge.descriptionInput, 'new armor for Batman!') + .click(selectors.greuge.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should receive an error if all fields are empty but date and type on submit`, done => { + nightmare + .clearInput(selectors.greuge.descriptionInput) + .waitToClick(selectors.greuge.typeInput) + .waitToClick(selectors.greuge.typeSecondOption) + .click(selectors.greuge.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Some fields are invalid'); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should create a new greuge with all its data`, done => { + nightmare + .type(selectors.greuge.amountInput, 999) + .type(selectors.greuge.descriptionInput, 'new armor for Batman!') + .click(selectors.greuge.saveButton) + .wait(selectors.globalItems.snackbarIsActive) + .getInnerText(selectors.globalItems.snackbarIsActive) + .then(result => { + expect(result).toContain('Data saved!'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the greuge was added to the list', done => { + nightmare + .waitForSnackbarReset() + .wait(selectors.greuge.firstGreugeText) + .getInnerText(selectors.greuge.firstGreugeText) + .then(value => { + expect(value).toContain(999); + expect(value).toContain('new armor for Batman!'); + expect(value).toContain('Diff'); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e/paths/10_mandate.spec.js b/e2e/paths/10_mandate.spec.js new file mode 100644 index 0000000000..ab7847ee77 --- /dev/null +++ b/e2e/paths/10_mandate.spec.js @@ -0,0 +1,99 @@ +import config from '../helpers/config.js'; +import createNightmare from '../helpers/nightmare'; +import selectors from '../helpers/selectors.js'; +import {catchErrors} from '../../services/utils/jasmineHelpers'; +const nightmare = createNightmare(); +const moduleAccessViewHashURL = '#!/'; + +jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; + +describe('mandate path', () => { + describe('warm up', () => { + it('should warm up login and fixtures', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .waitToClick(selectors.globalItems.logOutButton) + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + }); + + it('should log in', done => { + nightmare + .login() + .waitForURL(moduleAccessViewHashURL) + .url() + .then(url => { + expect(url).toEqual(config.url + moduleAccessViewHashURL); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should make sure the language is English', done => { + nightmare + .changeLanguageToEnglish() + .then(() => { + done(); + }) + .catch(catchErrors(done)); + }); + + it('should click on the Clients button of the top bar menu', done => { + nightmare + .waitToClick(selectors.globalItems.applicationsMenuButton) + .wait(selectors.globalItems.applicationsMenuVisible) + .waitToClick(selectors.globalItems.clientsButton) + .wait(selectors.clientsIndex.createClientButton) + .url() + .then(url => { + expect(url).toEqual(config.url + '#!/clients'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should search for the user Petter Parker', done => { + nightmare + .wait(selectors.clientsIndex.searchResult) + .type(selectors.clientsIndex.searchClientInput, 'Petter Parker') + .click(selectors.clientsIndex.searchButton) + .waitForNumberOfElements(selectors.clientsIndex.searchResult, 1) + .countSearchResults(selectors.clientsIndex.searchResult) + .then(result => { + expect(result).toEqual(1); + done(); + }) + .catch(catchErrors(done)); + }); + + it(`should click on the search result to access to the client's mandate`, done => { + nightmare + .waitForTextInElement(selectors.clientsIndex.searchResult, 'Petter') + .waitToClick(selectors.clientsIndex.searchResult) + .waitToClick(selectors.mandate.mandateButton) + .waitForURL('mandate') + .url() + .then(url => { + expect(url).toContain('mandate'); + done(); + }) + .catch(catchErrors(done)); + }); + + it('should confirm the client has a mandate of the CORE type', done => { + nightmare + .wait(selectors.mandate.firstMandateText) + .getInnerText(selectors.mandate.firstMandateText) + .then(value => { + expect(value).toContain('1'); + expect(value).toContain('WAY'); + expect(value).toContain('CORE'); + done(); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/e2e_tests.js b/e2e_tests.js index 4fecbaff0a..dd1d7a079b 100644 --- a/e2e_tests.js +++ b/e2e_tests.js @@ -18,11 +18,11 @@ var SpecReporter = require('jasmine-spec-reporter').SpecReporter; jasmine.loadConfig({ spec_files: [ - './e2e/helpers/extensions.js', - './e2e/**/*[sS]pec.js' + './e2e/**/*[sS]pec.js', + './e2e/helpers/extensions.js' ], helpers: [ - // '/services/utils/jasmineHelpers.js' + '/services/utils/jasmineHelpers.js' ] }); diff --git a/gulpfile.js b/gulpfile.js index 069ff5a895..656b81308c 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,4 +1,5 @@ var gulp = require('gulp'); +const jasmine = require('gulp-jasmine'); var gutil = require('gulp-util'); var wrap = require('gulp-wrap'); var concat = require('gulp-concat'); @@ -37,6 +38,15 @@ gulp.task('client', ['clean'], function() { return gulp.start('watch', 'routes', 'locales', 'webpack-dev-server'); }); +gulp.task('nginxRestart', callback => { + let isWindows = /^win/.test(process.platform); + let command = isWindows ? '.\\dev.cmd' : './dev.sh'; + exec(command, (err, stdout, stderr) => { + console.log(stdout); + callback(err); + }); +}); + gulp.task('services', () => { process.env.NODE_ENV = gutil.env.env || 'development'; const pathServices = './services/'; @@ -49,6 +59,25 @@ gulp.task('services', () => { }); }); +gulp.task('clientDev', callback => { + runSequence('nginxRestart', 'client', callback); +}); + +gulp.task('servicesDev', callback => { + let isWindows = /^win/.test(process.platform); + let command = isWindows ? 'docker inspect dblocal | findstr Status' : 'docker inspect dblocal | grep Status'; + gutil.env.env = 'test'; + exec(command, (err, stdout, stderr) => { + let isNotRunning = !stdout.includes('running'); + if (isNotRunning) { + runSequence('docker', 'waitForMySQL', 'services'); + } else { + runSequence('services'); + } + callback(err); + }); +}); + gulp.task('clean', function() { return del([`${buildDir}/*`, `!${buildDir}/templates`, `!${buildDir}/images`], {force: true}); }); @@ -147,11 +176,42 @@ gulp.task('watch', function() { gulp.watch(localeFiles, ['locales']); }); -// Test environment +// Server side unit tests gulp.task('test', callback => { return require('./services_tests').start(); }); +// e2e tests +gulp.task('e2e', callback => { + runSequence('docker', 'waitForMySQL', 'endToEndTests', callback); +}); + +gulp.task('waitForMySQL', callback => { + let maxInterval = 30000; + let interval = 1000; + let timer = 0; + console.log('Waiting for MySQL init process...'); + let waitForLocaldb = setInterval(() => { + if (timer < maxInterval) { + timer += interval; + exec('docker logs --tail 4 dblocal', (err, stdout, stderr) => { + if (stdout.includes('MySQL init process done. Ready for start up.')) { + clearInterval(waitForLocaldb); + callback(err); + } + }); + } else { + console.log(`MySQL connection not established whithin ${maxInterval / 1000} secs!`); + clearInterval(waitForLocaldb); + } + }, interval); +}); + +gulp.task('endToEndTests', callback => { + gulp.src('./e2e_tests.js') + .pipe(jasmine({reporter: 'none'})); +}); + // docker dblocal gulp.task('docker', callback => { runSequence('deleteDockerDb', 'deleteDockerImageDb', 'buildDockerDb', 'runDockerDb', callback); diff --git a/package.json b/package.json index 832c538c04..b981b7b4ad 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "validator": "^6.2.1" }, "devDependencies": { - "angular-mocks": "^1.6.6", + "angular-mocks": "1.6.6", "babel": "^6.5.2", "babel-core": "^6.22.1", "babel-loader": "^6.4.1", @@ -44,6 +44,7 @@ "gulp-concat": "^2.6.0", "gulp-extend": "^0.2.0", "gulp-install": "^1.1.0", + "gulp-jasmine": "^3.0.0", "gulp-print": "^2.0.1", "gulp-util": "^3.0.7", "gulp-wrap": "^0.13.0", @@ -57,7 +58,9 @@ "karma-jasmine": "^1.1.0", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^2.0.4", + "md5": "^2.2.1", "merge-stream": "^1.0.1", + "mysql": "^2.15.0", "nightmare": "^2.10.0", "node-sass": "^3.11.0", "raw-loader": "*", @@ -71,8 +74,7 @@ "build": "webpack --progress --colors", "dev": "webpack-dev-server --progress --colors", "lint": "eslint ./ --cache --ignore-pattern .gitignore", - "test": "node services_tests", - "testWatcher": "nodemon -q services_tests.js -w services", + "test": "nodemon -q services_tests.js -w services", "e2e": "node e2e_tests" } } diff --git a/services/auth/package.json b/services/auth/package.json index f959ddc952..2b78464c71 100644 --- a/services/auth/package.json +++ b/services/auth/package.json @@ -8,7 +8,6 @@ "posttest": "npm run lint && nsp check" }, "dependencies": { - "md5": "^2.2.1" }, "repository": { "type": "git", diff --git a/services/auth/server/boot/routes.js b/services/auth/server/boot/routes.js index f29e648f98..3812a50fb5 100644 --- a/services/auth/server/boot/routes.js +++ b/services/auth/server/boot/routes.js @@ -85,7 +85,6 @@ module.exports = function(app) { }); app.get('/logout', function(req, res) { - console.log(req.accessToken); User.logout(req.accessToken.id, () => res.redirect('/')); }); diff --git a/services/auth/server/model-config.json b/services/auth/server/model-config.json index 8d0bcc990a..69156182d2 100644 --- a/services/auth/server/model-config.json +++ b/services/auth/server/model-config.json @@ -1,9 +1,9 @@ { "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -13,15 +13,15 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" } } \ No newline at end of file diff --git a/services/auth/server/server.js b/services/auth/server/server.js index c87c400dc0..2819f5729a 100644 --- a/services/auth/server/server.js +++ b/services/auth/server/server.js @@ -3,7 +3,4 @@ var vnLoopback = require('../../loopback/server/server.js'); var app = module.exports = vnLoopback.loopback(); app.set('applications', require('./application.json')); -vnLoopback.boot(app, __dirname); -if (require.main === module) { - app.start(); -} +vnLoopback.boot(app, __dirname, module); diff --git a/services/client/common/methods/client/activate.js b/services/client/common/methods/client/activate.js index bfce30ea35..d434d7f5a9 100644 --- a/services/client/common/methods/client/activate.js +++ b/services/client/common/methods/client/activate.js @@ -31,32 +31,32 @@ module.exports = function(Client) { Client.activate = function(id, ctx, cb) { Client.findById(id, function(err, client) { - if(!err) { - Client.update({id: client.id}, {active: !client.active}); - + if (!err) { + Client.update({id: client.id}, {active: !client.active}); + let filter = {where: {clientFk: client.id}, fields: ['started', 'ended']}; app.models.CreditClassification.findOne(filter, function(error, data) { if (error) return; - + let currentDate = new Date(); - if (data && client.active && (data.ended >= currentDate || data.ended == null)) { - let host = ctx.req.headers.host.split(':')[0]; + if (data && client.active && (data.ended >= currentDate || data.ended == null)) { + let referer = ctx.req.headers.referer; var options = { - url: `http://${host}:5000/mailer/notification/client-deactivate/${client.id}`, + url: `${referer}/mailer/notification/client-deactivate/${client.id}`, method: 'POST', headers: { 'content-type': 'application/json', - 'authorization': ctx.req.headers.authorization + 'Authorization': ctx.req.headers.authorization }, json: {} }; request(options); } }); - + cb(null, !client.active); } }); diff --git a/services/client/common/methods/client/addresses.js b/services/client/common/methods/client/addresses.js index 247c9aec0c..a4c09ac7ea 100644 --- a/services/client/common/methods/client/addresses.js +++ b/services/client/common/methods/client/addresses.js @@ -41,10 +41,31 @@ module.exports = function(Client) { order: ['isDefaultAddress DESC', 'isEnabled DESC'] }; - Client.app.models.Address.find(filter, function(err, instances) { + let total = null; + let items = null; + + function response(type, value) { + if (type === 'total') { + total = value; + } else { + items = value; + } + + if (total !== null && items !== null) { + callback(null, {total: total, items: items}); + } + } + + Client.app.models.Address.find(filter, function(err, results) { if (err) return callback(err, null); - callback(null, instances); + response('find', results); + }); + + Client.app.models.Address.count(filter.where, function(err, result) { + if (err) + return callback(err, null); + response('total', result); }); }; }; diff --git a/services/client/common/methods/client/addressesPropagateRe.js b/services/client/common/methods/client/addressesPropagateRe.js index ec960a912d..64b159339d 100644 --- a/services/client/common/methods/client/addressesPropagateRe.js +++ b/services/client/common/methods/client/addressesPropagateRe.js @@ -40,4 +40,4 @@ module.exports = function(Client) { callback(null, false); } }; -} \ No newline at end of file +}; diff --git a/services/client/common/methods/client/before-save.js b/services/client/common/methods/client/before-save.js index 74b9ce7a61..b761a71f12 100644 --- a/services/client/common/methods/client/before-save.js +++ b/services/client/common/methods/client/before-save.js @@ -29,9 +29,9 @@ module.exports = function(Client) { && instance.dueDay == ctx.data.dueDay) ctx.data.dueDay = 5; - if (instance.fi && ctx.data.equalizationTax && !canMarkEqualizationTax(instance)){ + if (instance.fi && ctx.data.equalizationTax && !canMarkEqualizationTax(instance)) { next(generateErrorEqualizationTax()); - } else if (instance.equalizationTax !== undefined && instance.equalizationTax && ctx.data.fi && canMarkEqualizationTax(ctx.data)){ + } else if (instance.equalizationTax !== undefined && instance.equalizationTax && ctx.data.fi && canMarkEqualizationTax(ctx.data)) { next(generateErrorEqualizationTax()); } else { next(); @@ -116,12 +116,7 @@ module.exports = function(Client) { } function maxCb(_, instances) { - if (!instances) { - done(generateErrorCredit()); - return; - } - - if (instances.length !== 1 || instances[0].employeeFk == userId || instances[0].amount > 0) { + if (!instances || instances.length !== 1 || instances[0].employeeFk == userId || instances[0].amount > 0) { done(); return; } diff --git a/services/client/common/methods/client/card.js b/services/client/common/methods/client/card.js index bd2c4ca81a..08a8f74cb5 100644 --- a/services/client/common/methods/client/card.js +++ b/services/client/common/methods/client/card.js @@ -19,7 +19,7 @@ module.exports = function(Client) { } }); - Client.card = function(id, cb) { + Client.card = function(id, callback) { let filter = { where: { id: id @@ -27,10 +27,10 @@ module.exports = function(Client) { include: require('./card.json') }; - Client.find(filter, function(err, instances) { - if (!err) { - cb(null, formatCard(instances[0])); - } + Client.find(filter, function(error, instances) { + if (error) throw error; + + callback(null, formatCard(instances[0])); }); }; diff --git a/services/client/common/methods/client/create.js b/services/client/common/methods/client/create.js index 58e947e3fb..219e300289 100644 --- a/services/client/common/methods/client/create.js +++ b/services/client/common/methods/client/create.js @@ -1,4 +1,5 @@ -var app = require('../../../server/server'); +let app = require('../../../server/server'); +let md5 = require('md5'); module.exports = function(Client) { Client.remoteMethod('createUserProfile', { @@ -23,10 +24,10 @@ module.exports = function(Client) { let user = { name: data.userName, email: firstEmail, - password: parseInt(Math.random() * 100000000000000) + password: md5(parseInt(Math.random() * 100000000000000)) }; - app.models.Account.beginTransaction('READ COMMITTED', (error, transaction) => { + app.models.Account.beginTransaction({}, (error, transaction) => { app.models.Account.create(user, {transaction}, (error, account) => { if (error) { transaction.rollback(); @@ -38,7 +39,8 @@ module.exports = function(Client) { fi: data.fi, socialName: data.socialName, id: account.id, - email: data.email + email: data.email, + salesPersonFk: data.salesPersonFk }; Client.create(client, {transaction}, (error, newClient) => { diff --git a/services/client/common/methods/client/employee.js b/services/client/common/methods/client/employee.js index 8ad6dbbaad..4e6d897567 100644 --- a/services/client/common/methods/client/employee.js +++ b/services/client/common/methods/client/employee.js @@ -23,10 +23,10 @@ module.exports = function(Client) { Client.employeeList = function(callback) { let query = `SELECT em.id, CASE em.surname WHEN NULL THEN em.name ELSE concat(em.name, " ", em.surname) END \`name\` - FROM Employee em - JOIN Account ac ON em.userFk = ac.id - JOIN RoleMapping rm on ac.id=rm.principalId - JOIN Role rl on rm.roleId = rl.id + FROM salix.Employee em + JOIN salix.Account ac ON em.userFk = ac.id + JOIN salix.RoleMapping rm on ac.id=rm.principalId + JOIN salix.Role rl on rm.roleId = rl.id WHERE ac.active and rl.\`name\`='employee' ORDER BY em.name ASC`; diff --git a/services/client/common/methods/client/filter.js b/services/client/common/methods/client/filter.js index 0307ac0686..2c79e0556f 100644 --- a/services/client/common/methods/client/filter.js +++ b/services/client/common/methods/client/filter.js @@ -2,26 +2,6 @@ module.exports = function(Client) { Client.installMethod('filter', filterClients); function filterClients(params) { - if (params.search) - return searchWhere(params); - return andWhere(params); - } - - function searchWhere(params) { - return { - where: { - or: [ - {id: params.search}, - {name: {regexp: params.search}} - ] - - }, - skip: (params.page - 1) * params.size, - limit: params.size - }; - } - - function andWhere(params) { let filters = { where: {}, skip: (params.page - 1) * params.size, @@ -31,18 +11,50 @@ module.exports = function(Client) { delete params.page; delete params.size; + if (params.search) { + filters.where.and = [ + { + or: [ + {id: params.search}, + {name: {regexp: params.search}} + ] + } + ]; + delete params.search; + } + if (params.phone) { - filters.where.or = [ + let phones = [ {phone: params.phone}, {mobile: params.phone} ]; + if (filters.where.and) { + filters.where.and.push( + { + or: phones + } + ); + } else { + filters.where.or = phones; + } delete params.phone; } - Object.keys(params).forEach( - key => { - filters.where[key] = (key === 'postcode' || key === 'fi') ? params[key] : {regexp: params[key]}; - } - ); + + let keys = Object.keys(params); + if (keys.length) { + keys.forEach( + key => { + if (filters.where.and) { + let filter = {}; + filter[key] = (key === 'postcode' || key === 'fi' || key === 'id') ? params[key] : {regexp: params[key]}; + filters.where.and.push(filter); + } else { + filters.where[key] = (key === 'postcode' || key === 'fi' || key === 'id') ? params[key] : {regexp: params[key]}; + } + } + ); + } + return filters; } }; diff --git a/services/client/common/methods/client/roles.js b/services/client/common/methods/client/roles.js index 1e8a1f475f..a86fa5376a 100644 --- a/services/client/common/methods/client/roles.js +++ b/services/client/common/methods/client/roles.js @@ -32,7 +32,7 @@ module.exports = Client => { }); Client.getRoleCustomer = (id, context, callback) => { - let query = `SELECT count(*) isCustomer FROM Account ac JOIN Role ON Role.id = ac.roleFK WHERE Role.\`name\`='customer' AND ac.id IN (?)`; + let query = `SELECT count(*) isCustomer FROM salix.Account ac JOIN salix.Role r ON r.id = ac.roleFK WHERE r.\`name\`='customer' AND ac.id IN (?)`; const params = [id]; Client.rawSql(query, params, callback) .then(response => { diff --git a/services/client/common/methods/client/salesperson.js b/services/client/common/methods/client/salesperson.js index dde54fe9fb..d2851cd027 100644 --- a/services/client/common/methods/client/salesperson.js +++ b/services/client/common/methods/client/salesperson.js @@ -1,4 +1,4 @@ -module.exports = (Client) => { +module.exports = Client => { Client.remoteMethod('activeSalesPerson', { description: 'returns actives employees with salesperson role', accessType: 'READ', @@ -23,17 +23,17 @@ module.exports = (Client) => { Client.activeSalesPerson = (filter, callback) => { let skip = filter.skip || 0; let limit = filter.limit || 10; - let where = getCondition(filter.where); + let where = getCondition(filter.where, limit, skip); let query = `SELECT em.id, em.name, em.surname - FROM Employee em - JOIN Account ac ON em.userFk = ac.id - JOIN Role ON Role.id = ac.roleFK - WHERE ac.active AND Role.\`name\`='salesPerson' ${where.cond} + FROM salix.Employee em + JOIN salix.Account ac ON em.userFk = ac.id + JOIN salix.Role r ON r.id = ac.roleFK + WHERE ac.active AND r.\`name\`='salesPerson' ${where.sql} ORDER BY em.name ASC LIMIT ? OFFSET ?`; - Client.rawSql(query, [where.value, parseInt(limit, 10), parseInt(skip, 10)], callback) + Client.rawSql(query, where.params, callback) .then(response => { callback(null, formatSalesPerson(response)); }) @@ -42,10 +42,21 @@ module.exports = (Client) => { }); }; - function getCondition(where) { - let out = {}; - out.cond = (typeof where === 'object' && where.name && where.name.regexp) ? `AND em.name regexp ?` : '?'; - out.value = (typeof where === 'object' && where.name && where.name.regexp) ? where.name.regexp : ''; + function getCondition(where, limit, skip) { + let out = { + sql: '', + params: [] + }; + if (where && where.or) { + out.sql = `AND (em.name regexp ? OR em.surname regexp ?)`; + where.or.forEach(val => { + Object.keys(val).forEach(key => { + out.params.push(val[key].regexp); + }); + }); + } + out.params.push(parseInt(limit, 10)); + out.params.push(parseInt(skip, 10)); return out; } @@ -61,4 +72,4 @@ module.exports = (Client) => { return results; } -}; \ No newline at end of file +}; diff --git a/services/client/common/methods/client/specs/addresses.spec.js b/services/client/common/methods/client/specs/addresses.spec.js new file mode 100644 index 0000000000..7e07413aa7 --- /dev/null +++ b/services/client/common/methods/client/specs/addresses.spec.js @@ -0,0 +1,22 @@ +import app from '../../../../server/server'; +import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; + +describe('Client addresses', () => { + it('should call the addressesList method and receive total results and results of 2 as it has only 2 addresses', done => { + let id = 1; + let params = { + page: 10, + size: 30 + }; + + let callback = (error, result) => { + if (error) return catchErrors(done)(error); + + expect(result).toEqual(jasmine.objectContaining({ + total: 2 + })); + done(); + }; + app.models.Client.addressesList(id, params, callback); + }); +}); diff --git a/services/client/common/methods/client/specs/addressesPropagateRe.spec.js b/services/client/common/methods/client/specs/addressesPropagateRe.spec.js new file mode 100644 index 0000000000..5e7a7bac57 --- /dev/null +++ b/services/client/common/methods/client/specs/addressesPropagateRe.spec.js @@ -0,0 +1,84 @@ +import app from '../../../../server/server'; +import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; +import restoreFixtures from '../../../../../../services/db/testing_fixtures'; + +describe('Client addressesPropagateRe', () => { + let fixturesToApply = {tables: ['`account`.`user`', '`vn2008`.`Clientes`', '`vn2008`.`Consignatarios`'], inserts: [ + `INSERT INTO account.user(id,name,password,role,active,email) + VALUES + (1, 'BruceWayne', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'BruceWayne@verdnatura.es'), + (2, 'PetterParker', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'PetterParker@verdnatura.es'), + (3, 'ClarkKent', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'ClarkKent@verdnatura.es'), + (4, 'TonyStark', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'TonyStark@verdnatura.es'), + (5, 'MaxEisenhardt', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'MaxEisenhardt@verdnatura.es'), + (6, 'DavidCharlesHaller', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'DavidCharlesHaller@verdnatura.es'), + (7, 'HankPym', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'HankPym@verdnatura.es'), + (8, 'CharlesXavier', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'CharlesXavier@verdnatura.es'), + (9, 'BruceBanner', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'BruceBanner@verdnatura.es'), + (10, 'JessicaJones', 'ac754a330530832ba1bf7687f577da91', 9, 1, 'JessicaJones@verdnatura.es'), + (11, 'Cyborg', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'cyborg@verdnatura.es'); + + INSERT INTO salix.Address(id, consignee, street, city, postcode, provinceFk, phone, mobile, isEnabled, isDefaultAddress, clientFk, defaultAgencyFk, longitude, latitude, isEqualizated) + VALUES + (1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 0), + (2, 'Petter Parker', 'NY roofs', 'Silla', 46460, 1, NULL, NULL, 1, 1, 2, 2, NULL, NULL, 0), + (3, 'Clark Kenn', 'The phone box', 'Silla', 46460, 1, NULL, NULL, 1, 1, 3, 2, NULL, NULL, 0), + (4, 'Tony Stark', 'Stark tower', 'Silla', 46460, 1, NULL, NULL, 1, 1, 4, 2, NULL, NULL, 0), + (5, 'Max Eisenhardt', 'The plastic cell', 'Silla', 46460, 1, NULL, NULL, 1, 1, 5, 2, NULL, NULL, 0), + (6, 'David Charles Haller', 'Many places', 'Silla', 46460, 1, NULL, NULL, 1, 1, 6, 2, NULL, NULL, 0), + (7, 'Hank Pym', 'Your pocket', 'Silla', 46460, 1, NULL, NULL, 1, 1, 7, 2, NULL, NULL, 0), + (8, 'Charles Xavier', 'Cerebro', 'Silla', 46460, 1, NULL, NULL, 1, 1, 8, 2, NULL, NULL, 0), + (9, 'Bruce Banner', 'Somewhere in Thailand', 'Silla', 46460, 1, NULL, NULL, 1, 1, 9, 2, NULL, NULL, 0), + (10,'Jessica Jones', 'Luke Cages Bar', 'Silla', 46460, 1, NULL, NULL, 1, 1, 10, 2, NULL, NULL, 0); + + INSERT INTO vn.client(id,name,fi,socialName,contact,street,city,postcode,phone,mobile,fax,isRelevant,email,iban,dueDay,accountingAccount,isEqualizated,provinceFk,hasToInvoice,credit,countryFk,isActive,gestdocFk,quality,payMethodFk,created,isToBeMailed,contactChannelFk,hasSepaVnl,hasCoreVnl,hasCoreVnh,riskCalculated,clientTypeFk,mailAddress,cplusTerIdNifFk,hasToInvoiceByAddress,isTaxDataChecked,isFreezed,creditInsurance,isCreatedAsServed,hasInvoiceSimplified,salesPersonFk,isVies,eypbc) + VALUES + (1, 'Bruce Wayne', '74451390E', 'Batman', 'Alfred', '1007 Mountain Drive, Gotham', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceWayne@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (2, 'Petter Parker', '87945234L', 'Spider-Man', 'Aunt May', '20 Ingram Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'PetterParker@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (3, 'Clark Kent', '06815934E', 'Super-Man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'ClarkKent@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (4, 'Tony Stark', '06089160W', 'Iron-Man', 'Pepper Potts', '10880 Malibu Point', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'TonyStark@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (5, 'Max Eisenhardt', '39182496H', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'MaxEisenhardt@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (6, 'DavidCharlesHaller', '53136686Q', 'Legion', 'Charles Xavier', 'Evil hideout', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'DavidCharlesHaller@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (7, 'Hank Pym', '09854837G', 'Ant-Man', 'Hawk', 'Anthill', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'HankPym@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (8, 'Charles Xavier', '22641921P', 'Professor X', 'Beast', '3800 Victory Pkwy, Cincinnati, OH 45207, USA', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'CharlesXavier@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (9, 'Bruce Banner', '16104829E', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceBanner@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (10, 'Jessica Jones', '58282869H', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'JessicaJones@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1);` + ]}; + + beforeEach(done => { + restoreFixtures(fixturesToApply, done); + }); + + afterAll(done => { + restoreFixtures(fixturesToApply, done); + }); + + it('should propagate the isEqualizated on both addresses of Mr Wayne', done => { + let id = 1; + let data = { + isEqualizated: true + }; + + let callback = (error, result) => { + if (error) return catchErrors(done)(error); + + expect(result).toBe(true); + app.models.Address.find({where: {clientFk: id}}) + .then(result => { + expect(result[0].isEqualizated).toBeTruthy(); + expect(result[1].isEqualizated).toBeTruthy(); + done(); + }); + }; + + app.models.Address.find({where: {clientFk: id}}) + .then(result => { + expect(result[0].isEqualizated).toBeFalsy(); + expect(result[1].isEqualizated).toBeFalsy(); + }) + .then(() => { + app.models.Client.addressesPropagateRe(id, data, callback); + }) + .catch(catchErrors(done)); + }); +}); diff --git a/services/client/common/methods/client/specs/card.spec.js b/services/client/common/methods/client/specs/card.spec.js new file mode 100644 index 0000000000..bc64511617 --- /dev/null +++ b/services/client/common/methods/client/specs/card.spec.js @@ -0,0 +1,20 @@ +import app from '../../../../server/server'; +import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; + +describe('Client card', () => { + it('should call the card() method to receive a formatd card of Bruce Wayne', done => { + let id = 1; + + let callback = (error, result) => { + if (error) return catchErrors(done)(error); + + expect(result).toEqual(jasmine.objectContaining({ + id: 1, + name: 'Bruce Wayne' + })); + done(); + }; + + app.models.Client.card(id, callback); + }); +}); diff --git a/services/client/common/methods/client/specs/create.spec.js b/services/client/common/methods/client/specs/create.spec.js index a19ef074c1..e10fb62c67 100644 --- a/services/client/common/methods/client/specs/create.spec.js +++ b/services/client/common/methods/client/specs/create.spec.js @@ -1,31 +1,128 @@ +import app from '../../../../server/server'; import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; -let app = require('../../../../server/server'); +import restoreFixtures from '../../../../../../services/db/testing_fixtures'; -describe('Client Create()', () => { - let data = { - name: 'MaxEisenhardt', - userName: 'Magneto', - email: 'magneto@marvel.com', - fi: 'X-tax number', - socialName: 'The X-Men' +describe('Client Create', () => { + let fixturesToApply = {tables: ['`account`.`user`', '`vn2008`.`Clientes`', '`vn2008`.`Consignatarios`'], inserts: [ + `INSERT INTO account.user(id,name,password,role,active,email) + VALUES + (1, 'BruceWayne', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'BruceWayne@verdnatura.es'), + (2, 'PetterParker', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'PetterParker@verdnatura.es'), + (3, 'ClarkKent', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'ClarkKent@verdnatura.es'), + (4, 'TonyStark', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'TonyStark@verdnatura.es'), + (5, 'MaxEisenhardt', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'MaxEisenhardt@verdnatura.es'), + (6, 'DavidCharlesHaller', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'DavidCharlesHaller@verdnatura.es'), + (7, 'HankPym', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'HankPym@verdnatura.es'), + (8, 'CharlesXavier', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'CharlesXavier@verdnatura.es'), + (9, 'BruceBanner', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'BruceBanner@verdnatura.es'), + (10, 'JessicaJones', 'ac754a330530832ba1bf7687f577da91', 9, 1, 'JessicaJones@verdnatura.es'), + (11, 'Cyborg', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'cyborg@verdnatura.es'); + + INSERT INTO salix.Address(id, consignee, street, city, postcode, provinceFk, phone, mobile, isEnabled, isDefaultAddress, clientFk, defaultAgencyFk, longitude, latitude, isEqualizated) + VALUES + (1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 0), + (2, 'Petter Parker', 'NY roofs', 'Silla', 46460, 1, NULL, NULL, 1, 1, 2, 2, NULL, NULL, 0), + (3, 'Clark Kenn', 'The phone box', 'Silla', 46460, 1, NULL, NULL, 1, 1, 3, 2, NULL, NULL, 0), + (4, 'Tony Stark', 'Stark tower', 'Silla', 46460, 1, NULL, NULL, 1, 1, 4, 2, NULL, NULL, 0), + (5, 'Max Eisenhardt', 'The plastic cell', 'Silla', 46460, 1, NULL, NULL, 1, 1, 5, 2, NULL, NULL, 0), + (6, 'David Charles Haller', 'Many places', 'Silla', 46460, 1, NULL, NULL, 1, 1, 6, 2, NULL, NULL, 0), + (7, 'Hank Pym', 'Your pocket', 'Silla', 46460, 1, NULL, NULL, 1, 1, 7, 2, NULL, NULL, 0), + (8, 'Charles Xavier', 'Cerebro', 'Silla', 46460, 1, NULL, NULL, 1, 1, 8, 2, NULL, NULL, 0), + (9, 'Bruce Banner', 'Somewhere in Thailand', 'Silla', 46460, 1, NULL, NULL, 1, 1, 9, 2, NULL, NULL, 0), + (10,'Jessica Jones', 'Luke Cages Bar', 'Silla', 46460, 1, NULL, NULL, 1, 1, 10, 2, NULL, NULL, 0); + + INSERT INTO vn.client(id,name,fi,socialName,contact,street,city,postcode,phone,mobile,fax,isRelevant,email,iban,dueDay,accountingAccount,isEqualizated,provinceFk,hasToInvoice,credit,countryFk,isActive,gestdocFk,quality,payMethodFk,created,isToBeMailed,contactChannelFk,hasSepaVnl,hasCoreVnl,hasCoreVnh,riskCalculated,clientTypeFk,mailAddress,cplusTerIdNifFk,hasToInvoiceByAddress,isTaxDataChecked,isFreezed,creditInsurance,isCreatedAsServed,hasInvoiceSimplified,salesPersonFk,isVies,eypbc) + VALUES + (1, 'Bruce Wayne', '74451390E', 'Batman', 'Alfred', '1007 Mountain Drive, Gotham', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceWayne@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (2, 'Petter Parker', '87945234L', 'Spider-Man', 'Aunt May', '20 Ingram Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'PetterParker@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (3, 'Clark Kent', '06815934E', 'Super-Man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'ClarkKent@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (4, 'Tony Stark', '06089160W', 'Iron-Man', 'Pepper Potts', '10880 Malibu Point', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'TonyStark@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (5, 'Max Eisenhardt', '39182496H', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'MaxEisenhardt@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (6, 'DavidCharlesHaller', '53136686Q', 'Legion', 'Charles Xavier', 'Evil hideout', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'DavidCharlesHaller@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (7, 'Hank Pym', '09854837G', 'Ant-Man', 'Hawk', 'Anthill', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'HankPym@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (8, 'Charles Xavier', '22641921P', 'Professor X', 'Beast', '3800 Victory Pkwy, Cincinnati, OH 45207, USA', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'CharlesXavier@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (9, 'Bruce Banner', '16104829E', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceBanner@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (10, 'Jessica Jones', '58282869H', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'JessicaJones@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1);` + ]}; + + beforeEach(done => { + restoreFixtures(fixturesToApply, done); + }); + + afterAll(done => { + restoreFixtures(fixturesToApply, done); + }); + + let newAccountData = { + active: true, + name: 'Wade', + userName: 'Deadpool', + email: 'Deadpool@marvel.com', + fi: 'DP', + socialName: 'Deadpool Marvel', + salesPersonFk: 1 }; - it('should createa new account', done => { - app.models.Client.createUserProfile(data, () => { - app.models.Account.findOne({where: {name: data.userName}}) + it('should find Charles Xavier', done => { + app.models.Account.findOne({where: {name: 'CharlesXavier'}}) + .then(account => { + expect(account.name).toEqual('CharlesXavier'); + done(); + }); + }); + + it("should not find Deadpool as he's not created yet", done => { + app.models.Account.findOne({where: {name: newAccountData.userName}}) + .then(account => { + expect(account).toEqual(null); + app.models.Client.findOne({where: {name: newAccountData.name}}) + .then(client => { + expect(client).toEqual(null); + done(); + }); + }) + .catch(catchErrors(done)); + }); + + it('should not be able to create a user if exists', done => { + app.models.Client.findOne({where: {name: 'Charles Xavier'}}) + .then(client => { + app.models.Account.findOne({where: {id: client.id}}) .then(account => { - expect(account.name).toEqual(data.userName); - app.models.Client.findOne({where: {name: data.name}}) + let formerAccountData = { + name: client.name, + userName: account.name, + email: client.email, + fi: client.fi, + socialName: client.socialName + }; + + app.models.Client.createUserProfile(formerAccountData, (err, client) => { + expect(err.details.codes.name[0]).toEqual('uniqueness'); + done(); + }); + }); + }) + .catch(catchErrors(done)); + }); + + it('should create a new account', done => { + app.models.Client.createUserProfile(newAccountData, (error, client) => { + if (error) return catchErrors(done)(error); + app.models.Account.findOne({where: {name: newAccountData.userName}}) + .then(account => { + expect(account.name).toEqual(newAccountData.userName); + app.models.Client.findOne({where: {name: newAccountData.name}}) .then(client => { expect(client.id).toEqual(account.id); - expect(client.name).toEqual(data.name); - expect(client.email).toEqual(data.email); - expect(client.fi).toEqual(data.fi); - expect(client.socialName).toEqual(data.socialName); + expect(client.name).toEqual(newAccountData.name); + expect(client.email).toEqual(newAccountData.email); + expect(client.fi).toEqual(newAccountData.fi); + expect(client.socialName).toEqual(newAccountData.socialName); done(); }); }) - .catch(catchErrors(done)); + .catch(catchErrors(done)); }); }); }); diff --git a/services/client/common/methods/client/specs/employee.spec.js b/services/client/common/methods/client/specs/employee.spec.js new file mode 100644 index 0000000000..73958a40d1 --- /dev/null +++ b/services/client/common/methods/client/specs/employee.spec.js @@ -0,0 +1,39 @@ +import app from '../../../../server/server'; +import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; + +describe('Client employeeList', () => { + it('should call the employeeList()', done => { + let callback = (error, result) => { + if (error) return catchErrors(done)(error); + + expect(result).toEqual(jasmine.objectContaining([ + { + id: 4, + name: 'Bruce Banner' + }, + { + id: 3, + name: 'Charles Xavier' + }, + { + id: 1, + name: 'David Charles Haller' + }, + { + id: 2, + name: 'Hank Pym' + }, + { + id: 5, + name: 'Jessica Jones' + }, + { + id: 20, + name: 'Victor Stone' + } + ])); + done(); + }; + app.models.Client.employeeList(callback); + }); +}); diff --git a/services/client/common/methods/client/specs/filter.spec.js b/services/client/common/methods/client/specs/filter.spec.js new file mode 100644 index 0000000000..ab4bd5caa5 --- /dev/null +++ b/services/client/common/methods/client/specs/filter.spec.js @@ -0,0 +1,18 @@ +import filter from '../filter'; + +describe('Greuge filterClients()', () => { + it('should call the filterClients method', () => { + let params = { + page: 1, + size: 1, + search: 'Bruce Wayne', + phone: 555555555 + }; + let expectedResponse = {where: {and: [{or: [{id: 'Bruce Wayne'}, {name: {regexp: 'Bruce Wayne'}}]}, {or: [{phone: 555555555}, {mobile: 555555555}]}]}, skip: 0, limit: 1}; + let client = jasmine.createSpyObj('client', ['installMethod']); + filter(client); + let filterClients = client.installMethod.calls.allArgs()[0][1]; + + expect(Object.keys(filterClients(params))).toEqual(Object.keys(expectedResponse)); + }); +}); diff --git a/services/client/common/methods/greuge/filter.js b/services/client/common/methods/greuge/filter.js new file mode 100644 index 0000000000..dba4e8ef68 --- /dev/null +++ b/services/client/common/methods/greuge/filter.js @@ -0,0 +1,20 @@ +module.exports = Self => { + Self.installMethod('filter', filterParams); + + function filterParams(params) { + return { + where: { + clientFk: params.clientFk + }, + skip: (params.page - 1) * params.size, + limit: params.size, + order: params.order || 'shipped DESC', + include: { + relation: "greugeType", + scope: { + fields: ["id", "name"] + } + } + }; + } +}; diff --git a/services/client/common/methods/greuge/specs/filter.spec.js b/services/client/common/methods/greuge/specs/filter.spec.js new file mode 100644 index 0000000000..14faecba9e --- /dev/null +++ b/services/client/common/methods/greuge/specs/filter.spec.js @@ -0,0 +1,23 @@ +import filter from '../filter'; + +describe('Greuge filterParams()', () => { + it('should call the filterParams method', () => { + let params = { + clientFk: 1, + page: 1, + size: 1, + order: 'DESC' + }; + let self = jasmine.createSpyObj('self', ['installMethod']); + filter(self); + let filterParams = self.installMethod.calls.allArgs()[0][1]; + + expect(filterParams(params)).toEqual({ + where: Object({clientFk: 1}), + skip: 0, + limit: 1, + order: 'DESC', + include: Object({relation: 'greugeType', scope: Object({fields: ['id', 'name']})}) + }); + }); +}); diff --git a/services/client/common/methods/greuge/specs/total.spec.js b/services/client/common/methods/greuge/specs/total.spec.js new file mode 100644 index 0000000000..846ce752ed --- /dev/null +++ b/services/client/common/methods/greuge/specs/total.spec.js @@ -0,0 +1,19 @@ +import totalGreuge from '../total'; +import {catchErrors} from '../../../../../../services/utils/jasmineHelpers'; + +describe('Greuge totalGreuge()', () => { + it('should call the sumAmount method', done => { + let clientFk = 1; + let self = jasmine.createSpyObj('self', ['remoteMethod', 'rawSql']); + self.rawSql.and.returnValue(Promise.resolve([{sumAmount: 6000}])); + totalGreuge(self); + + let callback = (error, result) => { + if (error) return catchErrors(done)(error); + + expect(result).toBe(6000); + done(); + }; + self.sumAmount(clientFk, callback); + }); +}); diff --git a/services/client/common/methods/greuge/total.js b/services/client/common/methods/greuge/total.js new file mode 100644 index 0000000000..8497464937 --- /dev/null +++ b/services/client/common/methods/greuge/total.js @@ -0,0 +1,34 @@ +module.exports = Self => { + Self.remoteMethod('sumAmount', { + description: 'returns sum greuge.ammount from client', + accessType: 'READ', + accepts: [{ + arg: 'id', + type: 'number', + required: true, + description: 'clientFk', + http: {source: 'path'} + }], + returns: { + arg: 'sumAmount' + }, + http: { + path: `/:id/sumAmount`, + verb: 'get' + } + }); + + Self.sumAmount = (clientFk, callback) => { + let query = `SELECT sum(amount) as sumAmount FROM vn.greuge WHERE clientFk = ?`; + Self.rawSql(query, [clientFk], callback).then(response => { + if (response.length) { + callback(null, response[0].sumAmount); + } else { + callback(null, 0); + } + }) + .catch(reject => { + callback(reject, null); + }); + }; +}; diff --git a/services/client/common/methods/mandate/filter.js b/services/client/common/methods/mandate/filter.js new file mode 100644 index 0000000000..03482cd72f --- /dev/null +++ b/services/client/common/methods/mandate/filter.js @@ -0,0 +1,28 @@ +module.exports = Self => { + Self.installMethod('filter', filterParams); + + function filterParams(params) { + return { + where: { + clientFk: params.clientFk + }, + skip: (params.page - 1) * params.size, + limit: params.size, + order: params.order || 'created DESC', + include: [ + { + relation: "mandateType", + scope: { + fields: ["id", "name"] + } + }, + { + relation: "company", + scope: { + fields: ["id", "code"] + } + } + ] + }; + } +}; diff --git a/services/client/common/models/client-credit.js b/services/client/common/models/client-credit.js new file mode 100644 index 0000000000..ae7fbb4665 --- /dev/null +++ b/services/client/common/models/client-credit.js @@ -0,0 +1,20 @@ +module.exports = function(Self) { + Self.installMethod('filter', filterParams); + + function filterParams(params) { + return { + where: { + clientFk: params.clientFk + }, + skip: (params.page - 1) * params.size, + limit: params.size, + order: params.order || 'created DESC', + include: { + relation: "employee", + scope: { + fields: ["id", "name", "surname"] + } + } + }; + } +}; diff --git a/services/client/common/models/client-credit.json b/services/client/common/models/client-credit.json index f6512bfc78..c3461fe057 100644 --- a/services/client/common/models/client-credit.json +++ b/services/client/common/models/client-credit.json @@ -1,6 +1,12 @@ { "name": "ClientCredit", "base": "VnModel", + "options": { + "mysql": { + "table": "clientCredit", + "database": "vn" + } + }, "validateUpsert": true, "properties": { "id": { diff --git a/services/client/common/models/client-observation.js b/services/client/common/models/client-observation.js index 39470f4c70..8b0e4a3ef3 100644 --- a/services/client/common/models/client-observation.js +++ b/services/client/common/models/client-observation.js @@ -8,10 +8,10 @@ module.exports = function(Self) { ctx.instance.created = Date(); let token = ctx.options.accessToken; let userId = token && token.userId; - let app = require('../../server/server'); + let app = require('../../server/server'); let Employee = app.models.Employee; - Employee.findOne({where: {userFk: userId}}, function (err, user){ - if (user){ + Employee.findOne({where: {userFk: userId}}, (err, user) => { + if (user) { ctx.instance.employeeFk = user.id; next(); } diff --git a/services/client/common/models/client.js b/services/client/common/models/client.js index 321e4f0559..85a24496e5 100644 --- a/services/client/common/models/client.js +++ b/services/client/common/models/client.js @@ -18,15 +18,9 @@ module.exports = function(Self) { // Validations - Self.validatesUniquenessOf('name', { - message: 'El nombre debe ser único' - }); Self.validatesUniquenessOf('fi', { message: 'El NIF/CIF debe ser único' }); - Self.validatesPresenceOf('socialName', { - message: 'Debe especificarse la razón social' - }); Self.validatesUniquenessOf('socialName', { message: 'La razón social debe ser única' }); @@ -40,7 +34,7 @@ module.exports = function(Self) { message: 'Correo electrónico inválido', allowNull: true, allowBlank: true, - with: /^[\w|\.|\-]+@\w[\w|\.|\-]*\w(,[\w|\.|\-]+@\w[\w|\.|\-]*\w)*$/ + with: /^[\w|.|-]+@\w[\w|.|-]*\w(,[\w|.|-]+@\w[\w|.|-]*\w)*$/ }); Self.validatesLengthOf('postcode', { allowNull: true, @@ -53,6 +47,11 @@ module.exports = function(Self) { message: 'El iban no tiene el formato correcto' }); + let validateDni = require('../validations/validateDni'); + Self.validateBinded('fi', validateDni, { + message: 'DNI Incorrecto' + }); + Self.validate('payMethod', hasSalesMan, { message: 'No se puede cambiar la forma de pago si no hay comercial asignado' }); diff --git a/services/client/common/models/client.json b/services/client/common/models/client.json index 3ef9b48f2d..e2600e0b45 100644 --- a/services/client/common/models/client.json +++ b/services/client/common/models/client.json @@ -1,6 +1,12 @@ { "name": "Client", "base": "VnModel", + "options": { + "mysql": { + "table": "client", + "database": "vn" + } + }, "properties": { "id": { "type": "Number", @@ -16,7 +22,8 @@ "description": "Fiscal indentifier" }, "socialName": { - "type": "string" + "type": "string", + "required": true }, "contact": { "type": "string" @@ -39,15 +46,9 @@ "mobile": { "type": "string" }, - "fax": { - "type": "string" - }, - "active": { + "isActive": { "type": "boolean" }, - "discount":{ - "type": "Number" - }, "credit": { "type": "Number" }, @@ -60,7 +61,7 @@ "dueDay": { "type": "Number" }, - "equalizationTax": { + "isEqualizated": { "type": "boolean", "description": "The client has equalization tax" }, @@ -72,17 +73,20 @@ "type": "boolean", "description": "Global invoicing enabled for the client" }, - "invoiceByEmail": { + "isToBeMailed": { "type": "boolean", "description": "Send invoices by email" }, - "sepaVnl": { + "hasSepaVnl": { "type": "boolean" }, - "coreVnl": { + "hasCoreVnl": { "type": "boolean" }, - "coreVnh": { + "hasCoreVnh": { + "type": "boolean" + }, + "isTaxDataChecked":{ "type": "boolean" }, "eypbc": { @@ -91,7 +95,7 @@ "quality": { "type": "Number" }, - "vies": { + "isVies": { "type": "boolean" }, "isRelevant": { diff --git a/services/client/common/models/company.json b/services/client/common/models/company.json new file mode 100644 index 0000000000..9314456ff5 --- /dev/null +++ b/services/client/common/models/company.json @@ -0,0 +1,20 @@ +{ + "name": "Company", + "base": "VnModel", + "options": { + "mysql": { + "table": "company", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "code": { + "type": "String" + } + } + } \ No newline at end of file diff --git a/services/client/common/models/greuge-type.json b/services/client/common/models/greuge-type.json new file mode 100644 index 0000000000..6d8124e6b4 --- /dev/null +++ b/services/client/common/models/greuge-type.json @@ -0,0 +1,20 @@ +{ + "name": "GreugeType", + "base": "VnModel", + "options": { + "mysql": { + "table": "greugeType", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "name": { + "type": "String" + } + } + } \ No newline at end of file diff --git a/services/client/common/models/greuge.js b/services/client/common/models/greuge.js new file mode 100644 index 0000000000..23177a7a7c --- /dev/null +++ b/services/client/common/models/greuge.js @@ -0,0 +1,9 @@ +module.exports = function(Self) { + require('../methods/greuge/filter.js')(Self); + require('../methods/greuge/total.js')(Self); + + Self.validatesLengthOf('description', { + max: 45, + message: 'La description debe tener maximo 45 caracteres' + }); +}; diff --git a/services/client/common/models/greuge.json b/services/client/common/models/greuge.json new file mode 100644 index 0000000000..c7a4073410 --- /dev/null +++ b/services/client/common/models/greuge.json @@ -0,0 +1,44 @@ +{ + "name": "Greuge", + "base": "VnModel", + "options": { + "mysql": { + "table": "greuge", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "description": { + "type": "String", + "required": true + }, + "amount": { + "type": "Number", + "required": true + }, + "shipped": { + "type": "date" + }, + "created": { + "type": "date" + } + }, + "relations": { + "client": { + "type": "belongsTo", + "model": "Client", + "foreignKey": "clientFk" + }, + "greugeType": { + "type": "belongsTo", + "model": "GreugeType", + "foreignKey": "greugeTypeFk", + "required": true + } + } + } \ No newline at end of file diff --git a/services/client/common/models/mandate.js b/services/client/common/models/mandate.js new file mode 100644 index 0000000000..82fbd6bb40 --- /dev/null +++ b/services/client/common/models/mandate.js @@ -0,0 +1,3 @@ +module.exports = function(Self) { + require('../methods/mandate/filter.js')(Self); +}; diff --git a/services/client/common/models/mandate.json b/services/client/common/models/mandate.json new file mode 100644 index 0000000000..0c516bc001 --- /dev/null +++ b/services/client/common/models/mandate.json @@ -0,0 +1,43 @@ +{ + "name": "Mandate", + "base": "VnModel", + "options": { + "mysql": { + "table": "mandate", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "code": { + "type": "String" + }, + "created": { + "type": "date" + }, + "finished": { + "type": "date" + } + }, + "relations": { + "client": { + "type": "belongsTo", + "model": "Client", + "foreignKey": "clientFk" + }, + "company": { + "type": "belongsTo", + "model": "Company", + "foreignKey": "companyFk" + }, + "mandateType": { + "type": "belongsTo", + "model": "MandateType", + "foreignKey": "mandateTypeFk" + } + } + } \ No newline at end of file diff --git a/services/client/common/models/mandateType.json b/services/client/common/models/mandateType.json new file mode 100644 index 0000000000..c1e1bd9fc1 --- /dev/null +++ b/services/client/common/models/mandateType.json @@ -0,0 +1,20 @@ +{ + "name": "MandateType", + "base": "VnModel", + "options": { + "mysql": { + "table": "mandateType", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "name": { + "type": "String" + } + } + } \ No newline at end of file diff --git a/services/client/common/validations/validateDni.js b/services/client/common/validations/validateDni.js new file mode 100644 index 0000000000..242746ae95 --- /dev/null +++ b/services/client/common/validations/validateDni.js @@ -0,0 +1,94 @@ +module.exports = fi => { + if (fi === undefined || fi === null) { + return true; + } + let dni = fi; + let getLetterDni = dni => { + const regExpDni = 'TRWAGMYFPDXBNJZSQVHLCKE'; + const letterDni = dni.toUpperCase().substring(0, 1); + let positionLetter = parseInt(dni) % 23; + let getLetter = regExpDni.substring(positionLetter + 1, positionLetter); + switch (letterDni) { + case 'X': case 'Y': case 'Z': + positionLetter = parseInt(dni.replace(letterDni, letterDni.charCodeAt(0) - 88)) % 23; + getLetter = regExpDni.substring(positionLetter + 1, positionLetter); + } + return getLetter; + }; + + let getDniSpain = (dniNumeric, dniLetter) => { + let returnValue = false; + switch (dni.length) { + case 9: + if (dniLetter === getLetterDni(dni)) + returnValue = true; + } + return returnValue; + }; + + let getDniForeign = (dniNumeric, dniLetter) => { + let returnValue = false; + switch (dni.length) { + case 9: + if (dniLetter === getLetterDni(dni)) + returnValue = true; + } + return returnValue; + }; + + let getDniBusiness = () => { + if (dni.length == 9) + return true; + return false; + }; + + let getDniFrance = dniLetterCountry => { + let returnValue = false; + switch (dni.length) { + case 13: + if (dniLetter === 'R') + returnValue = true; + } + return returnValue; + }; + + let getDniItaly = dniLetterCountry => { + let returnValue = false; + switch (dni.length) { + case 13: + if (dniLetter === 'T') + returnValue = true; + } + return returnValue; + }; + + let getDni = () => { + const dniNumeric = dni.substring(0, 8); + const dniLetter = dni.substring(8, 9); + const dniLetterCountry = dni.substring(0, 1); + const dniLetterAscii = parseInt(dniLetterCountry.charCodeAt(0)); + let dniValue = false; + switch (true) { + case (dniLetterAscii >= 88 && dniLetterAscii <= 90): // X-Z + dniValue = getDniForeign(dniNumeric, dniLetter); + break; + case (dniLetterAscii === 66): // B + dniValue = getDniBusiness(); + break; + case (dniLetterAscii === 70): // F + dniValue = getDniFrance(dniLetterCountry); + break; + case (dniLetterAscii === 73): // I + dniValue = getDniItaly(dniLetterCountry); + break; + case (dniLetterAscii >= 48 && dniLetterAscii <= 57): // 0- 9 + dniValue = getDniSpain(dniNumeric, dniLetter); + break; + default: + dniValue = true; + } + return dniValue; + }; + + return getDni(); +}; diff --git a/services/client/package.json b/services/client/package.json index e37c7ab5ae..d6a815f19b 100644 --- a/services/client/package.json +++ b/services/client/package.json @@ -13,7 +13,6 @@ "url": "https://git.verdnatura.es/salix" }, "dependencies": { - "loopback-context": "^3.3.0", "request": "^2.83.0" } } diff --git a/services/client/server/model-config.json b/services/client/server/model-config.json index fd46187303..9a8946a2e4 100644 --- a/services/client/server/model-config.json +++ b/services/client/server/model-config.json @@ -1,9 +1,9 @@ { "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -13,16 +13,16 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" }, "Client": { "dataSource": "vn" @@ -31,33 +31,48 @@ "dataSource": "vn" }, "ClientCreditLimit": { - "dataSource": "vn" + "dataSource": "salix" }, "ClientObservation": { - "dataSource": "vn" + "dataSource": "salix" }, "PayMethod": { - "dataSource": "vn" + "dataSource": "salix" }, "Address": { - "dataSource": "vn" + "dataSource": "salix" }, "AgencyMode": { - "dataSource": "vn" + "dataSource": "salix" }, "Province": { - "dataSource": "vn" + "dataSource": "salix" }, "Country": { - "dataSource": "vn" + "dataSource": "salix" }, "ContactChannel": { - "dataSource": "vn" + "dataSource": "salix" }, "Employee": { - "dataSource": "vn" + "dataSource": "salix" }, "CreditClassification": { - "dataSource": "vn" + "dataSource": "salix" + }, + "Greuge": { + "dataSource": "vn" + }, + "GreugeType": { + "dataSource": "vn" + }, + "Mandate": { + "dataSource": "vn" + }, + "MandateType": { + "dataSource": "vn" + }, + "Company": { + "dataSource": "vn" } } diff --git a/services/client/server/server.js b/services/client/server/server.js index eda31589d9..030bbc1b49 100644 --- a/services/client/server/server.js +++ b/services/client/server/server.js @@ -2,7 +2,4 @@ var vnLoopback = require('../../loopback/server/server.js'); var app = module.exports = vnLoopback.loopback(); -vnLoopback.boot(app, __dirname); -if (require.main === module) { - app.start(); -} +vnLoopback.boot(app, __dirname, module); diff --git a/services/db/Dockerfile b/services/db/Dockerfile index 3826138f64..a9c111fe0e 100644 --- a/services/db/Dockerfile +++ b/services/db/Dockerfile @@ -1,12 +1,20 @@ FROM mysql:5.6.37 ENV MYSQL_ALLOW_EMPTY_PASSWORD yes +ENV TZ GMT-1 -COPY localDB01Structure.sql /docker-entrypoint-initdb.d -COPY localDB02Inserts.sql /docker-entrypoint-initdb.d +COPY localDB01StructureAccount.sql /docker-entrypoint-initdb.d +COPY localDB02StructureVn2008.sql /docker-entrypoint-initdb.d +COPY localDB03StructureVn.sql /docker-entrypoint-initdb.d +COPY localDB04StructureOthersDB.sql /docker-entrypoint-initdb.d +COPY localDB05StructureUtil.sql /docker-entrypoint-initdb.d +COPY localDB06ViewsVn.sql /docker-entrypoint-initdb.d +COPY localDB07OthersViews.sql /docker-entrypoint-initdb.d +COPY localDB08Views2008.sql /docker-entrypoint-initdb.d +COPY localDB09Inserts.sql /docker-entrypoint-initdb.d RUN chmod -R 755 /docker-entrypoint-initdb.d CMD ["mysqld"] -EXPOSE 3306 \ No newline at end of file +EXPOSE 3306 diff --git a/services/db/localDB01StructureAccount.sql b/services/db/localDB01StructureAccount.sql new file mode 100644 index 0000000000..9c1728bca3 --- /dev/null +++ b/services/db/localDB01StructureAccount.sql @@ -0,0 +1,1618 @@ +CREATE DATABASE IF NOT EXISTS `account` /*!40100 DEFAULT CHARACTER SET utf8 */; +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 */; + +-- +-- 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=62 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=33 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=50179 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 `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 */ ; + +-- +-- 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 */; +/*!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-01-23 12:30:01 diff --git a/services/db/localDB01Structure.sql b/services/db/localDB02StructureVn2008.sql similarity index 53% rename from services/db/localDB01Structure.sql rename to services/db/localDB02StructureVn2008.sql index ce134804ac..99e9d05378 100644 --- a/services/db/localDB01Structure.sql +++ b/services/db/localDB02StructureVn2008.sql @@ -1,8 +1,10 @@ --- MySQL dump 10.13 Distrib 5.7.17, for macos10.12 (x86_64) +CREATE DATABASE IF NOT EXISTS `vn2008` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; +USE `vn2008`; +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) -- --- Host: 127.0.0.1 Database: vncontrol +-- Host: db.verdnatura.es Database: vn2008 -- ------------------------------------------------------ --- Server version 5.6.37 +-- 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 */; @@ -15,1611 +17,6 @@ /*!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: `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 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 `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` ( - `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=11 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,5); - - 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 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.daily_task_log(state) VALUES('clean START'); - - DELETE FROM vncontrol.inter WHERE odbc_date <= v_date2; - - INSERT INTO vncontrol.daily_task_log(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 `Resumen` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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 `Resumen`() -BEGIN - -select accion, CodigoTrabajador, semana, Pedidos, Lineas -from accion -join -( - SELECT * FROM - ( - select count(*) as Pedidos, semana, Id_Trabajador, accion_id - from - (select distinct * - from - ( - select vn2008.semana(odbc_date) as semana - ,Id_Trabajador - ,accion_id - ,Id_Ticket - from vncontrol.inter - ) sub - ) sub2 - group by semana, Id_Trabajador, accion_id - ) subpedidos - - inner join - ( - - select semana, Id_Trabajador, accion_id, count(*) as Lineas - from vn2008.Movimientos - inner join - ( - select distinct vn2008.semana(odbc_date) as semana, Id_Ticket, Id_Trabajador, accion_id from vncontrol.inter - ) vnc using(Id_Ticket) - group by semana, Id_Trabajador, accion_id - - ) sublineas using(semana, Id_Trabajador, accion_id) - -) sub3 using(accion_id) - -join vn2008.Trabajadores using(Id_Trabajador) -; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; - --- --- Current Database: `edi` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `edi` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -USE `edi`; - --- --- Table structure for table `batch` --- - -DROP TABLE IF EXISTS `batch`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `batch` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `message_id` int(10) unsigned NOT NULL, - `type_id` smallint(5) unsigned NOT NULL, - `buy_edi_id` int(10) DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `type_id` (`type_id`,`buy_edi_id`), - KEY `message_id` (`message_id`), - KEY `buy_edi_id` (`buy_edi_id`), - CONSTRAINT `batch_ibfk_1` FOREIGN KEY (`message_id`) REFERENCES `message` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `batch_ibfk_2` FOREIGN KEY (`buy_edi_id`) REFERENCES `vn2008`.`buy_edi` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Configuration parameters'; -/*!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 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 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 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Parameters to capture of every exchange'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `plant` --- - -DROP TABLE IF EXISTS `plant`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `plant` ( - `plant_id` mediumint(8) unsigned NOT NULL, - `genus_id` mediumint(8) unsigned NOT NULL, - `specie_id` mediumint(8) unsigned DEFAULT NULL, - `entry_date` date DEFAULT NULL, - `expiry_date` date DEFAULT NULL, - `change_date_time` datetime DEFAULT NULL, - PRIMARY KEY (`plant_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FT130916.txt'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `specie` --- - -DROP TABLE IF EXISTS `specie`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `specie` ( - `specie_id` mediumint(8) unsigned NOT NULL, - `genus_id` mediumint(8) unsigned NOT NULL, - `latin_species_name` varchar(100) COLLATE utf8_unicode_ci NOT NULL, - `entry_date` date DEFAULT NULL, - `expiry_date` date DEFAULT NULL, - `change_date_time` datetime DEFAULT NULL, - PRIMARY KEY (`specie_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/florecompc2/FS130916.txt'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `supplier` --- - -DROP TABLE IF EXISTS `supplier`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `supplier` ( - `supplier_id` int(10) unsigned NOT NULL COMMENT 'FHRegistrationNr', - `glnAddressCode` varchar(13) CHARACTER SET utf8 DEFAULT NULL, - `company_name` varchar(70) COLLATE utf8_unicode_ci NOT NULL, - `entry_date` date NOT NULL, - `expiry_date` date NOT NULL, - `change_date_time` datetime NOT NULL, - PRIMARY KEY (`supplier_id`), - KEY `glnaddressCodeidx` (`glnAddressCode`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='/tmp/floricode/FEC010104/CC090916.txt'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `supplyResponse` --- - -DROP TABLE IF EXISTS `supplyResponse`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `supplyResponse` ( - `id` varchar(26) COLLATE utf8_unicode_ci NOT NULL, - `marketPlace` varchar(13) COLLATE utf8_unicode_ci NOT NULL, - `imageReference` varchar(2048) COLLATE utf8_unicode_ci DEFAULT NULL, - `supplierParty` varchar(13) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'company GLN code', - `productVnhCode` varchar(7) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'Industry Assigned Id', - `productDescription` varchar(70) COLLATE utf8_unicode_ci DEFAULT NULL, - `quantity` int(8) DEFAULT NULL, - `incrementalOrderableQuantity` int(8) DEFAULT NULL, - `chargeAmount` decimal(10,2) DEFAULT NULL, - `unitCode` tinyint(2) unsigned DEFAULT NULL, - `packageQuantity` int(8) DEFAULT NULL, - `earliestDespatch` datetime DEFAULT NULL, - `latestDelivery` 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 `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 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 */ ; -/*!50003 DROP PROCEDURE IF EXISTS `__batch_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 `__batch_new`( - v_message INT - ,v_type MEDIUMINT - ,v_delivery_number BIGINT - ,v_fec DATE - ,v_hor TIME - ,v_ref INT - ,v_agj INT - ,v_cat VARCHAR(2) - ,v_pac INT - ,v_sub MEDIUMINT - ,v_kop INT - ,v_ptd VARCHAR(6) - ,v_pro MEDIUMINT - ,v_ori VARCHAR(3) - ,v_ptj MEDIUMINT - ,v_qty INT - ,v_pri DOUBLE - ,v_klo SMALLINT - ,v_s1 VARCHAR(3) - ,v_s2 VARCHAR(3) - ,v_s3 VARCHAR(3) - ,v_s4 VARCHAR(4) - ,v_s5 VARCHAR(3) - ,v_s6 VARCHAR(3) - ,v_k1 SMALLINT - ,v_k2 SMALLINT - ,v_p1 TINYINT - ,v_p2 TINYINT - ,v_auction SMALLINT - ,v_package 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 v_edi INT; - DECLARE v_barcode CHAR(15) DEFAULT NULL; - DECLARE v_is_duplicated BOOLEAN DEFAULT FALSE; - DECLARE v_update_existent BOOLEAN DEFAULT FALSE; - - DECLARE CONTINUE HANDLER FOR 1062 -- ER_DUP_KEY - SET v_is_duplicated = TRUE; - - -- Genera el código de barras - - IF v_agj != 0 AND v_agj IS NOT NULL - THEN - SET v_barcode = CONCAT( - LPAD(v_auction, 2, 0), - LPAD(IFNULL(v_klo, 99), 2, 0), - LPAD(DAYOFYEAR(v_fec), 3, 0), - IF(v_klo IS NULL OR v_klo = 99, - LPAD(v_agj, 7, 0), - CONCAT(LPAD(v_agj, 5, 0), '01') - ), - '0' - ); - END IF; - - IF v_kop IS NULL - THEN - SELECT default_kop INTO v_kop FROM config; - END IF; - - -- Inserta el nuevo EKT - - INSERT INTO vn2008.buy_edi SET - barcode = IFNULL(v_barcode, barcode) - ,delivery_number = v_delivery_number - ,entry_year = YEAR(v_fec) - ,fec = v_fec - ,hor = v_hor - ,ref = v_ref - ,agj = v_agj - ,cat = v_cat - ,pac = v_pac - ,sub = v_sub - ,kop = v_kop - ,ptd = v_ptd - ,pro = v_pro - ,ori = v_ori - ,ptj = v_ptj - ,qty = v_qty - ,pri = v_pri - ,klo = v_klo - ,s1 = v_s1 - ,s2 = v_s2 - ,s3 = v_s3 - ,s4 = v_s4 - ,s5 = v_s5 - ,s6 = v_s6 - ,k01 = v_k1 - ,k02 = v_k2 - ,k03 = v_p1 - ,k04 = v_p2 - ,auction = v_auction - ,package = v_package; - - - -- Si el EKT está duplicado y el que habia en la tabla era uno - -- provisional, lo actualiza con los nuevos valores. - - IF NOT v_is_duplicated - THEN - SET v_edi = LAST_INSERT_ID(); - CALL edi_load (v_edi); - - ELSEIF v_delivery_number != 0 - AND v_delivery_number IS NOT NULL - THEN - SELECT id INTO v_edi - FROM vn2008.buy_edi - WHERE delivery_number = v_delivery_number; - - SELECT COUNT(*) = 0 INTO v_update_existent - FROM vn2008.buy_edi e - JOIN batch b ON b.buy_edi_id = e.id - JOIN config c - WHERE e.delivery_number = v_delivery_number - AND b.type_id != c.presale_id; - END IF; - - IF v_update_existent - THEN - UPDATE vn2008.buy_edi SET - barcode = IFNULL(v_barcode, barcode) - ,fec = v_fec - ,hor = v_hor - ,ref = v_ref - ,agj = v_agj - ,cat = v_cat - ,pac = v_pac - ,sub = v_sub - ,kop = v_kop - ,ptd = v_ptd - ,pro = v_pro - ,ori = v_ori - ,ptj = v_ptj - ,qty = v_qty - ,pri = v_pri - ,klo = v_klo - ,s1 = v_s1 - ,s2 = v_s2 - ,s3 = v_s3 - ,s4 = v_s4 - ,s5 = v_s5 - ,s6 = v_s6 - ,k01 = v_k1 - ,k02 = v_k2 - ,k03 = v_p1 - ,k04 = v_p2 - ,auction = v_auction - ,package = v_package - WHERE id = v_edi; - END IF; - - -- Registra el lote - - INSERT INTO batch SET - message_id = v_message - ,type_id = v_type - ,buy_edi_id = v_edi; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `__edi_load` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `__edi_load`(v_edi INT) -BEGIN - DECLARE v_ref INT; - DECLARE v_buy INT; - DECLARE v_item INT; - DECLARE v_qty INT; - DECLARE v_package INT; - DECLARE v_is_lot BOOLEAN; - - -- Carga los datos necesarios del EKT - - SELECT ref, qty, package INTO v_ref, v_qty, v_package - FROM vn2008.buy_edi e - LEFT JOIN item i ON e.ref = i.id - WHERE e.id = v_edi; - - -- Inserta el cubo si no existe - - IF v_package = 800 - THEN - SET v_package = 800 + v_qty; - - INSERT IGNORE INTO vn2008.Cubos SET - Id_Cubo = v_package, - x = 7200 / v_qty, - 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 = v_package; - - IF ROW_COUNT() > 0 - THEN - INSERT INTO vn2008.mail SET - `subject` = 'Cubo añadido', - `text` = CONCAT('Se ha añadido el cubo: ', v_package), - `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 = v_ref; - - SELECT c.Id_Compra, c.Id_Article INTO v_buy, v_item - 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 = v_edi - AND l.id != v_edi - 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 v_item - THEN - SELECT COUNT(*) > 0 INTO v_is_lot - FROM vn2008.Articles a - LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - WHERE a.Id_Article = v_item - AND t.`transaction`; - - -- Si el articulo se vende por lotes se inserta un nuevo artículo - - IF v_is_lot - 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 = v_item - WHERE e.id = v_edi; - - SET v_item = 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 - ,v_edi - ,(@t := IF(a.Tallos, a.Tallos, 1)) * e.pri - ,IFNULL(v_item, 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 = v_buy - 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 = v_edi - 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 `__message_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 `__message_new`( - v_mail_id VARCHAR(100) - ,v_sender VARCHAR(150) - ,OUT v_message_id INT -) -BEGIN -/** - * Registra un correo electronico. - * - * @param v_mail_id Message-ID del correo electrónico - * @param v_sender Id del correo electrónio del remitente - **/ - - DECLARE v_sender_id INT; - - SELECT id INTO v_sender_id FROM mail - WHERE mail = v_sender; - - INSERT IGNORE INTO message SET - sender_id = v_sender_id - ,mail_id = v_mail_id; - - SET v_message_id = 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: `vn2008` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn2008` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -USE `vn2008`; - -- -- Table structure for table `Agencias` -- @@ -1643,10 +40,11 @@ CREATE TABLE `Agencias` ( `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=13 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1107 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1665,7 +63,7 @@ CREATE TABLE `Agencias_dits` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14662 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1747,7 +145,7 @@ CREATE TABLE `Articles` ( `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 ', + `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`), @@ -1764,8 +162,8 @@ CREATE TABLE `Articles` ( 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 DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `producer_id` FOREIGN KEY (`producer_id`) REFERENCES `producer` (`producer_id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=299459 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 */ ; @@ -1949,7 +347,7 @@ CREATE TABLE `Articles_dits` ( KEY `fgkey1_idx` (`idaccion_dits`), KEY `fgkey2_idx` (`Id_Ticket`), KEY `fgkey3_idx` (`Id_Trabajador`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=19670 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1968,132 +366,8 @@ CREATE TABLE `Articles_nicho` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=296806 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`.`Articles_nichoBeforeInsert` - BEFORE INSERT ON `Articles_nicho` FOR EACH ROW -BEGIN - -- XXX: Intenta localizar al usuario que introduce BIO en esta tabla. - - IF NEW.nicho IS NOT NULL AND NEW.nicho LIKE '%BIO%' - THEN - CALL util.debugAdd ('nicho', NEW.nicho); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!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_nicho_AFTER_INSERT` AFTER INSERT ON `Articles_nicho` FOR EACH ROW -BEGIN - -DECLARE mailText VARCHAR(90); - -IF NEW.nicho LIKE 'BIONIC%' THEN - - SELECT IFNULL(CONCAT(Id_Trabajador, ' ', CodigoTrabajador, ' ' ,Nombre, ' ' , Apellidos),'TRABAJADOR NO ENCONTRADO') - INTO mailText - FROM Trabajadores - WHERE Id_Trabajador = vn2008.get_Trabajador(); - - SELECT CONCAT(mailText, ' ', Article, ' ', Medida) - INTO mailText - FROM Articles - WHERE Id_Article = NEW.Id_Article; - - INSERT INTO mail(`to`,reply_to,subject,text) - VALUES('pako@verdnatura.es,nelo@verdnatura.es','informatica@verdnatura.es','BIONIC INSERT',mailText); - - -END IF; - -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!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_nichoBeforeUpdate` - BEFORE UPDATE ON `Articles_nicho` FOR EACH ROW -BEGIN - -- XXX: Intenta localizar al usuario que introduce BIO en esta tabla. - - IF NOT (NEW.nicho <=> OLD.nicho) AND NEW.nicho LIKE '%BIO%' - THEN - CALL util.debugAdd ('nicho', NEW.nicho); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!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_nicho_AFTER_UPDATE` AFTER UPDATE ON `Articles_nicho` FOR EACH ROW -BEGIN - -DECLARE mailText VARCHAR(90); - -IF NEW.nicho LIKE 'BIONIC%' THEN - - SELECT IFNULL(CONCAT(Id_Trabajador, ' ', CodigoTrabajador, ' ' ,Nombre, ' ' , Apellidos),'TRABAJADOR NO ENCONTRADO') - INTO mailText - FROM Trabajadores - WHERE Id_Trabajador = vn2008.get_Trabajador(); - - SELECT CONCAT(mailText, ' ', Article, ' ', Medida) - INTO mailText - FROM Articles - WHERE Id_Article = NEW.Id_Article; - - INSERT INTO mail(`to`,reply_to,subject,text) - VALUES('pako@verdnatura.es,nelo@verdnatura.es','informatica@verdnatura.es','BIONIC UPDATE',mailText); - - -END IF; - -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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_old` @@ -2194,7 +468,7 @@ CREATE TABLE `Bancos_poliza` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lineas de credito asociadas a cuentas corrientes'; +) 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 */; -- @@ -2251,7 +525,7 @@ CREATE TABLE `Cajas` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=548909 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 */ ; @@ -2348,7 +622,7 @@ CREATE TABLE `Clientes` ( `retener` tinyint(1) NOT NULL DEFAULT '0', `congelado` tinyint(1) NOT NULL DEFAULT '0', `Id_Trabajador` int(11) DEFAULT NULL, - `credito` double NOT NULL DEFAULT '0', + `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', @@ -2374,7 +648,10 @@ CREATE TABLE `Clientes` ( `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', + `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`), @@ -2387,19 +664,15 @@ CREATE TABLE `Clientes` ( KEY `Telefono` (`telefono`), KEY `movil` (`movil`), KEY `tipos_de_cliente_idx` (`clientes_tipo_id`), - KEY `cpostcode_fk_idx` (`postcode_id`), KEY `codpos` (`codpos`,`codPostal`), - KEY `clientes_fk_6_idx` (`cplusTerIdNifFk`), 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 `Clientes_postcode` FOREIGN KEY (`postcode_id`) REFERENCES `postcodeKK` (`postcode_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `canal_nuevo_cliente` FOREIGN KEY (`chanel_id`) REFERENCES `chanel` (`chanel_id`) ON UPDATE CASCADE, - CONSTRAINT `clientes_fk_6` FOREIGN KEY (`cplusTerIdNifFk`) REFERENCES `vn`.`cplusTerIdNif` (`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=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=10076 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 */ ; @@ -2414,6 +687,17 @@ DELIMITER ;; BEFORE INSERT ON `Clientes` FOR EACH ROW BEGIN + + DECLARE isAlreadyUsedIf BOOLEAN; + + 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); @@ -2473,6 +757,15 @@ DELIMITER ;; BEGIN DECLARE vEmployee INT; 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 @@ -2490,12 +783,13 @@ BEGIN -- Actualiza el crédito - SELECT Id_Trabajador INTO vEmployee - FROM Trabajadores WHERE user_id = account.userGetId(); - - IF vEmployee IS NULL THEN - SET vEmployee = 20; - END IF; + 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; IF !(NEW.Credito <=> OLD.Credito) AND IFNULL(NEW.Credito, 0) >= 0 THEN @@ -2558,7 +852,7 @@ CREATE TABLE `Clientes_cedidos` ( 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 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'; +) ENGINE=InnoDB AUTO_INCREMENT=57 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 */; -- @@ -2579,7 +873,7 @@ CREATE TABLE `Clientes_dits` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=71630 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2598,7 +892,7 @@ CREATE TABLE `Clientes_empresa` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Empresa por defecto para crear los tickets'; +) ENGINE=InnoDB AUTO_INCREMENT=470495 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Empresa por defecto para crear los tickets'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2675,11 +969,11 @@ CREATE TABLE `Colas` ( 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_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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=35304 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2761,7 +1055,7 @@ CREATE TABLE `Compres` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=234924695 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 */ ; @@ -2938,13 +1232,13 @@ DELIMITER ; /*!50003 SET collation_connection = @saved_col_connection */ ; -- --- Table structure for table `Compres_2014` +-- Table structure for table `Compres_2014_kk` -- -DROP TABLE IF EXISTS `Compres_2014`; +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` ( +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', @@ -3013,7 +1307,7 @@ CREATE TABLE `Compres_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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=15512 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3052,14 +1346,12 @@ CREATE TABLE `Consignatarios` ( KEY `province_id` (`province_id`), KEY `telefono` (`telefono`), KEY `movil` (`movil`), - KEY `Consignatarios_postcode_idx` (`postcode_id`), 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 `Consignatarios_postcode` FOREIGN KEY (`postcode_id`) REFERENCES `postcodeKK` (`postcode_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `address_customer_id` FOREIGN KEY (`Id_cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=21 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=23942 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 */ ; @@ -3243,7 +1535,7 @@ CREATE TABLE `Contactos` ( PRIMARY KEY (`Id_Contacto`), KEY `Telefono` (`Telefono`), KEY `Movil` (`Movil`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2584 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 */ ; @@ -3338,21 +1630,22 @@ DROP TABLE IF EXISTS `Cubos`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Cubos` ( `Id_Cubo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, - `Volumen` double DEFAULT '0', - `X` double DEFAULT '0', - `Y` double DEFAULT '0', - `Z` double DEFAULT '0', - `Valor` double DEFAULT '0', + `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` double DEFAULT NULL, + `Base` decimal(10,2) DEFAULT NULL, `item_id` int(11) DEFAULT NULL, - `pvp` double NOT NULL, + `pvp` decimal(10,2) NOT NULL, `box` tinyint(1) NOT NULL DEFAULT '0', - `bultoCubico` double DEFAULT NULL, + `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 @@ -3372,7 +1665,7 @@ CREATE TABLE `Cubos_Retorno` ( `Vacio` double NOT NULL DEFAULT '0', `Lleno` double NOT NULL DEFAULT '0', PRIMARY KEY (`idCubos_Retorno`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3397,7 +1690,7 @@ CREATE TABLE `Enlaces Facturas` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=23889 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3438,7 +1731,7 @@ CREATE TABLE `Entradas` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; +) ENGINE=InnoDB AUTO_INCREMENT=133249 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 */ ; @@ -3503,6 +1796,11 @@ BEGIN 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 */ ; @@ -3522,6 +1820,9 @@ DELIMITER ;; 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 */ ; @@ -3558,7 +1859,7 @@ DROP TABLE IF EXISTS `Entradas_Auto`; 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 UPDATE CASCADE + 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 */; @@ -3584,7 +1885,7 @@ CREATE TABLE `Entradas_dits` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2508291 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3602,7 +1903,7 @@ CREATE TABLE `Entradas_kop` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; +) ENGINE=InnoDB AUTO_INCREMENT=692 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3690,7 +1991,7 @@ CREATE TABLE `Equipos` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3709,21 +2010,21 @@ CREATE TABLE `Espionajes` ( `Id_Equipo` int(11) DEFAULT NULL, PRIMARY KEY (`idEspionaje`), KEY `index` (`Id_Trabajador`,`Fecha`) -) ENGINE=MyISAM AUTO_INCREMENT=75646 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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` +-- Table structure for table `Estadoskk` -- -DROP TABLE IF EXISTS `Estados`; +DROP TABLE IF EXISTS `Estadoskk`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Estados` ( +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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3771,7 +2072,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3845,7 +2146,7 @@ CREATE TABLE `Facturas` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=439701 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 */ ; @@ -3884,7 +2185,7 @@ BEGIN 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)*/ ); + AND empresa_id = NEW.empresa_id) /*OR (NEW.Serie LIKE 'B' AND length(Id_Factura) > 7)*/); ELSE @@ -4020,7 +2321,7 @@ CREATE TABLE `Forms` ( `id` int(11) NOT NULL AUTO_INCREMENT, `titulo` varchar(50) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4063,7 +2364,7 @@ CREATE TABLE `Greuges` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=FIXED; +) ENGINE=InnoDB AUTO_INCREMENT=1721800 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 */ ; @@ -4103,7 +2404,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4120,7 +2421,7 @@ CREATE TABLE `Grupos` ( `observation_type_id` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `name` (`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4261,7 +2562,7 @@ CREATE TABLE `Movimientos` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=19578640 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 */ ; @@ -4387,7 +2688,6 @@ CREATE TABLE `Movimientos_componentes` ( `Valor` double NOT NULL, `greuge` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`Id_Movimiento`,`Id_Componente`), - KEY `fk_comp_mov_idx` (`Id_Movimiento`), 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 @@ -4411,7 +2711,7 @@ CREATE TABLE `Movimientos_mark` ( `Id_Movimiento_mark` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`Id_Movimiento_mark`), KEY `Id_Movimiento` (`Id_Movimiento`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=9031589 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4481,7 +2781,7 @@ CREATE TABLE `Ordenes` ( KEY `Id_Comprador` (`CodCOMPRADOR`), KEY `Id_Movimiento` (`Id_Movimiento`), KEY `Id_Vendedor` (`CodVENDEDOR`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=25872 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4504,7 +2804,7 @@ CREATE TABLE `Origen` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4527,7 +2827,7 @@ CREATE TABLE `Pagares` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2835 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4549,7 +2849,7 @@ CREATE TABLE `Paises` ( `geoFk` int(11) DEFAULT NULL, PRIMARY KEY (`Id`), KEY `Id_Paisreal` (`Id_Paisreal`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4590,7 +2890,7 @@ CREATE TABLE `PreciosEspeciales` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=690 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4648,14 +2948,12 @@ CREATE TABLE `Proveedores` ( KEY `pay_met_id` (`pay_met_id`), KEY `province_id` (`province_id`), KEY `pay_dem_id` (`pay_dem_id`), - KEY `postcode_fk_idx` (`postcode_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 `postcode_fk` FOREIGN KEY (`postcode_id`) REFERENCES `postcodeKK` (`postcode_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `province_id` FOREIGN KEY (`province_id`) REFERENCES `province` (`province_id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2410 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4674,14 +2972,28 @@ CREATE TABLE `Proveedores_account` ( `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) NOT NULL, + `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=589 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 */; -- @@ -4714,7 +3026,7 @@ CREATE TABLE `Proveedores_escritos` ( `escrito` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `informe` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4752,13 +3064,13 @@ CREATE TABLE `Recibos` ( `conciliado` tinyint(1) unsigned zerofill NOT NULL DEFAULT '0', PRIMARY KEY (`Id`), KEY `Id_Banco` (`Id_Banco`), - KEY `Id_Cliente` (`Id_Cliente`), 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=433579 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 */ ; @@ -4849,7 +3161,7 @@ CREATE TABLE `Relaciones` ( KEY `Id_Contacto` (`Id_Contacto`), KEY `Id_Proveedor` (`Id_Proveedor`), KEY `Id_Cliente` (`Id_Cliente`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2586 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4869,7 +3181,7 @@ CREATE TABLE `Remesas` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=998 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4894,7 +3206,7 @@ CREATE TABLE `Reservas` ( PRIMARY KEY (`Id_Reserva`), KEY `Id_1` (`Id_Ticket`), KEY `Id_Article` (`Id_Article`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=167 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -4919,12 +3231,13 @@ CREATE TABLE `Rutas` ( `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=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=34867 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 */ ; @@ -4986,7 +3299,7 @@ CREATE TABLE `Rutas_Master` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=54 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5011,7 +3324,32 @@ CREATE TABLE `Rutas_dits` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */; -- @@ -5052,7 +3390,7 @@ CREATE TABLE `Saldos_Prevision` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Aqui ponemos los gastos e ingresos pendientes de introducir '; +) 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 */; -- @@ -5087,7 +3425,7 @@ CREATE TABLE `Split_lines` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=311312 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5105,7 +3443,7 @@ CREATE TABLE `Splits` ( `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`Id_Split`), KEY `Id_Entrada` (`Id_Entrada`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=36098 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5133,7 +3471,7 @@ CREATE TABLE `Stockcontrol` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=23242 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5184,13 +3522,13 @@ CREATE TABLE `Tickets` ( 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_10` FOREIGN KEY (`Factura`) REFERENCES `Facturas` (`Id_Factura`) ON DELETE SET NULL 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 -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + 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=1745649 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 */ ; @@ -5241,7 +3579,7 @@ 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 @@ -5258,7 +3596,7 @@ BEGIN FROM state WHERE `code` = 'DELIVERED'; END IF; - */ + END */;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -5297,7 +3635,7 @@ BEGIN INNER JOIN Paises p ON p.Id = pr.pais_id WHERE Id_Proveedor = NEW.empresa_id; - SELECT VIES INTO vHasVies + SELECT isVies INTO vHasVies FROM vn.`client` WHERE id = OLD.Id_Cliente; @@ -5335,6 +3673,14 @@ 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 ; @@ -5365,7 +3711,7 @@ CREATE TABLE `Tickets_dits` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=56525442 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5414,7 +3760,7 @@ CREATE TABLE `Tickets_turno` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1741731 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5463,7 +3809,7 @@ CREATE TABLE `Tipos` ( `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 la densidad en kg/m3 para el calculo de los portes aereos', + `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', @@ -5477,7 +3823,7 @@ CREATE TABLE `Tipos` ( 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 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.'; +) 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 */ ; @@ -5520,7 +3866,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5531,12 +3877,12 @@ 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, - `Id_Trabajador` int(11) NOT NULL AUTO_INCREMENT, `extension` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, `sub` int(11) unsigned DEFAULT NULL, `user` varchar(20) CHARACTER SET utf8 DEFAULT NULL, @@ -5564,7 +3910,7 @@ CREATE TABLE `Trabajadores` ( 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=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1039 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 */ ; @@ -5573,21 +3919,16 @@ CREATE TABLE `Trabajadores` ( /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`Trabajadores_BEFORE_INSERT` BEFORE INSERT ON `Trabajadores` FOR EACH ROW - -begin - -IF NEW.password = '' THEN - - SET NEW.password = 'FALLO'; - - END IF; - - - -end */;; +/*!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 */ ; @@ -5600,21 +3941,16 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`Trabajadores_BEFORE_UPDATE` BEFORE UPDATE ON `Trabajadores` FOR EACH ROW - -begin - -IF NEW.password = '' THEN - - SET NEW.password = 'FALLO'; - - END IF; - - - -end */;; +/*!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 */ ; @@ -5654,31 +3990,6 @@ CREATE TABLE `Ubicator` ( ) 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` -- @@ -5701,7 +4012,7 @@ CREATE TABLE `Vehiculos` ( 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=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=363 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5727,26 +4038,9 @@ CREATE TABLE `Vehiculos_consumo` ( 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 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'; +) ENGINE=InnoDB AUTO_INCREMENT=7048 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` -- @@ -5760,7 +4054,7 @@ CREATE TABLE `Vistas` ( `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`vista_id`), UNIQUE KEY `code` (`code`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5839,7 +4133,7 @@ CREATE TABLE `XDiario` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3153377 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5914,7 +4208,7 @@ CREATE TABLE `XDiario_KK` ( `FECHA_RT` date DEFAULT NULL, PRIMARY KEY (`id`), KEY `empresa_id` (`empresa_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5951,7 +4245,7 @@ CREATE TABLE `accion_dits` ( `accion` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`idaccion_dits`), UNIQUE KEY `accion_UNIQUE` (`accion`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=166 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5976,7 +4270,7 @@ CREATE TABLE `account_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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=27945 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 */ ; @@ -6005,23 +4299,6 @@ DELIMITER ; /*!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` -- @@ -6039,7 +4316,7 @@ CREATE TABLE `account_detail` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=70 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6053,7 +4330,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6071,7 +4348,7 @@ CREATE TABLE `accumulatorsReadingDate` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=270 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6114,7 +4391,7 @@ CREATE TABLE `agency` ( 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=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=226 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 */ ; @@ -6160,7 +4437,7 @@ CREATE TABLE `agency_hour` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4258 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 */ ; @@ -6254,8 +4531,9 @@ CREATE TABLE `agency_weekday_bonus` ( `weekDay` tinyint(3) unsigned NOT NULL, `zona` tinyint(4) DEFAULT NULL, `bonus` decimal(10,2) NOT NULL DEFAULT '0.00', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + PRIMARY KEY (`id`), + UNIQUE KEY `warehouse_id` (`warehouse_id`,`agency_id`,`weekDay`,`zona`) +) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6269,7 +4547,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6325,7 +4603,7 @@ CREATE TABLE `albaran` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1987 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6357,7 +4635,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6388,6 +4666,7 @@ CREATE TABLE `awb` ( `booked` datetime DEFAULT NULL, `issued` datetime DEFAULT NULL, `operated` datetime DEFAULT NULL, + `bookEntried` date DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `codigo_UNIQUE` (`codigo`), KEY `proveedor_id` (`transitario_id`), @@ -6395,7 +4674,7 @@ CREATE TABLE `awb` ( KEY `carguera_id` (`carguera_id`), KEY `flight_id` (`flight_id`), CONSTRAINT `awb_ibfk_1` FOREIGN KEY (`iva_id`) REFERENCES `iva_codigo` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2316 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 */ ; @@ -6506,7 +4785,7 @@ CREATE TABLE `awb_component_template` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=454 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6520,7 +4799,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; +) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6539,7 +4818,7 @@ CREATE TABLE `awb_gestdoc` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2019 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6594,7 +4873,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT=' '; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6611,19 +4890,6 @@ CREATE TABLE `awb_unit` ( ) 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` -- @@ -6636,9 +4902,9 @@ CREATE TABLE `balance_nest_tree` ( `rgt` int(11) DEFAULT NULL, `name` text COLLATE utf8_unicode_ci, `id` int(11) NOT NULL AUTO_INCREMENT, - `Id_Gasto` text COLLATE utf8_unicode_ci, + `Id_Gasto` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=383 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6657,7 +4923,7 @@ CREATE TABLE `barcodes` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=33620 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6671,7 +4937,7 @@ 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 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'; +) 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 */; -- @@ -6691,7 +4957,7 @@ CREATE TABLE `botanic_export` ( PRIMARY KEY (`botanic_export_id`), KEY `Id_Paises` (`Id_Paises`), CONSTRAINT `botanic_export_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `Paises` (`Id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Especifica los generos y especies prohibidos en paises'; +) 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 */ ; @@ -6725,7 +4991,7 @@ CREATE TABLE `businessReasonEnd` ( `id` tinyint(3) NOT NULL AUTO_INCREMENT, `reason` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6796,8 +5062,9 @@ CREATE TABLE `buy_edi` ( KEY `ptj` (`ptj`), KEY `pro` (`pro`), KEY `kop` (`kop`), - KEY `barcode` (`barcode`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + KEY `barcode` (`barcode`), + KEY `fec` (`fec`) +) ENGINE=InnoDB AUTO_INCREMENT=630790 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6856,7 +5123,7 @@ CREATE TABLE `call_information` ( `Id_Cliente` int(11) NOT NULL, `fecha` date NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6870,7 +5137,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6911,33 +5178,6 @@ CREATE TABLE `callingtasksKK` ( ) 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` -- @@ -6949,7 +5189,7 @@ 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=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Canal por el que nos ha conocido un cliente y se ha dado de'; +) 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 */; -- @@ -6986,7 +5226,7 @@ CREATE TABLE `city` ( 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=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */ ; @@ -7051,7 +5291,7 @@ CREATE TABLE `cl_act` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=76072 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7085,7 +5325,7 @@ CREATE TABLE `cl_cau` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=42565 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7099,7 +5339,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Consecuencias de los motivos'; +) 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 */; -- @@ -7113,7 +5353,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Departamentos para las quejas'; +) 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 */; -- @@ -7139,7 +5379,7 @@ CREATE TABLE `cl_det` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=105420 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7153,7 +5393,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Método por el cual el cliente nos devuelve la mercancía'; +) 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 */; -- @@ -7167,7 +5407,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Estados posibles de las reclamaciones'; +) 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 */; -- @@ -7196,7 +5436,7 @@ CREATE TABLE `cl_main` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; +) ENGINE=InnoDB AUTO_INCREMENT=44856 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7210,7 +5450,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Motivos de las fallos'; +) 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 */; -- @@ -7224,7 +5464,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Peticiones de los cliente en relacion a las quejas'; +) 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 */; -- @@ -7238,7 +5478,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queja por linea de las reclamaciones'; +) 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 */; -- @@ -7253,7 +5493,7 @@ CREATE TABLE `cl_res` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Responsables de las causas'; +) 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 */; -- @@ -7267,30 +5507,9 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Solucion ofrecida a la reclamación'; +) 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` -- @@ -7309,7 +5528,7 @@ CREATE TABLE `client_observation` ( 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=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +) ENGINE=InnoDB AUTO_INCREMENT=54823 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7361,7 +5580,7 @@ CREATE TABLE `clientes_regalos_lista_enc` ( `warehouse_id` smallint(6) unsigned DEFAULT '1', `province_id` smallint(5) unsigned DEFAULT NULL, PRIMARY KEY (`Id_Regalo`) -) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=MyISAM AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7377,7 +5596,7 @@ CREATE TABLE `clientes_tipo` ( `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`clientes_tipo_id`), UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Establece categorias para poder agrupar las ventas'; +) 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 */; -- @@ -7473,7 +5692,7 @@ CREATE TABLE `consignatarios_observation` ( `text` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`consignatarios_observation_id`), UNIQUE KEY `Id_Consigna` (`Id_Consigna`,`observation_type_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; +) ENGINE=InnoDB AUTO_INCREMENT=2862 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7487,7 +5706,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7501,7 +5720,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define el orden en que se imprimen los F5'; +) 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 */; -- @@ -7517,7 +5736,7 @@ CREATE TABLE `cooler_path_detail` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7534,7 +5753,7 @@ CREATE TABLE `cp` ( `zone_id` smallint(6) DEFAULT NULL, `town` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`cp_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relacio de codis postals i el municipi al qual se asigna'; +) 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 */; -- @@ -7552,8 +5771,10 @@ CREATE TABLE `credit` ( `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=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=58160 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7574,7 +5795,7 @@ CREATE TABLE `credit_card` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=956 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7592,7 +5813,7 @@ CREATE TABLE `cyc` ( PRIMARY KEY (`cyc_id`), KEY `Cliente` (`Id_Cliente`), CONSTRAINT `Cliente` FOREIGN KEY (`Id_Cliente`) REFERENCES `Clientes` (`id_cliente`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que estan clasificados en Credito y Cau'; +) 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 */; -- @@ -7661,7 +5882,7 @@ CREATE TABLE `department` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7678,7 +5899,7 @@ CREATE TABLE `device` ( PRIMARY KEY (`device_id`), UNIQUE KEY `device_id_UNIQUE` (`device_id`), UNIQUE KEY `sn_UNIQUE` (`sn`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=176 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7709,6 +5930,23 @@ CREATE TABLE `dhl` ( ) 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` -- @@ -7720,162 +5958,9 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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` -- @@ -7889,43 +5974,9 @@ CREATE TABLE `edi_testigos` ( `field` varchar(32) COLLATE utf8_unicode_ci NOT NULL, `testigo` varchar(5) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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` -- @@ -7966,6 +6017,7 @@ CREATE TABLE `empresa` ( `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`), @@ -7988,7 +6040,7 @@ 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=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8000,15 +6052,14 @@ DROP TABLE IF EXISTS `entity`; /*!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, + `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 `entity_id_UNIQUE` (`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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Entidades bancarias '; +) ENGINE=InnoDB AUTO_INCREMENT=10228 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Entidades bancarias '; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8020,11 +6071,11 @@ DROP TABLE IF EXISTS `escritos`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `escritos` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `abrev` varchar(15) COLLATE utf8_unicode_ci NOT NULL, + `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8042,10 +6093,12 @@ CREATE TABLE `escritos_det` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14373 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8072,8 +6125,9 @@ CREATE TABLE `expeditions` ( 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + 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=2198630 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 */ ; @@ -8176,7 +6230,7 @@ BEGIN 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() + 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 ; @@ -8213,7 +6267,7 @@ CREATE TABLE `expeditions_deleted` ( KEY `index2` (`EsBulto`), KEY `index3` (`odbc_date`), KEY `index4` (`ticket_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2198602 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8243,7 +6297,7 @@ CREATE TABLE `filtros` ( `sql` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `Estanteria` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=137 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8294,7 +6348,7 @@ CREATE TABLE `form_query` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8338,7 +6392,7 @@ CREATE TABLE `gestdoc` ( UNIQUE KEY `emp_id` (`emp_id`,`orden`,`warehouse_id`), KEY `trabajador_id` (`trabajador_id`), KEY `warehouse_id` (`warehouse_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=791996 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 */ ; @@ -8417,7 +6471,7 @@ CREATE TABLE `gesttip` ( `tipo` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `path` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8537,7 +6591,7 @@ CREATE TABLE `intrastat_data` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=61117 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8581,54 +6635,9 @@ CREATE TABLE `invoice_observation` ( `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '0', `text` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`invoice_observation_id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 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 `tag_fk_idx` (`tagFk`), - KEY `priorityItem` (`itemFk`,`priority`), - CONSTRAINT `itemFK` FOREIGN KEY (`itemFk`) REFERENCES `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 `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` -- @@ -8643,63 +6652,11 @@ CREATE TABLE `item_catalog` ( `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 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_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` -- @@ -8712,17 +6669,19 @@ CREATE TABLE `iva_codigo` ( `fecha` date NOT NULL, `codigo` varchar(10) COLLATE utf8_unicode_ci NOT NULL, `iva_tipo_id` tinyint(2) NOT NULL, - `iva` float(3,1) NOT NULL DEFAULT '0.0', - `recargo` float(2,1) NOT NULL DEFAULT '0.0', + `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8737,7 +6696,7 @@ CREATE TABLE `iva_group` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8768,6 +6727,7 @@ DROP TABLE IF EXISTS `iva_tipo`; 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, @@ -8776,7 +6736,7 @@ CREATE TABLE `iva_tipo` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8888,7 +6848,7 @@ CREATE TABLE `mail` ( `recipientFk` int(11) DEFAULT NULL, `plainTextBody` text COLLATE utf8_unicode_ci, PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=1136979 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=MyISAM AUTO_INCREMENT=1227849 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8906,7 +6866,7 @@ CREATE TABLE `mail_templates` ( `body` text COLLATE utf8_unicode_ci NOT NULL, `attachment` text COLLATE utf8_unicode_ci, PRIMARY KEY (`id`,`countryCode`,`name`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8931,7 +6891,7 @@ CREATE TABLE `mandato` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14172 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 */ ; @@ -8969,7 +6929,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9007,20 +6967,6 @@ DELIMITER ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; --- --- Temporary view structure for view `new_view` --- - -DROP TABLE IF EXISTS `new_view`; -/*!50001 DROP VIEW IF EXISTS `new_view`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `new_view` AS SELECT - 1 AS `id`, - 1 AS `worker`, - 1 AS `document`*/; -SET character_set_client = @saved_cs_client; - -- -- Table structure for table `nichos` -- @@ -9045,31 +6991,9 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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` -- @@ -9085,41 +7009,6 @@ CREATE TABLE `order_Tickets` ( ) 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` -- @@ -9154,7 +7043,7 @@ CREATE TABLE `pago` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=38635 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 */ ; @@ -9230,12 +7119,12 @@ CREATE TABLE `pago_sdc` ( `strike` decimal(10,2) DEFAULT NULL, PRIMARY KEY (`pago_sdc_id`), KEY `empresa_sdc_idx` (`empresa_id`), - KEY `entity_sdc_idx` (`entity_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 `entity_sdc` FOREIGN KEY (`entity_id`) REFERENCES `entity` (`entity_id`) ON UPDATE CASCADE, - CONSTRAINT `financial_type_fk` FOREIGN KEY (`financialProductTypefk`) REFERENCES `financialProductType` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Seguros de cambio'; + 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=44 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Seguros de cambio'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9249,7 +7138,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9281,7 +7170,7 @@ CREATE TABLE `pay_met` ( `graceDays` int(11) unsigned NOT NULL DEFAULT '0', `ibanRequired` tinyint(3) DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9304,7 +7193,7 @@ CREATE TABLE `payroll_basess` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9498,7 +7387,7 @@ 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9519,38 +7408,9 @@ CREATE TABLE `payrroll_apEmpresarial` ( `costeEmpresaFogasa` decimal(8,2) NOT NULL, `costeEmpresaExtra` decimal(8,2) NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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` -- @@ -9566,7 +7426,7 @@ CREATE TABLE `plantpassport` ( 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 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 */; @@ -9588,49 +7448,6 @@ CREATE TABLE `plantpassport_authority` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='entidades certificadoras'; /*!40101 SET character_set_client = @saved_cs_client */; --- --- Table structure for table `postcodeKK` --- - -DROP TABLE IF EXISTS `postcodeKK`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `postcodeKK` ( - `postcode_id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `code` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `city_id` int(11) NOT NULL, - `nst_geo_id` int(11) DEFAULT NULL, - `nst_name` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`postcode_id`), - UNIQUE KEY `code_city` (`code`,`city_id`), - KEY `postal_code_idx` (`code`), - KEY `city_id_pk_idx` (`city_id`), - KEY `nst_geo_pc_id_idx` (`nst_geo_id`), - CONSTRAINT `city_id_pk` FOREIGN KEY (`city_id`) REFERENCES `city` (`city_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `nst_geo_pc_id` FOREIGN KEY (`nst_geo_id`) REFERENCES `nst`.`geo` (`id`) ON DELETE SET NULL 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 = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`postcode_BEFORE_INSERT` BEFORE INSERT ON `postcodeKK` FOR EACH ROW -BEGIN - - SET new.nst_name = new.code; - -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `preparation_exception` -- @@ -9692,7 +7509,7 @@ CREATE TABLE `price_fixed` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=51025 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 */ ; @@ -9752,8 +7569,9 @@ 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`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + PRIMARY KEY (`producer_id`), + UNIQUE KEY `name_UNIQUE` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=3626 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9776,21 +7594,6 @@ CREATE TABLE `profile_labour_payroll` ( ) 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` -- @@ -9828,7 +7631,7 @@ CREATE TABLE `province` ( 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=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */ ; @@ -9915,6 +7718,7 @@ CREATE TABLE `recibida` ( `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`), @@ -9934,7 +7738,7 @@ CREATE TABLE `recibida` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=63213 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 */ ; @@ -9953,6 +7757,7 @@ BEGIN 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; @@ -9980,8 +7785,9 @@ BEGIN AND empresa_id = NEW.empresa_id; SET NEW.num_recibida = v_num_recibida; - END IF; + END IF; + END */;; DELIMITER ; @@ -10013,12 +7819,16 @@ BEGIN 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 @@ -10365,6 +8175,33 @@ DELIMITER ; /*!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` @@ -10400,7 +8237,7 @@ CREATE TABLE `recibida_entrada` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=9652 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 */ ; @@ -10488,7 +8325,7 @@ CREATE TABLE `recibida_iva` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=83923 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10511,7 +8348,7 @@ CREATE TABLE `recibida_vencimiento` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=81572 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 */ ; @@ -10554,7 +8391,7 @@ CREATE TABLE `recovery` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntaremos los acuerdos de recobro semanal a '; +) 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 */; -- @@ -10572,7 +8409,7 @@ CREATE TABLE `recovery_asset` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla se registra el detalle de los recobros definid'; +) 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 */; -- @@ -10584,8 +8421,9 @@ DROP TABLE IF EXISTS `reference_min`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `reference_min` ( `date` date NOT NULL, - `rate` double NOT NULL, - `moneda_id` tinyint(3) unsigned NOT NULL DEFAULT '2' + `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 */; @@ -10621,7 +8459,7 @@ CREATE TABLE `reinos` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10650,7 +8488,7 @@ CREATE TABLE `reparacion` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10667,21 +8505,6 @@ CREATE TABLE `rolekk` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; --- --- Temporary view structure for view `root` --- - -DROP TABLE IF EXISTS `root`; -/*!50001 DROP VIEW IF EXISTS `root`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `root` 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 `rounding` -- @@ -10745,7 +8568,7 @@ CREATE TABLE `salarioDits` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=96 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10762,7 +8585,29 @@ CREATE TABLE `scan` ( `name` varchar(45) CHARACTER SET utf8 DEFAULT NULL, `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; +) ENGINE=InnoDB AUTO_INCREMENT=43462 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 */; -- @@ -10780,7 +8625,7 @@ CREATE TABLE `scan_line` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=575432 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10802,7 +8647,7 @@ CREATE TABLE `sharingcart` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */ ; @@ -10880,7 +8725,7 @@ CREATE TABLE `sharingclient` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */ ; @@ -10925,63 +8770,6 @@ DELIMITER ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; --- --- 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, - `Id_trabajador` int(11) NOT NULL, - `text` varchar(160) COLLATE utf8_unicode_ci NOT NULL, - `to` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `DATE_ODBC` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `sent` tinyint(4) NOT NULL DEFAULT '0', - `Id_Cliente` int(11) DEFAULT NULL, - `response` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `from` varchar(9) COLLATE utf8_unicode_ci NOT NULL DEFAULT '693474205', - PRIMARY KEY (`id`) -) 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 `sms_bi` BEFORE INSERT ON `sms` - FOR EACH ROW - BEGIN - DECLARE intLast INT; - DECLARE strTrab VARCHAR(3); - - SET NEW.`to` = LTRIM(NEW.`to`); - IF NEW.`to` LIKE '6________' or NEW.`to` LIKE '7________'THEN - SET NEW.`to` = CONCAT('0034',REPLACE(NEW.`to`,' ','')); - ELSE - IF NEW.`to` NOT LIKE '00346________' or NEW.`to` NOT LIKE '00347________'THEN - INSERT INTO Mensajes(Mensaje,Fecha,Remitente,Destinatario) - VALUES(CONCAT("El mensaje que ha enviado no contenía un número de teléfono MÓVIL válido:",NEW.`to`),NOW(),20,NEW.Id_trabajador); - SELECT LAST_INSERT_ID() INTO intlast; - SELECT CodigoTrabajador INTO strTrab FROM Trabajadores WHERE id_Trabajador = NEW.Id_Trabajador; - INSERT INTO Incidencias(Incidencia,Id_Trabajador,Destino,Fecha,Fecha_Mod) - VALUES (CONCAT('@@ ' , intLast), 20,strTrab, NOW(),NOW()); - SET NEW.id = 0; -SET intLast = 'fallo provocado'; - 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 `split` -- @@ -11012,55 +8800,9 @@ CREATE TABLE `state` ( `code` varchar(45) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `code_UNIQUE` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 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', - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Categorias para etiquetar los productos'; -/*!40101 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` -- @@ -11079,7 +8821,7 @@ CREATE TABLE `tarifas` ( PRIMARY KEY (`tarifa_id`), KEY `tarifa_warehouse` (`warehouse_id`), CONSTRAINT `tarifa_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=140 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11244,21 +8986,6 @@ CREATE TABLE `thermograph` ( ) 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` -- @@ -11292,68 +9019,9 @@ CREATE TABLE `ticket_observation` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +) ENGINE=InnoDB AUTO_INCREMENT=972150 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 `ticket_stateKK` --- - -DROP TABLE IF EXISTS `ticket_stateKK`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `ticket_stateKK` ( - `ticket_id` int(11) NOT NULL, - `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `user_id` int(11) NOT NULL, - `state_id` tinyint(1) unsigned NOT NULL DEFAULT '1', - UNIQUE KEY `ticket_id` (`ticket_id`), - KEY `user_id` (`user_id`), - KEY `state_id` (`state_id`), - CONSTRAINT `ticket_stateKK_ibfk_1` FOREIGN KEY (`ticket_id`) REFERENCES `Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `ticket_stateKK_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `ticket_stateKK_ibfk_3` FOREIGN KEY (`state_id`) REFERENCES `state` (`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 = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`ticket_stateAfterInsert` - AFTER INSERT ON `ticket_stateKK` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('ticket', NEW.ticket_id, 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 `vn2008`.`ticket_stateAfterDelete` - AFTER UPDATE ON `ticket_stateKK` FOR EACH ROW -BEGIN - CALL stock.queueAdd ('ticket', NEW.ticket_id, 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 `tickets_gestdoc` -- @@ -11459,6 +9127,7 @@ CREATE TABLE `travel` ( `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`), @@ -11466,10 +9135,12 @@ CREATE TABLE `travel` ( 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 -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; + 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=98641 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 */ ; @@ -11532,7 +9203,7 @@ BEGIN 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())); + VALUES (89/*Cambia delivered*/,IFNULL(trabajador,20),NEW.id,OLD.delivered,CONCAT(NEW.delivered,' desde ' ,user())); END IF; END */;; DELIMITER ; @@ -11553,6 +9224,13 @@ DELIMITER ;; 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 */ ; @@ -11599,7 +9277,7 @@ CREATE TABLE `travel_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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=146966 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11626,7 +9304,7 @@ CREATE TABLE `travel_pattern` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=318 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11692,7 +9370,7 @@ CREATE TABLE `trolley` ( `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=132 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11723,7 +9401,7 @@ CREATE TABLE `unary` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=865 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11738,7 +9416,7 @@ CREATE TABLE `unaryScanFilter` ( `name` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `filter` text COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11775,7 +9453,7 @@ CREATE TABLE `unary_scan_line` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8472 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11826,858 +9504,6 @@ CREATE TABLE `unary_source` ( ) 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` -- @@ -12690,7 +9516,7 @@ CREATE TABLE `versiones` ( `version` int(11) NOT NULL, `critical` tinyint(4) NOT NULL DEFAULT '0', PRIMARY KEY (`programa`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12710,52 +9536,6 @@ CREATE TABLE `viaxpress` ( ) 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` -- @@ -12783,7 +9563,7 @@ CREATE TABLE `warehouse` ( 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=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) 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 */ ; @@ -12841,7 +9621,7 @@ 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=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12988,7 +9768,7 @@ CREATE TABLE `wks` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `comments` text COLLATE utf8_unicode_ci, PRIMARY KEY (`id`) USING BTREE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=626 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -13006,20 +9786,6 @@ CREATE TABLE `workcenter_holiday` ( ) 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` -- @@ -13034,37 +9800,9 @@ CREATE TABLE `workerTeam` ( 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=121 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` -- @@ -13094,6 +9832,85 @@ CREATE TABLE `zones` ( ) 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' -- @@ -13299,11 +10116,17 @@ DELIMITER ; 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 */ ; @@ -13823,7 +10646,7 @@ DELIMITER ; /*!50003 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 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 */ ; @@ -13833,16 +10656,25 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = '' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `CM3`(v_buy_id INT) RETURNS int(11) +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 */ ; @@ -13890,16 +10722,25 @@ DELIMITER ; DELIMITER ;; CREATE DEFINER=`root`@`%` FUNCTION `cm3_unidad`(v_buy_id INT) RETURNS int(11) BEGIN + 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 */ ; @@ -14049,6 +10890,7 @@ DELIMITER ;; CREATE DEFINER=`root`@`%` FUNCTION `date_inv`() RETURNS datetime DETERMINISTIC BEGIN + RETURN (SELECT FechaInventario FROM tblContadores LIMIT 1); END ;; DELIMITER ; @@ -14069,8 +10911,10 @@ 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 */ ; @@ -14115,6 +10959,7 @@ 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; @@ -14124,6 +10969,11 @@ RETURN intPeriod; + + + + + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -14163,6 +11013,37 @@ BEGIN 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 */ ; @@ -14468,6 +11349,7 @@ BEGIN RETURN dblRESULT; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -14493,6 +11375,7 @@ SET vDued = vn.getDueDate(vDated, vDayToPay); RETURN vDued; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -14654,19 +11537,27 @@ 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 `risk` */; +/*!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 */ ; @@ -14676,7 +11567,7 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `risk`(datMax DATE, intCustomer INT) RETURNS decimal(10,2) +CREATE DEFINER=`root`@`%` FUNCTION `riskKk`(datMax DATE, intCustomer INT) RETURNS decimal(10,2) BEGIN /** * Deprecated @@ -14787,12 +11678,17 @@ DELIMITER ; 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; - DECLARE dblFreight DECIMAL(10,2); + 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 @@ -14812,7 +11708,13 @@ BEGIN 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 ;; @@ -14832,31 +11734,56 @@ DELIMITER ; /*!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 */ ; @@ -14967,25 +11894,37 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 idx USING HASH (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id; + (INDEX (ticket_id)) + ENGINE = MEMORY + SELECT ticket_id; - CALL ticket_total (); + CALL ticket_total; SELECT total INTO v_total FROM ticket_total; - DROP TEMPORARY TABLE ticket_total; - DROP TEMPORARY TABLE ticket_tmp; + DROP TEMPORARY TABLE + ticket_total, + ticket_tmp; RETURN v_total; END ;; @@ -15584,6 +12523,56 @@ DELIMITER ; /*!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) @@ -15886,7 +12875,7 @@ BEGIN FROM agenVOL a JOIN Agencias agen USING(Id_Agencia) JOIN agency ag USING(agency_id) - GROUP BY ag.agency_id/*, Prioridad*/ ; + GROUP BY ag.agency_id/*, Prioridad*/; DROP TEMPORARY TABLE IF EXISTS agenVOL; END ;; @@ -15980,12 +12969,19 @@ 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 */ ; @@ -16163,12 +13159,12 @@ proc: BEGIN UPDATE tblContadores SET FechaInventario = vDate; - DELETE e + 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, -5, CURDATE())); + AND (DAY(shipment) <> 1 OR shipment < TIMESTAMPADD(MONTH, -12, CURDATE())); END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -16314,37 +13310,65 @@ 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 */ ; @@ -16363,21 +13387,35 @@ DELIMITER ; 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 */ ; @@ -16423,17 +13461,26 @@ 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 */ ; @@ -16471,8 +13518,8 @@ proc: BEGIN SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores; - SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date - FROM hedera.order_config; + SELECT SUBTIME(NOW(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; -- Calcula el ultimo dia de vida para cada producto @@ -16612,201 +13659,6 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `availableTraslatekk` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `availableTraslatekk`(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(), reserve_time) INTO v_reserve_date - FROM hedera.order_config; - - -- Calcula el ultimo dia de vida para cada producto - - DROP TEMPORARY TABLE IF EXISTS item_range; - CREATE TEMPORARY TABLE item_range - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT c.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; - - 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); - - - - 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; - - 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 -SELECT item_id, stock,'tmp_item' - FROM vn2008.tmp_item; - - 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 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 = vWarehouseLanding - 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 i.item_id, i.dat, i.amount,'item_out',vWarehouseLanding - 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 * from availableTraslate; - 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 */ ; @@ -16838,8 +13690,8 @@ proc: BEGIN SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores; - SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date - FROM hedera.order_config; + SELECT SUBTIME(NOW(), reserveTime) INTO v_reserve_date + FROM hedera.orderConfig; -- Calcula el ultimo dia de vida para cada producto @@ -17057,8 +13909,8 @@ 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 '2015-01-01'; -DECLARE vStartingYear INT DEFAULT 2015; +DECLARE vStartingDate DATE DEFAULT '2016-01-01'; +DECLARE vStartingYear INT DEFAULT 2016; -- Solicitamos la tabla tmp.nest, como base para el balance @@ -17097,25 +13949,37 @@ IF NOT vInterGroupSalesIncluded THEN 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(IFNULL(tr.dateBooking,tr.Fecha),IFNULL(r.dateBooking,r.Fecha))) as `year` - , month(IFNULL(IFNULL(tr.dateBooking,tr.Fecha),IFNULL(r.dateBooking,r.Fecha))) as `month` + , 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 - LEFT JOIN vn2008.recibida_entrada re ON re.recibida_id = r.id - LEFT JOIN vn2008.recibida tr ON tr.id = re.awb_recibida - WHERE IFNULL(r.dateBooking,r.Fecha) between vStartingDate and CURDATE() + 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 @@ -17156,7 +14020,7 @@ SET v_sql = sql_printf ( YEAR(CURDATE()) ); -CALL sql_query (v_sql); +CALL util.exec (v_sql); -- Añadimos los gastos, para facilitar el formulario @@ -17191,7 +14055,7 @@ WHILE intYEARS > 0 DO YEAR(CURDATE()) - intYEARS ); - CALL sql_query (v_sql); + CALL util.exec (v_sql); END WHILE; @@ -17230,7 +14094,7 @@ END WHILE; ); - CALL sql_query (v_sql); + CALL util.exec (v_sql); -- Ventas intra grupo IF NOT vInterGroupSalesIncluded THEN @@ -17254,11 +14118,11 @@ CREATE TEMPORARY TABLE tmp.balance_aux SELECT * FROM tmp.balance; UPDATE tmp.balance b JOIN ( -select b1.id, b1.name, sum(b2.`2015`) as `2015`, sum(b2.`2016`) as `2016`, sum(b2.`2017`) as `2017` +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.`2015` = sub.`2015`, b.`2016` = sub.`2016`, b.`2017` = sub.`2017` +SET b.`2016` = sub.`2016`, b.`2017` = sub.`2017`, b.`2018` = sub.`2018` ; @@ -17305,12 +14169,12 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_`( - v_date DATE, - v_consigna INT, - v_agencia INT) + vDate DATE, + vAddress INT, + vAgency INT) BEGIN /** * Calcula el disponible para un conjunto de almacenes y fechas @@ -17318,22 +14182,22 @@ BEGIN * * @table t_bionic_available Tabla con los ids de cache **/ - - DECLARE v_available_calc INT; - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - DECLARE v_wh INT; - DECLARE done BOOL; - DECLARE cur CURSOR FOR + 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 done = TRUE; + 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 v_agency_id FROM Agencias WHERE Id_Agencia = v_agencia; + SELECT agency_id INTO vAgencyId + FROM Agencias WHERE Id_Agencia = vAgency; - CALL travel_tree (v_date,v_consigna, v_agency_id); + CALL travel_tree (vDate, vAddress, vAgencyId); DROP TEMPORARY TABLE IF EXISTS t_bionic_available; CREATE TEMPORARY TABLE t_bionic_available( @@ -17342,22 +14206,22 @@ BEGIN ) ENGINE = MEMORY; - OPEN cur; + OPEN cTravelTree; l: LOOP - SET done = FALSE; - FETCH cur INTO v_wh, v_shipment; + SET vDone = FALSE; + FETCH cTravelTree INTO vWh, vShipment; - IF done THEN + IF vDone THEN LEAVE l; END IF; - CALL `cache`.available_refresh (v_available_calc, FALSE, v_wh, v_shipment); + CALL `cache`.available_refresh (vAvailableCalc, FALSE, vWh, vShipment); - INSERT IGNORE INTO t_bionic_available (calc_id) - VALUES (v_available_calc); + INSERT IGNORE INTO t_bionic_available + SET calc_id = vAvailableCalc; END LOOP; - CLOSE cur; + CLOSE cTravelTree; DROP TEMPORARY TABLE travel_tree; END ;; DELIMITER ; @@ -17441,10 +14305,10 @@ ELSE SET v_sql = sql_printf ( ' - REPLACE articlelist + REPLACE vn2008.articlelist SELECT a.Id_Article - FROM Articles a - LEFT JOIN Tipos t ON t.tipo_id = a.tipo_id + FROM vn2008.Articles a + LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id WHERE %s AND Medida BETWEEN %v AND %v; ' @@ -17456,15 +14320,15 @@ ELSE SET v_sql = sql_printf ( ' - REPLACE articlelist + REPLACE vn2008.articlelist SELECT a.Id_Article - FROM Articles a - LEFT JOIN Tipos t ON t.tipo_id = a.tipo_id + FROM vn2008.Articles a + LEFT JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id JOIN ( SELECT DISTINCT Id_Article - FROM Movimientos m - JOIN Tickets t using(Id_Ticket) - JOIN Clientes c using(Id_Cliente) + 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 @@ -17479,7 +14343,7 @@ ELSE ,maxMED); end if; - CALL sql_query (v_sql); + CALL util.exec (v_sql); END IF; -- SELECT Id_Article, Article, Medida FROM Articles join articlelist using(Id_Article); @@ -17605,58 +14469,58 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_types_filter`(IN v_date DATE, -- fecha de recepcion de mercancia - IN v_consigna INT, - IN v_agencia INT, - IN v_filter TEXT) +CREATE DEFINER=`root`@`%` PROCEDURE `bionic_available_types_filter`( + v_date DATE, + v_consigna INT, + v_agencia INT, + v_filter TEXT) BEGIN - -- @return Table t_bionic_available_types - -- 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 - - DECLARE v_sql TEXT; - DECLARE v_list TEXT; - SET v_list = ''; +/** + * 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 + */ - 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 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 Articles a ON c.item_id = a.Id_Article - JOIN Tipos t ON t.tipo_id = a.tipo_id - JOIN reinos r ON r.id = t.reino_id - JOIN 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); - + 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 ; @@ -17675,53 +14539,55 @@ DELIMITER ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `bionic_calc`( - v_date DATE, -- fecha de recepcion de mercancia - v_consigna INT, - v_agencia INT) + vDate DATE, -- Fecha de recepcion de mercancia + vAddress INT, + vAgency INT) proc: BEGIN - DECLARE v_available_calc INT; - DECLARE v_shipment DATE; - DECLARE v_agency_id INT; - DECLARE v_customer INT; - DECLARE v_wh SMALLINT; - DECLARE done BOOL; - DECLARE cur CURSOR FOR - SELECT warehouse_id, Fecha_envio FROM vn2008.travel_tree; + 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 done = TRUE; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_item; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_component; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_lot; - DROP TEMPORARY TABLE IF EXISTS tmp.bionic_price; + DROP TEMPORARY TABLE IF EXISTS + tmp.bionic_item, + tmp.bionic_component, + tmp.bionic_lot, + tmp.bionic_price; - -- Establecemos los almacenes y las fechas que van a entrar al dispo_multi + -- Establece los almacenes y las fechas que van a entrar al disponible - SELECT agency_id INTO v_agency_id FROM vn2008.Agencias WHERE Id_Agencia = v_agencia; - SELECT Id_Cliente INTO v_customer FROM vn2008.Consignatarios WHERE Id_Consigna = v_consigna; + SELECT agency_id INTO vAgencyId FROM Agencias WHERE Id_Agencia = vAgency; + SELECT Id_Cliente INTO vCustomer FROM Consignatarios WHERE Id_Consigna = vAddress; - CALL vn2008.travel_tree(v_date,v_consigna, v_agency_id); + CALL travel_tree(vDate, vAddress, vAgencyId); - -- creamos la tabla temporal que almacenara los lotes (antigua cache.bionic) + -- Crea la tabla temporal que almacenará los lotes CREATE TEMPORARY TABLE tmp.bionic_lot LIKE template_bionic_lot; - OPEN cur; + OPEN cTravelTree; + l: LOOP - -- Comprovamos que quedan registros en el cursor - SET done = FALSE; - FETCH cur INTO v_wh, v_shipment; - IF done THEN + SET vDone = FALSE; + FETCH cTravelTree INTO vWh, vShipment; + + IF vDone THEN LEAVE l; END IF; - CALL `cache`.available_refresh (v_available_calc, FALSE, v_wh, v_shipment); - CALL item_last_buy_ (v_wh, v_shipment); + 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 - v_wh, + vWh, i.item_id, IFNULL(i.available, 0), ilb.buy_id @@ -17729,22 +14595,22 @@ proc: BEGIN 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 = v_available_calc + WHERE i.calc_id = vAvailableCalc AND a.Id_Article != 100 AND i.available > 0; DROP TEMPORARY TABLE t_item_last_buy; - END LOOP; - CLOSE cur; + CLOSE cTravelTree; - CALL bionic_calc_component(v_consigna,v_agencia); + 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 + 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 @@ -17754,8 +14620,7 @@ proc: BEGIN FROM tmp.bionic_price GROUP BY item_id ) bl ON bl.item_id = b.item_id - GROUP BY b.item_id; - + GROUP BY b.item_id; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -18070,8 +14935,8 @@ proc: BEGIN * ROUND( r.cm3 * IF(a.Vista = 1, (GREATEST(art.density,DENSIDAD_MINIMA_PESO_VOLUMETRICO) / DENSIDAD_MINIMA_PESO_VOLUMETRICO ) , 1) - * az.price - * az.inflacion + * IFNULL(az.price + * az.inflacion ,50) / VOLUMEN_CAJA_VERDNATURA, 4 ) cost FROM t_bionic_temp b @@ -18105,7 +14970,8 @@ proc: BEGIN 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; + HAVING cost <> 0 + LIMIT 1; -- PAK 12-05-2015 -- EMBOLSADO @@ -19646,9 +16512,148 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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; @@ -20002,11 +17007,11 @@ BEGIN JOIN tblTARIFAS TC SET C.Portefijo = @PF:= IF (va.importe, - ROUND((va.importe * TP.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + 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:= IF(CB.Retornable != 0, 0, ROUND(IFNULL( CB.Valor / C.Packing ,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) @@ -20065,13 +17070,13 @@ LIMIT 1; JOIN Agencias AG ON TR.agency_id = AG.Id_Agencia JOIN tblTARIFAS TC - SET C.Portefijo = @PF:= round((va.importe * TP.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + 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:= 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.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), @@ -20178,7 +17183,7 @@ BEGIN 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 * ( TP.density / 167 ) * cm3_2(C.Id_Cubo, C.Id_Article)) / 1000000) ,0)) INTO m3i + 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) @@ -20204,14 +17209,11 @@ BEGIN SET C.Portefijo = @PF:= IF (va.importe, - round((va.importe * TP.density * CM3_2(C.Id_Cubo, C.Id_Article) / 1000) / (va.Vol_Total * 167 * C.Packing ),3), + 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) ), - -- jgf 2015-08-14 canvie este procediment per a que coincidisca en el buy_tarifas - -- ROUND(IFNULL(((m3i * @cm3:= ( TP.density / 167 ) * 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)), @@ -20657,6 +17659,30 @@ DELIMITER ; /*!50003 SET character_set_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 */ ; @@ -20734,6 +17760,81 @@ 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 @@ -20852,22 +17953,43 @@ DELIMITER ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `camiones`(vWarehouse INT, vDate DATE) BEGIN + SELECT Temperatura - ,ROUND(SUM(Etiquetas * cm3_2(Id_Cubo, Id_Article))) AS cm3 - ,ROUND(SUM(IF(scanned,Etiquetas,0) * cm3_2(Id_Cubo, Id_Article))) AS cm3s - ,ROUND(SUM(Vida * cm3_2(Id_Cubo, Id_Article))) AS cm3e + + ,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, c.Id_Cubo, c.Id_Article, b.scanned, c.Vida + + 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 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 + + AND tr.landing = vDate + ) sub + GROUP BY Temperatura; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -20972,15 +18094,15 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 @sql_query = CONCAT('SELECT NULL FROM ',@table_name); - PREPARE stmt1 FROM @sql_query; + SET @sqlString = CONCAT('SELECT NULL FROM ',@table_name); + PREPARE stmt1 FROM @sqlString; IF (@err = 1) THEN SET @table_exists = 0; ELSE @@ -21005,45 +18127,39 @@ DELIMITER ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `clean`(IN v_full TINYINT(1)) BEGIN - DECLARE v_date DATETIME; + DECLARE v_date DATETIME; DECLARE v_date_fut DATE; DECLARE v_date18 DATETIME; - DECLARE v_date8 DATE; - DECLARE v_date6 DATE; - DECLARE strtable varchar(15) DEFAULT NULL; + DECLARE v_date8 DATE; + DECLARE v_date6 DATE; + DECLARE v_date3Month DATE; + DECLARE strtable varchar(15) DEFAULT NULL; DECLARE done BIT DEFAULT 0; - /* - DECLARE cursor_table CURSOR FOR SELECT TABLE_NAME - FROM information_schema.TABLES - WHERE TABLE_NAME LIKE 'b20%' - AND TABLE_SCHEMA = 'vn2008'; - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - DECLARE CONTINUE HANDLER FOR 1051 SET done = 0; -*/ - SET v_date = TIMESTAMPADD(MONTH, -2, CURDATE()); - SET v_date18 = TIMESTAMPADD(MONTH, -18,CURDATE()); - SET v_date8 = TIMESTAMPADD(DAY, -8,CURDATE()); - SET v_date6 = TIMESTAMPADD(DAY, -6,CURDATE()); - - 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_date OR FECHA IS NULL; + 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()); + + 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) + + 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 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; @@ -21062,105 +18178,89 @@ BEGIN 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) + 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; + 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 + 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 v_date = TIMESTAMPADD(YEAR, 2000 - YEAR(v_date), 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 v_date = TIMESTAMPADD(YEAR, 2000 - YEAR(v_date), v_date); SET v_date_fut = TIMESTAMPADD(MONTH, 3, v_date); + IF v_date_fut > '2000-12-31' THEN SET v_date_fut = '2000-12-30'; END IF; - IF v_full THEN - - DELETE FROM Tickets - WHERE (Fecha <= v_date AND Fecha NOT IN ('2000-01-01','2000-01-02')) + IF v_full + THEN + DELETE FROM Tickets + WHERE (Fecha <= v_date AND Fecha NOT IN ('2000-01-01','2000-01-02')) OR (Fecha BETWEEN v_date_fut AND '2000-12-31'); - 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; + 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; - END IF; - /* - OPEN cursor_table; - FETCH cursor_table INTO strtable; - REPEAT - IF NOT done THEN - CALL vn2008.sql_query (sql_printf ( - 'DROP TABLE IF EXISTS %t' - ,strtable - )); - END IF; - FETCH cursor_table INTO strtable; - UNTIL done - END REPEAT; - - CLOSE cursor_table; - */ - - -- Tickets vacios PAK 17/05/2016 - -UPDATE Tickets t -JOIN -( -SELECT DISTINCT t.Id_Ticket -FROM Tickets t -LEFT JOIN Movimientos m using(Id_Ticket) -WHERE Id_Movimiento IS NULL -AND t.Fecha between '2016-01-01' and util.yesterday()) sub using(Id_Ticket) -SET t.Fecha = TIMESTAMPADD(YEAR, 2000 - year(CURDATE()), t.Fecha); - - - -- Tickets Nulos PAK 11/10/2016 - - - UPDATE vn2008.Tickets + -- Tickets vacios PAK 17/05/2016 +/* + UPDATE Tickets t + JOIN ( + SELECT DISTINCT t.Id_Ticket + FROM Tickets t + LEFT JOIN Movimientos m using(Id_Ticket) + WHERE Id_Movimiento IS NULL + AND t.Fecha between '2016-01-01' and util.yesterday()) sub using(Id_Ticket) + SET t.Fecha = TIMESTAMPADD(YEAR, 2000 - year(CURDATE()), t.Fecha + ); +*/ + -- Tickets Nulos PAK 11/10/2016 + + UPDATE vn2008.Tickets SET empresa_id = 965 WHERE Id_Cliente = 31 - AND empresa_id != 965; - + 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'); + 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 */ ; @@ -21181,10 +18281,7 @@ CREATE DEFINER=`root`@`%` PROCEDURE `clean_launcher`() BEGIN call vn2008.clean(TRUE); - call vn.clean(); - call vncontrol.clean(); - call bi.clean(); - call cache.clean(); + END ;; DELIMITER ; @@ -22270,7 +19367,7 @@ BEGIN 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 + LEFT JOIN reinos r ON r.id = t.reino_id WHERE (i_tipo = 0 OR a.tipo_id = i_tipo) AND r.display <> 0; @@ -22404,43 +19501,41 @@ BEGIN SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); -- select * from article_inventory; - CALL sql_query (sql_printf + CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE remcom + '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 - 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 - ,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 - ,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 article_inventory i - JOIN Articles A ON A.Id_Article = i.article_id - LEFT JOIN Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN producer p ON p.producer_id = A.producer_id - LEFT JOIN Tipos tp ON A.tipo_id = tp.tipo_id + ,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 Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN Tintas t ON t.Id_Tinta = A.color - LEFT JOIN Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN Entradas E USING(Id_Entrada) - LEFT JOIN Origen o ON o.id = A.id_origen - LEFT JOIN last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN 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 ' + 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 )); @@ -22465,14 +19560,14 @@ BEGIN DROP TEMPORARY TABLE last_year; DROP TEMPORARY TABLE cur_year; - -- DROP TEMPORARY TABLE article_inventory; + 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 `comparative2` */; +/*!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 */ ; @@ -22482,7 +19577,7 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `comparative2`( +CREATE DEFINER=`root`@`%` PROCEDURE `comparativekk`( v_date DATETIME ,days TINYINT ,i_wh TINYINT @@ -22663,9 +19758,9 @@ BEGIN SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); -- select * from article_inventory; - CALL sql_query (sql_printf + CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE remcom + 'CREATE TEMPORARY TABLE vn2008.remcom SELECT an.nicho, p.name Productor, C.Packing, C.Costefijo @@ -22684,19 +19779,19 @@ BEGIN ,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 article_inventory i - JOIN Articles A ON A.Id_Article = i.article_id - LEFT JOIN Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN producer p ON p.producer_id = A.producer_id - LEFT JOIN Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN Tintas t ON t.Id_Tinta = A.color - LEFT JOIN Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN Entradas E USING(Id_Entrada) - LEFT JOIN Origen o ON o.id = A.id_origen - LEFT JOIN last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN cur_year cy ON cy.Id_Article = A.Id_Article + 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) @@ -22732,7 +19827,7 @@ DELIMITER ; /*!50003 SET character_set_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_test` */; +/*!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 */ ; @@ -22742,7 +19837,7 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `comparative_test`( +CREATE DEFINER=`root`@`%` PROCEDURE `comparativekk2`( v_date DATETIME ,days TINYINT ,i_wh TINYINT @@ -22923,9 +20018,9 @@ BEGIN SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); SET strFILTRO = REPLACE(strFILTRO, 'tipo_id','tp.tipo_id'); -- select * from article_inventory; - CALL sql_query (sql_printf + CALL util.exec (sql_printf ( - 'CREATE TEMPORARY TABLE remcom + 'CREATE TEMPORARY TABLE vn2008.remcom SELECT an.nicho, p.name Productor, C.Packing, C.Costefijo @@ -22944,19 +20039,19 @@ BEGIN ,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 article_inventory i - JOIN Articles A ON A.Id_Article = i.article_id - LEFT JOIN Articles_nicho an ON A.Id_Article = an.Id_Article AND an.warehouse_id = %s - LEFT JOIN producer p ON p.producer_id = A.producer_id - LEFT JOIN Tipos tp ON A.tipo_id = tp.tipo_id - LEFT JOIN vn2008.reinos r ON r.id = tp.reino_id - LEFT JOIN Trabajadores TR ON TR.Id_Trabajador = tp.Id_Trabajador - LEFT JOIN Tintas t ON t.Id_Tinta = A.color - LEFT JOIN Compres C ON i.buy_id = C.Id_Compra - LEFT JOIN Entradas E USING(Id_Entrada) - LEFT JOIN Origen o ON o.id = A.id_origen - LEFT JOIN last_year ly ON ly.Id_Article = A.Id_Article - LEFT JOIN 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 + 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 ' @@ -22991,6 +20086,246 @@ DELIMITER ; /*!50003 SET character_set_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 */ ; @@ -23169,7 +20504,7 @@ 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 maxAlertLevel INT DEFAULT 2; DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer; @@ -23223,6 +20558,7 @@ BEGIN 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; @@ -23365,7 +20701,16 @@ BEGIN 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 ############################################################################## @@ -23378,9 +20723,49 @@ BEGIN 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) - SELECT vClient, Concat('TR ', vName, ' ', vCognames), vAddress, vDNI, vPhone, vProvince, vTown, vPostalCode, CONCAT(vCognames, ' ', vName), vName, 1, 3, vPostalCode, 4, 5, 300; + 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 @@ -23401,13 +20786,13 @@ BEGIN -- 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 (id, lastchange, `expire`) values (vClient, CURRENT_DATE(), CURRENT_DATE()); + 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 (id, lastchange ,`expire`) values (vUser, CURRENT_DATE(), CURRENT_DATE()); + INSERT INTO account.account SET id = vUser; END IF; ############################################################################## @@ -24379,6 +21764,33 @@ 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 */ ; @@ -24481,6 +21893,29 @@ 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 */ ; @@ -24627,6 +22062,29 @@ DELIMITER ; /*!50003 SET character_set_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 */ ; @@ -25929,6 +23387,114 @@ CREATE DEFINER=`root`@`%` PROCEDURE `historico`(IN idART INT, IN wh INT, IN v_vi 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, @@ -26752,15 +24318,15 @@ BEGIN SET strFILTRO = REPLACE(strFILTRO, 'Id_Article','A.Id_Article'); - CALL sql_query (sql_printf( - 'CREATE TEMPORARY TABLE article_selection + CALL util.exec (sql_printf( + 'CREATE TEMPORARY TABLE vn2008.article_selection ENGINE = MEMORY - SELECT Id_Article - FROM Articles A - LEFT JOIN Tipos USING(tipo_id) - LEFT JOIN Trabajadores TR ON TR.Id_Trabajador = Tipos.Id_Trabajador - LEFT JOIN Tintas ON A.color = Tintas.Id_Tinta - LEFT JOIN Origen ON Origen.id = A.id_origen + 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 @@ -28151,9 +25717,6 @@ 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; @@ -28166,8 +25729,6 @@ BEGIN ORDER BY landing DESC LIMIT 1; - - SET bolREVERSE = IF (d_INV is null, 1, 0); @@ -28274,7 +25835,7 @@ BEGIN 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 = d_FEC + 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) @@ -28294,14 +25855,16 @@ BEGIN IF bol_DESGLOSE THEN - SELECT w_id, Id_Article, Article, Medida, Cantidad,Id_Tipo,reino_id, coste, cast(total as decimal(10,2)) total + 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 USING(Id_Article) - JOIN Tipos TP USING(tipo_id) + 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 total > 0 - order by total desc; + and inv.total > 0 + order by inv.total desc; ELSE @@ -28315,253 +25878,6 @@ BEGIN END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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_FTH` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_FTH`(IN d_FEC DATE, IN bol_DESGLOSE BOOLEAN, IN inv_value_new DOUBLE) -BEGIN - - - DECLARE emp_id INT DEFAULT 791; - DECLARE inv_value DOUBLE ; - - 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, - landing DATE, - Proveedor VARCHAR(30), - Id_Entrada BIGINT, - 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 A.tipo_id NOT IN (21,7) - AND reino_id NOT IN (6,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 (6,7) - AND A.tipo_id NOT IN (21,7) - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,-1,1)); - --- SELECT * FROM inv WHERE Id_Article = 10067; - - 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 (6,7) - AND A.tipo_id NOT IN (21,7) - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + (C.Cantidad * IF(bolREVERSE,1,-1)); - - - --- SELECT * FROM inv WHERE Id_Article = 10067; - - 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 empresa_id = emp_id AND NOT w.fuente - AND reino_id NOT IN (6,7) - AND A.tipo_id NOT IN (21,7) - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,1,-1); - --- SELECT * FROM inv WHERE Id_Article = 10067; - - 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 T.Fecha = d_FEC - AND (d_FEC <> CURDATE() or (M.OK <> 0 or T.Etiquetasemitidas <> 0 )) - AND NOT w.fuente - AND empresa_id = emp_id - AND reino_id NOT IN (6,7) - AND A.tipo_id NOT IN (21,7) - ON DUPLICATE KEY UPDATE inv.cantidad = inv.cantidad + M.Cantidad * IF(bolREVERSE,0,-1); - --- SELECT * FROM inv WHERE Id_Article = 10067; - -UPDATE inv -JOIN ( SELECT * FROM - ( - SELECT Id_Article - , warehouse_id - , Id_Entrada - , landing - , IF(Id_Proveedor = 13 AND warehouse_id_out = 7, 'VNH',Proveedor) Proveedor - , ifnull(C.Costefijo,0) - + IFNULL(C.Embalajefijo,0) - + IFNULL(C.Portefijo,0) - + IFNULL(C.Comisionfija,0) cost - FROM Compres C - JOIN Entradas E using(Id_Entrada) - JOIN Proveedores P using(Id_Proveedor) - JOIN travel tr on tr.id = travel_id - WHERE empresa_id = emp_id - AND landing between '2015-01-02' and '2015-08-31' - AND noVincular = FALSE - AND E.Id_Proveedor NOT IN (12,4,30,850,963,IF(warehouse_id_out = 7, -0.48, 13)) - AND NOT redada - ORDER BY landing DESC - ) sub - GROUP BY Id_Article, warehouse_id - ) lb ON w_id = lb.warehouse_id AND inv.Id_Article = lb.Id_Article - -SET total = inv.cantidad * cost, -coste = cost, -inv.landing = lb.landing, -inv.Proveedor = lb.Proveedor, -inv.Id_Entrada = lb.Id_Entrada -WHERE inv.cantidad > 0; - -DELETE FROM inv WHERE Cantidad IS NULL or Cantidad <= 0 or total = 0; - - --- Incrementamos las cantidades para alcanzar el valor fijado al inicio -SELECT SUM(total) INTO inv_value FROM inv; - -UPDATE inv SET cantidad = ROUND(cantidad * inv_value_new / inv_value ,0); -UPDATE inv SET total = cantidad * coste; - - -IF bol_DESGLOSE THEN - - - - -SELECT inv.*, Article, Medida, Id_Tipo,reino_id -FROM inv -JOIN Articles USING(Id_Article) -JOIN Tipos TP USING(tipo_id) -where w_id IN (1,44, 5) -- JGF 2015-06-08 afegeix 41 a peticio de MAV -and total > 0 -order by total desc; - -ELSE - -SELECT w.name as Almacen, r.reino as Reino, total 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 -; - -END IF; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -28572,24 +25888,35 @@ 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 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-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 */ ; @@ -28801,7 +26128,7 @@ BEGIN 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; + SELECT 111/*Factura serie*/,Id_Trabajador,ti.ticket_id,NULL,serie FROM ticket_invoice ti; END IF; DROP TEMPORARY TABLE `iva_base`; @@ -29354,219 +26681,6 @@ DELIMITER ; /*!50003 SET character_set_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_disp_virt` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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_disp_virt`(v_wh SMALLINT, v_date DATETIME, id_single INT, v_cache INT) -BEGIN - DROP TEMPORARY TABLE IF EXISTS wh_father; - DROP TEMPORARY TABLE IF EXISTS wh_son; - DROP TEMPORARY TABLE IF EXISTS article_inventory; - - CREATE TEMPORARY TABLE wh_father - ( - wh SMALLINT, - INDEX i (wh) - ) - ENGINE = MEMORY; - - CREATE TEMPORARY TABLE wh_son - ( - wh INT, - INDEX i (wh) - ) - ENGINE = MEMORY; - - INSERT INTO wh_father(wh) VALUES(v_wh); - INSERT INTO wh_son(wh) VALUES(v_wh); - - -- Sols es crea la variable @wh_son quan es crida desde traslado JGF 2015-01-30 - IF @wh_son THEN - INSERT INTO wh_son(wh) VALUES(@wh_son); - END IF; - - CALL item_travel_fixed(v_wh,v_date); - SET @@max_sp_recursion_depth = 10; - - CALL item_disp_virt1 (v_wh, v_date, 0, id_single, v_cache); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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_disp_virt1` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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_disp_virt1`(v_wh SMALLINT, v_date DATETIME, direccion TINYINT, id_single INT, v_cache INT) -BEGIN - DECLARE wh_cursor,done TINYINT DEFAULT 0; - DECLARE v_shipment_aux DATETIME DEFAULT NULL; - DECLARE v_date_cur DATETIME DEFAULT CURDATE(); - DECLARE v_inv DATETIME; - DECLARE v_camp DATETIME; - DECLARE b_fprice TINYINT; - - -- selecciona tots els fills del @v_wh(actual) - DECLARE cur1 CURSOR FOR - SELECT son FROM warehouse_tree_bidi - WHERE father = v_wh AND son NOT IN (SELECT DISTINCT wh FROM wh_son); - - -- selecciona tots els pares del v_wh(actual) - DECLARE cur2 CURSOR FOR - SELECT father FROM warehouse_tree_bidi - WHERE son = v_wh AND father NOT IN (SELECT DISTINCT wh FROM wh_father); - DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; - - -SELECT FechaInventario, TIMESTAMPADD(DAY, -campaign_life, campaign) - INTO v_inv, v_camp FROM tblContadores LIMIT 1; - -- Crea una tabla amb el @v_wh - CALL hedera.sql_query (sql_printf('DROP TEMPORARY TABLE IF EXISTS %t;',v_wh)); - CALL hedera.sql_query (sql_printf('create temporary table %t - ( - article_id INT PRIMARY KEY, - amount DOUBLE(8,2) - )ENGINE = MEMORY;' - ,v_wh)); - -- Si es campanya fa el calcul del disponible senzill - IF v_camp >= v_date_cur AND v_camp <= v_date THEN - SET v_date_cur = v_camp; - ELSE - OPEN cur1; - FETCH cur1 INTO wh_cursor; - - -- mentre queden fills.. - WHILE !done DO - -- calcula la data per a la cual calcular el disponible del fill - SELECT MIN(landing) INTO v_shipment_aux - FROM travel t - WHERE t.warehouse_id_out = v_wh - AND t.warehouse_id = wh_cursor - AND t.shipment >= v_date - AND NOT t.delivered - AND t.landing >= t.shipment; - - -- afegeix en la taula wh_son el v_wh no tornar-lo a calcular - INSERT INTO wh_son(wh) VALUES (v_wh); - -- calcula del disponible del fill - CALL item_disp_virt1 (wh_cursor, v_shipment_aux, -1, id_single, v_cache); - - -- Li resta al @v_wh els negatius dels fills - CALL hedera.sql_query (sql_printf ( - 'INSERT INTO %t (article_id,amount) - SELECT item_id ,available FROM vn2008.tmp_item WHERE available < 0 - ON DUPLICATE KEY UPDATE - amount = amount + VALUES(amount);' - ,v_wh - )); - - FETCH cur1 INTO wh_cursor; - END WHILE; - CLOSE cur1; - - SET v_shipment_aux = NULL; - - -- si direccion < 0 sols mira fills, - -- si direccion > 0 mira pare i fills - -- si direccion = 0 mira pare i fills, a més es el cas base - IF direccion >= 0 THEN - - SET done = 0; - OPEN cur2; - FETCH cur2 INTO wh_cursor; - -- mentre queden pares.. - WHILE !done DO - -- calcula la data per a la cual calcular el disponible del pare - SELECT MAX(shipment) INTO v_shipment_aux FROM travel t - WHERE t.warehouse_id_out = wh_cursor - AND t.warehouse_id = v_wh - AND t.delivered = 0 - AND t.shipment >= CURDATE() - AND t.landing <= v_date; - -- afegeix en la taula wh_son i wh_father el v_wh no tornar-lo a calcular - INSERT INTO wh_son(wh) VALUES (v_wh); - INSERT INTO wh_father(wh) VALUES (v_wh); - IF v_shipment_aux IS NOT NULL THEN - -- calcula el disponible per al pare - CALL item_disp_virt1(wh_cursor,v_shipment_aux,1, id_single, v_cache); - -- li suma al v_wh el disponible positiu del pare - CALL hedera.sql_query (sql_printf('INSERT INTO %t (article_id,amount) - SELECT item_id ,available FROM vn2008.tmp_item WHERE available > 0 - ON DUPLICATE KEY UPDATE - amount = amount + VALUES(amount);',v_wh)); - ELSE - - -- travels provinents del pare després de FechaTicket - SELECT MIN(shipment) INTO v_shipment_aux FROM travel t - WHERE t.warehouse_id_out = wh_cursor - AND t.warehouse_id = v_wh - AND t.delivered = 0 - AND t.shipment >= CURDATE() -- avans AND t.shipment > CURDATE() - AND t.landing >= v_date; -- avans AND t.landing >= v_date; 23/09/11 - CALL item_disp_virt1(wh_cursor,v_shipment_aux,2, id_single, v_cache); - END IF; - FETCH cur2 INTO wh_cursor; - - END WHILE; - - END IF; - END IF; - - -- calcula el stock, que es igual al visible - CALL item_stock (v_wh, v_date,NULL); - - CALL item_stock_avail (v_wh, v_date,NULL,direccion); - - -- Li afegeix al disponible simple del v_wh el virtual - CALL hedera.sql_query (sql_printf('INSERT INTO vn2008.tmp_item ( item_id, available) - SELECT article_id, amount FROM %t - ON DUPLICATE KEY UPDATE - available = available + VALUES(available);',v_wh)); - -- si es el cas base - IF !direccion THEN - IF v_date = curdate() THEN - CALL item_stock_visible (v_wh,NULL); - END IF; - DELETE FROM cache_a WHERE cache_id = v_cache; - - CALL hedera.sql_query (sql_printf ( - 'INSERT INTO vn2008.cache_a (cache_id, item_id, visible, available, virtual, future) - SELECT %v, item_id, visible, available, IFNULL(amount,0) virtual, future - FROM vn2008.tmp_item - LEFT JOIN %t ON item_id = article_id - ON DUPLICATE KEY UPDATE - visible = VALUES(visible), - available = VALUES(available), - virtual = VALUES(virtual), - future = VALUES(future);' - ,v_cache - ,v_wh - - )); - END IF; - - CALL hedera.sql_query (sql_printf ('DROP TEMPORARY TABLE IF EXISTS %t;', 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 `item_express` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -29687,18 +26801,16 @@ BEGIN * @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 + + 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 @@ -29729,12 +26841,19 @@ DELIMITER ; 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 */ ; @@ -29813,7 +26932,7 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 @@ -29855,7 +26974,7 @@ BEGIN SET _self = CONCAT(v_wh, 'virtual'); -- crea una taula amb el nom del warehousevirtual - CALL hedera.sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t ( item_id INT(11), dat DATE, @@ -29913,7 +27032,7 @@ SET query = sql_printf ( -- 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 hedera.sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t ( item_id INT(11), dat DATE, @@ -30004,7 +27123,7 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 @@ -30052,7 +27171,7 @@ BEGIN -- Crea una taula amb el nom del almacen virtual - CALL hedera.sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t + CALL sql_query (sql_printf('CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t ( item_id INT(11), dat DATE, @@ -30118,7 +27237,7 @@ BEGIN -- 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 hedera.sql_query (sql_printf( + CALL sql_query (sql_printf( 'CREATE TEMPORARY TABLE IF NOT EXISTS vn2008.%t ( item_id INT(11), @@ -30346,7 +27465,7 @@ BEGIN AND landing BETWEEN v_date_start AND v_campaign ,TIMESTAMPADD(DAY, 1, v_campaign) ,landing - ) */ landing + ) */landing FROM travel_top WHERE wh_out <> v_wh ORDER BY landing @@ -30617,7 +27736,7 @@ UNTIL v_travel = -1 END REPEAT; AND landing BETWEEN v_date_start AND v_campaign ,TIMESTAMPADD(DAY, 1, v_campaign) ,landing - ) */ landing + ) */landing FROM travel_top WHERE wh_out <> v_wh ORDER BY landing @@ -30717,6 +27836,109 @@ and Fecha > '2015-01-01' 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 */ ; @@ -31046,101 +28268,92 @@ BEGIN DECLARE idC INT; DECLARE newFEC DATE; DECLARE intWarehouse INT; - DECLARE userNUM 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 v_start DATETIME; + DECLARE v_end DATETIME; DECLARE intTicketActual INT; - DECLARE SYSTEM_WORKER INT DEFAULT 20; - - SELECT Id_Trabajador INTO userNUM - FROM Trabajadores - WHERE user_id = account.userGetId(); - - IF userNUM IS NULL THEN - SET userNUM = 33; - end IF; + 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; + 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); - -- 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'); + 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'; - 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 IFNULL(datLanding,-1) = IFNULL(t.Landing,-1) - 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 - , newFEC - , 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'; - - UPDATE Tickets SET landing = datLanding WHERE Id_Ticket = Id_NEWTICKET; - - 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; + 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 */ ; @@ -31159,6 +28372,7 @@ DELIMITER ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `msg`(IN memTXT VARCHAR(255), IN idREM INTEGER, idDES INTEGER) BEGIN + DECLARE last_ID INTEGER; DECLARE codDES CHAR(3); @@ -31191,65 +28405,52 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_brother_add`(IN strTABLE VARCHAR(45) - ,IN strBROTHER_NEW VARCHAR(45) - ,IN idBROTHER_OLD INT - ) +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; -DECLARE v_sql TEXT; -DECLARE myRight INT; + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux SET rgt = (SELECT rgt FROM %t.%t WHERE id = %v)' + ,vSchema + ,vTable + ,vOldBrotherId + )); -DROP TEMPORARY TABLE IF EXISTS aux; -CREATE TEMPORARY TABLE aux -SELECT 0 as rgt; + SELECT rgt INTO vMyRight FROM aux; + DROP TEMPORARY TABLE aux; - - - SET v_sql = sql_printf ( - ' - UPDATE aux SET rgt = (SELECT rgt FROM %t WHERE id = %v); - ', - strTABLE, - idBROTHER_OLD); - -CALL sql_query (v_sql); - -SELECT rgt INTO myRight FROM aux; - -DROP TEMPORARY TABLE IF EXISTS aux; - - - - -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC; - ', - strTABLE, myRight); - -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC; - ',strTABLE, myRight); -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - INSERT INTO %t(name, lft, rgt) VALUES(%v, %v + 1, %v + 2); - ',strTABLE - ,strBROTHER_NEW - ,myRight - ,myRight); - -CALL sql_query (v_sql); - + 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 */ ; @@ -31266,64 +28467,52 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_child_add`(IN strTABLE VARCHAR(45) - ,IN strCHILD VARCHAR(45) - ,IN idFATHER INT - ) +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; -DECLARE v_sql TEXT; -DECLARE myLeft INT; + CALL util.exec (sql_printf ( + 'UPDATE vn2008.aux SET lft = (SELECT lft FROM %t.%t WHERE id = %v)' + ,vSchema + ,vTable + ,vFatherId + )); -DROP TEMPORARY TABLE IF EXISTS aux; -CREATE TEMPORARY TABLE aux -SELECT 0 as lft; + SELECT lft INTO vMyLeft FROM aux; - - - SET v_sql = sql_printf ( - ' - UPDATE aux SET lft = (SELECT lft FROM %t WHERE id = %v); - ', - strTABLE, - idFATHER); - -CALL sql_query (v_sql); + DROP TEMPORARY TABLE aux; -SELECT lft INTO myLeft FROM aux; - -DROP TEMPORARY TABLE IF EXISTS aux; - - - - -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt + 2 WHERE rgt > %v ORDER BY rgt DESC; - ', - strTABLE, myLeft); - -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft + 2 WHERE lft > %v ORDER BY lft DESC; - ',strTABLE, myLeft); -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - INSERT INTO %t(name, lft, rgt) VALUES(%v, %v + 1, %v + 2); - ',strTABLE - ,strCHILD - ,myLeft - ,myLeft); - -CALL sql_query (v_sql); - + 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 */ ; @@ -31340,66 +28529,54 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_delete`(IN strTABLE VARCHAR(45) ,IN idNODE INT) +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; -DECLARE v_sql TEXT; -DECLARE myRight INT; -DECLARE myLeft INT; -DECLARE myWidth INT; + 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 + )); -DROP TEMPORARY TABLE IF EXISTS aux; -CREATE TEMPORARY TABLE aux -SELECT 0 as rgt, 0 as lft, 0 as wdt; - - - SET v_sql = sql_printf ( - ' - UPDATE aux a JOIN %t t SET a.rgt = t.rgt, a.lft = t.lft, a.wdt = t.rgt - t.lft + 1 - WHERE t.id = %v; - ', - strTABLE, - idNODE); - -CALL sql_query (v_sql); - -SELECT rgt, lft, wdt INTO myRight, myLeft, myWidth FROM aux; - -DROP TEMPORARY TABLE IF EXISTS aux; - -SET v_sql = sql_printf ( - ' - DELETE FROM %t WHERE lft BETWEEN %v AND %v - ',strTABLE - ,myLeft - ,myRight); - -CALL sql_query (v_sql); - - - -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt; - ',strTABLE - ,myWidth - ,myRight); - -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft - %v WHERE lft > %v ORDER BY lft; - ',strTABLE - ,myWidth - ,myRight); - -CALL sql_query (v_sql); + 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 */ ; @@ -31416,84 +28593,82 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_leaves`(IN strTABLE VARCHAR(20), IN strTABLE_LINES VARCHAR(40), IN strNEST_ID VARCHAR(40), IN intGAP INTEGER, IN bolSHOW BOOLEAN) +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(); -DECLARE v_sql TEXT; + DROP TEMPORARY TABLE IF EXISTS tmp.nest; - -DROP TEMPORARY TABLE IF EXISTS tmp.nest; - --- Se llama al procedimiento que genera el arbol -CALL nest_tree(strTABLE, intGAP, 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 -SET v_sql = sql_printf ( - ' - update tmp.nest n - join vn2008.%t s using(id) - set n.time = s.odbc_date ; - ', strTABLE - ); - - -CALL sql_query (v_sql); - - --- Actualizamos el campo leaves para los nodos que tienen asociados -SET v_sql = sql_printf ( - ' - update tmp.nest n - join - ( - select %t as id, count(*) as leaves - from vn2008.%t - group by %t - ) s using(id) - set n.leaves = s.leaves - ; - ', strNEST_ID - , strTABLE_LINES - , strNEST_ID - ); - - -CALL sql_query (v_sql); - --- 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 bolSHOW THEN - SELECT * FROM tmp.nest; -END IF; + -- 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 */ ; @@ -31510,131 +28685,113 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_move`(IN strTABLE VARCHAR(45) ,IN idNODE INT, IN idFATHER INT) +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; -DECLARE v_sql TEXT; -DECLARE myRight INT; -DECLARE myLeft INT; -DECLARE myWidth INT; -DECLARE fatherRight INT; -DECLARE fatherLeft INT; -DECLARE gap INT; + -- Averiguamos el ancho de la rama -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; + 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 - - -- Averiguamos el ancho de la rama - SET v_sql = sql_printf ( - ' - UPDATE aux a JOIN %t t SET a.wdt = t.rgt - t.lft +1 - WHERE t.id = %v; - ', - strTABLE, - idNODE); - -CALL sql_query (v_sql); + 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 + )); --- Averiguamos la posicion del nuevo padre - SET v_sql = sql_printf ( - ' - UPDATE aux a JOIN %t t SET a.frg = t.rgt, a.flf = t.lft - WHERE t.id = %v; - ', - strTABLE, - idFATHER); - -CALL sql_query (v_sql); + SELECT wdt, frg, flf INTO myWidth, fatherRight, fatherLeft FROM aux; -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 + )); --- 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 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 -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt + %v WHERE rgt >= %v ORDER BY rgt DESC; - ',strTABLE - ,myWidth - ,fatherRight); - -CALL sql_query (v_sql); + 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 + )); -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft + %v WHERE lft >= %v ORDER BY lft DESC; - ',strTABLE - ,myWidth - ,fatherRight); - -CALL sql_query (v_sql); + SELECT lft, rgt, frg - lft INTO myLeft, myRight, gap FROM aux; --- Es preciso recalcular los valores del nodo en el caso de que estuviera a la derecha del nuevo padre + -- 2º Incrementamos el valor de todos los nodos a trasladar hasta alcanzar su nueva posicion -SET v_sql = sql_printf ( - ' - UPDATE aux a JOIN %t t SET a.rgt = t.rgt, a.lft = t.lft - WHERE t.id = %v; - ', - strTABLE, - idNODE); - -CALL sql_query (v_sql); + 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 + )); -SELECT lft, rgt, frg - lft INTO myLeft, myRight, gap FROM aux; + 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 --- 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 > %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 + )); -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft + %v WHERE lft BETWEEN %v AND %v ORDER BY lft DESC; - ',strTABLE - ,gap - ,myLeft - ,myRight); - -CALL sql_query (v_sql); - -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt + %v WHERE rgt BETWEEN %v AND %v ORDER BY rgt DESC; - ',strTABLE - ,gap - ,myLeft - ,myRight); - -CALL sql_query (v_sql); - --- 3º Restaremos a todos los nodos resultantes, a la derecha de la posicion arrancada el ancho de la rama escindida -SET v_sql = sql_printf ( - ' - UPDATE %t SET lft = lft - %v WHERE lft > %v ORDER BY lft; - ',strTABLE - ,myWidth - ,myLeft); - -CALL sql_query (v_sql); - - -SET v_sql = sql_printf ( - ' - UPDATE %t SET rgt = rgt - %v WHERE rgt > %v ORDER BY rgt; - ',strTABLE - ,myWidth - ,myRight); - -CALL sql_query (v_sql); - - -DROP TEMPORARY TABLE IF EXISTS aux; - + DROP TEMPORARY TABLE aux; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -31651,176 +28808,142 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_query`(IN strTABLE VARCHAR(45)) +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; -DECLARE v_sql TEXT; -DECLARE v_max_depth INT; -DECLARE v_current_depth INT; + -- Calculamos el nivel de profundidad para cada item -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 -SET v_sql = sql_printf ( - ' - CREATE TEMPORARY TABLE tmp.nest_depth - - SELECT node.id node_id, COUNT(parent.id) - 1 as depth - FROM %t AS node, - %t AS parent + 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 - ; - ', - strTABLE, - strTABLE - ); - - -CALL sql_query (v_sql); - -SELECT max(depth) FROM tmp.nest_depth INTO v_max_depth; -SET v_current_depth = 2; + ORDER BY node.lft' + ,vSchema + ,strTABLE + ,vSchema + ,strTABLE + )); -CREATE TEMPORARY TABLE tmp.nest_depth_aux -SELECT * FROM tmp.nest_depth; + 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 + -- 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; + DROP TEMPORARY TABLE IF EXISTS tmp.nest; + DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; - --- Primera tabla, con el nivel 0 -SET v_sql = 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 AS parent - JOIN tmp.nest_depth nd ON nd.node_id = parent.id AND nd.depth = 0, - %t AS child - JOIN tmp.nest_depth_aux ndc ON ndc.node_id = child.id AND ndc.depth = 1 + -- 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; - ', - strTABLE, - strTABLE - ); - -CALL sql_query (v_sql); + ORDER BY parent.lft' + ,vSchema + ,strTABLE + ,vSchema + ,strTABLE + )); -CREATE TEMPORARY TABLE tmp.nest_aux -SELECT * FROM tmp.nest; - - - --- Bucle -WHILE v_current_depth <= v_max_depth DO - - - DROP TEMPORARY TABLE IF EXISTS tmp.nest; - - SET v_sql = 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 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) - ,strTABLE - ,v_current_depth - ,v_current_depth - ); - - CALL sql_query (v_sql); - --- Actualizamos lft y rgt -SET v_sql = sql_printf ( - ' - UPDATE tmp.nest - JOIN %t AS child ON child.id = nest.ID - SET nest.lft = child.lft, nest.rgt = child.rgt, nest_id = nest.ID' - ,strTABLE - ); - -CALL sql_query (v_sql); - - - - ALTER TABLE tmp.nest DROP COLUMN ID; - - DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; - CREATE TEMPORARY TABLE tmp.nest_aux + 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; -END WHILE; + SELECT * FROM tmp.nest_aux; + -- Limpieza - --- Eliminamos los campos duplicados -SET v_current_depth = 0; - -WHILE v_current_depth <= v_max_depth DO - - SET @id = 0; - - SET v_sql = 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) - ); - - CALL sql_query (v_sql); - - SET v_current_depth = v_current_depth + 1; - -END WHILE; - - - - -SELECT * FROM tmp.nest_aux; - - --- Limpieza -DROP TEMPORARY TABLE IF EXISTS tmp.nest_aux; -DROP TEMPORARY TABLE IF EXISTS tmp.nest; -DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth_aux; -DROP TEMPORARY TABLE IF EXISTS tmp.nest_depth; - + 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 */ ; @@ -31837,50 +28960,36 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_sons_list`(IN intID INT, IN strTABLE VARCHAR(45), IN bolSHOW BOOLEAN) +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(); - -/* - -Esta función devuelve un recordset con los ID de todos los nodos que cuelgan del nodo que se pasa como parámetro - -*/ - - -DECLARE v_sql TEXT; - -DROP TEMPORARY TABLE IF EXISTS tmp.nest_sons; - - -SET v_sql = sql_printf ( - ' - CREATE TEMPORARY TABLE tmp.nest_sons - - SELECT DISTINCT node.id node_id - FROM %t AS node - JOIN %t AS parent ON node.lft between parent.lft and parent.rgt + 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 - ; - ', - strTABLE, - strTABLE, - intID - ); - - -CALL sql_query (v_sql); + ORDER BY node.lft' + ,vSchema + ,vTable + ,vSchema + ,vTable + ,vId + )); -IF bolSHOW THEN - - SELECT * FROM tmp.nest_sons; - -END IF; - - - - + IF vShouldShow THEN + SELECT * FROM tmp.nest_sons; + END IF; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -31897,42 +29006,38 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `nest_tree`(IN strTABLE VARCHAR(20), IN intGAP INTEGER, IN bolSHOW BOOLEAN) +CREATE DEFINER=`root`@`%` PROCEDURE `nest_tree`( + vTable VARCHAR(20) + ,vGap INT + ,vShouldShow BOOL +) BEGIN + DECLARE vSchema VARCHAR(255) DEFAULT SCHEMA(); -DECLARE v_sql TEXT; - - -DROP TEMPORARY TABLE IF EXISTS tmp.nest; - -SET v_sql = 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 AS node, - %t AS parent + 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; - ', - intGAP, - strTABLE, - strTABLE - ); - - -CALL sql_query (v_sql); - -IF bolSHOW THEN - SELECT * FROM tmp.nest; -END IF; - + 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 */ ; @@ -31997,51 +29102,96 @@ DELIMITER ; /*!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 */ ; @@ -32291,6 +29441,7 @@ BEGIN DECLARE max_range INT; + DROP TEMPORARY TABLE IF EXISTS previa; CREATE TEMPORARY TABLE previa @@ -32306,6 +29457,7 @@ GROUP BY Id_Cliente) sub ORDER BY Total ) sub2; + SELECT COUNT(*) INTO max_range FROM previa; UPDATE Clientes SET percentil = 0; @@ -32313,6 +29465,7 @@ 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 */ ; @@ -32381,10 +29534,10 @@ BEGIN 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 sql_query (sql_printf (' - SELECT price FROM Agencias_zonas az + 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 Agencias_province + 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; @@ -32676,11 +29829,18 @@ 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 */ ; @@ -32700,13 +29860,56 @@ 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 */ ; @@ -33123,8 +30326,9 @@ 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,-1,CURDATE()), vEndingDate); + CALL prepare_ticket_list(TIMESTAMPADD(DAY,0,CURDATE()-1), vEndingDate); CALL prepare_client_list; CALL production_buffer_problems; @@ -33138,14 +30342,15 @@ BEGIN , t.Alias , t.Bultos , HOUR(t.Fecha) as Hora - , HOUR(t.Fecha) as Departure + , 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('ZONA ',ap.zona), a.Agencia) Agencia + , 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 @@ -33162,11 +30367,12 @@ BEGIN 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 - JOIN province p on p.province_id = CS.province_id + 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); @@ -33275,7 +30481,7 @@ BEGIN -- Refresca la caché para el cierre dinámico de agencias - CALL cache.departure_timing; + CALL cache.departure_timing(vWarehouseId); -- Tickets de recogida @@ -33318,6 +30524,261 @@ DELIMITER ; /*!50003 SET character_set_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_extracto` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -34169,7 +31630,7 @@ BEGIN 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.dateBooking,r.fecha) BETWEEN datSTART AND datFEC + WHERE IFNULL(r.bookEntried,r.fecha) BETWEEN datSTART AND datFEC AND r.contabilizada GROUP BY r.id @@ -34684,7 +32145,6 @@ BEGIN -- 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; @@ -34723,8 +32183,28 @@ BEGIN 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; - + 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) @@ -34750,9 +32230,8 @@ BEGIN WHERE Fecha BETWEEN dateStart AND maxDate AND Factura Is NULL; - CALL ticket_total(); - - + CALL ticket_total(); + -- Generamos otra tabla temporal con los Tickets_iva DROP TEMPORARY TABLE IF EXISTS tt3; @@ -34767,86 +32246,39 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS Radartest; CREATE TEMPORARY TABLE Radartest - - SELECT IF(C.Id_Trabajador = worker, 1, 0) as Propio, + (INDEX (Id_Ticket)) + ENGINE = MEMORY + SELECT IF(c.Id_Trabajador = worker, 1, 0) as Propio, Credito, - Riesgo, + 0 Riesgo, -- Greuge, - T.Id_Ticket, - T.warehouse_id as wh, - T.Fecha, - T.Alias, + 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, - Date(T.Fecha) as Fecha_Simple, - T.Importe, - C.Descuento, - C.calidad, - C.Id_Cliente, + a.Agencia Tipo, + tt3.Id_Trabajador, + t.Solucion, + t.Localizacion, + IFNULL(s.`name`,'LIBRE') as Estado, + ts.alertLevel, + Date(t.Fecha) as Fecha_Simple, + tt3.total as 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, 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.ticket_id = 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 ticket_total tt - INNER JOIN Tickets t ON t.Id_Ticket = tt.ticket_id - 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 - - - ; - + FROM tt3 + JOIN Tickets t ON t.Id_Ticket = tt3.ticket_id + JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente + LEFT JOIN vn.ticketState ts on ts.ticket = tt3.ticket_id + LEFT JOIN vn2008.state s on s.id = ts.state + JOIN Agencias a ON a.Id_Agencia = t.Id_Agencia + LEFT JOIN Consignatarios co ON co.Id_Consigna = t.Id_Consigna + LEFT JOIN province p ON p.province_id = co.province_id; + -- Actualizamos el Riesgo con los tickets futuros set @cliente:= 0; SET @riesgo := 0; @@ -34864,7 +32296,7 @@ BEGIN CALL prepare_client_list(); CALL production_buffer_problems; - + UPDATE Radartest r JOIN ( SELECT Id_Ticket, GROUP_CONCAT(problem) problem @@ -34991,6 +32423,100 @@ BEGIN 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 */ ; @@ -35105,6 +32631,77 @@ DELIMITER ; /*!50003 SET character_set_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 */ ; @@ -35601,7 +33198,7 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `recobro_credito`() BEGIN @@ -35637,7 +33234,12 @@ 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 */ ; @@ -35879,7 +33481,7 @@ DELIMITER ; /*!50003 SET character_set_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` */; +/*!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 */ ; @@ -35889,16 +33491,16 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `risk`(v_date DATE, v_customer INT) +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; @@ -35914,8 +33516,6 @@ BEGIN 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 @@ -35939,12 +33539,12 @@ BEGIN JOIN Tickets t ON tt.ticket_id = t.Id_Ticket GROUP BY t.Id_Cliente UNION ALL - SELECT t.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - WHERE (v_customer IS NULL OR t.customer_id = v_customer) - AND t.receipt_id IS NULL + 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.customer_id + GROUP BY t.clientFk ) t ON c.Id_Cliente = t.customer_id WHERE c.activo != FALSE GROUP BY c.Id_Cliente; @@ -35973,47 +33573,43 @@ 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, -40, CURDATE()); - DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, CURDATE()); + */ + 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; + 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)) + (PRIMARY KEY (Id_Cliente)) ENGINE = MEMORY - SELECT t.Id_Cliente, floor(IF(VIES, 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; + 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 @@ -36021,142 +33617,38 @@ BEGIN 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.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)), CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - JOIN tmp.client_list_3 on Id_Cliente = customer_id - WHERE t.receipt_id IS NULL + 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.customer_id - ) t ON c.Id_Cliente = t.customer_id + 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 `risk_vs_client_listbeta` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_listbeta`(maxRiskDate DATE) -BEGIN -/** - * Calcula el riesgo para los clientes activos de la tabla temporal tmp.client_list - * - * @param maxRiskDate Fecha maxima de los registros - * @return table tmp.risk - **/ - - -- DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(DAY, -40, CURDATE()); - DECLARE startingDate DATETIME DEFAULT TIMESTAMPADD(DAY, - DAYOFMONTH(CURDATE()) - 5, 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; - select 1; - 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; - - select 2; - 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, Cantidad 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 - WHERE Factura IS NULL - AND Fecha BETWEEN startingDate AND endingDate - GROUP BY t.Id_Cliente; -select 3; - 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.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)), CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - JOIN tmp.client_list_3 on Id_Cliente = customer_id - WHERE t.receipt_id IS NULL - AND t.status = 'ok' - GROUP BY t.customer_id - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; -select 4; - 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'; -select 5; - - + 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 */ ; @@ -36217,6 +33709,104 @@ UNION ALL 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 */ ; @@ -36883,11 +34473,11 @@ 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 = latin1 */ ; -/*!50003 SET character_set_results = latin1 */ ; -/*!50003 SET collation_connection = latin1_swedish_ci */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `sql_query`(IN v_sql TEXT) BEGIN @@ -37093,6 +34683,94 @@ DELIMITER ; /*!50003 SET character_set_client = @saved_cs_client */ ; /*!50003 SET character_set_results = @saved_cs_results */ ; /*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `supplierExcerpt` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `supplierExcerpt`(vSupplierFk INT, vCurrencyFk INT, vCompanyFk INT, vOrderBy VARCHAR(15)) +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 + 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, 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 */ ; /*!50003 DROP PROCEDURE IF EXISTS `suppliersDebt` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -37585,89 +35263,43 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_iva`(billing_date DATE) +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. * - * @param table ticket_tmp(ticket_id) Tabla con el listado de tickets - * @param billing_date Fecha de facturación + * @deprecated Use procedure vn.ticketGetTax() instead * - * @return table ticket_iva - **/ + * @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; - DECLARE clean CONDITION FOR SQLSTATE 'HY000'; - DECLARE CONTINUE HANDLER FOR clean - BEGIN - DROP TEMPORARY TABLE IF EXISTS iva_group; - DROP TEMPORARY TABLE IF EXISTS iva_tax; - END; - - SIGNAL clean; - DROP TEMPORARY TABLE IF EXISTS ticket_iva; - - SET billing_date = IFNULL(billing_date, CURDATE()); - - -- Calcula el tipo de IVA para cada grupo en cada país. - - CREATE TEMPORARY TABLE iva_group - (INDEX idx USING HASH (Id_Pais, iva_group_id)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT Id_Pais, iva_group_id, c.tipo - FROM iva_group_codigo g - JOIN iva_codigo c ON g.iva_codigo_id = c.id - JOIN iva_tipo t ON t.id = c.iva_tipo_id - WHERE date <= billing_date - ORDER BY date DESC - ) t - GROUP BY Id_Pais, iva_group_id; - - -- Calcula el impuesto para cada tipo de IVA en cada país. - - CREATE TEMPORARY TABLE iva_tax - (INDEX idx USING HASH (Id_Pais, tipo)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT Id_Pais, tipo, iva * 0.01 AS iva, recargo * 0.01 AS re - FROM iva_codigo - JOIN iva_tipo t ON t.id = iva_tipo_id - WHERE Fecha <= billing_date -- AND iva jgf 2016-06-09 fallaba con los articulos exentos de iva - ORDER BY fecha DESC, recargo DESC - ) t - GROUP BY Id_Pais, tipo; - - -- Calcula el IVA y el recargo desglosado para cada ticket. + CALL vn.ticketGetTax (vBillingDate); CREATE TEMPORARY TABLE ticket_iva - (INDEX idx USING HASH (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id, b.tipo, bi, IF(has_iva, red(bi * iva), 0) iva, IF(has_re, red(bi * i.re), 0) re - FROM ( - SELECT ticket_id, g.Id_Pais, g.tipo - ,SUM(red(m.Cantidad * m.Preu * (100 - m.Descuento) / 100)) AS bi - ,NOT(VIES AND p.pais_id <> c.Id_Pais) AS has_iva - ,RE != FALSE AS has_re - FROM ticket_tmp i - JOIN Tickets t ON t.Id_ticket = i.ticket_id - JOIN Clientes c ON c.Id_Cliente = t.Id_Cliente - JOIN Proveedores p ON p.Id_Proveedor = t.empresa_id - JOIN Movimientos m ON m.Id_Ticket = i.ticket_id - JOIN Articles a USING(Id_Article) - JOIN iva_group g ON g.Id_Pais = p.pais_id AND g.iva_group_id = a.iva_group_id - GROUP BY ticket_id, tipo - ) b - JOIN iva_tax i ON i.Id_Pais = b.Id_Pais AND i.tipo = b.tipo; - - SIGNAL clean; + (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_locator` */; +/*!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 */ ; @@ -37677,7 +35309,199 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_locator`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) +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()); @@ -37715,7 +35539,7 @@ BEGIN 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 */IFNULL(aw.Vista,a.Vista) > 0 AND ((t1.Anotadoencaja = FALSE AND t1.Etiquetasemitidas = FALSE AND e.ticket_id IS NULL @@ -37745,11 +35569,11 @@ BEGIN WHERE t.Fecha <= v_date_end GROUP BY t.Id_Cliente UNION ALL - SELECT t.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - WHERE t.receipt_id IS NULL + 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.customer_id + GROUP BY t.clientFk ) t ON c.Id_Cliente = t.customer_id WHERE c.activo != FALSE GROUP BY c.Id_Cliente; @@ -37847,7 +35671,7 @@ DELIMITER ; /*!50003 SET character_set_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_locatorbeta` */; +/*!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 */ ; @@ -37857,199 +35681,7 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_locatorbeta`(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.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - WHERE t.receipt_id IS NULL - AND t.status = 'ok' - GROUP BY t.customer_id - ) 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_locator_experimental` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_experimental`(IN date_ DATETIME,IN wh_ INT, IN days TINYINT) +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()); @@ -38126,11 +35758,11 @@ BEGIN WHERE t.Fecha <= v_date_end GROUP BY t.Id_Cliente UNION ALL - SELECT t.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - WHERE t.receipt_id IS NULL + 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.customer_id + GROUP BY t.clientFk ) t ON c.Id_Cliente = t.customer_id WHERE c.activo != FALSE GROUP BY c.Id_Cliente; @@ -38483,20 +36115,19 @@ BEGIN /** * Calcula el total con IVA de un conjunto de tickets. * - * @param table ticket_tmp(ticket_id) Tabla con el listado de tickets + * @deprecated Use procedure vn.ticketGetTotal() instead * + * @table ticket_tmp(ticket_id) Tabla con el listado de tickets * @return table ticket_total - **/ - - DROP TEMPORARY TABLE IF EXISTS ticket_total; - + */ CALL ticket_iva (NULL); + DROP TEMPORARY TABLE IF EXISTS ticket_total; CREATE TEMPORARY TABLE ticket_total - (INDEX idx USING HASH (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id, red(SUM(bi + iva + re)) AS total - FROM ticket_iva GROUP BY ticket_id; + (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 ;; @@ -38523,23 +36154,18 @@ BEGIN DROP TEMPORARY TABLE IF EXISTS ticket_volumen; SELECT warehouse_id, Fecha INTO intWh,datFecha FROM Tickets WHERE Id_Ticket = idT; - CALL item_last_buy_(intWh,datFecha); - 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(cm3(Id_Compra)/1000000/Packing,3) as VolUd ,M.Cantidad,round(M.Cantidad * cm3(Id_Compra)/1000000/Packing,3) as Volumen, + 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 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 bi.rotacion r ON r.Id_Article = M.Id_Article AND r.warehouse_id = T.warehouse_id WHERE M.Id_Ticket = idT - ) sub - JOIN Agencias a using(Id_Agencia); + ) sub; - DROP TEMPORARY TABLE t_item_last_buy; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -38776,7 +36402,6 @@ BEGIN 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 @@ -38891,7 +36516,9 @@ BEGIN C.Packing PackingOrigin, - C.Id_Compra CompraOrigin + C.Id_Compra CompraOrigin, + + CB.costeRetorno FROM Articles ar LEFT JOIN tmp_item AIM ON AIM.item_id = ar.Id_Article @@ -38933,7 +36560,7 @@ BEGIN MOD(Cantidad , grouping) as Soll, - (IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing as cm3, + ROUND((IF(Volumen > 0,Volumen,x * y * IF(z = 0, Medida + 10, z))) / Packing,0) as cm3, Costefijo + Comisionfija + Portefijo AS Cost, @@ -38941,7 +36568,7 @@ BEGIN @comision := ROUND((Costefijo + Comisionfija + Portefijo) * comision / 100 ,3) AS Comision, - @embalaje := IF(Retornable != 0, 0,ROUND(Valor / Packing,3)) AS Embalaje, + 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, @@ -39161,6 +36788,213 @@ BEGIN 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 */ ; @@ -39747,18 +37581,20 @@ SELECT wo.name as OrigenCajas, tr.landing, w.name as Destino, - NULL as Etiquetas, + sum(c.Etiquetas) as Etiquetas, NULL as Notas_Eva, kg, - cast(sum(tp.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedKg, + 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 awb + NULL as Notas, + pc.Proveedor as Carguera FROM travel tr - JOIN Entradas e ON e.travel_id = tr.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 + 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 @@ -39780,20 +37616,23 @@ SELECT sum(Etiquetas) as Etiquetas, e.Notas_Eva, NULL as kg, - cast(sum(tp.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedkg, + 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 + -- 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 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 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 @@ -40092,9 +37931,9 @@ WHILE NOT done DO 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) + ,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 + ,grouping, caja,/* container_id, */Nicho, Id_Cubo, Tarifa1,Tarifa2,Tarifa3, PVP, Productor FROM Compres WHERE Id_Entrada = myEntrada; @@ -40161,7 +38000,7 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 @@ -40224,7 +38063,7 @@ SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( SELECT * from stock_actual;*/ -- TEMPORARY -CALL hedera.sql_query (sql_printf(' +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 @@ -40813,7 +38652,7 @@ DELIMITER ; /*!50003 SET character_set_results = utf8 */ ; /*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET 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 @@ -40864,7 +38703,7 @@ SELECT Id_Article article_id,SUM(Cantidad) amount FROM ( SELECT * from stock_actual;*/ -- TEMPORARY -CALL hedera.sql_query (sql_printf(' +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 @@ -41224,6 +39063,144 @@ 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); + + 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 + ON DUPLICATE KEY UPDATE inv.amount = inv.amount + C.Cantidad; + + 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; + + 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; + + + 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 */ ; @@ -41313,27 +39290,22 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `vips_in_a_week`(IN strCONDITION varchar(512)) +CREATE DEFINER=`root`@`%` PROCEDURE `vips_in_a_week`(vCondition VARCHAR(512)) BEGIN -call sql_query( CONCAT('SELECT C.Id_Cliente, C.Cliente, RED(SUM((M.Cantidad * M.Preu) * 100 - M.Descuento) / 100) as Importe - FROM Clientes C INNER JOIN Tickets T ON T.Id_Cliente = C.Id_Cliente - INNER JOIN Movimientos M ON M.Id_Ticket = T.Id_Ticket - INNER JOIN Articles A ON A.Id_Article = M.Id_Article - JOIN Tipos TP ON A.tipo_id = TP.tipo_id - INNER JOIN Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador - WHERE ', - - strCONDITION, - - - ' GROUP BY Id_Cliente - HAVING Importe > 0 - ORDER BY Importe DESC - ') - - -); + CALL util.exec (CONCAT( + 'SELECT C.Id_Cliente, C.Cliente, 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 Id_Cliente + HAVING Importe > 0 + ORDER BY Importe DESC' + )); END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -41350,26 +39322,21 @@ DELIMITER ; /*!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`(IN strCONDITION varchar(512)) +CREATE DEFINER=`root`@`%` PROCEDURE `vips_in_a_week_by_client`(vCondition VARCHAR(512)) BEGIN - -call sql_query( 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 Clientes C INNER JOIN Tickets T ON T.Id_Cliente = C.Id_Cliente - INNER JOIN Movimientos M ON M.Id_Ticket = T.Id_Ticket - INNER JOIN Articles A ON A.Id_Article = M.Id_Article - JOIN Tipos TP ON A.tipo_id = TP.tipo_id - INNER JOIN Trabajadores TR ON TR.Id_Trabajador = TP.Id_Trabajador - WHERE ', - - strCONDITION, - - ' GROUP BY M.Id_Article, A.Article, A.Medida, A.Color, A.Categoria, M.Preu, M.Descuento ' - - ) - ); - + 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 */ ; @@ -41389,41 +39356,78 @@ 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 */ ; @@ -41442,35 +39446,65 @@ DELIMITER ; 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 */ ; @@ -41519,27351 +39553,6 @@ DELIMITER ; /*!50003 SET character_set_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 - CALL inventario_multiple_reservas(vDate, 7, 4848); - CALL article_multiple_buy(vDate, 7); - - SELECT Temperatura - ,ROUND(SUM(Etiquetas * cm3_2(Id_Cubo, Id_Article))) AS cm3 - ,ROUND(SUM(IF(scanned,Etiquetas,0) * cm3_2(Id_Cubo, Id_Article))) AS cm3s - ,ROUND(SUM(Vida * cm3_2(Id_Cubo, Id_Article))) AS cm3e - FROM ( - SELECT t.Temperatura, c.Etiquetas, c.Id_Cubo, c.Id_Article, b.scanned, c.Vida - 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 - WHERE tr.warehouse_id = vWarehouse - AND tr.landing = vDate - UNION ALL - SELECT t.Temperatura, @e:= ai.visible/c.packing, c.Id_Cubo, ai.article_id, @e, @e - FROM article_inventory ai - JOIN Compres c ON c.Id_Compra = ai.buy_id - JOIN Articles a ON a.Id_Article = ai.article_id - JOIN Tipos t ON t.tipo_id = a.tipo_id - WHERE avalaible > 0 - ) sub - GROUP BY Temperatura; - - 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 `__sql_signal` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_signal`(v_code CHAR(35)) -BEGIN - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = v_code; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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`) -) 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 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 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 `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` ( - `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 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 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 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 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 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping routines for database 'bi' --- -/*!50003 DROP FUNCTION IF EXISTS `nz` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `nz`(dblCANTIDAD DOUBLE) RETURNS double -BEGIN - -DECLARE dblRESULT DOUBLE; - -SET dblRESULT = IFNULL(dblCANTIDAD,0); - -RETURN dblRESULT; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_evolution_add` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_evolution_add`() -BEGIN - DECLARE vPreviousPeriod INT; - DECLARE vCurrentPeriod INT; - DECLARE vLastPeriod INT; - DECLARE vMinPeriod INT DEFAULT 201400; - DECLARE vMaxPeriod INT DEFAULT vn2008.vnperiod(CURDATE()); - - DECLARE vYear INT; - DECLARE vWeek INT; - - -- Almacen - - SET vCurrentPeriod = IFNULL(vLastPeriod, vMinPeriod); - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(Periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_almacen_evolution - WHERE Periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_almacen_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_almacen_evolution(Almacen, Ventas, Semana,Año, Periodo) - SELECT Almacen, sum(Ventas) AS Ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT almacen, sum(Importe) AS Ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY almacen - UNION ALL - SELECT almacen, - sum(Importe) AS Ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY almacen - UNION ALL - SELECT Almacen, Ventas - FROM bi.analisis_ventas_almacen_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY Almacen; - END WHILE; - - -- Reino - - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_reino_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_reino_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_reino_evolution(reino, ventas, semana,año, periodo) - SELECT reino, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Reino, sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY Reino - UNION ALL - SELECT Reino, - sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY Reino - UNION ALL - SELECT reino, ventas - FROM bi.analisis_ventas_reino_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY reino; - END WHILE; - - -- Familia - - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_familia_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_familia_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_familia_evolution(familia, ventas, semana,año, periodo) - SELECT Familia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Familia, sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY familia - UNION ALL - SELECT Familia, - sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY familia - UNION ALL - SELECT familia, ventas - FROM bi.analisis_ventas_familia_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY Familia; - END WHILE; - - -- Comprador - -- FIXME: Bucle infinito porque la tabla está vacía -/* - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT IFNULL(MAX(periodo),vMinPeriod) INTO vPreviousPeriod - FROM bi.analisis_ventas_comprador_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_comprador_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_comprador_evolution(comprador, ventas, semana,año, periodo) - SELECT Comprador, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Comprador, sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY Comprador - UNION ALL - SELECT Comprador, - sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY Comprador - UNION ALL - SELECT comprador, IFNULL(ventas,0) - FROM bi.analisis_ventas_comprador_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY Comprador; - END WHILE; -*/ - -- Provincia - - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_provincia_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_provincia_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_provincia_evolution(provincia, ventas, semana,año, periodo) - SELECT Provincia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Provincia, sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY Provincia - UNION ALL - SELECT Provincia, - sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY Provincia - UNION ALL - SELECT provincia, ventas - FROM bi.analisis_ventas_provincia_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY Provincia; - END WHILE; - - -- Vista - - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_vista_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_vista_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_vista_evolution(vista, ventas, semana,año, periodo) - SELECT vista, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Vista, sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY Vista - UNION ALL - SELECT Vista, - sum(Importe) AS ventas - FROM bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY Vista - UNION ALL - SELECT vista, ventas - FROM bi.analisis_ventas_vista_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY Vista; - END WHILE; - - -- Vendedor - - SET vCurrentPeriod = vMinPeriod; - - WHILE vCurrentPeriod < vMaxPeriod - DO - SELECT MAX(periodo) INTO vPreviousPeriod - FROM bi.analisis_ventas_vendedor_evolution - WHERE periodo < vMaxPeriod; - - SELECT MIN(period) INTO vCurrentPeriod - FROM vn2008.time - WHERE period > vPreviousPeriod; - - SET vYear = FLOOR(vCurrentPeriod / 100); - SET vWeek = vCurrentPeriod - (vYear * 100); - - DELETE FROM bi.analisis_ventas_vendedor_evolution - WHERE Periodo = vCurrentPeriod; - - REPLACE bi.analisis_ventas_vendedor_evolution(vendedor, ventas, semana,año, periodo) - SELECT Comercial AS vendedor, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod - FROM ( - SELECT Comercial, sum(Importe) AS ventas - from bi.analisis_ventas - WHERE vYear = Año - AND vWeek = Semana - GROUP BY Comercial - UNION ALL - SELECT Comercial, - sum(Importe) AS ventas - from bi.analisis_ventas - WHERE vYear - 1 = Año - AND vWeek = Semana - GROUP BY Comercial - UNION ALL - SELECT vendedor, ventas - FROM bi.analisis_ventas_vendedor_evolution - WHERE Periodo = vPreviousPeriod - ) sub - GROUP BY vendedor; - END WHILE; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_simple` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_simple`() -BEGIN - -TRUNCATE bi.analisis_grafico_simple; - -INSERT INTO bi.analisis_grafico_simple SELECT * FROM bi.analisis_grafico_ventas; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_update` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_update`() -BEGIN - - DECLARE vLastMonth DATE; - - SET vLastMonth = util.firstDayOfMonth(TIMESTAMPADD(MONTH, -1, CURDATE())); - - DELETE FROM bi.analisis_ventas - WHERE Año > YEAR(vLastMonth) - OR (Año = YEAR(vLastMonth) AND Mes >= MONTH(vLastMonth)); - - INSERT INTO bi.analisis_ventas - - SELECT - `tp`.`Tipo` AS `Familia`, - `r`.`reino` AS `Reino`, - `tr`.`CodigoTrabajador` AS `Comercial`, - `tr2`.`CodigoTrabajador` AS `Comprador`, - `p`.`name` AS `Provincia`, - `w`.`name` AS `almacen`, - `time`.`year` AS `Año`, - `time`.`month` AS `Mes`, - `time`.`week` AS `Semana`, - `v`.`vista` AS `Vista`, - `bt`.`importe` AS `Importe` - FROM - (((((((((`bs`.`ventas` `bt` - LEFT JOIN `vn2008`.`Tipos` `tp` ON ((`tp`.`tipo_id` = `bt`.`tipo_id`))) - LEFT JOIN `vn2008`.`reinos` `r` ON ((`r`.`id` = `tp`.`reino_id`))) - LEFT JOIN `vn2008`.`Clientes` c on c.Id_Cliente = bt.Id_Cliente - LEFT JOIN `vn2008`.`Trabajadores` `tr` ON ((`tr`.`Id_Trabajador` = `c`.`Id_Trabajador`))) - LEFT JOIN `vn2008`.`Trabajadores` `tr2` ON ((`tr2`.`Id_Trabajador` = `tp`.`Id_Trabajador`))) - JOIN vn2008.time on time.date = bt.fecha - JOIN vn2008.Movimientos m on m.Id_Movimiento = bt.Id_Movimiento - LEFT JOIN `vn2008`.`Tickets` `t` ON ((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) - JOIN vn2008.Agencias a on a.Id_Agencia = t.Id_Agencia - LEFT JOIN `vn2008`.`Vistas` `v` ON ((`v`.`vista_id` = `a`.`Vista`))) - LEFT JOIN `vn2008`.`Consignatarios` `cs` ON ((`cs`.`Id_Consigna` = `t`.`Id_Consigna`))) - LEFT JOIN `vn2008`.`province` `p` ON ((`p`.`province_id` = `cs`.`province_id`))) - LEFT JOIN `vn2008`.`warehouse` `w` ON ((`w`.`id` = `t`.`warehouse_id`))) - WHERE bt.fecha >= vLastMonth AND r.mercancia; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `call_add` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `call_add`() -BEGIN - -DECLARE datSTART DATETIME DEFAULT '2012-03-01'/*CURDATE()*/ ; --- control -INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.call_add'); - --- Seleccionamos la ultima fecha introducida -SELECT MAX(Fecha) INTO datSTART FROM `call`; - - --- Borramos todas las entradas del dia datSTART por si hubiese registros nuevos -DELETE FROM `call` WHERE Fecha = datSTART; - -INSERT INTO bi.`call`(CodTrabajadorCartera,CodTrabajadorTelefono,dur_in,dur_out,Fecha,`year`,`month`,`week`,`hour`,phone) -SELECT vn2008.Averiguar_ComercialCliente(pb.Id_Cliente,Fecha) CodTrabajadorCartera,ll.CodigoTrabajador, dur_in, - dur_out, ll.Fecha,YEAR(ll.Fecha) `year`, MONTH(ll.Fecha) `month`,WEEK(ll.Fecha,7) `week`, Hora,phone -FROM -( -SELECT Id_Trabajador,CodigoTrabajador, IFNULL(billsec,0) dur_in, 0 dur_out, 1 as Recibidas, NULL as Emitidas, calldate as Fecha, - hour(calldate) as Hora,src as phone -FROM vn2008.Trabajadores T -INNER JOIN vn2008.cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') -WHERE calldate >= datSTART AND LENGTH(C.src) >=9 AND disposition = 'ANSWERED' AND duration -UNION ALL -SELECT Id_Trabajador,CodigoTrabajador,0 dur_in, IFNULL(billsec,0) dur_out, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate),dst -FROM vn2008.Trabajadores T -INNER JOIN vn2008.cdr C ON C.src = T.extension -WHERE calldate >= datSTART AND LENGTH(C.dst) >=9 AND disposition = 'ANSWERED' AND duration -) ll -INNER JOIN vn2008.Permisos USING(Id_Trabajador) -LEFT JOIN vn2008.v_phonebook pb ON pb.Telefono = ll.phone -WHERE Id_Grupo = 6; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `claim_ratio_routine` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `claim_ratio_routine`() -BEGIN - -DECLARE vMonthToRefund INT DEFAULT 4; - --- control -INSERT INTO vn2008.daily_task_log(consulta) - VALUES('bi.claim_ratio_routine START'); - -/* -* PAK 2015-11-20 -* Se trata de añadir a la tabla Greuges todos los -* cargos que luego vamos a utilizar para calcular el recobro -*/ - --- descuentos comerciales COD 11 - -INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, Importe, Id_Ticket) - SELECT Fecha, Id_Cliente, Concat('COD11 : ',Concepte), - round(Cantidad * - Preu * (100 - Descuento) / 100 ,2) AS Importe, t.Id_Ticket - FROM vn2008.Tickets t - JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket - WHERE Id_Article = 11 - AND Concepte NOT LIKE '$%' - AND Fecha > '2014-01-01' - HAVING nz(Importe) <> 0; - -DELETE mc.* - FROM vn2008.Movimientos_componentes mc - JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket - WHERE m.Id_Article = 11 - AND m.Concepte NOT LIKE '$%' - AND t.Fecha > '2017-01-01'; - -INSERT INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) - SELECT m.Id_Movimiento, 34, round(m.Preu * (100 - m.Descuento)/100,4) - FROM vn2008.Movimientos m - JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket - WHERE m.Id_Article = 11 - AND m.Concepte NOT LIKE '$%' - AND t.Fecha > '2017-01-01'; - -UPDATE vn2008.Movimientos m - JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket - SET Concepte = CONCAT('$ ',Concepte) - WHERE Id_Article = 11 - AND Concepte NOT LIKE '$%' - AND Fecha > '2014-01-01'; - --- Reclamaciones demasiado sensibles - -INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, - Importe, Greuges_type_id,Id_Ticket) - SELECT cm.Fecha - , cm.Id_Cliente - , concat('Claim ',cm.id,' : ', m.Concepte) - ,round( -1 * ((sensib -1)/4) * Cantidad * - Preu * (100 - Descuento) / 100, 2) AS Reclamaciones - , 4 - , m.Id_Ticket - FROM vn2008.Movimientos m - JOIN vn2008.cl_act ca USING(Id_Movimiento) - JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id - WHERE ca.cl_sol_id NOT IN (1,5) - AND ca.greuge = 0 - AND cm.cl_est_id = 3; - - -- Reclamaciones que pasan a Maná - -INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, - Importe , Greuges_type_id,Id_Ticket) - SELECT cm.Fecha - , cm.Id_Cliente - , concat('Claim_mana ',cm.id,' : ', m.Concepte) - ,round( ((sensib -1)/4) * Cantidad * Preu * (100 - Descuento) / 100, 2) - AS Reclamaciones - ,3 - ,m.Id_Ticket - FROM vn2008.Movimientos m - JOIN vn2008.cl_act ca USING(Id_Movimiento) - JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id - WHERE ca.cl_sol_id NOT IN (1,5) - AND ca.greuge = 0 - AND cm.cl_est_id = 3 - AND cm.mana; - - -- Marcamos para no repetir -UPDATE vn2008.cl_act ca - JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id - SET greuge = 1 - WHERE ca.cl_sol_id NOT IN (1,5) - AND ca.greuge = 0 - AND cm.cl_est_id = 3; - - - --- Recobros - -DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; -CREATE TEMPORARY TABLE tmp.ticket_list -(PRIMARY KEY (Id_Ticket)) -SELECT DISTINCT t.Id_Ticket - FROM vn2008.Movimientos_componentes mc - JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento - JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN vn2008.Tickets_state ts ON ts.Id_Ticket = t.Id_Ticket - JOIN vncontrol.inter i ON i.inter_id = ts.inter_id - JOIN vn2008.state s ON s.id = i.state_id - WHERE mc.Id_Componente = 17 - AND mc.greuge = 0 - AND t.Fecha >= '2016-10-01' - AND t.Fecha < CURDATE() - AND t.warehouse_id <> 41 - AND s.alert_level >= 3; - -DELETE g.* - FROM vn2008.Greuges g - JOIN tmp.ticket_list t ON g.Id_Ticket = t.Id_Ticket - WHERE Greuges_type_id = 2; - -INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha, - Greuges_type_id, Id_Ticket) - SELECT Id_Cliente - ,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2) - AS dif - ,date(t.Fecha) - , 2 - ,tt.Id_Ticket - FROM vn2008.Movimientos m - JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket - JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket - JOIN vn2008.Movimientos_componentes mc - ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17 - GROUP BY t.Id_Ticket - HAVING ABS(dif) > 1; - -UPDATE vn2008.Movimientos_componentes mc - JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - JOIN tmp.ticket_list tt ON tt.Id_Ticket = m.Id_Ticket - SET greuge = 1 - WHERE Id_Componente = 17; - -/* -* Recalculamos la ratio de las reclamaciones, que luego -* se va a utilizar en el recobro -*/ - -DELETE FROM bi.claims_ratio; - -REPLACE bi.claims_ratio(Id_Cliente, Consumo, Reclamaciones, Ratio, recobro) - SELECT fm.Id_Cliente, 12 * fm.Consumo, Reclamaciones, - round(Reclamaciones / (12*fm.Consumo),4) AS Ratio, 0 - FROM bi.facturacion_media_anual fm - LEFT JOIN( - SELECT cm.Id_Cliente, round(sum(-1 * ((sensib -1)/4) * - Cantidad * Preu * (100 - Descuento) / 100)) - AS Reclamaciones - FROM vn2008.Movimientos m - JOIN vn2008.cl_act ca - ON ca.Id_Movimiento = m.Id_Movimiento - JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id - WHERE ca.cl_sol_id NOT IN (1,5) - AND cm.cl_est_id = 3 - AND cm.Fecha >= TIMESTAMPADD(YEAR, -1, CURDATE()) - GROUP BY cm.Id_Cliente - ) claims ON claims.Id_Cliente = fm.Id_Cliente; - - --- Calculamos el porcentaje del recobro para añadirlo al precio de venta -UPDATE bi.claims_ratio cr - JOIN ( - SELECT Id_Cliente, nz(SUM(Importe)) AS Greuge - FROM vn2008.Greuges - WHERE Fecha <= CURDATE() - GROUP BY Id_Cliente - ) g ON g.Id_Cliente = cr.Id_Cliente - SET recobro = GREATEST(0,round(nz(Greuge) / - (nz(Consumo) * vMonthToRefund / 12 ) ,3)); - --- control -INSERT INTO vn2008.daily_task_log(consulta) - VALUES('bi.claim_ratio_routine END'); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `clean` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `clean`() -BEGIN -DECLARE vDateShort DATETIME; -DECLARE vDateLong DATETIME; - -SET vDateShort = TIMESTAMPADD(MONTH, -2, CURDATE()); -SET vDateLong = TIMESTAMPADD(MONTH, -18,CURDATE()); - -INSERT INTO bi.daily_task_log(state) VALUES('clean START'); - -DELETE FROM bi.comparativa_clientes WHERE Fecha < vDateLong; -DELETE FROM bi.Greuge_Evolution WHERE Fecha < vDateShort AND weekday(Fecha) != 1; - -INSERT INTO bi.daily_task_log(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 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)) - 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)) - 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 * (vn2008.CM3(b.Id_Compra) / 1000000 / C.Packing) * (az.price / 0.08) 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.Last_buy_id b ON M.Id_Article = b.Id_Article - AND t.warehouse_id = b.warehouse_id - JOIN vn2008.Compres C ON b.Id_Compra = C.Id_Compra - 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 - 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)) - 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 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)) - SELECT dp.Id_Ticket, Importe - FROM tmp.dp - JOIN - ( - SELECT Id_Ticket, sum(Importe) as Importe - FROM vn2008.Greuges g - WHERE Greuges_type_id = 1 - GROUP BY Id_Ticket - ) sub using(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 using(Id_Cliente) - SET FOSIL = GREUGE - WHERE ge.Fecha = datFEC; - - - -- 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 = '' */ ; -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 vn2008.sql_query (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 vn2008.sql_query (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 vn2008.sql_query (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 vn2008.sql_query (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 vn2008.sql_query (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 vn2008.sql_query (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. - -IF DAY(CURDATE()) = 5 THEN - - call rotacion_update_manual(1, 999999, TIMESTAMPADD(YEAR,-1,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 `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=`root`@`%` PROCEDURE `rotacion_volumen_update`(IN vIdCompra BIGINT) -BEGIN - -UPDATE bi.rotacion r -JOIN vn2008.travel tr ON r.warehouse_id = tr.warehouse_id -JOIN vn2008.Entradas e ON e.travel_id = tr.id -JOIN vn2008.Compres c ON e.Id_Entrada = c.Id_Entrada AND c.Id_Article = r.Id_Article -SET r.cm3 = vn2008.cm3_2(c.Id_Cubo, c.Id_Article) / c.Packing -where c.Id_Compra = vIdCompra; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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 = '' */ ; -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 sql_query (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: `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 `customer`, - 1 AS `warehouse`, - 1 AS `street`, - 1 AS `city`, - 1 AS `province`, - 1 AS `postalCode`, - 1 AS `phone`, - 1 AS `celular`, - 1 AS `nickname`, - 1 AS `id`, - 1 AS `defaultAddress`, - 1 AS `agency`, - 1 AS `active`, - 1 AS `longitude`, - 1 AS `latitude`, - 1 AS `clientFk`, - 1 AS `warehouseFk`, - 1 AS `provinceFk`, - 1 AS `mobile`, - 1 AS `agencyFk`, - 1 AS `isEqualizated`*/; -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 `warehouse`, - 1 AS `warehouseFk`, - 1 AS `isVolumetric`, - 1 AS `bank`, - 1 AS `bankFk`, - 1 AS `warehouseNickname`, - 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 `weekDay`, - 1 AS `warehouse`, - 1 AS `province`, - 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 `view`, - 1 AS `deliveryMethod`, - 1 AS `m3`, - 1 AS `cod71`, - 1 AS `web`, - 1 AS `agency`, - 1 AS `agencyFk`, - 1 AS `agencyService`, - 1 AS `agencyServiceFk`, - 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 `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 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`*/; -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; - --- --- 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) COLLATE utf8_unicode_ci 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 `taxArea_bookingPlanner_idx` (`taxAreaFk`), - KEY `pgcFk_bookingPlanner_idx` (`pgcFk`), - KEY `taxClassFk` (`taxClassFk`), - KEY `countryFk` (`countryFk`), - 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, - CONSTRAINT `taxArea_bookingPlanner` 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 */; - --- --- 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 `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 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 `phone`, - 1 AS `fax`, - 1 AS `email`, - 1 AS `iban`, - 1 AS `dueDay`, - 1 AS `accountingAccount`, - 1 AS `isEqualizated`, - 1 AS `city`, - 1 AS `province`, - 1 AS `provinceFk`, - 1 AS `postcode`, - 1 AS `socialName`, - 1 AS `contact`, - 1 AS `Reexpedicion`, - 1 AS `hasToInvoice`, - 1 AS `Notas`, - 1 AS `notas_administracion`, - 1 AS `Copiafactura`, - 1 AS `Retener`, - 1 AS `Congelado`, - 1 AS `Id_Trabajador`, - 1 AS `workerFk`, - 1 AS `credit`, - 1 AS `cyc`, - 1 AS `Id_Pais`, - 1 AS `countryFk`, - 1 AS `activo`, - 1 AS `active`, - 1 AS `gestdoc`, - 1 AS `gestdocFk`, - 1 AS `calidad`, - 1 AS `paymentMethod`, - 1 AS `paymentMethodFk`, - 1 AS `registerDate`, - 1 AS `invoiceByEmail`, - 1 AS `isToBeMailed`, - 1 AS `channel`, - 1 AS `channelFk`, - 1 AS `VIES`, - 1 AS `sepavnl`, - 1 AS `corevnl`, - 1 AS `riskCalculated`, - 1 AS `corevnh`, - 1 AS `clientes_tipo_id`, - 1 AS `clientTypeFk`, - 1 AS `postcode_id`, - 1 AS `postcodeFk`, - 1 AS `mail_address`, - 1 AS `codpos`, - 1 AS `cplusTerIdNifFk`, - 1 AS `postalAddress`, - 1 AS `invoiceByAddress`, - 1 AS `isTaxDataChecked`, - 1 AS `isFreezed`*/; -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 `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 `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 `client`, - 1 AS `worker`, - 1 AS `text`, - 1 AS `creationDate`*/; -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 `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`*/; -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 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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 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=6 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 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 ; - --- --- 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 `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; - --- --- 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 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 `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 `family` --- - -DROP TABLE IF EXISTS `family`; -/*!50001 DROP VIEW IF EXISTS `family`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `family` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `life`*/; -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 `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`*/; -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 `taxGroupFk`, - 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`*/; -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 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`*/; -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 `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', - PRIMARY KEY (`code`), - KEY `InvoiceInSerial_Fk1_idx` (`cplusTerIdNifFk`), - 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 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) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'NATIONAL', - `isCEE` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`code`), - KEY `taxAreaFk_idx` (`taxAreaFk`), - CONSTRAINT `invoiceOutSerial_ibfk_1` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON DELETE 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 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 `familyFk`, - 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 `expenceFk`*/; -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; - --- --- 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 */; - --- --- 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; - --- --- 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 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 */; - --- --- 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 */; - --- --- Table structure for table `logClient` --- - -DROP TABLE IF EXISTS `logClient`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `logClient` ( - `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 `logClient_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `logClient_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`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 `logEntry` --- - -DROP TABLE IF EXISTS `logEntry`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `logEntry` ( - `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 `logEntry_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Entradas` (`Id_Entrada`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `logEntry_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`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 `logTicket` --- - -DROP TABLE IF EXISTS `logTicket`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `logTicket` ( - `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 `logTicketoriginFk` (`originFk`), - KEY `logTicketuserFk` (`userFk`), - CONSTRAINT `logTicket_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn2008`.`Tickets` (`Id_Ticket`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `logTicket_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 `logType` --- - -DROP TABLE IF EXISTS `logType`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `logType` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `code` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `originTableName` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `logTableName` varchar(45) 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 `logWorker` --- - -DROP TABLE IF EXISTS `logWorker`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `logWorker` ( - `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!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 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; - --- --- 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 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 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; - --- --- 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 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; - --- --- 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`*/; -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`*/; -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; - --- --- 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; - --- --- 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`*/; -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 `agencyFk`, - 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`*/; -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 `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 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`*/; -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`*/; -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) COLLATE utf8_unicode_ci NOT 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 `linkFk`, - 1 AS `isActive`*/; -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 `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 `isSigned`, - 1 AS `location`, - 1 AS `blocked`, - 1 AS `solution`, - 1 AS `path`, - 1 AS `routeFk`, - 1 AS `company`, - 1 AS `companyFk`, - 1 AS `agencyModeFk`, - 1 AS `loadingOrder`, - 1 AS `created`, - 1 AS `shipment`, - 1 AS `landing`, - 1 AS `customer`, - 1 AS `warehouse`, - 1 AS `client`, - 1 AS `address`, - 1 AS `agencyMode`, - 1 AS `signed`, - 1 AS `creationDate`*/; -SET character_set_client = @saved_cs_client; - --- --- 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, - `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 UPDATE CASCADE, - CONSTRAINT `ticketPackaging_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `vn2008`.`Cubos` (`Id_Cubo`) 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 `ticketFk`, - 1 AS `ticket`, - 1 AS `state`, - 1 AS `productionOrder`, - 1 AS `alertLevel`, - 1 AS `code`, - 1 AS `worker`, - 1 AS `workerFk`*/; -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; - --- --- 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 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 `hasComission`*/; -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 `workerCode`, - 1 AS `firstName`, - 1 AS `name`, - 1 AS `userFk`, - 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 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 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 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', - 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` varchar(45) CHARACTER SET utf8 NOT NULL, - `geoFk` int(11) NOT NULL, - `isIncluded` tinyint(1) DEFAULT NULL, - PRIMARY KEY (`zoneFk`,`geoFk`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Dumping routines for database 'vn' --- -/*!50003 DROP FUNCTION IF EXISTS `agencyIsAvailable` */; -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 `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 province INTO vProvince - FROM address - WHERE id = vAddress; - - SELECT COUNT(*) > 0 INTO isAvailable - FROM agencyHour h - JOIN agencyMode a - ON a.agency = h.agency - WHERE (h.province = vProvince - OR h.province 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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 del cliente. - * - * @param vClient Id 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 vn2008.ticket_tmp; - CREATE TEMPORARY TABLE vn2008.ticket_tmp - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT id ticket_id - FROM ticket - WHERE clientfK = vClient - AND refFk IS NULL - AND shipped BETWEEN vDateIni AND vDateEnd; - - CALL vn2008.ticket_total (); - - SELECT IFNULL(SUM(t.amount), 0) INTO vDebt - FROM ( - SELECT SUM(total) amount - FROM vn2008.ticket_total - 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.tpv_transaction - WHERE customer_id = vClient - AND receipt_id IS NULL - AND `status` = 'ok' - ) t; - - DROP TEMPORARY TABLE - vn2008.ticket_tmp, - vn2008.ticket_total; - - 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 `clientGetDebtKK` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 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 `clientGetDebtKK`(vClient INT, vDate DATE) RETURNS decimal(10,2) -BEGIN -/** - * Devuelve el saldo del cliente. - * - * @param vClient Id 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 vn2008.ticket_tmp; - CREATE TEMPORARY TABLE vn2008.ticket_tmp - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT id ticket_id - FROM ticket - WHERE `client` = vClient - AND refFk IS NULL - AND shipment BETWEEN vDateIni AND vDateEnd; - - CALL vn2008.ticket_total (); - - SELECT IFNULL(SUM(t.amount), 0) INTO vDebt - FROM ( - SELECT SUM(total) amount - FROM vn2008.ticket_total - 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.tpv_transaction - WHERE customer_id = vClient - AND receipt_id IS NULL - AND `status` = 'ok' - ) t; - - DROP TEMPORARY TABLE - vn2008.ticket_tmp, - vn2008.ticket_total; - - 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`(vClientFk INT, vCompanyFk 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 = vCompanyFk - WHERE - c.id = vClientFk - AND c.vies - 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` */; -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 `getAlert3State`(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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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` */; -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 `getShipmentHour`(vTicket INT) RETURNS int(11) -BEGIN - DECLARE vShipmentHour INT; - - SELECT HOUR(shipment) 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.warehouse as warehouse_id - , a.province as province_id - , 0 as Hora - , 0 as Departure - FROM ticket t - JOIN agencyMode am on am.id = t.agencyMode - JOIN address a on a.id = t.address - 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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` */; -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 = 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`@`%` 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 - - - 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.warehouse as warehouse_id - , a.province as province_id - , Hour(t.shipment) as Hora - , Hour(t.shipment) as Departure - , tls.code - , IFNULL(t.loadingOrder,0) loadingOrder - FROM ticket t - JOIN ticketState tls on t.id = tls.ticket - JOIN agencyMode am on am.id = t.agencyMode - JOIN address a on a.id = t.address - LEFT JOIN tmp.workerComercial wc ON wc.worker = vWorker - WHERE t.shipment BETWEEN vYesterday AND vTodayvMidniight - AND t.warehouse = 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, 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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); - - 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 `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 `noticeHasActive` */; -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 `noticeHasActive`(vCategoryKey VARCHAR(50), vUser INT) RETURNS tinyint(1) -BEGIN -/** - * Comprueba si el usuario tiene activada o no la categoría - * - * @param vNoticeCategory Id de la categoría - * @param vUser Id del usuario - * @return %True si el usuario tiene activada la notificación, %False en caso contrario - */ - DECLARE vActive INT; - - SELECT COUNT(*) INTO vActive - FROM noticeSubscription s - JOIN noticeCategory c ON c.id = s.noticeCategoryFk - WHERE c.keyName = vCategoryKey AND userFk = vUser; - - RETURN vActive; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `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 `agencyListAvailable` */; -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 `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 - * @table 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 province INTO vProvince - FROM address - WHERE id = vAddress; - - DROP TEMPORARY TABLE IF EXISTS tmp.agencyAvailable; - CREATE TEMPORARY TABLE tmp.agencyAvailable - (INDEX (agency)) - ENGINE = MEMORY - SELECT agency, warehouse - FROM agencyHour h - WHERE (province = vProvince - OR province 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `agencyListForMethod` */; -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 `agencyListForMethod`( - vDate DATE, vAddress INT, vMethod VARCHAR(255)) -BEGIN -/** - * Devuelve la lista de agencias disponibles para una forma - * de envío. - * - * @param vDate Fecha de recepción de mercancía - * @param vAddress Id consignatario, %NULL para recogida - * @param vMethod Código de la forma de envío - * @select Lista de agencias disponibles - */ - CALL agencyListAvailable (vDate, vAddress); - - SELECT DISTINCT m.id, m.description - FROM tmp.agencyAvailable a - JOIN agencyMode m - ON m.agency = a.agency - JOIN deliveryMethod d - ON d.id = m.deliveryMethod - WHERE d.code = vMethod COLLATE 'utf8_unicode_ci'; - - DROP TEMPORARY TABLE tmp.agencyAvailable; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `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()); - - INSERT INTO vn.dailyTaskLog(state) VALUES('clean START'); - - DELETE FROM vn.message 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 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; - - END IF; - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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 `createExternalWorker` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `createExternalWorker`( - 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; - - 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; - */ - - INSERT INTO vn2008.Trabajadores(Nombre,Apellidos,boss,CodigoTrabajador,user_id) - SELECT vFirstName,CONCAT(vSurname1,' ',vSurname2),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 - * - * @param vDate Fecha maxima de los registros - * @tmp.risk - * - * @return table 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.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - JOIN tmp.clientList3 on Id_Cliente = customer_id - WHERE t.receipt_id IS NULL - AND t.status = 'ok' - GROUP BY t.customer_id - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DROP TEMPORARY TABLE vn2008.ticket_tmp; - DROP TEMPORARY TABLE tmp.clientList2; - DROP TEMPORARY TABLE tmp.clientList3; - DROP TEMPORARY TABLE vn2008.ticket_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 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 - * - * @param vDate Fecha maxima de los registros - * @tmp.risk - * - * @return table 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.client = cl.Id_Cliente - WHERE refFk IS NULL - AND shipment 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.customer_id, CAST(-SUM(t.amount) / 100 AS DECIMAL(10,2)) - FROM hedera.tpv_transaction t - JOIN tmp.clientList3 on Id_Cliente = customer_id - WHERE t.receipt_id IS NULL - AND t.status = 'ok' - GROUP BY t.customer_id - ) t ON c.Id_Cliente = t.customer_id - WHERE c.activo != FALSE - GROUP BY c.Id_Cliente; - - DROP TEMPORARY TABLE vn2008.ticket_tmp; - DROP TEMPORARY TABLE tmp.clientList2; - DROP TEMPORARY TABLE tmp.clientList3; - DROP TEMPORARY TABLE vn2008.ticket_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 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 `invoiceCorrectedSale` */; -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 `invoiceCorrectedSale`(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 */ ; -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 `invoiceInBooking` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `invoiceInBooking`(vInvoiceInId INT) -BEGIN - 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 `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; - - -- Extracomunitarias gasto contra proveedor/acreedor - INSERT INTO vn2008.XDiario ( - ASIEN, - FECHA, - SUBCTA, - CONTRA, - EURODEBE, - CONCEPTO, - NFACTICK, - empresa_id - ) - SELECT - vBookNumber 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 - vBookNumber 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; - - -- Iva Importacion pendiente - - INSERT INTO vn2008.XDiario( - ASIEN, - FECHA, - SUBCTA, - CONCEPTO, - EUROHABER,-- EURODEBE - SERIE, - empresa_id) - - SELECT - vBookNumber, - 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; - - 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.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.isBooked = TRUE, - ii.booked = IFNULL(ii.booked,n.booked), - ii.operated = IFNULL(ii.operated,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 - DECLARE vDocument VARCHAR(255); - 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 CONCAT(serial,'/', LPAD(vSerialNumber,5,'0')) - INTO vDocument - FROM newInvoiceIn; - - 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; - /* - select vSerialNumber,vBookNumber,vDocument,vTotalAmount; - */ - -- 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, - ROUND(tc.rate/100*it.taxableBase + 0.0001,2) EURODEBE, - 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 invoiceInTax hold ON hold.invoiceInFk = n.id - LEFT JOIN expence eWithheld ON eWithheld.id = hold.expenceFk AND eWithheld.isWithheld - 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 DECIMAL(10,2); - DECLARE vBookNumber,vSerialNumber INT; - - CALL invoiceInBookingCommon(vInvoiceInId,vSerialNumber); - - SELECT MAX(ASIEN) + 1 - INTO vBookNumber - FROM vn2008.XDiario; - - 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; - - -- 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; - - - -- -------------------------------------------------------------------- - -- ------- 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; - --- 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( - c.isEqualizated - AND c.countryFk = vSpainCountryCode - 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; - */ - SELECT IF(a.isEqualizated - AND c.countryFk = vSpainCountryCode - AND i.taxAreaFk = 'NATIONAL', - 'EQU', - i.taxAreaFk) - INTO vTaxArea - FROM invoiceOutSerial i - JOIN invoiceOut io ON io.serial = i.code - 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 - 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); - - 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 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 `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 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'; - - 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 = vSerial - LIMIT 1; - - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 1: START'); - - 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 - SET t.shipped = '2000-02-01 00:00:00' - WHERE s.id IS NULL; - - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 1.1'); - - -- Eliminem 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; - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 1.2'); - - SELECT SUM(quantity * price * (100 - discount)/100) - INTO vIsAnySaleToInvoice - FROM sale s - JOIN ticketToInvoice t on t.id = s.ticketFk; - - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 1.3'); - - 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 logTicket (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; - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 2: START'); - -- Retrocompatibilidad. Borrar al cambiar el informe de facturas - 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 = vNewInvoiceId - 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 = vNewInvoiceId - 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 = vNewInvoiceId - 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 = vNewInvoiceId - AND iot.pgcFk = '4770000110'; - END IF; - - - INSERT INTO dailyTaskLog(state) VALUES('invoiceOutMake 3: END'); - - 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, 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), vTypeCode 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 vTypeCode Código que referencia a la tabla. - * @param descripcion Descripción de la acción realizada por el usuario - */ - DECLARE vTableName VARCHAR(45); - - SELECT logTableName INTO vTableName - FROM vn.logType - WHERE `code` = vTypeCode; - - IF ISNULL(vTableName) THEN - CALL util.throw('CODE_NOT_FOUND'); - END IF; - - 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, vTypeCode VARCHAR(45)) -BEGIN -/** - * Muestra las acciones realizadas por el usuario - * - * @param vOriginFk Id del registro de origen - * @param vTypeCode Código que referencia a la tabla. - */ - DECLARE vTableName VARCHAR(45); - - SELECT logTableName INTO vTableName - FROM vn.logType - WHERE `code` = vTypeCode; - - IF ISNULL(vTableName) THEN - CALL util.throw('CODE_NOT_FOUND'); - END IF; - - 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 sql_query porque da error la variable strId_Tickets puesta dentro del IN() - CALL hedera.sql_query(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 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 `noticeSend` */; -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 `noticeSend`(vCategoryKey VARCHAR(50), vSender INT, vRecipient INT, vBody TEXT) -BEGIN - DECLARE vCategoryId INT; - DECLARE vIsEnabled TINYINT(1); - - -- Obtenemos los datos de la categoría - SELECT c.id, c.isEnabled INTO vCategoryId, vIsEnabled FROM vn.noticeCategory c WHERE keyName = vCategoryKey; - - IF vn.noticeHasActive(vCategoryKey, vRecipient) AND vIsEnabled THEN - - INSERT INTO vn.noticeInbox (noticeCategoryFk, senderFk, recipientFk, body) - VALUES (vCategoryId, vSender, vRecipient, vBody); - - SELECT vSender, vRecipient; - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `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 `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 customer, TIMESTAMPADD(DAY, 1,shipment), warehouse, company, address - 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 `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` */; -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 `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, c.Cantidad, (0.6 * ( 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `stockTraslation` */; -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 `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 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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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 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 vWarehouseVnh INT DEFAULT 7; - DECLARE vWarehouseFloramondo INT DEFAULT 40; - DECLARE vCompanyBlk INT DEFAULT 965; - DECLARE vCompanyCcs INT DEFAULT 69; - DECLARE vAgencyPackage INT DEFAULT 628; - DECLARE vPayMethodCard INT DEFAULT 5; - DECLARE vhasPackage BOOL DEFAULT 0; - DECLARE vPriority INT DEFAULT 1; - DECLARE vReportDeliveryNote INT DEFAULT 1; - DECLARE vReportInvoice INT DEFAULT 3; - DECLARE vNewPackageTicket INT; - DECLARE vNewInvoiceId INT; - - DECLARE cur CURSOR FOR - SELECT ticketFk FROM tmp.ticketClosure; - - -- DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - -- DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN - -- ROLLBACK; - -- RESIGNAL; - -- END; - - INSERT INTO dailyTaskLog(state) VALUES('ticketClosure START'); - - OPEN cur; - - proc: LOOP - SET vDone = FALSE; - SET vNewPackageTicket = 0; - - FETCH cur INTO vTicketFk; - - IF vDone THEN - LEAVE proc; - END IF; - - -- ticketClosure start - INSERT INTO dailyTaskLog(state) VALUES(CONCAT('ticketClosure: ', vTicketFk, ' START')); - SELECT 1; - 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 - INTO vClientFk, - vCredit, - vPayMethod, - vIsToBeMailed, - vIsTaxDataChecked, - vCompanyFk, - vDeliveryMethod, - vAgencyFk, - vAgencyModeFk, - vWarehouseFk, - vShipped - 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; - SELECT 2; - -- Fusión de ticket - CALL mergeTicketUnattended(vTicketFk, TRUE); - IF vWarehouseFk = vWarehouseVnh OR vWareHouseFk = vWarehouseFloramondo THEN - SELECT 2.2; - -- Número de expediciones con cubos retornables - SELECT COUNT(*) INTO vhasPackage - FROM expedition e - JOIN package p ON p.itemFk = e.itemFk - WHERE e.ticketFk = vTicketFk - AND p.isPackageReturnable - LIMIT 1; - - IF vhasPackage THEN - - -- Si no existe un ticket de embalajes creamos uno, de lo contrario cogemos el actual - SELECT id INTO vNewPackageTicket - FROM ticket - WHERE companyFk = vCompanyCcs - AND agencyModeFk = vAgencyPackage - AND clientFk = vClientFk - AND shipped = CURDATE() - AND refFk IS NULL - LIMIT 1; - - IF ISNULL(vNewPackageTicket) OR vNewPackageTicket = 0 THEN - CALL ticketCreate(vClientFk, CURDATE(), vWarehouseFk, vCompanyCcs, '', vAgencyPackage, '', DATE_ADD(CURDATE(), INTERVAL 1 DAY), vNewPackageTicket); - END IF; - SELECT 2.3; - -- Retornables van al ticket de la empresa CCs - INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) - (SELECT e.itemFk, vNewPackageTicket, 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 p.isPackageReturnable - GROUP BY e.itemFk); - - END IF; - - -- 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); - - ELSE - -- Inserción de los continentes: cajas, cubos... - INSERT INTO movement (item, ticket, concept, amount, price, priceFixed) - (SELECT e.item, vTicketFk, i.name, COUNT(*) AS amount, getSpecialPrice(e.itemFk, vClientFk), 1 - FROM expedition e - JOIN item i ON i.id = e.itemFk - WHERE e.ticketFk = vTicketFk - GROUP BY e.itemFk); - END IF; - - IF(vCredit <= 1 OR vCompanyFk = vCompanyBlk OR vPayMethod = vPayMethodCard) THEN - SELECT 4; - -- 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 - SELECT 5; - -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); - INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); - END IF; - - -- ticketClosure end - INSERT INTO dailyTaskLog(state) VALUES(CONCAT('ticketClosure: ', vTicketFk, ' 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 `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`( - IN vClientId INT - , IN vShipped DATE - , IN vWarehouseId INT - , IN vCompanyFk INT - , IN vAddressFk INT - , IN vAgencyType INT - , IN vRouteFk INT - , IN 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.province - 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.defaultAddress != 0) - 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 IF(vAddressFk, a.id = vAddressFk, a.defaultAddress != 0); - - CALL logAdd(vNewTicket,'insert','ticket',concat('CREA EL TICKET',' ',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 `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 `ticketToInvoiceByTicket` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketToInvoiceByTicket`(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 `workerDisable` */; -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`@`localhost` PROCEDURE `workerDisable`(vUserId int) -BEGIN - - DELETE FROM account.account - WHERE user_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 */ ; -ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!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 ; - --- --- 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 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`*/; -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 `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `Message` --- - -DROP TABLE IF EXISTS `Message`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Message` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `uuid` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `sender` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `recipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `message` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `sendDate` datetime DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `MessageInbox` --- - -DROP TABLE IF EXISTS `MessageInbox`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `MessageInbox` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `uuid` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `sender` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `recipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `finalRecipient` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `message` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `sendDate` datetime DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `PayMethod` --- - -DROP TABLE IF EXISTS `PayMethod`; -/*!50001 DROP VIEW IF EXISTS `PayMethod`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `PayMethod` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `graceDays`, - 1 AS `outstandingDebt`, - 1 AS `ibanRequired`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `Province` --- - -DROP TABLE IF EXISTS `Province`; -/*!50001 DROP VIEW IF EXISTS `Province`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `Province` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `countryFk`, - 1 AS `warehouseFk`, - 1 AS `zoneFk`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `Role` --- - -DROP TABLE IF EXISTS `Role`; -/*!50001 DROP VIEW IF EXISTS `Role`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `Role` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `description`, - 1 AS `created`, - 1 AS `modified`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `RoleMapping` --- - -DROP TABLE IF EXISTS `RoleMapping`; -/*!50001 DROP VIEW IF EXISTS `RoleMapping`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `RoleMapping` AS SELECT - 1 AS `id`, - 1 AS `principalType`, - 1 AS `principalId`, - 1 AS `roleId`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `Route` --- - -DROP TABLE IF EXISTS `Route`; -/*!50001 DROP VIEW IF EXISTS `Route`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `Route` AS SELECT - 1 AS `id`, - 1 AS `date`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `State` --- - -DROP TABLE IF EXISTS `State`; -/*!50001 DROP VIEW IF EXISTS `State`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `State` AS SELECT - 1 AS `id`, - 1 AS `name`, - 1 AS `order`, - 1 AS `alertLevel`, - 1 AS `code`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `Ticket` --- - -DROP TABLE IF EXISTS `Ticket`; -/*!50001 DROP VIEW IF EXISTS `Ticket`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `Ticket` AS SELECT - 1 AS `id`, - 1 AS `agencyFk`, - 1 AS `employeeFk`, - 1 AS `date`, - 1 AS `hour`, - 1 AS `clientFk`, - 1 AS `addressFk`*/; -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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- 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`(IN idWarehouse INT, IN scopeDays TINYINT) -BEGIN - - call vn2008.production_control_source(idWarehouse, scopeDays); - - /* - DROP TEMPORARY TABLE IF EXISTS FakeProduction_tmp; - - set @id=0; - - CREATE TEMPORARY TABLE FakeProduction_tmp - ENGINE=MEMORY AS - (select @id:=@id+1 as id, - tmp.Id_Ticket as ticketFk, - tmp.Id_Cliente as clientFk, - tmp.Alias as client, - tmp.Fecha as `date`, - tmp.Hora as hour, - tmp.POBLACION as city, - tmp.PROVINCIA as province, - tmp.province_id as provinceFk, - tmp.Agencia as agency, - tmp.agency_id as agencyFk, - tmp.lines, - tmp.m3, - tmp.problems, - tmp.problem, - tmp.state as stateFk, - t.Id_Trabajador as workerfk, - concat(t.Nombre, ' ', t.Apellidos) as worker, - tt.Id_Trabajador as salesPersonFk, - concat(tt.Nombre, ' ', tt.Apellidos) as salesPerson, - s.name as state, - tmp.Cajas as boxes, - tmp.Id_Ruta as routeFk - from tmp.production_buffer tmp - inner join vn2008.state s - on tmp.state = s.id - inner join vn2008.Trabajadores t - on tmp.CodigoTrabajador = t.CodigoTrabajador collate utf8_unicode_ci - inner join vn2008.Trabajadores tt - on tmp.Comercial = tt.CodigoTrabajador collate utf8_unicode_ci - ); - - DELETE FROM FakeProduction; - - INSERT INTO FakeProduction - SELECT * - FROM FakeProduction_tmp - WHERE routeFk IS NOT NULL - GROUP BY RouteFk - ORDER BY routeFk; - */ - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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`), - 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 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 `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 routines for database 'bs' --- -/*!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.workerFk = 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.workerFk = 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 - -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 - 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(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); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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 vn2008.sql_query (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 DATE, IN datEND DATE) -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; - - INSERT INTO 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); - - IF CURDATE() = '2017-02-28' THEN - SELECT vStartingDate; - END IF; - -END WHILE; - - - - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `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,-2,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 */ ; - --- --- Current Database: `account` --- - -CREATE DATABASE /*!32312 IF NOT EXISTS*/ `account` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; - -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 */; - --- --- 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 `accountNss` --- - -DROP TABLE IF EXISTS `accountNss`; -/*!50001 DROP VIEW IF EXISTS `accountNss`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `accountNss` AS SELECT - 1 AS `surname`, - 1 AS `name`, - 1 AS `password`, - 1 AS `home`, - 1 AS `shell`, - 1 AS `min`, - 1 AS `max`, - 1 AS `warn`, - 1 AS `inact`*/; -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 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 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 `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=5 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) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The hosname of Samba server', - `sshUser` varchar(30) COLLATE utf8_unicode_ci 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', - `domain` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The default domain for mail accounts, its appended to the user name', - `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, - `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) COLLATE utf8_unicode_ci DEFAULT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - `sync` tinyint(4) NOT NULL DEFAULT '0', - `recoverPass` tinyint(3) unsigned NOT NULL DEFAULT '1', - `lastPassChange` datetime DEFAULT NULL, - PRIMARY KEY (`id`), - UNIQUE KEY `name` (`name`), - KEY `role` (`role`), - KEY `email` (`email`), - CONSTRAINT `user_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; -/*!40101 SET character_set_client = @saved_cs_client */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -ALTER DATABASE `account` 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 `account`.`userBeforeUpdate` -BEFORE UPDATE ON `user` FOR EACH ROW -BEGIN - IF OLD.`name` != NEW.`name` THEN - CALL userCheckName (NEW.`name`); - END IF; - - IF NEW.`password` != OLD.`password` - OR (OLD.`password` IS NULL AND NEW.`password` IS NOT NULL) - THEN - SET NEW.lastPassChange = NOW(); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -ALTER DATABASE `account` 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 `userAfterUpdate` -AFTER UPDATE ON `user` FOR EACH ROW -BEGIN - IF NEW.role <> OLD.role - THEN - INSERT INTO vn2008.mail(`to`,reply_to,`subject`,`text`) - SELECT 'jgallego@verdnatura.es','jgallego@verdnatura.es','Rol modificado', - CONCAT(`name`,' ha modificado el rol del usuario ',NEW.`name`,' de ',OLD.role,' a ',NEW.role) - FROM account.user WHERE id = account.userGetId(); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_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 `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- 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; - --- --- 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` ( - `connectionId` int(10) unsigned NOT NULL, - `user` int(10) unsigned NOT NULL, - `userName` varchar(30) CHARACTER SET utf8 DEFAULT NULL, - `creationDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`connectionId`), - KEY `creationDate` (`creationDate`) -) ENGINE=MEMORY DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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 `role`, - 1 AS `recoverPass`*/; -SET character_set_client = @saved_cs_client; - --- --- Dumping routines for database 'account' --- -/*!50003 DROP FUNCTION IF EXISTS `toUnixDays` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userGetId` */; -ALTER DATABASE `account` 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 `userGetId`() RETURNS int(11) - DETERMINISTIC -BEGIN -/** - * Devuelve el identificador del usuario actual. - * - * @return El id del usuario - */ - DECLARE vUser INT DEFAULT NULL; - - SELECT user INTO vUser FROM userSession - WHERE connectionId = CONNECTION_ID(); - - IF vUser IS NULL THEN - 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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userGetMysqlRole` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userGetName` */; -ALTER DATABASE `account` 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 `userGetName`() RETURNS varchar(30) CHARSET utf8 - DETERMINISTIC -BEGIN -/** - * Devuelve el nombre del usuario actual. - * - * @return El nombre de usuario - */ - DECLARE vUser VARCHAR(30) DEFAULT NULL; - - -- FIXME: Esta consulta bloquea la base de datos - SELECT userName INTO vUser - FROM userSession - WHERE connectionId = CONNECTION_ID(); - - IF vUser IS NULL THEN - 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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userGetNameFromId` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userHasRole` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP FUNCTION IF EXISTS `userHasRoleId` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `privSync` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `roleGetDescendents` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `roleSync` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userChangePassword` */; -ALTER DATABASE `account` 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 `userChangePassword`(vOldPassword VARCHAR(255), vPassword VARCHAR(255)) -BEGIN -/** - * Cambia la contraseña del usuario actual,si el usuario se - * encuntra en modo restauración se ignorará la contraseña - * actual. - * - * @param vOldPassword Contraseña actual - * @param vPassword Nueva contraseña - */ - 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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userCheckName` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userCheckPassword` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userLogin` */; -ALTER DATABASE `account` 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 `userLogin`(vUserName VARCHAR(255), vPassword VARCHAR(255)) -BEGIN -/** - * Incicia sesión utilizando las credenciales del usuario. - * - * @param vUserName El nombre de usuario - * @param vPassword La contraseña del usuario - */ - DECLARE vUserId INT DEFAULT NULL; - - SELECT id INTO vUserId FROM user - WHERE name = vUserName - AND password = MD5(vPassword) - AND active; - - IF vUserId IS NOT NULL - THEN - REPLACE INTO userSession (connectionId, user, userName) - VALUES (CONNECTION_ID(), vUserId, vUserName); - ELSE - SIGNAL SQLSTATE '45000' - SET MESSAGE_TEXT = '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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userLoginWithName` */; -ALTER DATABASE `account` 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 `userLoginWithName`(vUserName VARCHAR(255)) -BEGIN -/** - * Incicia sesión utilizando únicamente el nombre del - * usuario. Este procedimiento esta pensado para el uso - * de los desarrolladores por lo que los usuarios normales - * no deberían tener permisos de ejecución sobre él. - * - * @param vUserName El nombre de usuario - */ - DECLARE vUserId INT DEFAULT NULL; - - SELECT id INTO vUserId FROM user - WHERE name = vUserName; - - REPLACE INTO userSession (connectionId, user, userName) - VALUES (CONNECTION_ID(), vUserId, 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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userLogout` */; -ALTER DATABASE `account` 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 `userLogout`() -BEGIN -/** - * Cierra la sesión del usuario y limpia registros - * residuales. - */ - DECLARE vCleanTime DATETIME - DEFAULT TIMESTAMPADD(MINUTE, -30, NOW()); - - DELETE FROM userSession - WHERE connectionId = CONNECTION_ID() - OR creationDate < 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 */ ; -ALTER DATABASE `account` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `userSetPassword` */; -ALTER DATABASE `account` 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 `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 */ ; -ALTER DATABASE `account` 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 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 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 `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` ( - `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 routines for database 'cache' --- -/*!50003 DROP PROCEDURE IF EXISTS `available_refresh` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `available_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE) -proc: BEGIN - DECLARE v_date_ini DATE; - DECLARE v_date_end DATETIME; - DECLARE v_reserve_date DATETIME; - DECLARE v_params CHAR(100); - DECLARE v_date_inv DATE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL cache_calc_unlock (v_calc); - RESIGNAL; - END; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - CALL vn2008.item_stock (v_warehouse, v_date, NULL); - - SET v_params = CONCAT_WS('/', v_warehouse, v_date); - CALL cache_calc_start (v_calc, v_refresh, 'available', v_params); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - -- Limpia las caches antiguas - - DELETE a - FROM available a - LEFT JOIN cache_calc c ON c.id = a.calc_id - WHERE c.id IS NULL; - - -- Calcula algunos parámetros necesarios - - SET v_date_ini = TIMESTAMP(v_date, '00:00:00'); - SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, 4, v_date), '23:59:59'); - - SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores; - - SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date - FROM hedera.order_config; - - -- Calcula el ultimo dia de vida para cada producto - - DROP TEMPORARY TABLE IF EXISTS item_range; - CREATE TEMPORARY TABLE item_range - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.landing), '23:59:59')) AS date_end - FROM ( - SELECT c.Id_Article item_id, MAX(landing) landing - FROM vn2008.Compres c - JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada - JOIN vn2008.travel t ON t.id = e.travel_id - JOIN vn2008.warehouse w ON w.id = t.warehouse_id - WHERE t.landing BETWEEN v_date_inv AND v_date_ini - AND t.warehouse_id = v_warehouse - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY Id_Article - ) c - JOIN vn2008.Articles a ON a.Id_Article = c.item_id - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - HAVING date_end >= v_date_ini OR date_end IS NULL; -/* - -- Tabla con el ultimo dia de precios fijados para cada producto que hace un replace de la anterior - - DROP TEMPORARY TABLE IF EXISTS item_range_copy; - CREATE TEMPORARY TABLE item_range_copy LIKE item_range; - INSERT INTO item_range_copy - SELECT * FROM item_range; - - REPLACE item_range - SELECT item_id, TIMESTAMP(date_end, '23:59:59') date_end FROM ( - SELECT p.item_id, p.date_end - FROM vn2008.price_fixed p - LEFT JOIN item_range_copy i USING(item_id) - WHERE IFNULL(i.date_end,v_date_ini) BETWEEN p.date_start AND p.date_end - AND warehouse_id IN (0, v_warehouse) - ORDER BY item_id, warehouse_id DESC, date_end DESC - ) t GROUP BY item_id; - - DROP TEMPORARY TABLE item_range_copy; -*/ - -- Replica la tabla item_range para poder usarla varias veces en la misma consulta - - DROP TEMPORARY TABLE IF EXISTS item_range_copy1; - CREATE TEMPORARY TABLE item_range_copy1 LIKE item_range; - INSERT INTO item_range_copy1 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy2; - CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range; - INSERT INTO item_range_copy2 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy3; - CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range; - INSERT INTO item_range_copy3 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy4; - CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range; - INSERT INTO item_range_copy4 - SELECT * FROM item_range; - - -- Calcula el ATP - - DELETE FROM available WHERE calc_id = v_calc; - - INSERT INTO available (calc_id, item_id, available) - SELECT v_calc, t.item_id, SUM(stock) amount FROM ( - SELECT ti.item_id, stock - FROM vn2008.tmp_item ti - JOIN item_range ir ON ir.item_id = ti.item_id - UNION ALL - SELECT t.item_id, minacum(dt, amount, v_date) AS available FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_out i - JOIN item_range_copy1 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_entry_in i - JOIN item_range_copy2 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_entry_out i - JOIN item_range_copy3 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT r.item_id, r.shipment, -r.amount - FROM hedera.order_row r - JOIN hedera.`order` o ON o.id = r.order_id - JOIN item_range_copy4 ir ON ir.item_id = r.item_id - WHERE r.shipment >= v_date_ini - AND (ir.date_end IS NULL OR r.shipment <= ir.date_end) - AND r.warehouse_id = v_warehouse - AND r.created >= v_reserve_date - AND NOT o.confirmed - ) t - GROUP BY item_id, dt - ) t - GROUP BY t.item_id - ) t GROUP BY t.item_id HAVING amount != 0; - - - DROP TEMPORARY TABLE - vn2008.tmp_item - ,item_range - ,item_range_copy1 - ,item_range_copy2 - ,item_range_copy3 - ,item_range_copy4; - - CALL cache_calc_end (v_calc); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `available_refreshtest` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `available_refreshtest`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE) -proc: BEGIN - DECLARE v_date_ini DATE; - DECLARE v_date_end DATETIME; - DECLARE v_reserve_date DATETIME; - DECLARE v_params CHAR(100); - DECLARE v_date_inv DATE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL cache_calc_unlock (v_calc); - RESIGNAL; - END; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - CALL vn2008.item_stock (v_warehouse, v_date, NULL); - - SET v_params = CONCAT_WS('/', v_warehouse, v_date); - CALL cache_calc_start (v_calc, v_refresh, 'available', v_params); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - -- Limpia las caches antiguas - - IF TRUE -- GET_LOCK('available/clean', 1) - THEN - DELETE FROM available WHERE calc_id NOT IN ( - SELECT cc.id - FROM `cache` c - JOIN cache_calc cc ON c.id = cc.cache_id - WHERE c.`name` = 'available'); - - -- DO RELEASE_LOCK('available/clean'); - END IF; - - -- Calcula algunos parámetros necesarios - - SET v_date_ini = TIMESTAMP(v_date, '00:00:00'); - SET v_date_end = TIMESTAMP(TIMESTAMPADD(DAY, 4, v_date), '23:59:59'); - - SELECT FechaInventario INTO v_date_inv FROM vn2008.tblContadores; - - SELECT SUBTIME(NOW(), reserve_time) INTO v_reserve_date - FROM hedera.order_config; - - -- Calcula el ultimo dia de vida para cada producto - - DROP TEMPORARY TABLE IF EXISTS item_range; - CREATE TEMPORARY TABLE item_range - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMP(TIMESTAMPADD(DAY, t.life, c.landing), '23:59:59')) AS date_end - FROM ( - SELECT c.Id_Article item_id, MAX(landing) landing - FROM vn2008.Compres c - JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada - JOIN vn2008.travel t ON t.id = e.travel_id - JOIN vn2008.warehouse w ON w.id = t.warehouse_id - WHERE t.landing BETWEEN v_date_inv AND v_date_ini - AND t.warehouse_id = v_warehouse - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY Id_Article - ) c - JOIN vn2008.Articles a ON a.Id_Article = c.item_id - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - HAVING date_end >= v_date_ini OR date_end IS NULL; -/* - -- Tabla con el ultimo dia de precios fijados para cada producto que hace un replace de la anterior - - DROP TEMPORARY TABLE IF EXISTS item_range_copy; - CREATE TEMPORARY TABLE item_range_copy LIKE item_range; - INSERT INTO item_range_copy - SELECT * FROM item_range; - - REPLACE item_range - SELECT item_id, TIMESTAMP(date_end, '23:59:59') date_end FROM ( - SELECT p.item_id, p.date_end - FROM vn2008.price_fixed p - LEFT JOIN item_range_copy i USING(item_id) - WHERE IFNULL(i.date_end,v_date_ini) BETWEEN p.date_start AND p.date_end - AND warehouse_id IN (0, v_warehouse) - ORDER BY item_id, warehouse_id DESC, date_end DESC - ) t GROUP BY item_id; - - DROP TEMPORARY TABLE item_range_copy; -*/ - -- Replica la tabla item_range para poder usarla varias veces en la misma consulta - - DROP TEMPORARY TABLE IF EXISTS item_range_copy1; - CREATE TEMPORARY TABLE item_range_copy1 LIKE item_range; - INSERT INTO item_range_copy1 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy2; - CREATE TEMPORARY TABLE item_range_copy2 LIKE item_range; - INSERT INTO item_range_copy2 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy3; - CREATE TEMPORARY TABLE item_range_copy3 LIKE item_range; - INSERT INTO item_range_copy3 - SELECT * FROM item_range; - - DROP TEMPORARY TABLE IF EXISTS item_range_copy4; - CREATE TEMPORARY TABLE item_range_copy4 LIKE item_range; - INSERT INTO item_range_copy4 - SELECT * FROM item_range; - - -- Calcula el ATP - - DELETE FROM available WHERE calc_id = v_calc; - - INSERT INTO available (calc_id, item_id, available) - SELECT v_calc, t.item_id, SUM(stock) amount FROM ( - SELECT ti.item_id, stock - FROM vn2008.tmp_item ti - JOIN item_range ir ON ir.item_id = ti.item_id - UNION ALL - SELECT t.item_id, minacum(dt, amount, v_date) AS available FROM ( - SELECT item_id, DATE(dat) dt, SUM(amount) amount FROM ( - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_out i - JOIN item_range_copy1 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_entry_in i - JOIN item_range_copy2 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT i.item_id, i.dat, i.amount - FROM vn2008.item_entry_out i - JOIN item_range_copy3 ir ON ir.item_id = i.item_id - WHERE i.dat >= v_date_ini - AND (ir.date_end IS NULL OR i.dat <= ir.date_end) - AND i.warehouse_id = v_warehouse - UNION ALL - SELECT r.item_id, r.shipment, -r.amount - FROM hedera.order_row r - JOIN hedera.`order` o ON o.id = r.order_id - JOIN item_range_copy4 ir ON ir.item_id = r.item_id - WHERE r.shipment >= v_date_ini - AND (ir.date_end IS NULL OR r.shipment <= ir.date_end) - AND r.warehouse_id = v_warehouse - AND r.created >= v_reserve_date - AND NOT o.confirmed - ) t - GROUP BY item_id, dt - ) t - GROUP BY t.item_id - ) t GROUP BY t.item_id HAVING amount != 0; - - DROP TEMPORARY TABLE - vn2008.tmp_item - ,item_range - ,item_range_copy1 - ,item_range_copy2 - ,item_range_copy3 - ,item_range_copy4; - - CALL cache_calc_end (v_calc); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `barcodes_articles_update` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_articles_update`() -BEGIN - -REPLACE cache.barcodes - - SELECT - `Articles`.`Id_Article` AS `code`, - `Articles`.`Id_Article` AS `Id_Article`, - `Articles`.`Article` AS `Article`, - `Articles`.`Medida` AS `Medida`, - `Articles`.`Color` AS `Color`, - `Articles`.`Categoria` AS `Categoria`, - `p`.`name` AS `Producer` - FROM - vn2008.Articles - LEFT JOIN vn2008.`producer` `p` using(producer_id); - - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `barcodes_barcodes_update` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_barcodes_update`() -BEGIN - -REPLACE cache.barcodes - - SELECT - `barcodes`.`code` AS `code`, - `barcodes`.`Id_Article` AS `Id_Article`, - `Articles`.`Article` AS `Article`, - `Articles`.`Medida` AS `Medida`, - `Articles`.`Color` AS `Color`, - `Articles`.`Categoria` AS `Categoria`, - `p`.`name` AS `Producer` - FROM - vn2008.`barcodes` - JOIN - vn2008.Articles using(Id_Article) - LEFT JOIN vn2008.`producer` `p` using(producer_id); - - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `barcodes_compres_update` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_compres_update`() -BEGIN - -REPLACE cache.barcodes - - SELECT - Compres.`Id_Compra` AS `code`, - Compres.`Id_Article` AS `Id_Article`, - `Articles`.`Article` AS `Article`, - `Articles`.`Medida` AS `Medida`, - `Articles`.`Color` AS `Color`, - `Articles`.`Categoria` AS `Categoria`, - producer.`name` AS `Producer` - - - FROM - vn2008.Compres - JOIN vn2008.Articles using(Id_Article) - LEFT JOIN vn2008.producer using(producer_id) - JOIN vn2008.Entradas using(Id_Entrada) - JOIN vn2008.travel on travel.id = travel_id - WHERE - landing >= TIMESTAMPADD(WEEK, -2, CURDATE()) - ; - - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `barcodes_expeditions_update` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_expeditions_update`(IN idExpedition BIGINT) -BEGIN - -REPLACE cache.barcodes - - SELECT - `e`.`expeditions_id` AS `code`, - `Tickets`.`Id_Ruta` AS `Id_Article`, - `Tickets`.`Alias` AS `Article`, - `Tickets`.`Bultos` AS `Medida`, - `Tickets`.`Id_Ruta` AS `Color`, - `w`.`name` AS `Categoria`, - `a`.`Agencia` AS `Producer` - FROM - vn2008.expeditions `e` - JOIN vn2008.Tickets ON `Tickets`.`Id_Ticket` = `e`.`ticket_id` - JOIN vn2008.warehouse `w` ON `w`.`id` = `Tickets`.`warehouse_id` - JOIN vn2008.Rutas `r` ON `r`.`Id_Ruta` = `Tickets`.`Id_Ruta` - JOIN vn2008.Agencias `a` ON `a`.`Id_Agencia` = `r`.`Id_Agencia` - WHERE - idExpedition IN (e.expeditions_id,0) - AND - `Tickets`.`Fecha` >= (CURDATE() + INTERVAL -(2) DAY) - - - ; - - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `barcodes_update` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `barcodes_update`() -BEGIN - - declare allExpeditions int default 0; - - call barcodes_articles_update; - - call barcodes_barcodes_update; - - call barcodes_compres_update; - - call barcodes_expeditions_update(allExpeditions); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `cacheCalcClean` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `cacheCalcClean`() -BEGIN - DECLARE vCleanTime DATETIME DEFAULT TIMESTAMPADD(MINUTE, -5, NOW()); - - DELETE FROM cache_calc WHERE expires < vCleanTime; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_end` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_end`(v_calc INT) -BEGIN - DECLARE v_cache_name VARCHAR(255); - DECLARE v_params VARCHAR(255); - - -- Libera el bloqueo y actualiza la fecha de ultimo refresco. - - UPDATE cache_calc cc JOIN cache c ON c.id = cc.cache_id - SET - cc.last_refresh = NOW(), - cc.expires = ADDTIME(NOW(), c.lifetime), - cc.connection_id = NULL - WHERE cc.id = v_calc; - - SELECT c.name, ca.params INTO v_cache_name, v_params - FROM cache c - JOIN cache_calc ca ON c.id = ca.cache_id - WHERE ca.id = v_calc; - - DO RELEASE_LOCK(CONCAT_WS('/', v_cache_name, IFNULL(v_params, ''))); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_start` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_start`(OUT v_calc INT, INOUT v_refresh BOOL, v_cache_name VARCHAR(50), v_params VARCHAR(100)) -proc: BEGIN - DECLARE v_valid BOOL; - DECLARE v_lock_id VARCHAR(100); - DECLARE v_cache_id INT; - DECLARE v_expires DATETIME; - DECLARE v_clean_time DATETIME; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - DO RELEASE_LOCK(v_lock_id); - RESIGNAL; - END; - - SET v_params = IFNULL(v_params, ''); - - -- Si el servidor se ha reiniciado invalida todos los calculos. - - SELECT COUNT(*) > 0 INTO v_valid FROM cache_valid; - - IF !v_valid - THEN - DELETE FROM cache_calc; - INSERT INTO cache_valid (valid) VALUES (TRUE); - END IF; - - -- Obtiene un bloqueo exclusivo para que no haya problemas de concurrencia. - - SET v_lock_id = CONCAT_WS('/', v_cache_name, v_params); - - IF !GET_LOCK(v_lock_id, 30) - THEN - SET v_calc = NULL; - SET v_refresh = FALSE; - LEAVE proc; - END IF; - - -- Comprueba si el calculo solicitado existe y esta actualizado. - - SELECT c.id, ca.id, ca.expires - INTO v_cache_id, v_calc, v_expires - FROM cache c - LEFT JOIN cache_calc ca - ON ca.cache_id = c.id AND ca.params = v_params COLLATE 'utf8_general_ci' - WHERE c.name = v_cache_name COLLATE 'utf8_general_ci'; - - -- Si existe una calculo valido libera el bloqueo y devuelve su identificador. - - IF !v_refresh AND NOW() < v_expires - THEN - DO RELEASE_LOCK(v_lock_id); - SET v_refresh = FALSE; - LEAVE proc; - END IF; - - -- Si el calculo no existe le crea una entrada en la tabla de calculos. - - IF v_calc IS NULL - THEN - INSERT INTO cache_calc SET - cache_id = v_cache_id, - cacheName = v_cache_name, - params = v_params, - last_refresh = NULL, - expires = NULL, - connection_id = CONNECTION_ID(); - - SET v_calc = LAST_INSERT_ID(); - ELSE - UPDATE cache_calc - SET - last_refresh = NULL, - expires = NULL, - connection_id = CONNECTION_ID() - WHERE id = v_calc; - END IF; - - -- Si se debe recalcular mantiene el bloqueo y devuelve su identificador. - - SET v_refresh = TRUE; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `cache_calc_unlock` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `cache_calc_unlock`(v_calc INT) -BEGIN - DECLARE v_cache_name VARCHAR(50); - DECLARE v_params VARCHAR(100); - - SELECT c.name, ca.params INTO v_cache_name, v_params - FROM cache c - JOIN cache_calc ca ON c.id = ca.cache_id - WHERE ca.id = v_calc; - - DELETE FROM cache_calc WHERE id = v_calc; - - DO RELEASE_LOCK(CONCAT_WS('/', v_cache_name, IFNULL(v_params, ''))); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `clean` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `clean`() -BEGIN - - DECLARE vDateShort DATETIME; - - SET vDateShort = TIMESTAMPADD(MONTH, -1, CURDATE()); - - INSERT INTO cache.daily_task_log(state) VALUES('clean START'); - - DELETE FROM cache.departure_limit WHERE Fecha < vDateShort; - - INSERT INTO cache.daily_task_log(state) VALUES('clean END'); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `departure_timing` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing`() -BEGIN - -DECLARE done BOOL DEFAULT FALSE; -DECLARE rsDeparture INT; -DECLARE rsHoras DECIMAL(5,2); -DECLARE rsInicio DECIMAL(5,2); -DECLARE resto DECIMAL(5,2); -DECLARE horasProd DECIMAL(5,2); -DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00; -DECLARE myTime DECIMAL(5,2); -DECLARE departureLimit INT; -DECLARE myWarehouse INT; -DECLARE myMinSpeed DECIMAL(10,2); - - -DECLARE rs CURSOR FOR - SELECT Departure - , Sum(pb.m3)/(GREATEST(v.m3,IFNULL(minSpeed,0))/1.3) AS Horas - , curDate()+(Departure-(Sum(pb.m3)/(GREATEST(v.m3,IFNULL(minSpeed,0))/1.3))/24) AS InicioPreparacion - FROM tmp.production_buffer pb - JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id - LEFT JOIN cache.departure_limit dp ON dp.warehouse_id = pb.warehouse_id AND dp.fecha = CURDATE() - WHERE pb.Fecha = CURDATE() - AND alert_level < 2 - AND IFNULL(Departure,0) > 0 - GROUP BY Departure - ORDER BY Departure DESC; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - -SET myTime = HOUR(now()) + MINUTE(now()) / 60; - -SELECT warehouse_id INTO myWarehouse -FROM tmp.production_buffer -LIMIT 1; - -OPEN rs; - -FETCH rs INTO rsDeparture, rsHoras , rsInicio; - --- SELECT rsDeparture, rsHoras , rsInicio, myWarehouse; - -WHILE NOT done DO - - SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0); - - SET inicioProd = rsDeparture - rsHoras; - - IF inicioProd - resto < myTime THEN - - SET done = TRUE; - - ELSE - - SET departureLimit = rsDeparture; - - FETCH rs INTO rsDeparture, rsHoras , rsInicio; - - -- SELECT rsDeparture, rsHoras , rsInicio; - - END IF; - -END WHILE; - -SET departureLimit = IFNULL(departureLimit,24); -SET departureLimit = IF(departureLimit = 0, 24, departureLimit); - - SELECT minSpeed INTO myMinSpeed - FROM cache.departure_limit - WHERE warehouse_id = myWarehouse - AND fecha = CURDATE(); - - REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed) - VALUES (myWarehouse, CURDATE(), IFNULL(departureLimit,24), IFNULL(myMinSpeed,0)); - - -CLOSE rs; - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `departure_timing_beta` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing_beta`() -BEGIN - -DECLARE done BOOL DEFAULT FALSE; -DECLARE rsDeparture INT; -DECLARE rsHoras DECIMAL(5,2); -DECLARE rsInicio DECIMAL(5,2); -DECLARE resto DECIMAL(5,2); -DECLARE horasProd DECIMAL(5,2); -DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00; -DECLARE myTime DECIMAL(5,2); -DECLARE departureLimit INT; -DECLARE myWarehouse INT; - -DECLARE rs CURSOR FOR - SELECT Departure - , Sum(pb.m3)/GREATEST(v.m3,IFNULL(minSpeed,0)) AS Horas - , curDate()+(Departure-(Sum(pb.m3)/GREATEST(v.m3,IFNULL(minSpeed,0)))/24) AS InicioPreparacion - FROM tmp.production_buffer pb - JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id - LEFT JOIN cache.departure_limit dp ON dp.warehouse_id = pb.warehouse_id AND dp.fecha = CURDATE() - WHERE pb.Fecha = CURDATE() - AND alert_level < 2 - AND IFNULL(Departure,0) > 0 - GROUP BY Departure - ORDER BY Departure DESC; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - - - -SET myTime = HOUR(now()) + MINUTE(now()) / 60; - -SELECT warehouse_id INTO myWarehouse -FROM tmp.production_buffer -LIMIT 1; - -OPEN rs; - -FETCH rs INTO rsDeparture, rsHoras , rsInicio; - -SELECT rsDeparture, rsHoras , rsInicio, myWarehouse, done; - -WHILE NOT done DO - - SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0); - - SET inicioProd = rsDeparture - rsHoras; - - SELECT rsDeparture, rsHoras , rsInicio, resto,inicioProd; - - IF inicioProd - resto < myTime THEN - - SET done = TRUE; - - ELSE - - SET departureLimit = rsDeparture; - - FETCH rs INTO rsDeparture, rsHoras , rsInicio; - - END IF; - -END WHILE; - -SELECT rsDeparture, rsHoras , rsInicio, resto,inicioProd; - - -SET departureLimit = IFNULL(departureLimit,24); - -IF departureLimit > 0 THEN - - REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed) - VALUES (myWarehouse, CURDATE(), departureLimit, myMinSpeed); - -END IF; - -CLOSE rs; - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `departure_timing_kk` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `departure_timing_kk`() -BEGIN - -DECLARE done BOOL DEFAULT FALSE; -DECLARE rsDeparture INT; -DECLARE rsHoras DECIMAL(5,2); -DECLARE rsInicio DECIMAL(5,2); -DECLARE resto DECIMAL(5,2); -DECLARE horasProd DECIMAL(5,2); -DECLARE inicioProd DECIMAL(5,2) DEFAULT 24.00; -DECLARE myTime DECIMAL(5,2); -DECLARE departureLimit INT; -DECLARE myWarehouse INT; -DECLARE myMinSpeed DECIMAL(10,2); - - -DECLARE rs CURSOR FOR - SELECT Departure - , Sum(pb.m3)/(GREATEST(v.m3, 100)/1.3) AS Horas - , curDate()+(Departure-Sum(pb.m3)/(GREATEST(v.m3, 100)/1.3))/24 AS InicioPreparacion - FROM tmp.production_buffer pb - JOIN vn2008.v_encajado_ultima_hora v ON v.warehouse_id = pb.warehouse_id - WHERE Fecha = CURDATE() - AND alert_level < 2 - AND IFNULL(Departure,0) > 0 - GROUP BY Departure - ORDER BY Departure DESC; - -DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; - -SELECT IFNULL(minSpeed,0) INTO myMinSpeed -FROM cache.departure_limit -WHERE warehouse_id = myWarehouse -AND fecha = CURDATE(); - -SET myTime = HOUR(now()) + MINUTE(now()) / 60; - -SELECT warehouse_id INTO myWarehouse -FROM tmp.production_buffer -LIMIT 1; - -OPEN rs; - -FETCH rs INTO rsDeparture, rsHoras , rsInicio; - -WHILE NOT done DO - - SET resto = IF(inicioProd < rsDeparture, rsDeparture - inicioProd,0); - - SET inicioProd = rsDeparture - rsHoras; - - IF inicioProd - resto < myTime THEN - - SET done = TRUE; - - ELSE - - SET departureLimit = rsDeparture; - - FETCH rs INTO rsDeparture, rsHoras , rsInicio; - - END IF; - -END WHILE; - -IF departureLimit > 0 THEN - - REPLACE cache.departure_limit(warehouse_id, fecha, hora, minSpeed) - VALUES (myWarehouse, CURDATE(), departureLimit, myMinSpeed); - -END IF; - -CLOSE rs; - - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `equaliza` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `equaliza`(wh_id INT) -BEGIN - -- DEPRECATED usar equalizator_refesh - - - - CALL equalizator_refresh (FALSE, wh_id); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `equalizator_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `equalizator_refresh`(v_refresh BOOL, wh_id INT) -proc: BEGIN - DECLARE datEQ DATETIME; - DECLARE timDIF TIME; - DECLARE v_calc INT; - /* JGF 2017-03-20 cuelga el sistema - CALL cache_calc_start (v_calc, v_refresh, 'equalizator', wh_id); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - REPLACE equalizator (warehouse_id, Vista, Encajado, Impreso, Pedido) - SELECT - t.warehouse_id, - Vista, - sum(IF(t.Factura IS NOT NULL - OR t.Etiquetasemitidas - OR IFNULL(ticket_id,0), Cantidad * r.cm3, 0)) as encajado, - sum(IF(PedidoImpreso, Cantidad * r.cm3,0)) as impreso, - sum(Cantidad * r.cm3 ) as Pedido - FROM - vn2008.Movimientos m - JOIN - vn2008.Tickets t USING (Id_Ticket) - JOIN - bi.rotacion r on r.warehouse_id = t.warehouse_id and r.Id_Article = m.Id_Article - JOIN - vn2008.Agencias a ON t.Id_Agencia = a.Id_Agencia - JOIN - vn2008.Clientes C USING (Id_Cliente) - LEFT JOIN - (SELECT distinct - ticket_id - FROM - vn2008.expeditions e JOIN vn2008.Tickets t - ON t.Id_Ticket = e.ticket_id - WHERE Fecha >= curDate() - ) exp ON ticket_id = Id_Ticket - WHERE - invoice And Fecha >= curDate() - AND wh_id in (0,t.warehouse_id) - AND fecha < (TIMESTAMPADD(DAY, 1, CURDATE())) - GROUP BY t.warehouse_id, Vista; - - -- Reducimos las cantidades para que el grafico tenga sentido - - UPDATE equalizator SET - pedido = (pedido - (impreso - encajado) - encajado) / 1000000, - impreso = (impreso - encajado) / 1000000, - encajado = encajado / 1000000 - WHERE wh_id in (0,warehouse_id); - - CALL cache_calc_end (v_calc); - */ -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `item_range_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `item_range_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT, v_date DATE) -proc: BEGIN - DECLARE v_params CHAR(100); - DECLARE v_date_inv DATE; - - IF v_date < CURDATE() - THEN - LEAVE proc; - END IF; - - SET v_params = CONCAT_WS('/', v_warehouse, v_date); - CALL cache_calc_start (v_calc, v_refresh, 'item_range', v_params); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - -- Limpia las caches antiguas - - DELETE FROM item_range WHERE calc_id NOT IN ( - SELECT cc.id - FROM `cache` c - JOIN cache_calc cc ON c.id = cc.cache_id - WHERE c.`name` = 'item_range'); - - -- Calculos previos - - CALL last_buy_refresh (FALSE); - - SET v_date_inv = vn2008.date_inv(); - - -- Calcula el ultimo dia de vida para cada producto - - DROP TEMPORARY TABLE IF EXISTS tmp.item_range; - CREATE TEMPORARY TABLE tmp.item_range - (INDEX (item_id)) - ENGINE = MEMORY - SELECT c.item_id, IF(t.life IS NULL, NULL, TIMESTAMPADD(DAY, t.life + 1, GREATEST(c.landing, b.landing))) AS date_end - FROM last_buy b - JOIN ( - SELECT c.Id_Article item_id, MAX(landing) landing - FROM vn2008.Compres c - JOIN vn2008.Entradas e ON c.Id_Entrada = e.Id_Entrada - JOIN vn2008.travel t ON t.id = e.travel_id - JOIN vn2008.warehouse w ON w.id = t.warehouse_id - WHERE t.landing BETWEEN v_date_inv AND v_date - AND t.warehouse_id = v_warehouse - AND NOT e.Inventario - AND NOT e.Redada - GROUP BY item_id - ) c ON c.item_id = b.item_id - JOIN vn2008.Articles a ON a.Id_Article = b.item_id - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - WHERE b.warehouse_id = v_warehouse - HAVING date_end >= v_date OR date_end IS NULL; - - -- Tabla con el ultimo dia de precios fijados para cada producto - - DROP TEMPORARY TABLE IF EXISTS tmp.fix_range; - CREATE TEMPORARY TABLE tmp.fix_range - ENGINE = MEMORY - SELECT item_id, date_end FROM ( - SELECT p.item_id, p.date_end - FROM vn2008.price_fixed p - LEFT JOIN tmp.item_range i USING(item_id) - WHERE IFNULL(i.date_end, v_date) BETWEEN p.date_start AND p.date_end - AND warehouse_id IN (0, v_warehouse) - ORDER BY item_id, warehouse_id DESC, date_end DESC - ) t GROUP BY item_id; - - -- Calcula los rangos - - DELETE FROM item_range WHERE calc_id = v_calc; - - INSERT INTO item_range (calc_id, item_id, date_end) - SELECT v_calc, item_id, date_end - FROM ( - SELECT * FROM tmp.fix_range - UNION ALL - SELECT * FROM tmp.item_range - ) t - GROUP BY item_id; - - -- Limpieza - - DROP TEMPORARY TABLE tmp.item_range; - DROP TEMPORARY TABLE tmp.fix_range; - - CALL cache_calc_end (v_calc); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `last_buy_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `last_buy_refresh`(v_refresh BOOL) -proc: BEGIN -/** - * Crea o actualiza la cache con la última compra y fecha de cada - * artículo hasta ayer. Para obtener la última compra hasta una fecha - * determinada utilizar el procedimiento vn2008.item_last_buy_(). - * - * @param v_refresh %TRUE para forzar el recálculo de la cache - **/ - DECLARE v_calc INT; - DECLARE v_date_ini DATE; - DECLARE v_date_end DATE; - DECLARE v_last_refresh DATE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL cache_calc_unlock (v_calc); - RESIGNAL; - END; - - CALL cache_calc_start (v_calc, v_refresh, 'last_buy', NULL); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - -- TODO: ¿Se puede usar la fecha del ultimo inventario? - SET v_date_ini = vn2008.date_inv();-- TIMESTAMPADD(DAY, -90, CURDATE()); - SET v_date_end = CURDATE(); -- TIMESTAMPADD(DAY, -1, CURDATE()); - - CALL vn2008.item_last_buy_from_interval (NULL, v_date_ini, v_date_end); - - DELETE FROM last_buy; - - INSERT INTO last_buy (item_id, warehouse_id, buy_id, landing) - SELECT item_id, warehouse_id, buy_id, landing - FROM tmp.item_last_buy_from_interval; - - DROP TEMPORARY TABLE tmp.item_last_buy_from_interval; - - CALL cache_calc_end (v_calc); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `prod_graphic_refresh` */; -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 `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 */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `sales_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `sales_refresh`() -proc:BEGIN - - DECLARE v_calc INT; - DECLARE v_refresh BOOL DEFAULT TRUE; - DECLARE datMONTH INT; - DECLARE datYEAR INT; - - CALL cache_calc_start (v_calc, v_refresh, 'sales', NULL); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - - SELECT MONTH(CURDATE()) INTO datMONTH; - SELECT YEAR(CURDATE()) INTO datYEAR; - - -- preparamos una tabla con los meses y años que interesan - DROP TEMPORARY TABLE IF EXISTS tmp.periods; - CREATE TEMPORARY TABLE tmp.periods - select distinct month, year(date) as year - from vn2008.time - where date <= CURDATE() - order by year desc, month desc - limit 3; - - -- borramos los datos para evitar flecos - DELETE s.* - FROM bi.sales s - join tmp.periods using(year,month); - - -- insertamos las ventas de cada comercial - REPLACE bi.sales(Id_Trabajador, year, month, weight, boss_id) - select v.Id_Trabajador, year, month, round(sum(total)) as weight, IFNULL(j.boss_id,20) - from bi.v_ticket_total v - join tmp.periods using(year,month) - left join (SELECT jerarquia.boss_id, jerarquia.worker_id - FROM vn2008.jerarquia - ) j on j.worker_id = v.Id_Trabajador - group by v.Id_Trabajador, year, month; - - - - -- caso especial: Claudi ajuda a Josep a llegar a los 1200 euros de comision - /* - update bi.sales - set boss_aid = 34285 - weight - where Id_Trabajador = 378 - and year >= 2015 - and month > datmonth -2; - - update bi.sales s - join - (select year, month, boss_aid - from bi.sales - where Id_Trabajador = 378 - and year >= 2015 - and month > datmonth -2) sub using(year,month) - set s.boss_aid = s.boss_aid - sub.boss_aid - where Id_Trabajador = 208 - and year >= 2015 - and month > datmonth -2; - */ - - - - --- ahora, las comisiones - -update bi.sales s -set comision = weight * 0.029; - - DROP TEMPORARY TABLE IF EXISTS tmp.periods; - - CALL cache_calc_end (v_calc); - -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `stock_refresh` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `stock_refresh`(v_refresh BOOL) -proc: BEGIN -/** - * Crea o actualiza la cache con el disponible hasta el día de - * ayer. Esta cache es usada como base para otros procedimientos - * como el cáculo del visible o del ATP. - * - * @param v_refresh %TRUE para forzar el recálculo de la cache - **/ - DECLARE v_calc INT; - DECLARE v_date_inv DATE; - DECLARE v_curdate DATE; - DECLARE v_last_refresh DATETIME; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL cache_calc_unlock (v_calc); - RESIGNAL; - END; - - CALL cache_calc_start (v_calc, v_refresh, 'stock', NULL); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - SET v_date_inv = (SELECT FechaInventario FROM vn2008.tblContadores LIMIT 1); - SET v_curdate = CURDATE(); - - DELETE FROM stock; - - INSERT INTO stock (item_id, warehouse_id, amount) - SELECT item_id, warehouse_id, SUM(amount) amount FROM - ( - SELECT item_id, warehouse_id, amount FROM vn2008.item_out - WHERE dat >= v_date_inv AND dat < v_curdate - UNION ALL - SELECT item_id, warehouse_id, amount FROM vn2008.item_entry_in - WHERE dat >= v_date_inv AND dat < v_curdate - UNION ALL - SELECT item_id ,warehouse_id, amount FROM vn2008.item_entry_out - WHERE dat >= v_date_inv AND dat < v_curdate - ) t - GROUP BY item_id, warehouse_id HAVING amount != 0; - - CALL cache_calc_end (v_calc); -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `visible_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `visible_refresh`(OUT v_calc INT, v_refresh BOOL, v_warehouse INT) -proc: BEGIN - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - CALL cache_calc_unlock (v_calc); - RESIGNAL; - END; - - CALL cache_calc_start (v_calc, v_refresh, 'visible', v_warehouse); - - IF !v_refresh - THEN - LEAVE proc; - END IF; - - -- Limpia las caches antiguas - - IF TRUE -- GET_LOCK('visible/clean', 1) - THEN - DELETE FROM visible WHERE calc_id NOT IN ( - SELECT cc.id - FROM `cache` c - JOIN cache_calc cc ON c.id = cc.cache_id - WHERE c.`name` = 'visible'); - - -- DO RELEASE_LOCK('visible/clean'); - END IF; - - -- Calculamos el stock hasta ayer - - CALL `cache`.stock_refresh(false); - - DROP TEMPORARY TABLE IF EXISTS vn2008.tmp_item; - CREATE TEMPORARY TABLE vn2008.tmp_item - (PRIMARY KEY (item_id)) - ENGINE = MEMORY - SELECT item_id, amount stock, amount visible FROM `cache`.stock - WHERE warehouse_id = v_warehouse; - - -- Calculamos los movimientos confirmados de hoy - - CALL vn2008.item_stock_visible(v_warehouse, NULL); - - DELETE FROM visible WHERE calc_id = v_calc; - - INSERT INTO visible (calc_id, item_id,visible) - SELECT v_calc, item_id, visible FROM vn2008.tmp_item; - - CALL cache_calc_end (v_calc); - - DROP TEMPORARY TABLE vn2008.tmp_item; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; -/*!50003 DROP PROCEDURE IF EXISTS `weekly_sales_refresh` */; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_general_ci ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `weekly_sales_refresh`(v_refresh BOOL) -BEGIN - DECLARE v_week_ini INT; - DECLARE v_week_end INT; - DECLARE v_date_ini DATE; - DECLARE v_date_end DATE; - DECLARE v_last_refresh DATE; - - IF GET_LOCK('weekly_sales', 300) - THEN - SELECT last_refresh INTO v_last_refresh FROM weekly_sales_info; - - IF v_last_refresh IS NULL THEN - SET v_refresh = TRUE; - END IF; - - IF v_refresh || v_last_refresh < CURDATE() - THEN - SET v_date_ini = TIMESTAMPADD(DAY, -(366 * 1.5), CURDATE()); - SET v_date_end = TIMESTAMPADD(DAY, -1, CURDATE()); - - IF v_refresh - THEN - TRUNCATE TABLE weekly_sales; - ELSE - SET v_week_ini = vn2008.to_weeks (v_date_ini); - SET v_date_ini = TIMESTAMPADD(DAY, -WEEKDAY(v_last_refresh) - 7, v_last_refresh); - SET v_week_end = vn2008.to_weeks (v_date_ini); - - DELETE FROM weekly_sales - WHERE week < v_week_ini OR week >= v_week_end; - END IF; - - CALL vn2008.weekly_sales_new (0, v_date_ini, v_date_end); - - INSERT INTO weekly_sales (item_id, week, warehouse_id, amount, price) - SELECT item_id, week, warehouse_id, amount, price FROM vn2008.weekly_sales; - - DROP TEMPORARY TABLE vn2008.weekly_sales; - - TRUNCATE TABLE weekly_sales_info; - INSERT INTO weekly_sales_info (last_refresh) VALUES (CURDATE()); - END IF; - - DO RELEASE_LOCK('weekly_sales'); - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -ALTER DATABASE `cache` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; - --- --- Current Database: `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=156174 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 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 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 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 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 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 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 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 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: `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; - --- --- 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; - --- --- 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, - `default_lang` char(2) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The default language if none is specified', - `https` tinyint(3) unsigned NOT NULL COMMENT 'Wether to force de use of HTTPS', - `cookie_life` 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `customer_user` --- - -DROP TABLE IF EXISTS `customer_user`; -/*!50001 DROP VIEW IF EXISTS `customer_user`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `customer_user` AS SELECT - 1 AS `user_id`, - 1 AS `name`*/; -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 `form` --- - -DROP TABLE IF EXISTS `form`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `form` ( - `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, - `role_id` int(10) unsigned NOT NULL, - `parent` int(10) unsigned DEFAULT NULL, - `display_order` tinyint(4) unsigned NOT NULL DEFAULT '1', - PRIMARY KEY (`id`), - KEY `group_id` (`role_id`), - KEY `parent` (`parent`), - CONSTRAINT `form_ibfk_1` FOREIGN KEY (`role_id`) REFERENCES `account`.`role` (`id`) ON UPDATE CASCADE, - CONSTRAINT `form_ibfk_2` FOREIGN KEY (`parent`) REFERENCES `form` (`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 `gallery` --- - -DROP TABLE IF EXISTS `gallery`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `gallery` ( - `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `title` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - `comment` varchar(255) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=33 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `image_config` --- - -DROP TABLE IF EXISTS `image_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `image_config` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Identifier', - `max_size` int(10) unsigned NOT NULL COMMENT 'Maximun size for uploaded images in MB', - `use_xsendfile` tinyint(4) NOT NULL, - PRIMARY KEY (`id`) -) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global image parameters'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `image_file` --- - -DROP TABLE IF EXISTS `image_file`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `image_file` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `schema_id` 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` (`schema_id`,`file`), - CONSTRAINT `image_file_ibfk_1` FOREIGN KEY (`schema_id`) REFERENCES `image_schema` (`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 `image_schema` --- - -DROP TABLE IF EXISTS `image_schema`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `image_schema` ( - `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, - `max_width` int(10) unsigned NOT NULL, - `max_height` 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `image_schema_size` --- - -DROP TABLE IF EXISTS `image_schema_size`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `image_schema_size` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `image_schema_id` 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` (`image_schema_id`), - CONSTRAINT `image_schema_size_ibfk_1` FOREIGN KEY (`image_schema_id`) REFERENCES `image_schema` (`id`) 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 `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) COLLATE utf8_unicode_ci NOT NULL, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `active` tinyint(1) unsigned 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=35 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 `mail_config` --- - -DROP TABLE IF EXISTS `mail_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `mail_config` ( - `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', - `sender_name` varchar(75) COLLATE utf8_unicode_ci 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 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 */; - --- --- 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, - `user_id` int(10) unsigned NOT NULL, - `date_time` 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', - PRIMARY KEY (`id`), - KEY `user` (`user_id`), - KEY `tag` (`tag`), - CONSTRAINT `news_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`.`account` (`id`) ON UPDATE CASCADE, - CONSTRAINT `news_ibfk_2` FOREIGN KEY (`tag`) REFERENCES `news_tag` (`name`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `news_tag` --- - -DROP TABLE IF EXISTS `news_tag`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `news_tag` ( - `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 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`), - 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `order_basket` --- - -DROP TABLE IF EXISTS `order_basket`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_basket` ( - `order_id` int(10) unsigned NOT NULL, - `customer_id` int(11) NOT NULL, - PRIMARY KEY (`order_id`,`customer_id`), - UNIQUE KEY `customer_id` (`customer_id`), - CONSTRAINT `order_basket_ibfk_1` FOREIGN KEY (`order_id`, `customer_id`) REFERENCES `order` (`id`, `customer_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `order_basket_ibfk_2` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `order_basket_ibfk_3` FOREIGN KEY (`customer_id`) 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 `order_check` --- - -DROP TABLE IF EXISTS `order_check`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_check` ( - `id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT, - `max_time` time NOT NULL, - `deny_sunday` tinyint(1) unsigned NOT NULL, - `deny_day` 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 `order_check_festive` --- - -DROP TABLE IF EXISTS `order_check_festive`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_check_festive` ( - `id` smallint(5) unsigned NOT NULL AUTO_INCREMENT, - `date` date NOT NULL, - `accept_orders` tinyint(1) unsigned 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 `order_check_wday` --- - -DROP TABLE IF EXISTS `order_check_wday`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_check_wday` ( - `weekday` tinyint(3) unsigned NOT NULL COMMENT '0 = Monday, 6 = Sunday', - `max_time` 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 `order_component` --- - -DROP TABLE IF EXISTS `order_component`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_component` ( - `order_row_id` int(10) unsigned NOT NULL, - `component_id` int(11) NOT NULL, - `price` decimal(12,4) NOT NULL, - PRIMARY KEY (`order_row_id`,`component_id`), - KEY `component_id` (`component_id`), - CONSTRAINT `order_component_ibfk_1` FOREIGN KEY (`order_row_id`) REFERENCES `order_row` (`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 `order_config` --- - -DROP TABLE IF EXISTS `order_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_config` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `employee_id` int(11) NOT NULL, - `delivery_agency` int(11) NOT NULL, - `guest_method` varchar(45) COLLATE utf8_unicode_ci NOT NULL, - `guest_agency` int(11) NOT NULL, - `reserve_time` time NOT NULL, - PRIMARY KEY (`id`), - KEY `employee_id` (`employee_id`), - KEY `delivery_agency` (`delivery_agency`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 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; - --- --- Table structure for table `order_row` --- - -DROP TABLE IF EXISTS `order_row`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `order_row` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `order_id` int(10) unsigned NOT NULL DEFAULT '0', - `item_id` int(11) NOT NULL DEFAULT '0', - `warehouse_id` int(11) DEFAULT NULL, - `shipment` date DEFAULT NULL, - `amount` smallint(6) unsigned NOT NULL DEFAULT '0', - `price` decimal(12,2) DEFAULT NULL, - `rate` smallint(5) unsigned DEFAULT NULL, - `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - `Id_Movimiento` int(11) DEFAULT NULL COMMENT 'Deprecated', - PRIMARY KEY (`id`), - KEY `item` (`item_id`), - KEY `order_id` (`order_id`), - KEY `created` (`created`), - KEY `warehouse_shipment` (`warehouse_id`,`shipment`), - CONSTRAINT `order_row_ibfk_2` FOREIGN KEY (`item_id`) REFERENCES `vn2008`.`Articles` (`Id_Article`) ON UPDATE CASCADE, - CONSTRAINT `order_row_ibfk_3` FOREIGN KEY (`order_id`) REFERENCES `order` (`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 = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `order_row_bi` BEFORE INSERT ON `order_row` -FOR EACH ROW -BEGIN - DECLARE v_is_first BOOLEAN; - - SELECT (first_row_stamp IS NULL) INTO v_is_first - FROM `order` - WHERE id = NEW.order_id; - - IF v_is_first THEN - UPDATE `order` SET first_row_stamp = NOW() - WHERE id = NEW.order_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 */ ; - --- --- 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 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `sms_config` --- - -DROP TABLE IF EXISTS `sms_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sms_config` ( - `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 `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `sql_message` --- - -DROP TABLE IF EXISTS `sql_message`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `sql_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 `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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `survey_answer` --- - -DROP TABLE IF EXISTS `survey_answer`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `survey_answer` ( - `id` int(10) unsigned NOT NULL, - `survey_id` 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` (`survey_id`), - CONSTRAINT `survey_answer_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `survey` (`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 `survey_vote` --- - -DROP TABLE IF EXISTS `survey_vote`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `survey_vote` ( - `survey_id` int(10) unsigned NOT NULL, - `user_id` int(10) unsigned NOT NULL, - PRIMARY KEY (`survey_id`,`user_id`), - KEY `user_id` (`user_id`), - CONSTRAINT `survey_vote_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `survey` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `survey_vote_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `ticket_row_view` --- - -DROP TABLE IF EXISTS `ticket_row_view`; -/*!50001 DROP VIEW IF EXISTS `ticket_row_view`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticket_row_view` AS SELECT - 1 AS `id`, - 1 AS `item_id`, - 1 AS `ticket_id`, - 1 AS `concept`, - 1 AS `amount`, - 1 AS `price`, - 1 AS `fixed`, - 1 AS `discount`, - 1 AS `cost`, - 1 AS `reserved`, - 1 AS `ok`*/; -SET character_set_client = @saved_cs_client; - --- --- Temporary view structure for view `ticket_view` --- - -DROP TABLE IF EXISTS `ticket_view`; -/*!50001 DROP VIEW IF EXISTS `ticket_view`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `ticket_view` AS SELECT - 1 AS `id`, - 1 AS `customer_id`, - 1 AS `warehouse_id`, - 1 AS `date`, - 1 AS `delivery`, - 1 AS `alias`, - 1 AS `agency_id`, - 1 AS `note`, - 1 AS `invoice`, - 1 AS `address_id`, - 1 AS `employee_id`, - 1 AS `comments`, - 1 AS `signed`, - 1 AS `packages`, - 1 AS `location`, - 1 AS `hour`, - 1 AS `blocked`, - 1 AS `solution`, - 1 AS `company_id`, - 1 AS `type`*/; -SET character_set_client = @saved_cs_client; - --- --- Table structure for table `tpv_config` --- - -DROP TABLE IF EXISTS `tpv_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_config` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `currency` smallint(5) unsigned NOT NULL, - `terminal` tinyint(3) unsigned NOT NULL, - `transaction_type` tinyint(3) unsigned NOT NULL, - `employee_id` int(10) NOT NULL, - `url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The bank web service URL for production environment', - `test_mode` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'Whether test mode is enabled', - `test_url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The bank web service URL for test environment', - `test_key` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT 'The bank secret key for test environment', - `merchant_url` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - PRIMARY KEY (`id`), - KEY `employee_id` (`employee_id`), - CONSTRAINT `employee_id` FOREIGN KEY (`employee_id`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV parameters'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tpv_error` --- - -DROP TABLE IF EXISTS `tpv_error`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_error` ( - `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 `tpv_imap_config` --- - -DROP TABLE IF EXISTS `tpv_imap_config`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_imap_config` ( - `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, - `clean_period` varchar(15) COLLATE utf8_unicode_ci NOT NULL, - `success_folder` varchar(150) COLLATE utf8_unicode_ci DEFAULT NULL, - `error_folder` varchar(150) COLLATE utf8_unicode_ci 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 `tpv_merchant` --- - -DROP TABLE IF EXISTS `tpv_merchant`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_merchant` ( - `id` int(10) unsigned NOT NULL COMMENT 'Merchant identifier', - `description` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'Small description', - `company_id` smallint(6) unsigned DEFAULT NULL COMMENT 'Company associated with the merchant', - `bank_id` int(10) NOT NULL COMMENT 'The bank where merchant receipts are created', - `secret_key` varchar(50) COLLATE utf8_unicode_ci NOT NULL COMMENT 'The merchant secret key to sign transactions', - PRIMARY KEY (`id`), - KEY `bank_id` (`bank_id`), - KEY `company_id` (`company_id`), - KEY `id` (`id`,`company_id`), - CONSTRAINT `company_id` FOREIGN KEY (`company_id`) REFERENCES `vn2008`.`empresa` (`id`) ON UPDATE CASCADE, - CONSTRAINT `tpv_merchant_ibfk_1` FOREIGN KEY (`bank_id`) REFERENCES `vn2008`.`Bancos` (`Id_Banco`) ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV users and its associated company'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tpv_merchant_enable` --- - -DROP TABLE IF EXISTS `tpv_merchant_enable`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_merchant_enable` ( - `merchant_id` int(10) unsigned NOT NULL DEFAULT '0', - `company_id` smallint(6) unsigned NOT NULL, - PRIMARY KEY (`merchant_id`,`company_id`), - UNIQUE KEY `company_id` (`company_id`), - CONSTRAINT `tpv_merchant_enable_ibfk_1` FOREIGN KEY (`merchant_id`, `company_id`) REFERENCES `tpv_merchant` (`id`, `company_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Virtual TPV enabled users'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Table structure for table `tpv_response` --- - -DROP TABLE IF EXISTS `tpv_response`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_response` ( - `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 `tpv_transaction` --- - -DROP TABLE IF EXISTS `tpv_transaction`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `tpv_transaction` ( - `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `merchant_id` int(10) unsigned NOT NULL, - `customer_id` int(11) NOT NULL, - `receipt_id` 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', - `error_code` char(7) COLLATE utf8_unicode_ci DEFAULT NULL, - `status` enum('started','ok','ko') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'started', - `date_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - PRIMARY KEY (`id`), - KEY `merchant_id` (`merchant_id`), - KEY `receipt_id` (`receipt_id`), - KEY `user_id` (`customer_id`), - KEY `response` (`response`), - KEY `error_code` (`error_code`), - CONSTRAINT `receipt_id` FOREIGN KEY (`receipt_id`) REFERENCES `vn2008`.`Recibos` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `tpv_transaction_ibfk_1` FOREIGN KEY (`customer_id`) REFERENCES `vn2008`.`Clientes` (`id_cliente`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `tpv_transaction_ibfk_2` FOREIGN KEY (`merchant_id`) REFERENCES `tpv_merchant` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV'; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `tpv_transaction_view` --- - -DROP TABLE IF EXISTS `tpv_transaction_view`; -/*!50001 DROP VIEW IF EXISTS `tpv_transaction_view`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `tpv_transaction_view` AS SELECT - 1 AS `id`, - 1 AS `merchant_id`, - 1 AS `customer_id`, - 1 AS `receipt_id`, - 1 AS `amount`, - 1 AS `response`, - 1 AS `status`, - 1 AS `date_time`*/; -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 */; - --- --- Table structure for table `user_android` --- - -DROP TABLE IF EXISTS `user_android`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `user_android` ( - `user_id` int(10) unsigned NOT NULL, - `android_id` varchar(200) COLLATE utf8_unicode_ci NOT NULL, - PRIMARY KEY (`user_id`,`android_id`), - CONSTRAINT `user_android_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; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- Temporary view structure for view `user_android_view` --- - -DROP TABLE IF EXISTS `user_android_view`; -/*!50001 DROP VIEW IF EXISTS `user_android_view`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `user_android_view` AS SELECT - 1 AS `user_id`, - 1 AS `android_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 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 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 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 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; - --- --- 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 `customer_get_debt` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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 `customer_get_debt`() RETURNS double -BEGIN - DECLARE v_debt DOUBLE; - - CALL customer_get_debt_by_company (); - - SELECT SUM(amount) INTO v_debt - FROM t_customer_debt; - - DROP TEMPORARY TABLE t_customer_debt; - - RETURN v_debt; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 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 `invoice_get_path` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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 `invoice_get_path`(v_invoice INT) RETURNS varchar(255) CHARSET utf8 -BEGIN - DECLARE v_issued DATE; - DECLARE v_serial VARCHAR(15); - - SELECT Fecha, Id_Factura - INTO v_issued, v_serial - FROM vn2008.Facturas WHERE factura_id = v_invoice; - - RETURN CONCAT_WS('/' - ,'invoice' - ,YEAR(v_issued) - ,MONTH(v_issued) - ,DAY(v_issued) - ,CONCAT(YEAR(v_issued), v_serial, '.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 `orderRowCheckAmount` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 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 `orderRowCheckAmount`(vOrder INT, vItem INT, vAmount INT) RETURNS int(11) -BEGIN - DECLARE vGroup INT; - DECLARE vMod INT; - DECLARE vIsBionic BOOLEAN; - - SELECT CASE caja WHEN 0 THEN 1 WHEN 2 THEN packing ELSE grouping END, o.is_bionic - INTO vGroup, vIsBionic - FROM `order` o - JOIN vn2008.v_compres c ON c.warehouse_id = o.wh_id - WHERE Id_Article = vItem AND o.id = vOrder AND c.landing <= o.date_send - ORDER BY landing DESC LIMIT 1; - - IF !vIsBionic - THEN - SET vMod = MOD(vAmount, vGroup); - - IF vMod - THEN - SET vAmount = vAmount + vGroup - vMod; - -- CALL util.warn ('ORDER_AMOUNT_ROUNDED'); - END IF; - END IF; - - RETURN vAmount; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` FUNCTION `order_get_total`(v_order INT) RETURNS double -BEGIN -/** - * Obtiene el total de un pedido con el IVA y el recargo de - * equivalencia incluidos. - * - * @param v_order El identificador del pedido - * - * @return El total del pedido - **/ - - DECLARE v_total DOUBLE; - - CALL order_get_vat (v_order); - - SELECT SUM(tax_base) + SUM(vat) + SUM(surcharge) INTO v_total - FROM t_order_vat; - - DROP TEMPORARY TABLE t_order_vat; - - 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 `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 `agency_list_from_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 `agency_list_from_date`(v_date DATE, v_address INT) -BEGIN -/** - * Devuelve el listado de agencias disponibles para la fecha - * y dirección pasadas. - * - * @param v_date Fecha de recogida - * @address v_addres Id de dirección de envío, @NULL si es recogida - **/ - DECLARE v_agency INT; - DECLARE v_done BOOLEAN; - - DECLARE cur CURSOR FOR - SELECT agency_id FROM vn2008.agency; - -- WHERE IFNULL(warehouse_alias_id, 1) <> 28; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_done = TRUE; - - DROP TEMPORARY TABLE IF EXISTS t_agency; - CREATE TEMPORARY TABLE t_agency - ( - agency_id INT, - PRIMARY KEY (agency_id) - ) - ENGINE = MEMORY; - - OPEN cur; - - l: LOOP - SET v_done = FALSE; - FETCH cur INTO v_agency; - - IF v_done THEN - LEAVE l; - END IF; - - CALL vn2008.travel_tree (v_date, v_address, v_agency); - - -- No puedo usar IGNORE porque lanza un error 'invisible' - - INSERT /* IGNORE */ INTO t_agency - SELECT a.Id_Agencia - FROM vn2008.Agencias a - JOIN vn2008.travel_tree t - JOIN vn2008.warehouse w on w.id = t.warehouse_id - WHERE a.agency_id = v_agency - ON DUPLICATE KEY UPDATE - agency_id = VALUES(agency_id); - END LOOP; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `basket_check` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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 `basket_check`() -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 v_order INT; - DECLARE v_created DATETIME; - DECLARE v_status VARCHAR(15) DEFAULT 'OK'; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_status = 'NOT_EXISTS'; - DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET v_status = 'BAD_CONFIG'; - - SELECT id, date_make - INTO v_order, v_created - FROM basket; - - IF v_status = 'OK' - THEN - CALL order_check_config (v_order); - - IF v_status = 'OK' AND v_created < TIMESTAMPADD(DAY, -1, NOW()) - THEN - CALL order_update (v_order); - SET v_status = 'UPDATED'; - END IF; - END IF; - - SELECT v_status 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 `basket_configure` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `basket_configure`( - v_delivery DATE, - v_delivery_method VARCHAR(45), - v_agency INT, - v_address 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 v_delivery Fecha de recogida - * @param v_agency Id de la agencia - * @param v_address Id de dirección de envío, @NULL si es recogida - **/ - DECLARE v_order INT; - DECLARE v_company INT; - DECLARE v_delivery_method_id INT; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET v_order = NULL; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - START TRANSACTION; - - SELECT vista_id INTO v_delivery_method_id - FROM vn2008.Vistas - WHERE code = v_delivery_method; - - IF v_delivery_method = 'DELIVERY' - THEN - SELECT delivery_agency INTO v_agency - FROM order_config; - END IF; - - IF v_delivery_method = 'PICKUP' AND v_address IS NULL - THEN - SELECT default_address INTO v_address - FROM customer_view; - END IF; - - SET v_order = basketGetId(); - - IF v_order IS NULL - THEN - SELECT empresa_id INTO v_company - FROM vn2008.Clientes_empresa - WHERE Id_Cliente = account.userGetId() - AND CURDATE() BETWEEN fecha_ini AND fecha_fin - LIMIT 1; - - INSERT INTO `order` - SET - customer_id = account.userGetId(), - date_send = v_delivery, - delivery_method_id = v_delivery_method_id, - agency_id = v_agency, - address_id = v_address, - source_app = 'WEB', - company_id = IFNULL(v_company, 442); - - SET v_order = LAST_INSERT_ID(); - - INSERT INTO order_basket SET - customer_id = account.userGetId(), - order_id = v_order; - ELSE - UPDATE `order` - SET - date_send = v_delivery, - delivery_method_id = v_delivery_method_id, - agency_id = v_agency, - address_id = v_address - WHERE - id = v_order; - - CALL order_update (v_order); - END IF; - - CALL order_check_config (v_order); - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `basket_configure_for_guest` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!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 `basket_configure_for_guest`() -BEGIN - DECLARE v_method VARCHAR(45); - DECLARE v_agency INT; - - SELECT guest_method, guest_agency - INTO v_method, v_agency - FROM order_config - LIMIT 1; - - CALL basket_configure (CURDATE(), v_method, v_agency, 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 `basket_confirm` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `basket_confirm`() -BEGIN - DECLARE v_order INT DEFAULT basketGetId (); - - IF v_order IS NOT NULL - THEN - CALL order_confirm_bionic (v_order); - - DELETE FROM order_basket - WHERE order_id = v_order; - END IF; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `basket_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 `basket_get_vat`() -BEGIN - CALL order_get_vat (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 `basket_item_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 `basket_item_add`( - v_warehouse INT, - v_item INT, - v_amount INT) -BEGIN - DECLARE v_calc INT; - DECLARE v_order INT; - DECLARE v_type INT; - DECLARE v_row INT; - DECLARE v_add INT; - DECLARE v_available INT; - DECLARE v_done BOOLEAN; - DECLARE v_grouping INT; - DECLARE v_rate INT; - DECLARE v_shipment DATE; - DECLARE v_price DECIMAL(10,2); - - DECLARE cur CURSOR FOR - SELECT grouping, price, rate - FROM tmp.bionic_price - WHERE warehouse_id = v_warehouse - AND item_id = v_item - ORDER BY grouping DESC; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET v_done = TRUE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - CALL bionic_from_item (v_item); - - START TRANSACTION; - - SET v_order = basketGetId(); - - SELECT Fecha_envio INTO v_shipment - FROM tmp.travel_tree - WHERE warehouse_id = v_warehouse; - - SELECT available INTO v_available - FROM tmp.bionic_lot - WHERE warehouse_id = v_warehouse - AND item_id = v_item; - - IF v_amount > v_available - THEN - CALL util.throw ('ORDER_ROW_UNAVAILABLE'); - END IF; - - OPEN cur; - - l: LOOP - SET v_done = FALSE; - FETCH cur INTO v_grouping, v_price, v_rate; - - IF v_done THEN - LEAVE l; - END IF; - - SET v_add = v_amount - MOD(v_amount, v_grouping); - SET v_amount = v_amount - v_add; - - IF v_add = 0 THEN - ITERATE l; - END IF; - - INSERT INTO order_row SET - order_id = v_order, - item_id = v_item, - warehouse_id = v_warehouse, - shipment = v_shipment, - rate = v_rate, - amount = v_add, - price = v_price; - - SET v_row = LAST_INSERT_ID(); - - INSERT INTO order_component (order_row_id, component_id, price) - SELECT v_row, 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 = v_rate) - WHERE c.warehouse_id = v_warehouse - AND c.item_id = v_item; - 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 `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 `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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `bionic_from_type`(v_type 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_type (v_date, v_address, v_agency, 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 `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_i INT DEFAULT 0; - - WHILE v_i < 5 - DO - DROP TEMPORARY TABLE IF EXISTS tmp; - - CREATE TEMPORARY TABLE tmp - ENGINE = MEMORY - SELECT id, COUNT(*) c - FROM order_component - GROUP BY order_row_id, component_id - HAVING c > 1; - - DELETE c FROM order_component c JOIN tmp t ON t.id = c.id; - - DROP TEMPORARY TABLE tmp; - - SET v_i = v_i + 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 `customer_get_debt_by_company` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_get_debt_by_company`() -BEGIN -/** - * Calcula el saldo del cliente en cada empresa. - * - * @select Saldo desglosado por empresa - **/ - DECLARE v_date_ini DATETIME DEFAULT TIMESTAMP(DATE_FORMAT(TIMESTAMPADD(YEAR, -1, CURDATE()), '%Y-01-01')); - DECLARE v_date_end DATETIME DEFAULT TIMESTAMP(CURDATE(), '23:59:59'); - - DROP TEMPORARY TABLE IF EXISTS vn2008.ticket_tmp; - - CREATE TEMPORARY TABLE vn2008.ticket_tmp - (INDEX (ticket_id)) - ENGINE = MEMORY - SELECT t.id ticket_id - FROM ticket_view t - JOIN ticket_row_view r ON t.id = r.ticket_id - JOIN tpv_merchant_enable m ON m.company_id = t.company_id - WHERE invoice IS NULL - AND date BETWEEN v_date_ini AND v_date_end - GROUP BY ticket_id - HAVING BIT_AND(fixed); - - CALL vn2008.ticket_total (); - - CREATE TEMPORARY TABLE t_customer_debt - ENGINE = MEMORY - SELECT e.id, e.abbreviation, IFNULL(SUM(t.amount), 0) amount - FROM vn2008.empresa e - JOIN tpv_merchant_enable m ON m.company_id = e.id - LEFT JOIN - ( - SELECT SUM(t.total) amount, i.company_id - FROM vn2008.ticket_total t - JOIN ticket_view i ON i.id = t.ticket_id - GROUP BY i.company_id - UNION ALL - SELECT r.amount, r.company_id - FROM bi.customer_risk r - JOIN tpv_merchant_enable m ON m.company_id = r.company_id - WHERE customer_id = account.userGetId() - UNION ALL - SELECT -SUM(amount) / 100, company_id - FROM tpv_transaction_view t - JOIN tpv_merchant m ON m.id = t.merchant_id - WHERE t.receipt_id IS NULL AND t.status = 'ok' - GROUP BY company_id - ) t - ON t.company_id = e.id - GROUP BY e.id; - - DROP TEMPORARY TABLE vn2008.ticket_tmp; - DROP TEMPORARY TABLE vn2008.ticket_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 PROCEDURE IF EXISTS `formList` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `formList`() -BEGIN -/** - * Devuelve el listado de formularios web a los que tiene - * acceso el usuario actual. - * - * @table tmp.role Tabla con el listado de formularios - */ - SELECT f.id, f.path, f.description, f.parent - FROM form f - WHERE role_id IN (SELECT id FROM account.userRole) - ORDER BY f.parent, f.display_order, f.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 `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 `itemListVisible` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `itemListVisible`( - vWh TINYINT - ,vDate DATE - ,vType VARCHAR(255) - ,vPrefix VARCHAR(255) -) -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 a.Id_Article item_id - FROM vn2008.Articles a - JOIN vn2008.Tipos t ON t.tipo_id = a.tipo_id - WHERE t.Id_Tipo = vType - AND (vFilter IS NULL OR a.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 itemId, IF(vPrefixLen > 0, SUBSTRING(a.Article, vPrefixLen), a.Article) item, - Medida size, CEIL(s.amount) amount, '' location - 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 s.amount > 0; - - SELECT * FROM result - ORDER BY item, size; - - 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 `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 `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 order_check_festive - WHERE TIMESTAMPADD(YEAR, -YEAR(vDate), vDate) = date - AND accept_orders = FALSE; - - IF vDate < CURDATE() - THEN - CALL util.throw ('ORDER_DATE_PAST'); - ELSEIF vFestive > 0 - THEN - CALL util.throw ('ORDER_DATE_HOLIDAY'); - ELSE - SELECT c.deny_sunday, c.deny_day, IFNULL(w.max_time, c.max_time) - INTO vDenySunday, vDenyDay, vMaxTime - FROM order_check c - LEFT JOIN order_check_wday 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 `orderNew` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `orderNew`() -BEGIN - DECLARE vCount INT; - DECLARE vDeliveryMethod INT; - DECLARE vAgency INT; - DECLARE vAddress INT; - DECLARE vWarehouse INT DEFAULT NULL; - - SELECT COUNT(*) INTO vCount FROM order_view; - - IF vCount >= 3 THEN - CALL util.throw ('ORDER_MAX_EXCEEDED'); - END IF; - - SELECT co.Id_Consigna, co.Id_Agencia, a.Vista - INTO vAddress, vAgency, vDeliveryMethod - FROM vn2008.Clientes c - LEFT JOIN vn2008.Consignatarios co ON co.Id_Consigna = c.default_address - JOIN vn2008.Agencias a ON a.Id_Agencia = co.Id_Agencia - WHERE c.Id_cliente = user_id(); - - INSERT INTO `order` - SET - date_send = CURDATE(), - customer_id = user_id(), - delivery_method_id = IFNULL(vDeliveryMethod, DEFAULT(delivery_method_id)), - agency_id = IFNULL(vAgency, DEFAULT(agency_id)), - address_id = IFNULL(vAddress, DEFAULT(address_id)), - wh_id = IFNULL(vWarehouse, DEFAULT(wh_id)), - type_id = IFNULL(vAgency, DEFAULT(type_id)), - is_bionic = FALSE; - - SELECT LAST_INSERT_ID() order_id; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `order_check_config` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET 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_check_config`(v_order INT) -proc: -BEGIN -/** - * Comprueba que la configuración del pedido es correcta. - * - * @param v_order Identificador del pedido - **/ - DECLARE v_delivery_method VARCHAR(45); - DECLARE v_delivery DATE; - DECLARE v_agency INT; - DECLARE v_address INT; - DECLARE v_ok BOOLEAN; - - SELECT v.code, o.date_send, o.agency_id, o.address_id - INTO v_delivery_method, v_delivery, v_agency, v_address - FROM `order` o - JOIN vn2008.Vistas v ON v.vista_id = o.delivery_method_id - WHERE o.id = v_order; - - -- Comprueba que se ha seleccionado una dirección - - IF v_delivery_method IN ('AGENCY', 'DELIVERY') - && v_address IS NULL - THEN - CALL util.throw ('ORDER_EMPTY_ADDRESS'); - END IF; - - -- Comprueba que la agencia es correcta - - CALL agency_list_from_date (v_delivery, v_address); - - SELECT COUNT(*) > 0 INTO v_ok - FROM t_agency - WHERE agency_id = v_agency; - - DROP TEMPORARY TABLE t_agency; - - IF !v_ok 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 `order_confirm_bionic` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `order_confirm_bionic`(v_order INT) -BEGIN -/** - * Confirma un pedido, creando cada uno de sus tickets en la fecha - * y almacén correspondientes. - * - * @param v_order Identificador del pedido - **/ - DECLARE v_ok BOOLEAN; - DECLARE v_done BOOLEAN DEFAULT FALSE; - DECLARE v_wh INT; - DECLARE v_shipment DATETIME; - DECLARE v_ticket INT; - DECLARE v_note VARCHAR(255); - DECLARE i_article INT; - DECLARE v_concepte VARCHAR(30); - DECLARE i_amount INT; - DECLARE d_price DOUBLE; - DECLARE i_movimiento INT; - DECLARE i_rate INT; - DECLARE i_worker INT; - DECLARE i_order_row INT; - DECLARE d_delivery DATE; - DECLARE i_address INT; - DECLARE i_agency INT; - DECLARE b_confirmed BOOLEAN; - DECLARE TICKET_FREE INT DEFAULT 2; - DECLARE SYSTEM_WORKER INT DEFAULT 20; - - DECLARE cur_tick CURSOR FOR - SELECT t.Fecha_envio, r.warehouse_id - FROM `order` o - JOIN order_row r ON r.order_id = o.id - LEFT JOIN vn2008.travel_tree t ON t.warehouse_id = r.warehouse_id - WHERE o.id = v_order AND r.amount != 0 - GROUP BY warehouse_id; - - DECLARE cur_mov CURSOR FOR - SELECT r.id, r.item_id, a.Article, r.amount, r.price, r.rate - FROM order_row r - JOIN vn2008.Articles a ON a.Id_Article = r.item_id - WHERE r.amount != 0 - AND r.warehouse_id = v_wh - AND r.order_id = v_order - ORDER BY r.rate DESC; - - DECLARE CONTINUE HANDLER FOR NOT FOUND - SET v_done = TRUE; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - -- Carga los datos del pedido - - SELECT o.date_send, o.address_id, o.note, a.agency_id, o.confirmed - INTO d_delivery, i_address, v_note, i_agency, b_confirmed - FROM `order` o - JOIN vn2008.Agencias a ON a.Id_Agencia = o.agency_id - WHERE id = v_order; - - -- Comprueba que el pedido no está confirmado - - IF b_confirmed THEN - CALL util.throw ('ORDER_ALREADY_CONFIRMED'); - END IF; - - -- Comprueba que el pedido no está vacío - - SELECT COUNT(*) > 0 INTO v_ok - FROM order_row WHERE order_id = v_order AND amount > 0; - - IF !v_ok THEN - CALL util.throw ('ORDER_EMPTY'); - END IF; - - -- Carga las fechas de salida de cada almacén - - CALL vn2008.travel_tree (d_delivery, i_address, i_agency); - - -- Trabajador que realiza la acción - - SELECT Id_Trabajador INTO i_worker - FROM vn2008.Trabajadores - WHERE user_id = account.userGetId(); - - IF i_worker IS NULL THEN - SELECT employee_id INTO i_worker FROM order_config; - END IF; - - -- Crea los tickets del pedido - - START TRANSACTION; - - OPEN cur_tick; - - tick_loop: - LOOP - SET v_ticket = NULL; - SET v_done = FALSE; - FETCH cur_tick INTO v_shipment, v_wh; - - IF v_done THEN - LEAVE tick_loop; - END IF; - - -- Busca un ticket existente que coincida con los parametros del nuevo pedido - - SELECT Id_Ticket INTO v_ticket - FROM vn2008.Tickets t - LEFT JOIN vn.ticketState tls on tls.ticket = t.Id_Ticket - JOIN `order` o - ON o.address_id = t.Id_Consigna - AND v_wh = t.warehouse_id - AND o.agency_id = t.Id_Agencia - AND t.landing = o.date_send - AND v_shipment = DATE(t.Fecha) - WHERE o.id = v_order - AND t.Factura IS NULL - AND IFNULL(tls.alertLevel,0) = 0 - /* AND t.PedidoImpreso = 0 - AND t.Etiquetasemitidas = 0 - AND vn2008.is_bionic(t.Id_Ticket) */ - AND t.Id_Cliente <> 1118 - LIMIT 1; - - -- Crea el ticket en el caso de no existir uno adecuado - - IF v_ticket IS NULL - THEN - INSERT INTO vn2008.Tickets ( - Id_Cliente, Fecha, Alias, Id_Agencia, Id_Consigna, - Id_Trabajador, blocked, warehouse_id, Localizacion, landing - ) - SELECT cs.Id_Cliente, IFNULL(v_shipment,CURDATE()), cs.Consignatario, o.agency_id, o.address_id, - i_worker, FALSE, v_wh, IF(v_shipment,'BIONIC','ERROR FECHA ENVIO'), o.date_send - FROM `order` o - JOIN vn2008.Consignatarios cs ON cs.Id_Consigna = o.address_id - WHERE o.id = v_order; - - SET v_ticket = LAST_INSERT_ID(); - ELSE - -- UPDATE vn2008.Tickets SET Localizacion = CONCAT(Localizacion,'B+') WHERE Id_Ticket = v_ticket; - INSERT INTO vncontrol.inter(Id_Ticket, Id_Trabajador, state_id) - VALUES(v_ticket, SYSTEM_WORKER, TICKET_FREE); - - END IF; - - INSERT IGNORE INTO vn2008.order_Tickets (order_id, Id_Ticket) - VALUES (v_order, v_ticket); - - -- Añade las notas - - IF v_note IS NOT NULL && v_note != '' - THEN - INSERT INTO vn2008.ticket_observation (Id_Ticket, observation_type_id, text) - VALUES (v_ticket, 4/*comercial*/ , v_note) - ON DUPLICATE KEY UPDATE text = CONCAT(VALUES(text),'. ', text); - END IF; - - -- Añade los movimientos y sus componentes - - OPEN cur_mov; - - mov_loop: - LOOP - SET v_done = FALSE; - FETCH cur_mov INTO i_order_row, i_article, v_concepte, i_amount, d_price, i_rate; - - IF v_done THEN - LEAVE mov_loop; - END IF; - - INSERT INTO vn2008.Movimientos - SET - Id_Article = i_article, - Id_Ticket = v_ticket, - Concepte = v_concepte, - Cantidad = i_amount, - Preu = d_price, - CostFixat = 0, - PrecioFijado = TRUE; - - SET i_movimiento = LAST_INSERT_ID(); - - INSERT INTO vn2008.Movimientos_componentes (Id_Movimiento, Id_Componente, Valor) - SELECT i_movimiento, cm.component_id, cm.price - FROM order_component cm - JOIN bi.tarifa_componentes tc ON tc.Id_Componente = cm.component_id - WHERE cm.order_row_id = i_order_row - GROUP BY i_movimiento, cm.component_id; - - UPDATE order_row SET Id_Movimiento = i_movimiento - WHERE id = i_order_row; - - END LOOP; - - CLOSE cur_mov; - -- Fija el Costfixat - - UPDATE vn2008.Movimientos m - JOIN (SELECT SUM(mc.Valor) sum_valor,mc.Id_Movimiento - FROM vn2008.Movimientos_componentes mc - join bi.tarifa_componentes tc using(Id_Componente) - join bi.tarifa_componentes_series tcs on tcs.tarifa_componentes_series_id = tc.tarifa_componentes_series_id AND tcs.base - JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento - where m.Id_Ticket = v_ticket - GROUP BY mc.Id_Movimiento) mc ON mc.Id_Movimiento = m.Id_Movimiento - SET m.CostFixat = sum_valor; - END LOOP; - - CLOSE cur_tick; - - DELETE FROM order_basket WHERE order_id = v_order; - UPDATE `order` SET confirmed = TRUE, confirm_date = NOW() - WHERE id = v_order; - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `order_get_vat`(v_order INT) -BEGIN -/** - * Calcula el IVA, y el recargo de equivalencia de un pedido - * desglosados por tipos. - * - * @param v_order El identificador del pedido - * - * @table t_order_vat Tabla con las bases imponibles, su - * IVA y su recargo de equivalencia. - **/ - DECLARE v_billing_date DATE DEFAULT CURDATE(); - - DECLARE clean CONDITION FOR SQLSTATE 'HY000'; - DECLARE CONTINUE HANDLER FOR clean - BEGIN - DROP TEMPORARY TABLE IF EXISTS t_vat_group; - DROP TEMPORARY TABLE IF EXISTS t_vat_tax; - END; - - SIGNAL clean; - - -- Calcula el tipo de IVA para cada grupo en cada país. - - CREATE TEMPORARY TABLE t_vat_group - (INDEX (country_id, vat_group_id)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT Id_Pais country_id, iva_group_id vat_group_id, c.tipo rate - FROM vn2008.iva_group_codigo g - JOIN vn2008.iva_codigo c ON g.iva_codigo_id = c.id - JOIN vn2008.iva_tipo t ON t.id = c.iva_tipo_id - WHERE date <= v_billing_date - ORDER BY date DESC - ) t - GROUP BY country_id, vat_group_id; - - -- Calcula el impuesto para cada tipo de IVA en cada país. - - CREATE TEMPORARY TABLE t_vat_tax - (INDEX (country_id, rate)) - ENGINE = MEMORY - SELECT * FROM ( - SELECT Id_Pais country_id, tipo rate, - CAST(iva / 100 AS DECIMAL(12, 2)) vat, - CAST(recargo / 100 AS DECIMAL(12, 2)) surcharge - FROM vn2008.iva_codigo - JOIN vn2008.iva_tipo t ON t.id = iva_tipo_id - WHERE Fecha <= v_billing_date AND iva - ORDER BY fecha DESC, recargo DESC - ) t - GROUP BY country_id, rate; - - -- Calcula el IVA y el recargo desglosado. - - DROP TEMPORARY TABLE IF EXISTS t_order_vat; - CREATE TEMPORARY TABLE t_order_vat - (INDEX (order_id)) - ENGINE = MEMORY - SELECT order_id, t.rate, t.tax_base, - IF(t.has_vat, t.tax_base * x.vat, 0) vat, - IF(t.has_surcharge, t.tax_base * x.surcharge, 0) surcharge - FROM ( - SELECT o.id order_id, g.country_id, g.rate - ,SUM(m.amount * m.price) AS tax_base - ,NOT(c.VIES AND p.pais_id <> c.Id_Pais) AS has_vat - ,c.RE != FALSE AS has_surcharge - FROM `order` o - JOIN order_row m ON m.order_id = o.id - JOIN vn2008.Articles a ON a.Id_Article = m.item_id - JOIN vn2008.Clientes c ON c.Id_Cliente = o.customer_id - JOIN vn2008.Proveedores p ON p.Id_Proveedor = o.company_id - JOIN t_vat_group g ON g.country_id = p.pais_id AND g.vat_group_id = a.iva_group_id - WHERE o.id = v_order - GROUP BY order_id, rate - ) t - JOIN t_vat_tax x ON x.country_id = t.country_id AND x.rate = t.rate; - - SIGNAL clean; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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_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 `order_update`(v_order INT) -BEGIN - DECLARE v_date DATE; - DECLARE v_address INT; - DECLARE v_agency INT; - DECLARE v_nrows INT; - - DECLARE EXIT HANDLER FOR SQLEXCEPTION - BEGIN - ROLLBACK; - RESIGNAL; - END; - - START TRANSACTION; - - SELECT COUNT(*) INTO v_nrows - FROM order_row WHERE order_id = v_order; - - IF v_nrows > 0 - THEN - SELECT date_send, address_id, agency_id - INTO v_date, v_address, v_agency - FROM `order` - WHERE id = v_order; - - CALL vn2008.bionic_from_order (v_date, v_address, v_agency, v_order); - - DELETE c - FROM order_row r - JOIN order_component c ON c.order_row_id = r.id - WHERE r.order_id = v_order; - - 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 = v_order; - - 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 = v_order; - END IF; - - UPDATE `order` SET date_make = NOW() - WHERE id = v_order; - - COMMIT; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!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 = '' */ ; -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 `surveyVote` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `surveyVote`(vAnswer INT) -BEGIN - DECLARE vSurvey INT; - DECLARE vCount TINYINT; - DECLARE EXIT HANDLER FOR 1062 - CALL util.throw ('SURVEY_MAX_ONE_VOTE'); - - SELECT survey_id INTO vSurvey - FROM survey_answer WHERE id = vAnswer; - - INSERT INTO survey_vote - VALUES (vSurvey, account.userGetId()); - - UPDATE survey_answer SET votes = votes + 1 - WHERE id = vAnswer; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticketLog` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticketLog`(vticket INT) -BEGIN - INSERT INTO vn2008.Tickets_dits - (idaccion_dits, Id_Trabajador, Id_Ticket) - SELECT 146, 4, id - FROM ticket_view WHERE id = vTicket; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `ticket_list` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8mb4 */ ; -/*!50003 SET character_set_results = utf8mb4 */ ; -/*!50003 SET collation_connection = utf8mb4_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `ticket_list`() -BEGIN -/** - * Devuelve los tickets del cliente del último mes, calculando - * el total de cada ticket. - * - * @select Listado de tickets - **/ - DROP TEMPORARY TABLE IF EXISTS vn2008.ticket_tmp; - CREATE TEMPORARY TABLE vn2008.ticket_tmp - (KEY (ticket_id)) - ENGINE = MEMORY - SELECT t.id ticket_id FROM ticket_view t - WHERE date > TIMESTAMP(DATE_FORMAT(TIMESTAMPADD(DAY, -25, CURDATE()), '%Y-%m-01')); - - CALL vn2008.ticket_total (); - - DROP TEMPORARY TABLE IF EXISTS t_movement_fixed; - CREATE TEMPORARY TABLE t_movement_fixed - (KEY (ticket_id)) - ENGINE = MEMORY - SELECT ticket_id, BIT_AND(fixed != FALSE) all_fixed - FROM ticket_row_view - JOIN vn2008.ticket_tmp USING(ticket_id) - GROUP BY ticket_id; - - SELECT i.ticket_id, IFNULL(v.delivery, v.`date`) `date`, city, consignee, type, company_id, - IF(all_fixed, t.total, NULL) total, - IF(v.date >= CURDATE() AND v.invoice IS NULL AND all_fixed - ,t.total - ,NULL - ) pending - FROM vn2008.ticket_tmp i - JOIN ticket_view v ON i.ticket_id = v.id - JOIN address_view c ON v.address_id = c.id - JOIN vn2008.ticket_total t USING(ticket_id) - LEFT JOIN t_movement_fixed m USING(ticket_id) - ORDER BY IFNULL(v.delivery, v.`date`) DESC, i.ticket_id DESC; - - DROP TEMPORARY TABLE vn2008.ticket_tmp; - DROP TEMPORARY TABLE vn2008.ticket_total; - DROP TEMPORARY TABLE t_movement_fixed; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `transactionConfirm` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `transactionConfirm`( - vAmount INT - ,vOrder INT - ,vMerchant INT - ,vCurrency INT - ,vResponse INT - ,vErrorCode VARCHAR(10) -) -BEGIN - 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 tpv_transaction - 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.customer_id - ,m.bank_id - ,m.company_id - ,c.employee_id - ,DATE(t.date_time) - INTO - vCustomer - ,vBank - ,vCompany - ,vEmployee - ,vDate - FROM tpv_merchant m - JOIN tpv_config c ON c.id = 1 - LEFT JOIN tpv_transaction 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 tpv_transaction - SET - merchant_id = vMerchant - ,receipt_id = vReceipt - ,amount = vAmount - ,response = vResponse - ,error_code = 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 `transactionConfirmAll` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `transactionConfirmAll`(vDate DATE) -BEGIN - 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 transactions CURSOR FOR - SELECT id - FROM tpv_transaction - WHERE date_time BETWEEN vDateIni AND vDateEnd - AND status = 'ok' - AND response IS NULL; - - DECLARE CONTINUE HANDLER FOR NOT FOUND SET vDone = TRUE; - - OPEN transactions; - - l: LOOP - FETCH transactions INTO vOrder; - - IF vDone THEN - LEAVE l; - END IF; - - CALL transactionConfirmById (vOrder); - END LOOP l; - - CLOSE transactions; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 DROP PROCEDURE IF EXISTS `transactionConfirmById` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `transactionConfirmById`( - vOrder INT -) -BEGIN - DECLARE vAmount INT; - DECLARE vMerchant INT; - DECLARE vCurrency INT; - - SELECT amount, merchant_id, currency - INTO vAmount, vMerchant, vCurrency - FROM tpv_transaction t - JOIN tpv_merchant m ON t.merchant_id = m.id - JOIN tpv_config c - WHERE t.id = vOrder; - - CALL transactionConfirm ( - 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 `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 -/** - * 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 tpv_transaction_view 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 `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 -/** - * 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 company_id INTO vCompany - FROM tpv_merchant_enable LIMIT 1; - END IF; - - SELECT merchant_id INTO vMerchant - FROM tpv_merchant_enable WHERE company_id = vCompany; - - SELECT test_mode INTO vTestMode - FROM tpv_config; - - IF NOT vTestMode - THEN - SELECT c.url, m.secret_key INTO vUrl, vKey - FROM tpv_merchant m - JOIN tpv_config c - WHERE m.id = vMerchant; - ELSE - SELECT test_url, test_key INTO vUrl, vKey - FROM tpv_config; - END IF; - - INSERT INTO tpv_transaction_view - SET - merchant_id = vMerchant - ,customer_id = account.userGetId() - ,amount = vAmount; - - SET vTransaction = LAST_INSERT_ID(); - - SELECT - vAmount amount - ,vTransaction transactionId - ,vMerchant merchant - ,currency - ,transaction_type transactionType - ,terminal - ,merchant_url merchantUrl - ,vUrl url - ,vKey secretKey - FROM tpv_config; - - 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 `transactionUndo` */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `transactionUndo`( - 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.customer_id - ,t.amount / 100 - ,t.receipt_id - ,DATE(t.date_time) - ,m.bank_id - INTO - vCustomer - ,vAmount - ,vReceipt - ,vDate - ,vBank - FROM tpv_transaction t - JOIN tpv_merchant m ON m.id = t.merchant_id - JOIN tpv_config 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 tpv_transaction - 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 `type_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 = '' */ ; -DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `type_list`(v_realm INT) -BEGIN -/** - * Devuelve los subtipos disponibles para el reino pasado - * utilizando la fecha, dirección y agencia de la cesta de - * la compra. - * - * @param v_realm Id del reino - **/ - 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_available_types_ (v_date, v_address, v_agency); - - SELECT t.tipo_id, t.Tipo - FROM vn2008.Tipos t - JOIN vn2008.t_bionic_available_types bt ON bt.tipo_id = t.tipo_id - WHERE t.reino_id = v_realm - ORDER BY t.Orden DESC, t.Tipo; - - DROP TEMPORARY TABLE vn2008.t_bionic_available_types; -END ;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_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 */ ; - --- --- Current Database: `vncontrol` --- - -USE `vncontrol`; - --- --- Current Database: `edi` --- - -USE `edi`; - --- --- 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` * `t`.`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 `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` 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_view` --- - -/*!50001 DROP VIEW IF EXISTS `new_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 `new_view` 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 `hedera`.`order_row`.`id` AS `id`,`hedera`.`order_row`.`order_id` AS `order_id`,`hedera`.`order_row`.`item_id` AS `item_id`,`hedera`.`order_row`.`warehouse_id` AS `warehouse_id`,`hedera`.`order_row`.`shipment` AS `shipment`,`hedera`.`order_row`.`amount` AS `amount`,`hedera`.`order_row`.`price` AS `price`,`hedera`.`order_row`.`rate` AS `rate`,`hedera`.`order_row`.`created` AS `created`,`hedera`.`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 `root` --- - -/*!50001 DROP VIEW IF EXISTS `root`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`z-developer`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `root` 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 `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=`z-developer`@`%` 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` * ((`CM3`(`b`.`Id_Compra`) / 1000000) / `C`.`Packing`)) * (`az`.`price` / 0.08)) 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`.`Last_buy_id` `b` on(((`M`.`Id_Article` = `b`.`Id_Article`) and (`t`.`warehouse_id` = `b`.`warehouse_id`)))) join `vn2008`.`Compres` `C` on((`b`.`Id_Compra` = `C`.`Id_Compra`))) 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`,trim(`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`,`Clientes`.`cplusTerIdNifFk` 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`,trim(`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 */; - --- --- 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: `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 `cs`.`Id_cliente` AS `customer`,`cs`.`warehouse_id` AS `warehouse`,`cs`.`domicilio` AS `street`,`cs`.`poblacion` AS `city`,`cs`.`province_id` AS `province`,`cs`.`codPostal` AS `postalCode`,`cs`.`telefono` AS `phone`,`cs`.`movil` AS `celular`,`cs`.`consignatario` AS `nickname`,`cs`.`id_consigna` AS `id`,`cs`.`predeterminada` AS `defaultAddress`,`cs`.`Id_Agencia` AS `agency`,`cs`.`active` AS `active`,`cs`.`longitude` AS `longitude`,`cs`.`latitude` AS `latitude`,`cs`.`Id_cliente` AS `clientFk`,`cs`.`warehouse_id` AS `warehouseFk`,`cs`.`province_id` AS `provinceFk`,`cs`.`movil` AS `mobile`,`cs`.`Id_Agencia` AS `agencyFk`,`cs`.`isEqualizated` AS `isEqualizated` from `vn2008`.`Consignatarios` `cs` */; -/*!50001 SET character_set_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 `warehouse`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bank`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseNickname`,`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`.`week_day` AS `weekDay`,`h`.`warehouse_id` AS `warehouse`,`h`.`province_id` AS `province`,`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 `view`,`a`.`Vista` AS `deliveryMethod`,`a`.`m3` AS `m3`,`a`.`cod71` AS `cod71`,`a`.`web` AS `web`,`a`.`agency_id` AS `agency`,`a`.`agency_id` AS `agencyFk`,`a`.`agency_service_id` AS `agencyService`,`a`.`agency_service_id` AS `agencyServiceFk`,`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` 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 `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`.`telefono` AS `phone`,`c`.`fax` AS `fax`,`c`.`e-mail` AS `email`,`c`.`cc` AS `iban`,`c`.`vencimiento` AS `dueDay`,`c`.`Cuenta` AS `accountingAccount`,`c`.`RE` AS `isEqualizated`,`c`.`poblacion` AS `city`,`c`.`province_id` AS `province`,`c`.`province_id` AS `provinceFk`,`c`.`codPostal` AS `postcode`,`c`.`razonSocial` AS `socialName`,`c`.`contacto` AS `contact`,`c`.`reexpedicion` AS `Reexpedicion`,`c`.`invoice` AS `hasToInvoice`,`c`.`notas` AS `Notas`,`c`.`notas_administracion` AS `notas_administracion`,`c`.`copiaFactura` AS `Copiafactura`,`c`.`retener` AS `Retener`,`c`.`congelado` AS `Congelado`,`c`.`Id_Trabajador` AS `Id_Trabajador`,`c`.`Id_Trabajador` AS `workerFk`,`c`.`credito` AS `credit`,`c`.`cyc` AS `cyc`,`c`.`Id_Pais` AS `Id_Pais`,`c`.`Id_Pais` AS `countryFk`,`c`.`activo` AS `activo`,`c`.`activo` AS `active`,`c`.`gestdoc_id` AS `gestdoc`,`c`.`gestdoc_id` AS `gestdocFk`,`c`.`calidad` AS `calidad`,`c`.`pay_met_id` AS `paymentMethod`,`c`.`pay_met_id` AS `paymentMethodFk`,`c`.`created` AS `registerDate`,`c`.`mail` AS `invoiceByEmail`,`c`.`mail` AS `isToBeMailed`,`c`.`chanel_id` AS `channel`,`c`.`chanel_id` AS `channelFk`,`c`.`vies` AS `VIES`,`c`.`sepaVnl` AS `sepavnl`,`c`.`coreVnl` AS `corevnl`,`c`.`risk_calculated` AS `riskCalculated`,`c`.`coreVnh` AS `corevnh`,`c`.`clientes_tipo_id` AS `clientes_tipo_id`,`c`.`clientes_tipo_id` AS `clientTypeFk`,`c`.`postcode_id` AS `postcode_id`,`c`.`postcode_id` AS `postcodeFk`,`c`.`mail_address` AS `mail_address`,`c`.`codpos` AS `codpos`,`c`.`cplusTerIdNifFk` AS `cplusTerIdNifFk`,`c`.`domicilio` AS `postalAddress`,`c`.`invoiceByAddress` AS `invoiceByAddress`,`c`.`contabilizado` AS `isTaxDataChecked`,`c`.`congelado` AS `isFreezed` 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 `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 `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 `vn2008`.`client_observation`.`client_observation_id` AS `id`,`vn2008`.`client_observation`.`Id_Cliente` AS `client`,`vn2008`.`client_observation`.`Id_Trabajador` AS `worker`,`vn2008`.`client_observation`.`text` AS `text`,`vn2008`.`client_observation`.`odbc_date` AS `creationDate` from `vn2008`.`client_observation` */; -/*!50001 SET character_set_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 `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` 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 `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`,if((`p`.`CEE` < 2),1,0) 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 `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 `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`.`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 `family` --- - -/*!50001 DROP VIEW IF EXISTS `family`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `family` AS select `t`.`tipo_id` AS `id`,`t`.`Tipo` AS `name`,`t`.`life` AS `life` 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 `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 `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` 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 `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 `taxGroupFk`,`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` 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` 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 `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 `familyFk`,`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`.`expenceFk` AS `expenceFk` 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 `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 `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 `t`.`id` AS `id`,`t`.`itemFk` AS `itemFk`,`t`.`tagFk` AS `tagFk`,`t`.`value` AS `value`,`t`.`priority` AS `priority` from `vn2008`.`itemTag` `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 `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 `vn`.`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 `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 `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 `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 `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` 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 `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 `pm`.`id` AS `id`,`pm`.`name` AS `name` from `vn2008`.`pay_met` `pm` */; -/*!50001 SET character_set_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 `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` 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 `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 `agencyFk`,`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` 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 `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` 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 `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` from `vn2008`.`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 `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 `linkFk`,`ic`.`isActive` AS `isActive` 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`.`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`.`Firmado` AS `isSigned`,`t`.`Localizacion` AS `location`,`t`.`blocked` AS `blocked`,`t`.`Solucion` AS `solution`,`t`.`Id_Ruta` AS `path`,`t`.`Id_Ruta` AS `routeFk`,`t`.`empresa_id` AS `company`,`t`.`empresa_id` AS `companyFk`,`t`.`Id_Agencia` AS `agencyModeFk`,`t`.`Prioridad` AS `loadingOrder`,`t`.`odbc_date` AS `created`,`t`.`Fecha` AS `shipment`,`t`.`landing` AS `landing`,`t`.`Id_Cliente` AS `customer`,`t`.`warehouse_id` AS `warehouse`,`t`.`Id_Cliente` AS `client`,`t`.`Id_Consigna` AS `address`,`t`.`Id_Agencia` AS `agencyMode`,`t`.`Firmado` AS `signed`,`t`.`odbc_date` AS `creationDate` 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 `ts`.`Id_Ticket` AS `ticketFk`,`ts`.`Id_Ticket` AS `ticket`,`s`.`id` AS `state`,`s`.`order` AS `productionOrder`,`s`.`alert_level` AS `alertLevel`,`s`.`code` AS `code`,`i`.`Id_Trabajador` AS `worker`,`i`.`Id_Trabajador` AS `workerFk` 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`.`shipment` 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`.`comisionantes` AS `hasComission` 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`.`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: `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`.`cc` 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` 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 `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`,`t`.`Id_Consigna` AS `addressFk` 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: `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: `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 `accountNss` --- - -/*!50001 DROP VIEW IF EXISTS `accountNss`*/; -/*!50001 SET @saved_cs_client = @@character_set_client */; -/*!50001 SET @saved_cs_results = @@character_set_results */; -/*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `accountNss` AS select `u`.`name` AS `surname`,`u`.`name` AS `name`,`u`.`password` AS `password`,concat(`c`.`homedir`,'/',`u`.`name`) AS `home`,`c`.`shell` AS `shell`,`c`.`min` AS `min`,`c`.`max` AS `max`,`c`.`warn` AS `warn`,`c`.`inact` AS `inact` from ((`user` `u` join `account` `a` on((`u`.`id` = `a`.`id`))) join `accountConfig` `c`) 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 `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`.`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: `cache` --- - -USE `cache`; - --- --- 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: `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`.`order_id` AS `order_id`,`r`.`warehouse_id` AS `warehouse_id`,`r`.`item_id` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price` from `hedera`.`order_row` `r` where (`r`.`order_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 `customer_user` --- - -/*!50001 DROP VIEW IF EXISTS `customer_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 `customer_user` AS select `c`.`id_cliente` AS `user_id`,`c`.`cliente` AS `name` 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 `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 `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_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 `ticket_row_view` --- - -/*!50001 DROP VIEW IF EXISTS `ticket_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 `ticket_row_view` AS select `m`.`Id_Movimiento` AS `id`,`m`.`Id_Article` AS `item_id`,`m`.`Id_Ticket` AS `ticket_id`,`m`.`Concepte` AS `concept`,`m`.`Cantidad` AS `amount`,`m`.`Preu` AS `price`,`m`.`PrecioFijado` AS `fixed`,`m`.`Descuento` AS `discount`,`m`.`CostFixat` AS `cost`,`m`.`Reservado` AS `reserved`,`m`.`OK` AS `ok` from (`vn2008`.`Movimientos` `m` join `hedera`.`ticket_view` `t` on((`m`.`Id_Ticket` = `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 `ticket_view` --- - -/*!50001 DROP VIEW IF EXISTS `ticket_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 `ticket_view` AS select `t`.`Id_Ticket` AS `id`,`t`.`Id_Cliente` AS `customer_id`,`t`.`warehouse_id` AS `warehouse_id`,`t`.`Fecha` AS `date`,`t`.`landing` AS `delivery`,`t`.`Alias` AS `alias`,`t`.`Id_Agencia` AS `agency_id`,`t`.`Notas` AS `note`,`t`.`Factura` AS `invoice`,`t`.`Id_Consigna` AS `address_id`,`t`.`Id_Trabajador` AS `employee_id`,`t`.`Observaciones` AS `comments`,`t`.`Firmado` AS `signed`,`t`.`Bultos` AS `packages`,`t`.`Localizacion` AS `location`,`t`.`Hora` AS `hour`,`t`.`blocked` AS `blocked`,`t`.`Solucion` AS `solution`,`t`.`empresa_id` AS `company_id`,`a`.`Agencia` AS `type` from (`vn2008`.`Tickets` `t` join `vn2008`.`Agencias` `a` on((`t`.`Id_Agencia` = `a`.`Id_Agencia`))) where (`t`.`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 `tpv_transaction_view` --- - -/*!50001 DROP VIEW IF EXISTS `tpv_transaction_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 `tpv_transaction_view` AS select `t`.`id` AS `id`,`t`.`merchant_id` AS `merchant_id`,`t`.`customer_id` AS `customer_id`,`t`.`receipt_id` AS `receipt_id`,`t`.`amount` AS `amount`,`t`.`response` AS `response`,`t`.`status` AS `status`,`t`.`date_time` AS `date_time` from `hedera`.`tpv_transaction` `t` where (`t`.`customer_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 `user_android_view` --- - -/*!50001 DROP VIEW IF EXISTS `user_android_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 `user_android_view` AS select `a`.`user_id` AS `user_id`,`a`.`android_id` AS `android_id` from `hedera`.`user_android` `a` where (`a`.`user_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 */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -68874,4 +39563,4 @@ USE `hedera`; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2017-10-10 13:39:29 +-- Dump completed on 2018-01-23 13:17:42 diff --git a/services/db/localDB03StructureVn.sql b/services/db/localDB03StructureVn.sql new file mode 100644 index 0000000000..3f635dd79d --- /dev/null +++ b/services/db/localDB03StructureVn.sql @@ -0,0 +1,9417 @@ +CREATE DATABASE IF NOT EXISTS `vn` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; +USE `vn`; +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: vn +-- ------------------------------------------------------ +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci 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 `taxArea_bookingPlanner_idx` (`taxAreaFk`), + KEY `pgcFk_bookingPlanner_idx` (`pgcFk`), + KEY `taxClassFk` (`taxClassFk`), + KEY `countryFk` (`countryFk`), + 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, + CONSTRAINT `taxArea_bookingPlanner` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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=15099 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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=2626 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=1679 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 ; + +-- +-- 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 */; + +-- +-- 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=24376 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`code`), + KEY `InvoiceInSerial_Fk1_idx` (`cplusTerIdNifFk`), + KEY `InvoiceInSerial_Fk1_idx1` (`taxAreaFk`), + CONSTRAINT `InvoiceInSerial_Fk1` FOREIGN KEY (`cplusTerIdNifFk`) REFERENCES `cplusTerIdNif` (`id`), + CONSTRAINT `InvoiceInSerial_Fk2` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) 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 `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=45362 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) COLLATE utf8_unicode_ci 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 `invoiceOutSerial_ibfk_1` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON DELETE 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=855453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 `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=14178 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 */; + +-- +-- 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=437545 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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=1338730 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=1482237 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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` varchar(10) CHARACTER SET latin1 NOT NULL, + `townFk` int(11) NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`code`), + KEY `postCode_ix1` (`townFk`), + KEY `postCode_ix2` (`geoFk`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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=327138 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=87324 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 ; + +-- +-- 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=222154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci 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 */; + +-- +-- 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=265299 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=5454 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 */; + +-- +-- 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 */; + +-- +-- 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 AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `provinceFk` smallint(6) unsigned NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `provinceFk_idx` (`provinceFk`), + KEY `town_ix2` (`name`), + CONSTRAINT `provinceFk` FOREIGN KEY (`provinceFk`) REFERENCES `vn2008`.`province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=55237 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de travel'; +/*!40101 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 */; + +-- +-- 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=3058 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=1154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=14428 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 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` */; +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 `getAlert3State`(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 */ ; +ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!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; + + 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 `noticeHasActive` */; +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 `noticeHasActive`(vCategoryKey VARCHAR(50), vUser INT) RETURNS tinyint(1) +BEGIN +/** + * Comprueba si el usuario tiene activada o no la categoría + * + * @param vNoticeCategory Id de la categoría + * @param vUser Id del usuario + * @return %True si el usuario tiene activada la notificación, %False en caso contrario + */ + DECLARE vActive INT; + + SELECT COUNT(*) INTO vActive + FROM noticeSubscription s + JOIN noticeCategory c ON c.id = s.noticeCategoryFk + WHERE c.keyName = vCategoryKey AND userFk = vUser; + + RETURN vActive; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_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 `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 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; + + END IF; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_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 `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); + + 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 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 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; + + 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, + 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,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 `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, 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 `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 `noticeSend` */; +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 `noticeSend`(vCategoryKey VARCHAR(50), vSender INT, vRecipient INT, vBody TEXT) +BEGIN + DECLARE vCategoryId INT; + DECLARE vIsEnabled TINYINT(1); + + -- Obtenemos los datos de la categoría + SELECT c.id, c.isEnabled INTO vCategoryId, vIsEnabled FROM vn.noticeCategory c WHERE keyName = vCategoryKey; + + IF vn.noticeHasActive(vCategoryKey, vRecipient) AND vIsEnabled THEN + + INSERT INTO vn.noticeInbox (noticeCategoryFk, senderFk, recipientFk, body) + VALUES (vCategoryId, vSender, vRecipient, vBody); + + SELECT vSender, vRecipient; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_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 `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 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 + INTO vClientFk, + vIsTaxDataChecked, + vCompanyFk, + vShipped, + vIsUeeMember + 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 + 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 + 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('CREA 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`(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 `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 `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 + * @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 `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 */ ; +/*!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-01-23 13:20:27 diff --git a/services/db/localDB04StructureOthersDB.sql b/services/db/localDB04StructureOthersDB.sql new file mode 100644 index 0000000000..0bbab5a94a --- /dev/null +++ b/services/db/localDB04StructureOthersDB.sql @@ -0,0 +1,22213 @@ +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: edi +-- ------------------------------------------------------ +-- 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: `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=274346 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 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=293788 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 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: `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=8715620 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: `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=61385 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 + + 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: `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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- Table structure for table `variablesKK` +-- + +DROP TABLE IF EXISTS `variablesKK`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `variablesKK` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `variable` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `value` double DEFAULT NULL, + `date` datetime DEFAULT NULL, + `text` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'bi' +-- + +-- +-- Dumping routines for database 'bi' +-- +/*!50003 DROP FUNCTION IF EXISTS `nz` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = '' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `nz`(dblCANTIDAD DOUBLE) RETURNS double +BEGIN + +DECLARE dblRESULT DOUBLE; + +SET dblRESULT = IFNULL(dblCANTIDAD,0); + +RETURN dblRESULT; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_evolution_add` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_evolution_add`() +BEGIN + DECLARE vPreviousPeriod INT; + DECLARE vCurrentPeriod INT; + DECLARE vLastPeriod INT; + DECLARE vMinPeriod INT DEFAULT 201400; + DECLARE vMaxPeriod INT DEFAULT vn2008.vnperiod(CURDATE()); + + DECLARE vYear INT; + DECLARE vWeek INT; + + -- Almacen + + SET vCurrentPeriod = IFNULL(vLastPeriod, vMinPeriod); + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(Periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_almacen_evolution + WHERE Periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_almacen_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_almacen_evolution(Almacen, Ventas, Semana,Año, Periodo) + SELECT Almacen, sum(Ventas) AS Ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT almacen, sum(Importe) AS Ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY almacen + UNION ALL + SELECT almacen, - sum(Importe) AS Ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY almacen + UNION ALL + SELECT Almacen, Ventas + FROM bi.analisis_ventas_almacen_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY Almacen; + END WHILE; + + -- Reino + + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_reino_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_reino_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_reino_evolution(reino, ventas, semana,año, periodo) + SELECT reino, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Reino, sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY Reino + UNION ALL + SELECT Reino, - sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY Reino + UNION ALL + SELECT reino, ventas + FROM bi.analisis_ventas_reino_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY reino; + END WHILE; + + -- Familia + + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_familia_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_familia_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_familia_evolution(familia, ventas, semana,año, periodo) + SELECT Familia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Familia, sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY familia + UNION ALL + SELECT Familia, - sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY familia + UNION ALL + SELECT familia, ventas + FROM bi.analisis_ventas_familia_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY Familia; + END WHILE; + + -- Comprador + -- FIXME: Bucle infinito porque la tabla está vacía +/* + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT IFNULL(MAX(periodo),vMinPeriod) INTO vPreviousPeriod + FROM bi.analisis_ventas_comprador_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_comprador_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_comprador_evolution(comprador, ventas, semana,año, periodo) + SELECT Comprador, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Comprador, sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY Comprador + UNION ALL + SELECT Comprador, - sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY Comprador + UNION ALL + SELECT comprador, IFNULL(ventas,0) + FROM bi.analisis_ventas_comprador_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY Comprador; + END WHILE; +*/ + -- Provincia + + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_provincia_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_provincia_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_provincia_evolution(provincia, ventas, semana,año, periodo) + SELECT Provincia, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Provincia, sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY Provincia + UNION ALL + SELECT Provincia, - sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY Provincia + UNION ALL + SELECT provincia, ventas + FROM bi.analisis_ventas_provincia_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY Provincia; + END WHILE; + + -- Vista + + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_vista_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_vista_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_vista_evolution(vista, ventas, semana,año, periodo) + SELECT vista, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Vista, sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY Vista + UNION ALL + SELECT Vista, - sum(Importe) AS ventas + FROM bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY Vista + UNION ALL + SELECT vista, ventas + FROM bi.analisis_ventas_vista_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY Vista; + END WHILE; + + -- Vendedor + + SET vCurrentPeriod = vMinPeriod; + + WHILE vCurrentPeriod < vMaxPeriod + DO + SELECT MAX(periodo) INTO vPreviousPeriod + FROM bi.analisis_ventas_vendedor_evolution + WHERE periodo < vMaxPeriod; + + SELECT MIN(period) INTO vCurrentPeriod + FROM vn2008.time + WHERE period > vPreviousPeriod; + + SET vYear = FLOOR(vCurrentPeriod / 100); + SET vWeek = vCurrentPeriod - (vYear * 100); + + DELETE FROM bi.analisis_ventas_vendedor_evolution + WHERE Periodo = vCurrentPeriod; + + REPLACE bi.analisis_ventas_vendedor_evolution(vendedor, ventas, semana,año, periodo) + SELECT Comercial AS vendedor, sum(ventas) AS ventas, vWeek, vYear, vCurrentPeriod + FROM ( + SELECT Comercial, sum(Importe) AS ventas + from bi.analisis_ventas + WHERE vYear = Año + AND vWeek = Semana + GROUP BY Comercial + UNION ALL + SELECT Comercial, - sum(Importe) AS ventas + from bi.analisis_ventas + WHERE vYear - 1 = Año + AND vWeek = Semana + GROUP BY Comercial + UNION ALL + SELECT vendedor, ventas + FROM bi.analisis_ventas_vendedor_evolution + WHERE Periodo = vPreviousPeriod + ) sub + GROUP BY vendedor; + END WHILE; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_simple` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_simple`() +BEGIN + +TRUNCATE bi.analisis_grafico_simple; + +INSERT INTO bi.analisis_grafico_simple SELECT * FROM bi.analisis_grafico_ventas; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `analisis_ventas_update` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `analisis_ventas_update`() +BEGIN + + DECLARE vLastMonth DATE; + + SET vLastMonth = util.firstDayOfMonth(TIMESTAMPADD(MONTH, -1, CURDATE())); + + DELETE FROM bi.analisis_ventas + WHERE Año > YEAR(vLastMonth) + OR (Año = YEAR(vLastMonth) AND Mes >= MONTH(vLastMonth)); + + INSERT INTO bi.analisis_ventas + + SELECT + `tp`.`Tipo` AS `Familia`, + `r`.`reino` AS `Reino`, + `tr`.`CodigoTrabajador` AS `Comercial`, + `tr2`.`CodigoTrabajador` AS `Comprador`, + `p`.`name` AS `Provincia`, + `w`.`name` AS `almacen`, + `time`.`year` AS `Año`, + `time`.`month` AS `Mes`, + `time`.`week` AS `Semana`, + `v`.`vista` AS `Vista`, + `bt`.`importe` AS `Importe` + FROM + (((((((((`bs`.`ventas` `bt` + LEFT JOIN `vn2008`.`Tipos` `tp` ON ((`tp`.`tipo_id` = `bt`.`tipo_id`))) + LEFT JOIN `vn2008`.`reinos` `r` ON ((`r`.`id` = `tp`.`reino_id`))) + LEFT JOIN `vn2008`.`Clientes` c on c.Id_Cliente = bt.Id_Cliente + LEFT JOIN `vn2008`.`Trabajadores` `tr` ON ((`tr`.`Id_Trabajador` = `c`.`Id_Trabajador`))) + LEFT JOIN `vn2008`.`Trabajadores` `tr2` ON ((`tr2`.`Id_Trabajador` = `tp`.`Id_Trabajador`))) + JOIN vn2008.time on time.date = bt.fecha + JOIN vn2008.Movimientos m on m.Id_Movimiento = bt.Id_Movimiento + LEFT JOIN `vn2008`.`Tickets` `t` ON ((`t`.`Id_Ticket` = `m`.`Id_Ticket`))) + JOIN vn2008.Agencias a on a.Id_Agencia = t.Id_Agencia + LEFT JOIN `vn2008`.`Vistas` `v` ON ((`v`.`vista_id` = `a`.`Vista`))) + LEFT JOIN `vn2008`.`Consignatarios` `cs` ON ((`cs`.`Id_Consigna` = `t`.`Id_Consigna`))) + LEFT JOIN `vn2008`.`province` `p` ON ((`p`.`province_id` = `cs`.`province_id`))) + LEFT JOIN `vn2008`.`warehouse` `w` ON ((`w`.`id` = `t`.`warehouse_id`))) + WHERE bt.fecha >= vLastMonth AND r.mercancia; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `call_add` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `call_add`() +BEGIN + +DECLARE datSTART DATETIME DEFAULT '2012-03-01'/*CURDATE()*/; +-- control +INSERT INTO vn2008.daily_task_log(consulta) VALUES('bi.call_add'); + +-- Seleccionamos la ultima fecha introducida +SELECT MAX(Fecha) INTO datSTART FROM `call`; + + +-- Borramos todas las entradas del dia datSTART por si hubiese registros nuevos +DELETE FROM `call` WHERE Fecha = datSTART; + +INSERT INTO bi.`call`(CodTrabajadorCartera,CodTrabajadorTelefono,dur_in,dur_out,Fecha,`year`,`month`,`week`,`hour`,phone) +SELECT vn2008.Averiguar_ComercialCliente(pb.Id_Cliente,Fecha) CodTrabajadorCartera,ll.CodigoTrabajador, dur_in, + dur_out, ll.Fecha,YEAR(ll.Fecha) `year`, MONTH(ll.Fecha) `month`,WEEK(ll.Fecha,7) `week`, Hora,phone +FROM +( +SELECT Id_Trabajador,CodigoTrabajador, IFNULL(billsec,0) dur_in, 0 dur_out, 1 as Recibidas, NULL as Emitidas, calldate as Fecha, + hour(calldate) as Hora,src as phone +FROM vn2008.Trabajadores T +INNER JOIN vn2008.cdr C ON C.dstchannel LIKE CONCAT('%', T.extension, '%') +WHERE calldate >= datSTART AND LENGTH(C.src) >=9 AND disposition = 'ANSWERED' AND duration +UNION ALL +SELECT Id_Trabajador,CodigoTrabajador,0 dur_in, IFNULL(billsec,0) dur_out, NULL as Recibidas, 1 as Emitidas, date(calldate), hour(calldate),dst +FROM vn2008.Trabajadores T +INNER JOIN vn2008.cdr C ON C.src = T.extension +WHERE calldate >= datSTART AND LENGTH(C.dst) >=9 AND disposition = 'ANSWERED' AND duration +) ll +INNER JOIN vn2008.Permisos USING(Id_Trabajador) +LEFT JOIN vn2008.v_phonebook pb ON pb.Telefono = ll.phone +WHERE Id_Grupo = 6; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `claim_ratio_routine` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `claim_ratio_routine`() +BEGIN + +DECLARE vMonthToRefund INT DEFAULT 4; + +-- control +INSERT INTO vn2008.daily_task_log(consulta) + VALUES('bi.claim_ratio_routine START'); + +/* +* PAK 2015-11-20 +* Se trata de añadir a la tabla Greuges todos los +* cargos que luego vamos a utilizar para calcular el recobro +*/ + +-- descuentos comerciales COD 11 + +INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, Importe, Id_Ticket) + SELECT Fecha, Id_Cliente, Concat('COD11 : ',Concepte), - round(Cantidad * + Preu * (100 - Descuento) / 100 ,2) AS Importe, t.Id_Ticket + FROM vn2008.Tickets t + JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket + WHERE Id_Article = 11 + AND Concepte NOT LIKE '$%' + AND Fecha > '2014-01-01' + HAVING nz(Importe) <> 0; + +DELETE mc.* + FROM vn2008.Movimientos_componentes mc + JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento + JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket + WHERE m.Id_Article = 11 + AND m.Concepte NOT LIKE '$%' + AND t.Fecha > '2017-01-01'; + +INSERT INTO vn2008.Movimientos_componentes(Id_Movimiento, Id_Componente, Valor) + SELECT m.Id_Movimiento, 34, round(m.Preu * (100 - m.Descuento)/100,4) + FROM vn2008.Movimientos m + JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket + WHERE m.Id_Article = 11 + AND m.Concepte NOT LIKE '$%' + AND t.Fecha > '2017-01-01'; + +UPDATE vn2008.Movimientos m + JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket + SET Concepte = CONCAT('$ ',Concepte) + WHERE Id_Article = 11 + AND Concepte NOT LIKE '$%' + AND Fecha > '2014-01-01'; + +-- Reclamaciones demasiado sensibles + +INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, + Importe, Greuges_type_id,Id_Ticket) + SELECT cm.Fecha + , cm.Id_Cliente + , concat('Claim ',cm.id,' : ', m.Concepte) + ,round( -1 * ((sensib -1)/4) * Cantidad * + Preu * (100 - Descuento) / 100, 2) AS Reclamaciones + , 4 + , m.Id_Ticket + FROM vn2008.Movimientos m + JOIN vn2008.cl_act ca USING(Id_Movimiento) + JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id + WHERE ca.cl_sol_id NOT IN (1,5) + AND ca.greuge = 0 + AND cm.cl_est_id = 3; + + -- Reclamaciones que pasan a Maná + +INSERT INTO vn2008.Greuges(Fecha, Id_Cliente, Comentario, + Importe , Greuges_type_id,Id_Ticket) + SELECT cm.Fecha + , cm.Id_Cliente + , concat('Claim_mana ',cm.id,' : ', m.Concepte) + ,round( ((sensib -1)/4) * Cantidad * Preu * (100 - Descuento) / 100, 2) + AS Reclamaciones + ,3 + ,m.Id_Ticket + FROM vn2008.Movimientos m + JOIN vn2008.cl_act ca USING(Id_Movimiento) + JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id + WHERE ca.cl_sol_id NOT IN (1,5) + AND ca.greuge = 0 + AND cm.cl_est_id = 3 + AND cm.mana; + + -- Marcamos para no repetir +UPDATE vn2008.cl_act ca + JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id + SET greuge = 1 + WHERE ca.cl_sol_id NOT IN (1,5) + AND ca.greuge = 0 + AND cm.cl_est_id = 3; + + + +-- Recobros + +DROP TEMPORARY TABLE IF EXISTS tmp.ticket_list; +CREATE TEMPORARY TABLE tmp.ticket_list +(PRIMARY KEY (Id_Ticket)) +SELECT DISTINCT t.Id_Ticket + FROM vn2008.Movimientos_componentes mc + JOIN vn2008.Movimientos m ON mc.Id_Movimiento = m.Id_Movimiento + JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket + JOIN vn2008.Tickets_state ts ON ts.Id_Ticket = t.Id_Ticket + JOIN vncontrol.inter i ON i.inter_id = ts.inter_id + JOIN vn2008.state s ON s.id = i.state_id + WHERE mc.Id_Componente = 17 + AND mc.greuge = 0 + AND t.Fecha >= '2016-10-01' + AND t.Fecha < CURDATE() + AND t.warehouse_id <> 41 + AND s.alert_level >= 3; + +DELETE g.* + FROM vn2008.Greuges g + JOIN tmp.ticket_list t ON g.Id_Ticket = t.Id_Ticket + WHERE Greuges_type_id = 2; + +INSERT INTO vn2008.Greuges (Id_Cliente,Comentario,Importe,Fecha, + Greuges_type_id, Id_Ticket) + SELECT Id_Cliente + ,concat('recobro ', m.Id_Ticket), - round(SUM(mc.Valor*Cantidad),2) + AS dif + ,date(t.Fecha) + , 2 + ,tt.Id_Ticket + FROM vn2008.Movimientos m + JOIN vn2008.Tickets t ON t.Id_Ticket = m.Id_Ticket + JOIN tmp.ticket_list tt ON tt.Id_Ticket = t.Id_Ticket + JOIN vn2008.Movimientos_componentes mc + ON mc.Id_Movimiento = m.Id_Movimiento AND mc.Id_Componente = 17 + GROUP BY t.Id_Ticket + HAVING ABS(dif) > 1; + +UPDATE vn2008.Movimientos_componentes mc + JOIN vn2008.Movimientos m ON m.Id_Movimiento = mc.Id_Movimiento + JOIN tmp.ticket_list tt ON tt.Id_Ticket = m.Id_Ticket + SET greuge = 1 + WHERE Id_Componente = 17; + +/* +* Recalculamos la ratio de las reclamaciones, que luego +* se va a utilizar en el recobro +*/ + +DELETE FROM bi.claims_ratio; + +REPLACE bi.claims_ratio(Id_Cliente, Consumo, Reclamaciones, Ratio, recobro) + SELECT fm.Id_Cliente, 12 * fm.Consumo, Reclamaciones, + round(Reclamaciones / (12*fm.Consumo),4) AS Ratio, 0 + FROM bi.facturacion_media_anual fm + LEFT JOIN( + SELECT cm.Id_Cliente, round(sum(-1 * ((sensib -1)/4) * + Cantidad * Preu * (100 - Descuento) / 100)) + AS Reclamaciones + FROM vn2008.Movimientos m + JOIN vn2008.cl_act ca + ON ca.Id_Movimiento = m.Id_Movimiento + JOIN vn2008.cl_main cm ON cm.id = ca.cl_main_id + WHERE ca.cl_sol_id NOT IN (1,5) + AND cm.cl_est_id = 3 + AND cm.Fecha >= TIMESTAMPADD(YEAR, -1, CURDATE()) + GROUP BY cm.Id_Cliente + ) claims ON claims.Id_Cliente = fm.Id_Cliente; + + +-- Calculamos el porcentaje del recobro para añadirlo al precio de venta +UPDATE bi.claims_ratio cr + JOIN ( + SELECT Id_Cliente, nz(SUM(Importe)) AS Greuge + FROM vn2008.Greuges + WHERE Fecha <= CURDATE() + GROUP BY Id_Cliente + ) g ON g.Id_Cliente = cr.Id_Cliente + SET recobro = GREATEST(0,round(nz(Greuge) / + (nz(Consumo) * vMonthToRefund / 12 ) ,3)); + +-- control +INSERT INTO vn2008.daily_task_log(consulta) + VALUES('bi.claim_ratio_routine END'); +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `clean` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `clean`() +BEGIN +DECLARE vDateShort DATETIME; +DECLARE vDateLong DATETIME; +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: `vn` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `vn` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `vn`; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci 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 `taxArea_bookingPlanner_idx` (`taxAreaFk`), + KEY `pgcFk_bookingPlanner_idx` (`pgcFk`), + KEY `taxClassFk` (`taxClassFk`), + KEY `countryFk` (`countryFk`), + 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, + CONSTRAINT `taxArea_bookingPlanner` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=81 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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=15113 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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=2626 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=1679 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 ; + +-- +-- 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 */; + +-- +-- 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=24376 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`code`), + KEY `InvoiceInSerial_Fk1_idx` (`cplusTerIdNifFk`), + KEY `InvoiceInSerial_Fk1_idx1` (`taxAreaFk`), + CONSTRAINT `InvoiceInSerial_Fk1` FOREIGN KEY (`cplusTerIdNifFk`) REFERENCES `cplusTerIdNif` (`id`), + CONSTRAINT `InvoiceInSerial_Fk2` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) 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 `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=45362 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) COLLATE utf8_unicode_ci 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 `invoiceOutSerial_ibfk_1` FOREIGN KEY (`taxAreaFk`) REFERENCES `taxArea` (`code`) ON DELETE 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=855453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 `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=14178 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 */; + +-- +-- 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=437545 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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=1338735 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=1482242 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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` varchar(10) CHARACTER SET latin1 NOT NULL, + `townFk` int(11) NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`code`), + KEY `postCode_ix1` (`townFk`), + KEY `postCode_ix2` (`geoFk`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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=327142 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=87324 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 ; + +-- +-- 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=222154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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 */; + +-- +-- 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) COLLATE utf8_unicode_ci 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 */; + +-- +-- 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=265343 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=5454 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 */; + +-- +-- 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 */; + +-- +-- 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 AUTO_INCREMENT, + `name` varchar(45) COLLATE utf8_unicode_ci NOT NULL, + `provinceFk` smallint(6) unsigned NOT NULL, + `geoFk` int(11) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `provinceFk_idx` (`provinceFk`), + KEY `town_ix2` (`name`), + CONSTRAINT `provinceFk` FOREIGN KEY (`provinceFk`) REFERENCES `vn2008`.`province` (`province_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=55237 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=17 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de travel'; +/*!40101 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 */; + +-- +-- 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=3058 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=1154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 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=14428 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 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` */; +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 `getAlert3State`(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 */ ; +ALTER DATABASE `vn` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!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; + + 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 `noticeHasActive` */; +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 `noticeHasActive`(vCategoryKey VARCHAR(50), vUser INT) RETURNS tinyint(1) +BEGIN +/** + * Comprueba si el usuario tiene activada o no la categoría + * + * @param vNoticeCategory Id de la categoría + * @param vUser Id del usuario + * @return %True si el usuario tiene activada la notificación, %False en caso contrario + */ + DECLARE vActive INT; + + SELECT COUNT(*) INTO vActive + FROM noticeSubscription s + JOIN noticeCategory c ON c.id = s.noticeCategoryFk + WHERE c.keyName = vCategoryKey AND userFk = vUser; + + RETURN vActive; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_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 `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 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; + + END IF; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_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 `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); + + 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 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 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; + + 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, + 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,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 `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, 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 `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 `noticeSend` */; +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 `noticeSend`(vCategoryKey VARCHAR(50), vSender INT, vRecipient INT, vBody TEXT) +BEGIN + DECLARE vCategoryId INT; + DECLARE vIsEnabled TINYINT(1); + + -- Obtenemos los datos de la categoría + SELECT c.id, c.isEnabled INTO vCategoryId, vIsEnabled FROM vn.noticeCategory c WHERE keyName = vCategoryKey; + + IF vn.noticeHasActive(vCategoryKey, vRecipient) AND vIsEnabled THEN + + INSERT INTO vn.noticeInbox (noticeCategoryFk, senderFk, recipientFk, body) + VALUES (vCategoryId, vSender, vRecipient, vBody); + + SELECT vSender, vRecipient; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_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 `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 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 + INTO vClientFk, + vIsTaxDataChecked, + vCompanyFk, + vShipped, + vIsUeeMember + 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 + 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 + 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('CREA 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`(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 `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 `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 + * @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 `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: `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=177055 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, + `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 ; + +-- +-- 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 */; + +-- +-- 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 ; + +-- +-- 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 */; + +-- +-- 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 ; + +-- +-- Table structure for table `sipConfig` +-- + +DROP TABLE IF EXISTS `sipConfig`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sipConfig` ( + `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, + `host` varchar(40) CHARACTER SET utf8 DEFAULT NULL, + `deny` varchar(95) CHARACTER SET utf8 NOT NULL, + `permit` varchar(95) CHARACTER SET utf8 NOT NULL, + `type` enum('user','peer','friend') CHARACTER SET utf8 NOT NULL, + `context` varchar(80) CHARACTER SET utf8 NOT NULL, + `incomingLimit` varchar(10) CHARACTER SET utf8 NOT NULL, + `pickupGroup` varchar(10) CHARACTER SET utf8 NOT NULL, + `careInvite` varchar(10) CHARACTER SET utf8 NOT NULL, + PRIMARY KEY (`id`) +) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Default values for SIP accounts'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `sipReg` +-- + +DROP TABLE IF EXISTS `sipReg`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `sipReg` ( + `userId` int(10) unsigned NOT NULL, + `ipAddr` varchar(40) CHARACTER SET utf8 DEFAULT NULL, + `regSeconds` int(10) unsigned DEFAULT NULL, + `port` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `defaultUser` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `userAgent` varchar(80) CHARACTER SET utf8 DEFAULT NULL, + `lastMs` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `fullContact` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `regServer` varchar(20) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`userId`), + CONSTRAINT `sipReg_ibfk_1` FOREIGN KEY (`userId`) REFERENCES `sip` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='SIP registrations'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'pbx' +-- + +-- +-- Dumping routines for database 'pbx' +-- +/*!50003 DROP FUNCTION IF EXISTS `clientFromPhone` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `clientFromPhone`(vPhone VARCHAR(255)) RETURNS int(11) + DETERMINISTIC +BEGIN + DECLARE vClient INT DEFAULT NULL; + + -- SET vPhone = vPhone COLLATE 'utf8_unicode_ci'; + + -- Searchs a customer associated to the phone number + + DROP TEMPORARY TABLE IF EXISTS tmp.customer; + CREATE TEMPORARY TABLE tmp.customer + ENGINE = MEMORY + SELECT id_cliente customer + FROM vn2008.Clientes c + WHERE telefono = vPhone + OR movil = vPhone + UNION + SELECT id_cliente + FROM vn2008.Consignatarios + WHERE telefono = vPhone + OR movil = vPhone + UNION + SELECT r.id_cliente + FROM vn2008.Relaciones r + JOIN vn2008.Contactos c ON r.Id_Contacto = c.Id_Contacto + WHERE c.telefono = vPhone + OR c.movil = vPhone; + + SELECT t.customer INTO vClient + FROM tmp.customer t + JOIN vn2008.Clientes c ON c.id_cliente = t.customer + WHERE c.activo + LIMIT 1; + + DROP TEMPORARY TABLE tmp.customer; + + RETURN vClient; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP FUNCTION IF EXISTS `phoneFormat` */; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` FUNCTION `phoneFormat`(vPhone VARCHAR(255)) RETURNS varchar(255) CHARSET utf8 +BEGIN + DECLARE vI INT DEFAULT 0; + DECLARE vChr VARCHAR(1); + DECLARE vLen INT DEFAULT LENGTH(vPhone); + DECLARE vNewPhone VARCHAR(255) DEFAULT ''; + + WHILE vI < vLen + DO + SET vChr = SUBSTR(vPhone, vI + 1, 1); + + IF vChr REGEXP '^[0-9]$' + THEN + SET vNewPhone = CONCAT(vNewPhone, vChr); + ELSEIF vChr = '+' AND vI = 0 + THEN + SET vNewPhone = CONCAT(vNewPhone, '00'); + END IF; + + SET vI = vI + 1; + END WHILE; + + IF vNewPhone REGEXP '^0+$' OR vNewPhone = '' THEN + RETURN NULL; + END IF; + + IF vNewPhone REGEXP '^0034' THEN + SET vNewPhone = SUBSTR(vNewPhone, 5); + END IF; + + RETURN vNewPhone; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `extensionIsValid` */; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `extensionIsValid`(vExtension VARCHAR(255)) + DETERMINISTIC +BEGIN + DECLARE vIsValid BOOLEAN; + + SET vIsValid = vExtension IS NULL + OR (vExtension REGEXP '^[0-9]{4}$' + AND MOD(vExtension, 100) != 0); + + IF NOT vIsValid + THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'EXTENSION_INVALID_FORMAT'; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `phoneIsValid` */; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `phoneIsValid`(vPhone VARCHAR(255)) +BEGIN + DECLARE vIsValid BOOLEAN; + + SET vIsValid = vPhone IS NULL + OR (vPhone REGEXP '^[0-9]+$' + AND vPhone NOT REGEXP '^0+$' + AND vPhone NOT REGEXP '^0034'); + + IF NOT vIsValid + THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'PHONE_INVALID_FORMAT'; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; +/*!50003 DROP PROCEDURE IF EXISTS `queueIsValid` */; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_general_ci ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `queueIsValid`(vQueue VARCHAR(255)) + DETERMINISTIC +BEGIN + DECLARE vIsValid BOOLEAN; + + SET vIsValid = vQueue IS NULL + OR vQueue REGEXP '^[1-9][0-9]00$'; + + IF NOT vIsValid + THEN + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 'QUEUE_INVALID_FORMAT'; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +ALTER DATABASE `pbx` CHARACTER SET utf8 COLLATE utf8_unicode_ci ; + +-- +-- Current Database: `salix` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `salix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `salix`; + +-- +-- Table structure for table `ACL` +-- + +DROP TABLE IF EXISTS `ACL`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `ACL` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `model` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `property` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `accessType` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `permission` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `principalType` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `principalId` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `AccessToken` +-- + +DROP TABLE IF EXISTS `AccessToken`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `AccessToken` ( + `id` varchar(255) CHARACTER SET utf8 NOT NULL, + `ttl` int(11) DEFAULT NULL, + `scopes` varchar(255) CHARACTER SET utf8 DEFAULT NULL, + `created` datetime DEFAULT NULL, + `userId` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `FakeProduction` +-- + +DROP TABLE IF EXISTS `FakeProduction`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `FakeProduction` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ticketFk` int(11) NOT NULL DEFAULT '0', + `clientFk` int(11) NOT NULL DEFAULT '0', + `client` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `date` date DEFAULT NULL, + `hour` time DEFAULT NULL, + `city` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `province` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `provinceFk` smallint(6) unsigned NOT NULL DEFAULT '0', + `agency` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `agencyFk` smallint(6) NOT NULL, + `lines` int(1) NOT NULL DEFAULT '0', + `m3` decimal(5,2) NOT NULL DEFAULT '0.00', + `problems` int(1) NOT NULL DEFAULT '0', + `problem` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `stateFk` bigint(4) NOT NULL DEFAULT '0', + `workerfk` int(11) NOT NULL DEFAULT '0', + `worker` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `salesPersonFk` int(11) NOT NULL DEFAULT '0', + `salesPerson` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `state` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `boxes` double DEFAULT NULL, + `routeFk` int(10) unsigned DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=826 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Table structure for table `user` +-- + +DROP TABLE IF EXISTS `user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `realm` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `username` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + `password` varchar(512) CHARACTER SET utf8 NOT NULL, + `email` varchar(512) CHARACTER SET utf8 NOT NULL, + `emailVerified` tinyint(1) DEFAULT NULL, + `verificationToken` varchar(512) CHARACTER SET utf8 DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=50054 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping events for database 'salix' +-- + +-- +-- Dumping routines for database 'salix' +-- +/*!50003 DROP PROCEDURE IF EXISTS `production_control_source` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `production_control_source`(idWarehouse INT, scopeDays TINYINT) +BEGIN + CALL vn2008.production_control_source(idWarehouse, scopeDays); + + SET @id = 0; + + DROP TEMPORARY TABLE IF EXISTS tmp.production; + CREATE TEMPORARY TABLE tmp.production + ENGINE = MEMORY + SELECT + @id := @id+1 id, + p.Id_Ticket ticketFk, + p.Id_Cliente clientFk, + p.Alias client, + p.Fecha `date`, + p.Hora hour, + p.POBLACION city, + p.PROVINCIA province, + p.province_id provinceFk, + p.Agencia agency, + p.agency_id agencyFk, + p.lines, + p.m3, + p.problems, + p.problem, + p.state stateFk, + t.Id_Trabajador workerfk, + CONCAT(t.Nombre, ' ', t.Apellidos) worker, + tt.Id_Trabajador salesPersonFk, + CONCAT(tt.Nombre, ' ', tt.Apellidos) salesPerson, + s.name state, + p.Cajas boxes, + p.Id_Ruta routeFk + FROM tmp.production_buffer p + JOIN vn2008.state s ON p.state = s.id + JOIN vn2008.Trabajadores t ON p.CodigoTrabajador = t.CodigoTrabajador COLLATE utf8_unicode_ci + JOIN vn2008.Trabajadores tt ON p.Comercial = tt.CodigoTrabajador COLLATE utf8_unicode_ci; + + DROP TEMPORARY TABLE tmp.production_buffer; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; + +-- +-- Current Database: `hedera` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `hedera` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `hedera`; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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 */; + +-- +-- 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=12991 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=1232950 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=7678042 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 */; + +-- +-- 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=185356 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 */; + +-- +-- 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=1138614 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=2417840 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=1657058 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=2354048 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 (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 */ ; +/*!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', 'Access' + FROM myTicket t + WHERE t.id = vTicket; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `orderCheckConfig` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `orderCheckConfig`(vOrder INT) +proc: BEGIN +/** + * Comprueba que la configuración del pedido es correcta. + * + * @param vOrder Identificador del pedido + */ + DECLARE vDeliveryMethod VARCHAR(255); + DECLARE vDelivery DATE; + DECLARE vAgency INT; + DECLARE vAddress INT; + + -- Obtiene los datos del pedido + + SELECT d.code, o.date_send, o.agency_id, o.address_id + INTO vDeliveryMethod, vDelivery, vAgency, vAddress + FROM `order` o + JOIN vn.deliveryMethod d ON d.id = o.delivery_method_id + WHERE o.id = vOrder; + + -- Comprueba que se ha seleccionado una dirección + + IF vDeliveryMethod IN ('AGENCY', 'DELIVERY') + && vAddress IS NULL + THEN + CALL util.throw ('ORDER_EMPTY_ADDRESS'); + END IF; + + -- Comprueba que la agencia es correcta + + IF !vn.AgencyIsAvailable (vAgency, vDelivery, vAddress) THEN + CALL util.throw ('ORDER_INVALID_AGENCY'); + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `orderCheckDate` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `orderCheckDate`(vDate DATE) +BEGIN + DECLARE vMaxTime TIME; + DECLARE vFestive BOOLEAN; + DECLARE vDenyDay DATE; + DECLARE vDenySunday BOOLEAN; + + SELECT COUNT(*) INTO vFestive + FROM orderCheckFestive + WHERE TIMESTAMPADD(YEAR, -YEAR(vDate), vDate) = date + AND acceptOrders = FALSE; + + IF vDate < CURDATE() + THEN + CALL util.throw ('ORDER_DATE_PAST'); + ELSEIF vFestive > 0 + THEN + CALL util.throw ('ORDER_DATE_HOLIDAY'); + ELSE + SELECT c.denySunday, c.denyDay, IFNULL(w.maxTime, c.maxTime) + INTO vDenySunday, vDenyDay, vMaxTime + FROM orderCheck c + LEFT JOIN orderCheckWday w + ON w.weekday = WEEKDAY(CURDATE()); + + IF vDate = CURDATE() AND CURTIME() > vMaxTime + THEN + CALL util.throw ('ORDER_DATE_LAST'); + ELSEIF WEEKDAY(vDate) = 6 AND vDenySunday + THEN + CALL util.throw ('ORDER_DATE_SUNDAY'); + ELSEIF vDate = vDenyDay + THEN + CALL util.throw ('ORDER_DATE_SATURATED'); + END IF; + END IF; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `orderConfirm` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `orderConfirm`(vOrder INT) +BEGIN +/** + * Confirms an order, creating each of its tickets on + * the corresponding date and store. + * + * @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 `__orderNew` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `__orderNew`() +BEGIN + DECLARE vCount INT; + DECLARE vDeliveryMethod INT; + DECLARE vAgency INT; + DECLARE vAddress INT; + DECLARE vWarehouse INT DEFAULT NULL; + + SELECT COUNT(*) INTO vCount FROM order_view; + + IF vCount >= 3 THEN + CALL util.throw ('ORDER_MAX_EXCEEDED'); + END IF; + + SELECT co.Id_Consigna, co.Id_Agencia, a.Vista + INTO vAddress, vAgency, vDeliveryMethod + FROM vn2008.Clientes c + LEFT JOIN vn2008.Consignatarios co ON co.Id_Consigna = c.default_address + JOIN vn2008.Agencias a ON a.Id_Agencia = co.Id_Agencia + WHERE c.Id_cliente = user_id(); + + INSERT INTO `order` + SET + date_send = CURDATE(), + customer_id = user_id(), + delivery_method_id = IFNULL(vDeliveryMethod, DEFAULT(delivery_method_id)), + agency_id = IFNULL(vAgency, DEFAULT(agency_id)), + address_id = IFNULL(vAddress, DEFAULT(address_id)), + wh_id = IFNULL(vWarehouse, DEFAULT(wh_id)), + type_id = IFNULL(vAgency, DEFAULT(type_id)), + is_bionic = FALSE; + + SELECT LAST_INSERT_ID() order_id; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; + +-- +-- Current Database: `bs` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bs` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `bs`; + +-- +-- 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 */ ; + +-- +-- 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 */ ; +/*!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-01-23 13:26:46 diff --git a/services/db/localDB05StructureUtil.sql b/services/db/localDB05StructureUtil.sql new file mode 100644 index 0000000000..2d1046f8d0 --- /dev/null +++ b/services/db/localDB05StructureUtil.sql @@ -0,0 +1,616 @@ +CREATE DATABASE IF NOT EXISTS `util` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; +USE `util`; +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: util +-- ------------------------------------------------------ +-- 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 */; + +-- +-- 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` */; +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 `throw`(vCode CHAR(35)) +BEGIN +/** + * Lanza una error de usuario. + * + * @param vCode Código de error + */ + SIGNAL SQLSTATE '45000' + SET MESSAGE_TEXT = 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 ; +/*!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 ; +/*!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-01-23 13:30:21 diff --git a/services/db/localDB06ViewsVn.sql b/services/db/localDB06ViewsVn.sql new file mode 100644 index 0000000000..defab396b2 --- /dev/null +++ b/services/db/localDB06ViewsVn.sql @@ -0,0 +1,4091 @@ +CREATE DATABASE IF NOT EXISTS `vn` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; +USE `vn`; +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: vn +-- ------------------------------------------------------ +-- 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 */; + +-- +-- 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 `clientFk`, + 1 AS `customer`, + 1 AS `street`, + 1 AS `city`, + 1 AS `postalCode`, + 1 AS `provinceFk`, + 1 AS `province`, + 1 AS `phone`, + 1 AS `celular`, + 1 AS `nickname`, + 1 AS `isDefaultAddress`, + 1 AS `longitude`, + 1 AS `latitude`, + 1 AS `warehouseFk`, + 1 AS `mobile`, + 1 AS `agencyFk`, + 1 AS `agency`, + 1 AS `isEqualizated`, + 1 AS `defaultAddress`, + 1 AS `warehouse`, + 1 AS `isActive`, + 1 AS `__active`*/; +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 `warehouse`, + 1 AS `warehouseFk`, + 1 AS `isVolumetric`, + 1 AS `bank`, + 1 AS `bankFk`, + 1 AS `warehouseNickname`, + 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 `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; + +-- +-- 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`*/; +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; + +-- +-- 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; + +-- +-- 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 `__employeeFk`, + 1 AS `amount`, + 1 AS `created`*/; +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; + +-- +-- 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 `creationDate`*/; +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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `name`, + 1 AS `categoryFk`, + 1 AS `life`, + 1 AS `workerFk`*/; +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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `agencyFk`, + 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; + +-- +-- Temporary view structure for view `routekk` +-- + +DROP TABLE IF EXISTS `routekk`; +/*!50001 DROP VIEW IF EXISTS `routekk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `routekk` AS SELECT + 1 AS `id`, + 1 AS `workerFk`, + 1 AS `created`, + 1 AS `vehicleFk`, + 1 AS `agencyFk`, + 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `packageNumber`, + 1 AS `created`*/; +SET character_set_client = @saved_cs_client; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `celular`,`t`.`consignatario` AS `nickname`,`t`.`predeterminada` AS `isDefaultAddress`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`movil` AS `mobile`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Agencia` AS `agency`,`t`.`isEqualizated` AS `isEqualizated`,`t`.`predeterminada` AS `defaultAddress`,`t`.`warehouse_id` AS `warehouse`,`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 `warehouse`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bank`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseNickname`,`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 `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` 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`.`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 `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 `creationDate` 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`,if((`p`.`CEE` < 2),1,0) 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 `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 `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 `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 `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`.`Tipo` AS `name`,`t`.`reino_id` AS `categoryFk`,`t`.`life` AS `life`,`t`.`Id_Trabajador` AS `workerFk` 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 `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 `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 `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 `agencyFk`,`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 `routekk` +-- + +/*!50001 DROP VIEW IF EXISTS `routekk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `routekk` 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 `agencyFk`,`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 `packageNumber`,`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 */; +/*!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-01-23 13:20:52 diff --git a/services/db/localDB07OthersViews.sql b/services/db/localDB07OthersViews.sql new file mode 100644 index 0000000000..f988d87d7d --- /dev/null +++ b/services/db/localDB07OthersViews.sql @@ -0,0 +1,7482 @@ +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: edi +-- ------------------------------------------------------ +-- 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: `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=274346 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 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=293788 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 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 */; + +-- +-- 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=8715626 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 */ ; + +-- +-- 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=61385 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 */; + +-- +-- Current Database: `bi` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bi` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `bi`; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `celular`, + 1 AS `nickname`, + 1 AS `isDefaultAddress`, + 1 AS `longitude`, + 1 AS `latitude`, + 1 AS `warehouseFk`, + 1 AS `mobile`, + 1 AS `agencyFk`, + 1 AS `agency`, + 1 AS `isEqualizated`, + 1 AS `defaultAddress`, + 1 AS `warehouse`, + 1 AS `isActive`, + 1 AS `__active`*/; +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 `warehouse`, + 1 AS `warehouseFk`, + 1 AS `isVolumetric`, + 1 AS `bank`, + 1 AS `bankFk`, + 1 AS `warehouseNickname`, + 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 `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; + +-- +-- 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`*/; +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; + +-- +-- 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; + +-- +-- 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 `__employeeFk`, + 1 AS `amount`, + 1 AS `created`*/; +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; + +-- +-- 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 `creationDate`*/; +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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `name`, + 1 AS `categoryFk`, + 1 AS `life`, + 1 AS `workerFk`*/; +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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `agencyFk`, + 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; + +-- +-- Temporary view structure for view `routekk` +-- + +DROP TABLE IF EXISTS `routekk`; +/*!50001 DROP VIEW IF EXISTS `routekk`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `routekk` AS SELECT + 1 AS `id`, + 1 AS `workerFk`, + 1 AS `created`, + 1 AS `vehicleFk`, + 1 AS `agencyFk`, + 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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 `packageNumber`, + 1 AS `created`*/; +SET character_set_client = @saved_cs_client; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- Current Database: `pbx` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `pbx` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `pbx`; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- Current Database: `salix` +-- + +CREATE DATABASE /*!32312 IF NOT EXISTS*/ `salix` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; + +USE `salix`; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 `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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- Current Database: `edi` +-- + +USE `edi`; + +-- +-- Current Database: `vncontrol` +-- + +USE `vncontrol`; + +-- +-- Current Database: `cache` +-- + +USE `cache`; + +-- +-- 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: `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 `celular`,`t`.`consignatario` AS `nickname`,`t`.`predeterminada` AS `isDefaultAddress`,`t`.`longitude` AS `longitude`,`t`.`latitude` AS `latitude`,`t`.`warehouse_id` AS `warehouseFk`,`t`.`movil` AS `mobile`,`t`.`Id_Agencia` AS `agencyFk`,`t`.`Id_Agencia` AS `agency`,`t`.`isEqualizated` AS `isEqualizated`,`t`.`predeterminada` AS `defaultAddress`,`t`.`warehouse_id` AS `warehouse`,`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 `warehouse`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`por_volumen` AS `isVolumetric`,`a`.`Id_Banco` AS `bank`,`a`.`Id_Banco` AS `bankFk`,`a`.`warehouse_alias_id` AS `warehouseNickname`,`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 `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` 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`.`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 `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 `creationDate` 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`,if((`p`.`CEE` < 2),1,0) 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 `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 `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 `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 `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` 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 `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 `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 `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 `agencyFk`,`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 `routekk` +-- + +/*!50001 DROP VIEW IF EXISTS `routekk`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8 */; +/*!50001 SET character_set_results = utf8 */; +/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `routekk` 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 `agencyFk`,`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 `packageNumber`,`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: `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: `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: `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 `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 `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 `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`.`order_id` AS `order_id`,`r`.`warehouse_id` AS `warehouse_id`,`r`.`item_id` AS `item_id`,`r`.`amount` AS `amount`,`r`.`price` AS `price` from `hedera`.`order_row` `r` where (`r`.`order_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 `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 */; + +-- +-- 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 */; +/*!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-01-23 13:27:49 diff --git a/services/db/localDB08Views2008.sql b/services/db/localDB08Views2008.sql new file mode 100644 index 0000000000..4355768c03 --- /dev/null +++ b/services/db/localDB08Views2008.sql @@ -0,0 +1,3182 @@ +CREATE DATABASE IF NOT EXISTS `vn2008` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */; +USE `vn2008`; +-- MySQL dump 10.13 Distrib 5.7.17, for Win64 (x86_64) +-- +-- Host: db.verdnatura.es Database: vn2008 +-- ------------------------------------------------------ +-- 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 */; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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; + +-- +-- 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 */; +/*!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-01-23 13:18:50 diff --git a/services/db/localDB02Inserts.sql b/services/db/localDB09Inserts.sql similarity index 63% rename from services/db/localDB02Inserts.sql rename to services/db/localDB09Inserts.sql index dc859bfbfe..1b8d5f26cf 100644 --- a/services/db/localDB02Inserts.sql +++ b/services/db/localDB09Inserts.sql @@ -265,11 +265,12 @@ INSERT INTO `salix`.`Account`(`id`,`name`,`password`,`roleFk`,`active`,`email`) (3, 'ClarkKent', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'ClarkKent@verdnatura.es'), (4, 'TonyStark', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'TonyStark@verdnatura.es'), (5, 'MaxEisenhardt', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'MaxEisenhardt@verdnatura.es'), - (6, 'DavidCharlesHaller', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'DavidCharlesHaller@verdnatura.es'), + (6, 'DavidCharlesHaller', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'DavidCharlesHaller@verdnatura.es'), (7, 'HankPym', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'HankPym@verdnatura.es'), (8, 'CharlesXavier', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'CharlesXavier@verdnatura.es'), - (9, 'BruceBanner', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'BruceBanner@verdnatura.es'), - (10, 'JessicaJones', 'ac754a330530832ba1bf7687f577da91', 9, 1, 'JessicaJones@verdnatura.es'); + (9, 'BruceBanner', 'ac754a330530832ba1bf7687f577da91', 18, 1, 'BruceBanner@verdnatura.es'), + (10, 'JessicaJones', 'ac754a330530832ba1bf7687f577da91', 9, 1, 'JessicaJones@verdnatura.es'), + (11, 'Cyborg', 'ac754a330530832ba1bf7687f577da91', 1, 1, 'cyborg@verdnatura.es'); INSERT INTO `salix`.`Country`(`id`, `name`, `inCee`, `code`, `currencyFk`, `realCountryFk`) VALUES @@ -277,7 +278,8 @@ INSERT INTO `salix`.`Country`(`id`, `name`, `inCee`, `code`, `currencyFk`, `real (2, 'Italia', 1, 'IT', 1, 2), (3, 'Alemania', 1, 'DE', 1, 3), (4, 'Rumania', 1, 'RO', 1, 4), - (5, 'Holanda', 1, 'NL', 1, 5); + (5, 'Holanda', 1, 'NL', 1, 5), + (30,'Francia', 1, 'FR', 1, 6); INSERT INTO `salix`.`Warehouse`(`id`, `name`, `tpv`, `inventory`, `isManaged`) VALUES @@ -321,11 +323,11 @@ UPDATE `salix`.`AgencyMode` SET `id` = 6 WHERE `name` = 'Walking'; INSERT INTO `salix`.`PayMethod`(`id`, `name`, `graceDays`, `outstandingDebt`, `ibanRequired`) VALUES - (1, 'PayMethod one', 0, 001, 0), - (2, 'PayMethod two', 10, 001, 0), - (3, 'PayMethod three', 0, 001, 0), - (4, 'PayMethod four', 0, 001, 1), - (5, 'PayMethod five', 10, 001, 0); + (1, 'PayMethod one', 0, 001, 0), + (2, 'PayMethod two', 10, 001, 0), + (3, 'PayMethod three', 0, 001, 0), + (4, 'PayMethod with IBAN', 0, 001, 1), + (5, 'PayMethod five', 10, 001, 0); INSERT INTO `salix`.`Zone`(`id`, `name`, `printingOrder`) VALUES @@ -357,13 +359,14 @@ INSERT INTO `vn`.`cplusTerIdNif`(`id`, `description`) VALUES (1, 'NIF'); -INSERT INTO `vn2008`.`Trabajadores`(`CodigoTrabajador`, `Id_Trabajador`, `Nombre`, `Apellidos`, `user`) +INSERT INTO `vn2008`.`Trabajadores`(`CodigoTrabajador`, `Id_Trabajador`, `Nombre`, `Apellidos`, `user_id`) VALUES ('LGN', 1, 'David Charles', 'Haller', 6), ('ANT', 2, 'Hank', 'Pym', 7), ('DCX', 3, 'Charles', 'Xavier', 8), ('HLK', 4, 'Bruce', 'Banner', 9), - ('JJJ', 5, 'Jessica', 'Jones', 10); + ('JJJ', 5, 'Jessica', 'Jones', 10), + ('VSC', 20, 'Victor ', 'Stone', 11); INSERT INTO `salix`.`ContactChannel`(`id`, `name`) VALUES @@ -373,31 +376,32 @@ INSERT INTO `salix`.`ContactChannel`(`id`, `name`) (4, 'GCN Channel'), (5, 'The Newspaper'); -INSERT INTO `salix`.`Client`(`id`, `name`, `fi`, `socialName`, `contact`, `street`, `city`, `postcode`, `provinceFk`, `countryFk`, `email`, `phone`, `mobile`, `fax`, `active`, `discount`, `credit`, `creditInsurance`, `iban`, `dueDay`, `equalizationTax`, `hasToInvoice`, `invoiceByEmail`, `payMethodFk`, `salesPersonFk`, `contactChannelFk`, `sepaVnl`, `coreVnl`, `coreVnh`, `eypbc`, `quality`, `vies`, `isRelevant`, `typeFk`, `accountingAccount`, `created`) +INSERT INTO `vn`.`client`(`id`,`name`,`fi`,`socialName`,`contact`,`street`,`city`,`postcode`,`phone`,`mobile`,`fax`,`isRelevant`,`email`,`iban`,`dueDay`,`accountingAccount`,`isEqualizated`,`provinceFk`,`hasToInvoice`,`credit`,`countryFk`,`isActive`,`gestdocFk`,`quality`,`payMethodFk`,`created`,`isToBeMailed`,`contactChannelFk`,`hasSepaVnl`,`hasCoreVnl`,`hasCoreVnh`,`riskCalculated`,`clientTypeFk`,`mailAddress`,`cplusTerIdNifFk`,`hasToInvoiceByAddress`,`isTaxDataChecked`,`isFreezed`,`creditInsurance`,`isCreatedAsServed`,`hasInvoiceSimplified`,`salesPersonFk`,`isVies`,`eypbc`) VALUES - (1, 'Bruce Wayne', '11111111B', 'Batman', 'Alfred', '1007 Mountain Drive, Gotham', 'Silla', 46460, 1, 1, 'BruceWayne@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (2, 'Petter Parker', '22222222P', 'Spider-Man', 'Aunt May', '20 Ingram Street', 'Silla', 46460, 1, 1, 'PetterParker@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (3, 'Clark Kent', '33333333C', 'Super-Man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1, 1, 'ClarkKent@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (4, 'Tony Stark', '44444444T', 'Iron-Man', 'Pepper Potts', '10880 Malibu Point', 'Silla', 46460, 1, 1, 'TonyStark@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (5, 'Max Eisenhardt', '55555555M', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1, 1, 'MaxEisenhardt@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (6, 'DavidCharlesHaller', '66666666D', 'Legion', 'Charles Xavier', 'Evil hideout', 'Silla', 46460, 1, 1, 'DavidCharlesHaller@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (7, 'Hank Pym', '77777777H', 'Ant-Man', 'Hawk', 'Anthill', 'Silla', 46460, 1, 1, 'HankPym@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (8, 'Charles Xavier', '88888888C', 'Professor X', 'Beast', '3800 Victory Pkwy, Cincinnati, OH 45207, USA', 'Silla', 46460, 1, 1, 'CharlesXavier@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (9, 'Bruce Banner', '99999999B', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1, 1, 'BruceBanner@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()), - (10, 'Jessica Jones', '10101010J', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1, 1, 'JessicaJones@verdnatura.es', 1111111111, 222222222, 333333333, 1, 1, 300, NULL, NULL, 0, 1, 1, 1, 5, 4, 5, 1, 1, 1, 1, 10, 0, 1, 1, 1234567890, CURDATE()); + (1, 'Bruce Wayne', '74451390E', 'Batman', 'Alfred', '1007 Mountain Drive, Gotham', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceWayne@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (2, 'Petter Parker', '87945234L', 'Spider-Man', 'Aunt May', '20 Ingram Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'PetterParker@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (3, 'Clark Kent', '06815934E', 'Super-Man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'ClarkKent@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (4, 'Tony Stark', '06089160W', 'Iron-Man', 'Pepper Potts', '10880 Malibu Point', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'TonyStark@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 1, 0, 1), + (5, 'Max Eisenhardt', '39182496H', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'MaxEisenhardt@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (6, 'DavidCharlesHaller', '53136686Q', 'Legion', 'Charles Xavier', 'Evil hideout', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'DavidCharlesHaller@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (7, 'Hank Pym', '09854837G', 'Ant-Man', 'Hawk', 'Anthill', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'HankPym@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 3, 0, 1), + (8, 'Charles Xavier', '22641921P', 'Professor X', 'Beast', '3800 Victory Pkwy, Cincinnati, OH 45207, USA', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'CharlesXavier@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (9, 'Bruce Banner', '16104829E', 'Hulk', 'Black widow', 'Somewhere in New York', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceBanner@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1), + (10, 'Jessica Jones', '58282869H', 'Jessica Jones', 'Luke Cage', 'NYCC 2015 Poster', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'JessicaJones@verdnatura.es', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 1,NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1,'0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 4, 0, 1); + INSERT INTO `salix`.`Address`(`id`, `consignee`, `street`, `city`, `postcode`, `provinceFk`, `phone`, `mobile`, `isEnabled`, `isDefaultAddress`, `clientFk`, `defaultAgencyFk`, `longitude`, `latitude`, `isEqualizated`) VALUES - (1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 1), - (2, 'Petter Parker', 'NY roofs', 'Silla', 46460, 1, NULL, NULL, 1, 1, 2, 2, NULL, NULL, 1), - (3, 'Clark Kenn', 'The phone box', 'Silla', 46460, 1, NULL, NULL, 1, 1, 3, 2, NULL, NULL, 1), - (4, 'Tony Stark', 'Stark tower', 'Silla', 46460, 1, NULL, NULL, 1, 1, 4, 2, NULL, NULL, 1), - (5, 'Max Eisenhardt', 'The plastic cell', 'Silla', 46460, 1, NULL, NULL, 1, 1, 5, 2, NULL, NULL, 1), - (6, 'David Charles Haller', 'Many places', 'Silla', 46460, 1, NULL, NULL, 1, 1, 6, 2, NULL, NULL, 1), - (7, 'Hank Pym', 'Your pocket', 'Silla', 46460, 1, NULL, NULL, 1, 1, 7, 2, NULL, NULL, 1), - (8, 'Charles Xavier', 'Cerebro', 'Silla', 46460, 1, NULL, NULL, 1, 1, 8, 2, NULL, NULL, 1), - (9, 'Bruce Banner', 'Somewhere in Thailand', 'Silla', 46460, 1, NULL, NULL, 1, 1, 9, 2, NULL, NULL, 1), - (10,'Jessica Jones', 'Luke Cages Bar', 'Silla', 46460, 1, NULL, NULL, 1, 1, 10, 2, NULL, NULL, 1); + (1, 'Bruce Wayne', 'The Bat cave', 'Silla', 46460, 1, NULL, NULL, 1, 1, 1, 2, NULL, NULL, 0), + (2, 'Petter Parker', 'NY roofs', 'Silla', 46460, 1, NULL, NULL, 1, 1, 2, 2, NULL, NULL, 0), + (3, 'Clark Kenn', 'The phone box', 'Silla', 46460, 1, NULL, NULL, 1, 1, 3, 2, NULL, NULL, 0), + (4, 'Tony Stark', 'Stark tower', 'Silla', 46460, 1, NULL, NULL, 1, 1, 4, 2, NULL, NULL, 0), + (5, 'Max Eisenhardt', 'The plastic cell', 'Silla', 46460, 1, NULL, NULL, 1, 1, 5, 2, NULL, NULL, 0), + (6, 'David Charles Haller', 'Many places', 'Silla', 46460, 1, NULL, NULL, 1, 1, 6, 2, NULL, NULL, 0), + (7, 'Hank Pym', 'Your pocket', 'Silla', 46460, 1, NULL, NULL, 1, 1, 7, 2, NULL, NULL, 0), + (8, 'Charles Xavier', 'Cerebro', 'Silla', 46460, 1, NULL, NULL, 1, 1, 8, 2, NULL, NULL, 0), + (9, 'Bruce Banner', 'Somewhere in Thailand', 'Silla', 46460, 1, NULL, NULL, 1, 1, 9, 2, NULL, NULL, 0), + (10,'Jessica Jones', 'Luke Cages Bar', 'Silla', 46460, 1, NULL, NULL, 1, 1, 10, 2, NULL, NULL, 0); INSERT INTO `salix`.`ClientCredit`(`id`, `clientFk`, `employeeFk`, `amount`, `created`) VALUES @@ -409,7 +413,7 @@ INSERT INTO `salix`.`ClientCredit`(`id`, `clientFk`, `employeeFk`, `amount`, `cr INSERT INTO `salix`.`ClientCreditLimit`(`id`, `maxAmount`, `roleFk`) VALUES - (1, 10000, 5), + (1, 1000, 5), (2, 600, 5), (3, 0, 5); @@ -456,31 +460,32 @@ INSERT INTO `vn2008`.`empresa_grupo`(`empresa_grupo_id`, `grupo`) INSERT INTO `vn2008`.`empresa`(`id`, `abbreviation`, `registro`, `gerente_id`, `alta`, `baja`, `logo`, `oficial`, `cyc`, `rgb`, `mail`, `cuno`, `ODBC_DATE`, `Id_Cliente`, `digito_factura`, `Id_Proveedores_account`, `morosidad`, `empresa_grupo`) VALUES - ('442', 'VNL', 'Wayne Industries, Inc. operates as a warehouse for steel products. Wayne Industries, Inc. was founded in 1989 and is based in Wayne, Michigan.', '2', '1989-11-19', NULL, NULL, '1', '1', '00FF00', 'BruceWayne@verdnatura.es', NULL, '1989-08-11 12:31:22', '10', '1', NULL, '1', '1'); + (442, 'WAY', 'Wayne Industries, Inc. operates as a warehouse for steel products. Wayne Industries, Inc. was founded in 1989 and is based in Wayne, Michigan.', '2', '1989-11-19', NULL, NULL, '1', '1', '00FF00', 'BruceWayne@verdnatura.es', NULL, '1989-08-11 12:31:22', '10', '1', NULL, '1', '1'); - INSERT INTO `salix`.`Ticket`(`id`, `agencyFk`, `employeeFk`, `date`, `hour`, `clientFk`, `addressFk`) + + INSERT INTO `vn`.`ticket`(`id`, `agencyModeFk`,`warehouseFk`,`routeFk`, `shipped`, `clientFk`,`nickname`, `addressFk`) VALUES - (1, 1, 1, CURDATE(), 0, 1, 1), - (2, 1, 1, CURDATE(), 0, 1, 2), - (3, 2, 2, CURDATE(), 0, 2, 3), - (4, 2, 2, CURDATE(), 0, 2, 4), - (5, 3, 3, CURDATE(), 0, 3, 5), - (6, 3, 3, CURDATE(), 0, 3, 6), - (7, 4, 4, CURDATE(), 0, 4, 7), - (8, 4, 4, CURDATE(), 0, 4, 8), - (9, 5, 5, CURDATE(), 0, 5, 9), - (10, 6, 5, CURDATE(), 0, 5, 10); + (1, 1, 1, NULL, CURDATE(), 1, 'Batman', 1), + (2, 1, 1, NULL, CURDATE(), 1, 'Spider-Man', 2), + (3, 2, 2, NULL, CURDATE(), 2, 'Super-Man', 3), + (4, 2, 2, NULL, CURDATE(), 2, 'Iron-Man', 4), + (5, 3, 3, NULL, CURDATE(), 3, 'Magneto', 5), + (6, 3, 3, NULL, CURDATE(), 3, 'Legion', 6), + (7, 4, 4, NULL, CURDATE(), 4, 'Ant-Man', 7), + (8, 4, 4, NULL, CURDATE(), 4, 'Professor X', 8), + (9, 5, 5, NULL, CURDATE(), 5, 'Hulk', 9), + (10, 6, 5, NULL, CURDATE(), 5, 'Jessica Jones', 10); INSERT INTO `salix`.`TicketState`(`id`, `ticketFk`, `stateFk`, `employeeFk`, `updated`) VALUES - (1, 1, 1, 1, CURDATE()), - (2, 2, 2, 1, CURDATE()), - (3, 3, 3, 2, CURDATE()), - (4, 4, 1, 2, CURDATE()), - (5, 5, 2, 3, CURDATE()), - (6, 6, 3, 3, CURDATE()), - (7, 7, 1, 4, CURDATE()), - (8, 8, 2, 4, CURDATE()), + (1, 1, 1, 5, CURDATE()), + (2, 2, 2, 5, CURDATE()), + (3, 3, 3, 5, CURDATE()), + (4, 4, 1, 5, CURDATE()), + (5, 5, 2, 5, CURDATE()), + (6, 6, 3, 5, CURDATE()), + (7, 7, 1, 5, CURDATE()), + (8, 8, 2, 5, CURDATE()), (9, 9, 3, 5, CURDATE()), (10, 10, 1, 5, CURDATE()); @@ -495,4 +500,97 @@ INSERT INTO `salix`.`Vehicle`(`id`, `numberPlate`, `tradeMark`, `model`, `compan INSERT INTO `vn`.`config`(`id`, `mdbServer`, `fakeEmail`, `defaultersMaxAmount`) VALUES -(1, 'beta-server', 'nightmare@verdnatura.es', '200'); \ No newline at end of file + (1, 'beta-server', 'nightmare@verdnatura.es', '200'); + +INSERT INTO `vn`.`greugeType`(`id`, `name`) + VALUES + (1, 'Diff'), + (2, 'Recover'), + (3, 'Manna'), + (4, 'Reclaim'), + (5, 'Heritage'), + (6, 'Miscellaneous'); + +INSERT INTO `vn`.`greuge`(`id`, `clientFk`, `description`, `amount`, `shipped`, `created`, `greugeTypeFk`, `ticketFk`) + VALUES + (1, 1, 'some diff charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 1, 1), + (2, 1, 'some recovery charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 2, 1), + (3, 1, 'some manna charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 3, 1), + (4, 1, 'some claim charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 4, 1), + (5, 1, 'some heritage charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 5, 1), + (6, 1, 'some miscellaneous charges', 1000, DATE_ADD(CURDATE(), INTERVAL 1 MONTH), CURDATE(), 1, 1); + +INSERT INTO `vn`.`mandateType`(`id`, `name`) + VALUES + (1, 'B2B'), + (2, 'CORE'); + +INSERT INTO `vn`.`mandate`(`id`, `clientFk`, `companyFk`, `code`, `created`, `mandateTypeFk`) + VALUES + (1, 2, 442, '1-1', CURDATE(), 2); + +INSERT INTO `vn`.`itemCategory`(`id`, `name`, `display`, `color`) + VALUES + (1, 'Vestimenta', 1, 'B92A26'), + (2, 'Objetos', 2, 'dcf711'); + +INSERT INTO `vn`.`itemType`(`id`, `code`, `name`, `categoryFk`, `life`,`workerFk`) + VALUES + (1, 'ARM', 'Armor', 1, 15, 5), + (2, 'ITG', 'Infinity gem', 2, 30, 5), + (3, 'WPN', 'Weapons', 2, 30, 5); + +INSERT INTO `vn`.`ink`(`id`, `name`, `picture`, `showOrder`) + VALUES + ('AMA', 'Amarillo' ,1 , 1), + ('AZL', 'Azul' ,1 , 2), + ('AMR', 'Rojo/Amarillo',1 , 3); + +INSERT INTO `vn`.`origin`(`id`,`code`, `name`) + VALUES + (1, 'ESP', 'España'), + (2, 'HOL', 'Holanda'), + (3, 'VCL', 'Valencia'); + +INSERT INTO `vn`.`producer`(`id`, `name`) + VALUES + (1, 'Cine Marvel'), + (2, 'Mitologia nordica'); + +INSERT INTO `vn`.`taxType`(`id`, `nickname`, `isAccrued`, `serial`, `TIPOOPE`, `description`, `countryFk`) + VALUES + (1, 'nacional',1, 'R', 'I', 'national VAT',1), + (2, 'europea', 0, 'E', 'I', 'europe VAT', 1); + +INSERT INTO `vn`.`taxCode`(`id`, `dated`, `code`, `taxTypeFk`, `rate`, `equalizationTax`, `type`, `link`, `isActive`, `updated`, `transactionCode`) + VALUES + (1, CURDATE(), '1111111111', 1, 7.0 , 0.0, 'R', 1, 1, CURDATE(), 1), + (2, CURDATE(), '2222222222', 2, 16.0, 0.0, 'G', 2, 1, CURDATE(), 2); + +INSERT INTO `vn`.`taxClass`(`id`, `description`, `code`) + VALUES + (1, 'VAT Reduced','R'), + (2, 'VAT General', 'G'); + +INSERT INTO `vn`.`intrastat`(`id`, `description`, `taxClassFk`, `taxCodeFk`) + VALUES + (1, 'automatic armor', 1, 1), + (2, 'magic weapon' , 2, 2); + +INSERT INTO `vn`.`expence`(`id`, `taxTypeFk`, `name`, `isWithheld`) + VALUES + (1, 1, 'bail', 0), + (2, 1, 'loan', 1); + + +INSERT INTO `vn`.`item`(`id`, `name`,`typeFk`,`size`,`inkFk`,`category`,`stems`,`originFk`,`description`,`producerFk`,`intrastatFk`,`isOnOffer`,`expenceFk`,`isBargain`,`comment`,`relevancy`,`image`,`taxClassFk`) + VALUES + (1, 'Gema del Tiempo', 2, 70, 'AMA', 'EXT', 1, 1, 'Una de las gemas del infinito', 1, 2, 0, 1, 0, NULL, 0, NULL, 1), + (2, 'Gema de la Mente', 2, 70, 'AZL', 'EXT', 1, 2, 'Una de las gemas del infinito', 1, 2, 0, 1, 0, NULL, 0, NULL, 1), + (3, 'Iron Patriot', 1, 60, 'AMR', 'EXT', 1, 3, 'La armadura de Rhodey', 1, 1, 0, 1, 0, NULL, 0, NULL, 1), + (4, 'Mark I', 1, 60, 'AMR', 'EXT', 1, 1, 'La primera armadura de Iron Man', 1, 1, 1, 2, 0, NULL, 0, NULL, 2), + (5, 'Mjolnir', 3, 30, 'AZR', 'EXT', 1, 2, 'El martillo de Thor', 2, 2, 1, 2, 0, NULL, 0, NULL, 2); + + + + diff --git a/services/db/testing_fixtures.js b/services/db/testing_fixtures.js new file mode 100644 index 0000000000..21954fb19e --- /dev/null +++ b/services/db/testing_fixtures.js @@ -0,0 +1,42 @@ +let mysql = require('mysql'); + +let connection = mysql.createConnection({ + multipleStatements: true, + host: 'localhost', + user: 'root', + password: '', + database: 'salix' +}); + +let errorHandler = callback => { + return error => { + if (error) + throw error; + callback(); + }; +}; + +let insertFixtures = (inserts, callback) => { + connection.query(inserts[0], errorHandler(callback)); + // connection.query('SET FOREIGN_KEY_CHECKS = 1'); +}; + +let truncate = (tables, callback) => { + let truncatesSQL = tables.reduce((accumulator, currentValue, i) => { + let sql = 'TRUNCATE TABLE ' + currentValue + '; '; + return (`${accumulator}${sql}`); + }, ''); + + connection.query(truncatesSQL.slice(0, -2), errorHandler(callback)); +}; + +connection.connect(); + +export default function restoreFixtures(fixturesToApply, callback) { + connection.query('SET FOREIGN_KEY_CHECKS = 0', () => { + truncate(fixturesToApply.tables, () => { + insertFixtures(fixturesToApply.inserts, callback); + }); + }); +} + diff --git a/services/item/Dockerfile b/services/item/Dockerfile new file mode 100644 index 0000000000..73be207775 --- /dev/null +++ b/services/item/Dockerfile @@ -0,0 +1,15 @@ +FROM node:6.9.1 + +COPY item /app + +COPY loopback /loopback + +WORKDIR /app + +RUN npm install + +RUN npm -g install pm2 + +CMD ["pm2-docker", "./server/server.js"] + +EXPOSE 3007 diff --git a/services/item/common/methods/item/filter.js b/services/item/common/methods/item/filter.js new file mode 100644 index 0000000000..5db641a043 --- /dev/null +++ b/services/item/common/methods/item/filter.js @@ -0,0 +1,31 @@ +module.exports = Self => { + Self.installMethod('filter', filterParams); + + function filterParams(params) { + let filter = { + where: {}, + skip: (params.page - 1) * params.size, + limit: params.size, + order: params.order || 'relevancy DESC', + include: { + relation: "itemType", + scope: { + fields: ["id", "name"] + } + } + }; + + delete params.page; + delete params.size; + delete params.order; + + if (params.itemSize) { + filter.where.size = params.itemSize; + delete params.itemSize; + } + + Object.assign(filter.where, params); + + return filter; + } +}; diff --git a/services/item/common/models/expence.json b/services/item/common/models/expence.json new file mode 100644 index 0000000000..847b0fb824 --- /dev/null +++ b/services/item/common/models/expence.json @@ -0,0 +1,30 @@ +{ + "name": "Expence", + "base": "VnModel", + "options": { + "mysql": { + "table": "expence", + "database": "vn" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "name": { + "type": "String" + }, + "isWithheld": { + "type": "Number" + } + }, + "relations": { + "taxType": { + "type": "belongsTo", + "model": "TaxType", + "foreignKey": "taxTypeFk" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/ink.json b/services/item/common/models/ink.json new file mode 100644 index 0000000000..5cb80693d4 --- /dev/null +++ b/services/item/common/models/ink.json @@ -0,0 +1,23 @@ +{ + "name": "Ink", + "base": "VnModel", + "options": { + "mysql": { + "table": "ink", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "name": { + "type": "String" + }, + "showOrder": { + "type": "number" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/intrastat.json b/services/item/common/models/intrastat.json new file mode 100644 index 0000000000..0ef5c58761 --- /dev/null +++ b/services/item/common/models/intrastat.json @@ -0,0 +1,32 @@ +{ + "name": "Intrastat", + "base": "VnModel", + "options": { + "mysql": { + "table": "intrastat", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "description": { + "type": "String" + } + }, + "relations": { + "taxClass": { + "type": "belongsTo", + "model": "TaxClass", + "foreignKey": "taxClassFk" + }, + "taxCode": { + "type": "belongsTo", + "model": "TaxCode", + "foreignKey": "taxCodeFk" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/item-type.json b/services/item/common/models/item-type.json new file mode 100644 index 0000000000..d1f45c0dbf --- /dev/null +++ b/services/item/common/models/item-type.json @@ -0,0 +1,23 @@ +{ + "name": "ItemType", + "base": "VnModel", + "options": { + "mysql": { + "table": "itemType", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "name": { + "type": "String" + }, + "life": { + "type": "Number" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/item.js b/services/item/common/models/item.js new file mode 100644 index 0000000000..2c193b587b --- /dev/null +++ b/services/item/common/models/item.js @@ -0,0 +1,6 @@ +module.exports = function(Self) { + require('../methods/item/filter.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 new file mode 100644 index 0000000000..3b0db4753e --- /dev/null +++ b/services/item/common/models/item.json @@ -0,0 +1,80 @@ +{ + "name": "Item", + "base": "VnModel", + "options": { + "mysql": { + "table": "item", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "name": { + "type": "String", + "required": true + }, + "size": { + "type": "Number" + }, + "category": { + "type": "String" + }, + "stems": { + "type": "Number" + }, + "description": { + "type": "String" + }, + "isOnOffer": { + "type": "Boolean" + }, + "isBargain": { + "type": "Boolean" + }, + "comment": { + "type": "String" + }, + "relevancy": { + "type": "Number" + }, + "image": { + "type": "String" + } + }, + "relations": { + "itemType": { + "type": "belongsTo", + "model": "ItemType", + "foreignKey": "typeFk" + }, + "ink": { + "type": "belongsTo", + "model": "Ink", + "foreignKey": "inkFk" + }, + "origin": { + "type": "belongsTo", + "model": "Origin", + "foreignKey": "originFk" + }, + "producer": { + "type": "belongsTo", + "model": "Producer", + "foreignKey": "producerFk" + }, + "intrastat": { + "type": "belongsTo", + "model": "Intrastat", + "foreignKey": "intrastatFk" + }, + "expence": { + "type": "belongsTo", + "model": "Expence", + "foreignKey": "expenceFk" + } + } + } \ No newline at end of file diff --git a/services/item/common/models/origin.json b/services/item/common/models/origin.json new file mode 100644 index 0000000000..9ebeb98f8f --- /dev/null +++ b/services/item/common/models/origin.json @@ -0,0 +1,23 @@ +{ + "name": "Origin", + "base": "VnModel", + "options": { + "mysql": { + "table": "origin", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "code": { + "type": "String" + }, + "name": { + "type": "String" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/producer.json b/services/item/common/models/producer.json new file mode 100644 index 0000000000..f4628b988b --- /dev/null +++ b/services/item/common/models/producer.json @@ -0,0 +1,20 @@ +{ + "name": "Producer", + "base": "VnModel", + "options": { + "mysql": { + "table": "producer", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "name": { + "type": "String" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/tax-class.json b/services/item/common/models/tax-class.json new file mode 100644 index 0000000000..c107f33914 --- /dev/null +++ b/services/item/common/models/tax-class.json @@ -0,0 +1,23 @@ +{ + "name": "TaxClass", + "base": "VnModel", + "options": { + "mysql": { + "table": "taxClass", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "description": { + "type": "String" + }, + "code": { + "type": "String" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/tax-code.json b/services/item/common/models/tax-code.json new file mode 100644 index 0000000000..93a426a076 --- /dev/null +++ b/services/item/common/models/tax-code.json @@ -0,0 +1,47 @@ +{ + "name": "TaxCode", + "base": "VnModel", + "options": { + "mysql": { + "table": "taxCode", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "dated": { + "type": "date" + }, + "code": { + "type": "String" + }, + "rate": { + "type": "number" + }, + "equalizationTax": { + "type": "number" + }, + "type": { + "type": "String" + }, + "isActive": { + "type": "Boolean" + } + }, + "relations": { + "taxType": { + "type": "belongsTo", + "model": "TaxType", + "foreignKey": "taxTypeFk" + }, + "link": { + "type": "belongsTo", + "model": "Link", + "foreignKey": "linkFk" + } + } +} \ No newline at end of file diff --git a/services/item/common/models/tax-type.json b/services/item/common/models/tax-type.json new file mode 100644 index 0000000000..527e90f394 --- /dev/null +++ b/services/item/common/models/tax-type.json @@ -0,0 +1,36 @@ +{ + "name": "TaxType", + "base": "VnModel", + "options": { + "mysql": { + "table": "taxType", + "database": "vn" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "nickname": { + "type": "String" + }, + "serial": { + "type": "String" + }, + "TIPOOPE": { + "type": "String" + }, + "description": { + "type": "String" + } + }, + "relations": { + "country": { + "type": "belongsTo", + "model": "Country", + "foreignKey": "countryFk" + } + } +} \ No newline at end of file diff --git a/services/item/package.json b/services/item/package.json new file mode 100644 index 0000000000..7a9c9b48a7 --- /dev/null +++ b/services/item/package.json @@ -0,0 +1,19 @@ +{ + "name": "vn-item", + "version": "1.0.0", + "main": "server/server.js", + "scripts": { + "lint": "eslint .", + "start": "node .", + "posttest": "npm run lint && nsp check" + }, + "repository": { + "type": "git", + "url": "https://git.verdnatura.es/salix" + }, + "license": "GPL-3.0", + "description": "vn-item", + "dependencies": { + "uuid": "^3.1.0" + } +} diff --git a/services/item/server/config.json b/services/item/server/config.json new file mode 100644 index 0000000000..f52e73b1d0 --- /dev/null +++ b/services/item/server/config.json @@ -0,0 +1,3 @@ +{ + "port": 3007 +} diff --git a/services/item/server/model-config.json b/services/item/server/model-config.json new file mode 100644 index 0000000000..8380de2bfd --- /dev/null +++ b/services/item/server/model-config.json @@ -0,0 +1,60 @@ +{ + "user": { + "dataSource": "salix" + }, + "AccessToken": { + "dataSource": "salix", + "relations": { + "user": { + "type": "belongsTo", + "model": "user", + "foreignKey": "userId" + } + } + }, + "ACL": { + "dataSource": "salix" + }, + "RoleMapping": { + "dataSource": "salix" + }, + "Role": { + "dataSource": "salix" + }, + "Account": { + "dataSource": "salix" + }, + "Item": { + "dataSource": "vn" + }, + "ItemType": { + "dataSource": "vn" + }, + "Ink": { + "dataSource": "vn" + }, + "Origin": { + "dataSource": "vn" + }, + "Producer": { + "dataSource": "vn" + }, + "Intrastat": { + "dataSource": "vn" + }, + "TaxClass": { + "dataSource": "vn" + }, + "TaxCode": { + "dataSource": "vn" + }, + "TaxType": { + "dataSource": "vn" + }, + "Expence": { + "dataSource": "vn" + }, + "Country": { + "dataSource": "salix" + } +} diff --git a/services/item/server/server.js b/services/item/server/server.js new file mode 100644 index 0000000000..f0493dcd94 --- /dev/null +++ b/services/item/server/server.js @@ -0,0 +1,4 @@ +var vnLoopback = require('../../loopback/server/server.js'); + +var app = module.exports = vnLoopback.loopback(); +vnLoopback.boot(app, __dirname, module); diff --git a/services/loopback/common/models/vn-model.js b/services/loopback/common/models/vn-model.js index 3305cb67de..90b022360c 100644 --- a/services/loopback/common/models/vn-model.js +++ b/services/loopback/common/models/vn-model.js @@ -130,7 +130,7 @@ module.exports = function(Self) { }; }; - Self.installMethod = function(methodName, filterCb) { + Self.installMethod = function(methodName, filterCb, filterResult) { this.remoteMethod(methodName, { description: 'List items using a filter', accessType: 'READ', @@ -158,11 +158,16 @@ module.exports = function(Self) { this[methodName] = (params, cb) => { let filter = removeEmpty(filterCb(params)); + var response = {}; function returnValues() { - if (response.instances !== undefined && response.count !== undefined) - cb(null, response); + if (response.instances !== undefined && response.count !== undefined) { + if (filterResult) + cb(null, filterResult(response)); + else + cb(null, response); + } } function error() { @@ -177,6 +182,7 @@ module.exports = function(Self) { returnValues(); } }); + this.count(filter.where, function(err, totalCount) { if (err) { error(); @@ -225,4 +231,3 @@ function removeEmpty(o) { function isEmpty(value) { return value === undefined || value === ""; } - diff --git a/services/loopback/package.json b/services/loopback/package.json index 468786a846..40637ceb0c 100644 --- a/services/loopback/package.json +++ b/services/loopback/package.json @@ -2,8 +2,7 @@ "name": "vn-loopback", "version": "1.0.0", "scripts": { - "start": "node .", - "posttest": "npm run lint && nsp check" + "start": "node ." }, "dependencies": { "compression": "^1.0.3", diff --git a/services/loopback/server/boot/validations.js b/services/loopback/server/boot/validations.js index 06a8a8c0b5..fe5e5d3654 100644 --- a/services/loopback/server/boot/validations.js +++ b/services/loopback/server/boot/validations.js @@ -36,7 +36,7 @@ module.exports = function(app) { for (let validation of validations[fieldName]) { let options = validation.options; - if ((options && options.async) || + if ((options && options.async) || (validation.validation == 'custom' && !validation.isExportable)) continue; diff --git a/services/loopback/server/datasources.test.json b/services/loopback/server/datasources.test.json index 1e2cbf4288..49407698d9 100644 --- a/services/loopback/server/datasources.test.json +++ b/services/loopback/server/datasources.test.json @@ -1,22 +1,17 @@ { - "db": - { - "name": "db", - "connector": "memory", - "file": "db.json" - }, - "auth": - { + "vn": { "name": "mysql", "connector": "mysql", - "database": "salix", + "database": "vn", "debug": false, "host": "localhost", "port": 3306, "username": "root", - "password": "" + "password": "", + "connectTimeout": 20000, + "acquireTimeout": 20000 }, - "vn": { + "salix": { "name": "mysql", "connector": "mysql", "database": "salix", @@ -27,11 +22,5 @@ "password": "", "connectTimeout": 20000, "acquireTimeout": 20000 - }, - "client": { - "name": "client", - "connector": "remote", - "url": "http://localhost:3002/api" } -} - +} \ No newline at end of file diff --git a/services/loopback/server/middleware/cors.js b/services/loopback/server/middleware/cors.js index 797775e77c..73c0d6832d 100644 --- a/services/loopback/server/middleware/cors.js +++ b/services/loopback/server/middleware/cors.js @@ -1,13 +1,5 @@ var cors = require('cors'); -var whitelist = ['http://localhost:8080']; -var corsOptions = { - origin: function(origin, callback) { - var originIsWhitelisted = whitelist.indexOf(origin) !== -1; - callback(originIsWhitelisted ? null : 'Bad Request', originIsWhitelisted); - } -}; - module.exports = function() { return cors({origin: true}); }; diff --git a/services/loopback/server/model-config.json b/services/loopback/server/model-config.json index b89b94371e..70215ba069 100644 --- a/services/loopback/server/model-config.json +++ b/services/loopback/server/model-config.json @@ -14,10 +14,10 @@ ] }, "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -27,15 +27,15 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" } } diff --git a/services/loopback/server/server.js b/services/loopback/server/server.js index 431ca8775b..752395504d 100644 --- a/services/loopback/server/server.js +++ b/services/loopback/server/server.js @@ -10,7 +10,7 @@ module.exports = { boot: vnBoot }; -function vnBoot(app, rootDir, cb) { +function vnBoot(app, rootDir, rootModule) { // Internationalization let i18nDir = rootDir + '/i18n'; @@ -22,7 +22,7 @@ function vnBoot(app, rootDir, cb) { }); app.get('/prueba', function(req, res) { - i18n.setLocale(req.get('Accept-Language').substring(0,2)); + i18n.setLocale(req.get('Accept-Language').substring(0, 2)); res.send(i18n.__('Hello')); }); } @@ -63,31 +63,28 @@ function vnBoot(app, rootDir, cb) { modelSources: [ "loopback/common/models", "loopback/server/models", - __dirname + "/../common/models", - __dirname + "/models", + path.join(__dirname, "../common/models"), + path.join(__dirname, "models"), rootDir + "/../common/models", rootDir + "/models" ], mixinDirs: [ "loopback/common/mixins", "loopback/server/mixins", - __dirname + "/../common/mixins", - __dirname + "/mixins", + path.join(__dirname, "../common/mixins"), + path.join(__dirname, "mixins"), rootDir + "/../common/mixins", rootDir + "/mixins" ], bootDirs: [ - __dirname + "/boot", + path.join(__dirname, "boot"), rootDir + "/boot" ] }; boot(app, bootOptions, function(err) { if (err) throw err; - if (require.main === module) { + if (require.main === rootModule) app.start(); - } - if (cb) - cb(app); }); } diff --git a/services/mailer/application/auth.js b/services/mailer/application/auth.js index ee8f114e13..dc84cd911d 100644 --- a/services/mailer/application/auth.js +++ b/services/mailer/application/auth.js @@ -1,4 +1,5 @@ var database = require('./database.js'); +let config = require('./config.js'); module.exports = { @@ -31,7 +32,22 @@ module.exports = { if (this.isTokenExpired(token.created, token.ttl)) return this.response.status(401).send({message: 'Token expired'}); - this.request.userId = token.userId; + // Set proxy host + let host = this.request.headers.host.split(':')[0]; + let proxy; + + if (host == '127.0.0.1') + proxy = config.proxy.localhost; + else if (process.env.NODE_ENV == 'production') + proxy = config.proxy.salix; + else if (process.env.NODE_ENV == 'development') + proxy = config.proxy.testSalix; + + this.request.proxyHost = `http://${proxy.host}:${proxy.port}`; + this.request.user = { + id: token.userId, + token: this.getToken() + }; this.next(); }); }, diff --git a/services/mailer/application/config.js b/services/mailer/application/config.js new file mode 100644 index 0000000000..f4e90f14ae --- /dev/null +++ b/services/mailer/application/config.js @@ -0,0 +1,23 @@ +var path = require('path'); +let defaultFile = 'datasources.json'; + +function getFile(fileName) { + return require(path.join(__dirname, `/config/${fileName}`)); +} + +try { + let envFile = 'datasources.development.json'; + + if (process.env.NODE_ENV === 'test') + envFile = 'datasources.test.json'; + + config = getFile(envFile); +} catch (e) { + if (e.code == 'MODULE_NOT_FOUND') + config = getFile(defaultFile); +} + +config.proxy = require('../../nginx/config.json'); +config.package = require('../package.json'); + +module.exports = config; diff --git a/services/mailer/application/config/app.json b/services/mailer/application/config/app.json deleted file mode 100644 index c9ec4174b9..0000000000 --- a/services/mailer/application/config/app.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "MailServer", - "version": "1.0.0", - "port": 3003, - "debug": false, - "defaultLanguage": "es", - "senderMail": "noreply@localhost", - "senderName": "" -} \ No newline at end of file diff --git a/services/mailer/application/config/app.test.json b/services/mailer/application/config/app.test.json deleted file mode 100644 index c9ec4174b9..0000000000 --- a/services/mailer/application/config/app.test.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "MailServer", - "version": "1.0.0", - "port": 3003, - "debug": false, - "defaultLanguage": "es", - "senderMail": "noreply@localhost", - "senderName": "" -} \ No newline at end of file diff --git a/services/mailer/application/config/datasources.json b/services/mailer/application/config/datasources.json new file mode 100644 index 0000000000..69943439d3 --- /dev/null +++ b/services/mailer/application/config/datasources.json @@ -0,0 +1,29 @@ +{ + "app": { + "port": 3003, + "debug": false, + "defaultLanguage": "es", + "senderMail": "noreply@localhost", + "senderName": "" + }, + "mysql": { + "host": "localhost", + "port": 3306, + "user": "reports", + "password": "", + "database": "" + }, + "smtp": { + "host": "localhost", + "port": 465, + "secure": true, + "auth": { + "user": "noreply", + "pass": "" + }, + "tls": { + "rejectUnauthorized": false + }, + "pool": true + } +} \ No newline at end of file diff --git a/services/mailer/application/config/datasources.test.json b/services/mailer/application/config/datasources.test.json new file mode 100644 index 0000000000..d3a2d8b337 --- /dev/null +++ b/services/mailer/application/config/datasources.test.json @@ -0,0 +1,29 @@ +{ + "app": { + "port": 3003, + "debug": false, + "defaultLanguage": "es", + "senderMail": "noreply@localhost", + "senderName": "VerdNatura" + }, + "mysql": { + "host": "localhost", + "port": 3306, + "user": "root", + "password": "", + "database": "vn" + }, + "smtp": { + "host": "localhost", + "port": 465, + "secure": true, + "auth": { + "user": "noreply", + "pass": "" + }, + "tls": { + "rejectUnauthorized": false + }, + "pool": true + } +} \ No newline at end of file diff --git a/services/mailer/application/config/mysql.json b/services/mailer/application/config/mysql.json deleted file mode 100644 index ddfd88bede..0000000000 --- a/services/mailer/application/config/mysql.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "host": "localhost", - "port": 3306, - "user": "reports", - "password": "", - "database": "" -} \ No newline at end of file diff --git a/services/mailer/application/config/mysql.test.json b/services/mailer/application/config/mysql.test.json deleted file mode 100644 index 5b00829b39..0000000000 --- a/services/mailer/application/config/mysql.test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "host": "localhost", - "port": 3306, - "user": "root", - "password": "", - "database": "vn" -} \ No newline at end of file diff --git a/services/mailer/application/config/smtp.json b/services/mailer/application/config/smtp.json deleted file mode 100644 index 1ffa810243..0000000000 --- a/services/mailer/application/config/smtp.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "host": "localhost", - "port": 465, - "secure": true, - "auth": { - "user": "noreply", - "pass": "" - }, - "tls": { - "rejectUnauthorized": false - }, - "pool": true -} \ No newline at end of file diff --git a/services/mailer/application/database.js b/services/mailer/application/database.js index 53ce363f89..4fe4a0ba95 100644 --- a/services/mailer/application/database.js +++ b/services/mailer/application/database.js @@ -1,5 +1,5 @@ var mysql = require('mysql'); -let settings = require('./settings.js'); +let config = require('./config.js'); module.exports = { /** @@ -11,12 +11,12 @@ module.exports = { * Start database pool */ init: function() { - this.pool = mysql.createPool(settings.mysql()); + this.pool = mysql.createPool(config.mysql); this.pool.getConnection(function(error, connection) { if (error) { throw new Error('Can\'t connect to database: ' + error.code); - } else if (settings.app().debug) { + } else if (config.app.debug) { console.log('Database connection stablished'); } }); @@ -27,7 +27,7 @@ module.exports = { */ testEmail: function() { this.pool.query('SELECT fakeEmail as email FROM vn.config', function(error, qryRs) { - settings.testEmail = qryRs[0].email; + config.smtp.testEmail = qryRs[0].email; }); } }; diff --git a/services/mailer/application/locale.js b/services/mailer/application/locale.js index 496d48bb87..f9737fea32 100644 --- a/services/mailer/application/locale.js +++ b/services/mailer/application/locale.js @@ -1,5 +1,5 @@ var fs = require('fs'); -var settings = require('./settings.js'); +var config = require('./config.js'); var path = require('path'); module.exports = { @@ -11,7 +11,7 @@ module.exports = { */ load: function(template, countryCode, cb) { var localeFile = path.join(__dirname, 'template', `${template}`, 'locale', `${countryCode}.json`); - var defaultLocaleFile = path.join(__dirname, 'template', `${template}`, 'locale', `${settings.app().defaultLanguage}.json`); + var defaultLocaleFile = path.join(__dirname, 'template', `${template}`, 'locale', `${config.app.defaultLanguage}.json`); fs.stat(localeFile, (error, stats) => { if (error) { diff --git a/services/mailer/application/mail.js b/services/mailer/application/mail.js index 4807157a9f..2cc8c7465c 100644 --- a/services/mailer/application/mail.js +++ b/services/mailer/application/mail.js @@ -1,5 +1,5 @@ var nodemailer = require('nodemailer'); -var settings = require('./settings.js'); +var config = require('./config.js'); var template = require('./template.js'); var database = require('./database.js'); @@ -9,18 +9,22 @@ var database = require('./database.js'); module.exports = { transporter: null, /** - * Load mail settings. + * Load mail config. */ init: function() { - this.transporter = nodemailer.createTransport(settings.smtp()); + if (process.env.NODE_ENV == 'test') + return; + + this.transporter = nodemailer.createTransport(config.smtp); this.transporter.verify(function(error, success) { if (error) { - throw new Error(error); - } else if (settings.app().debug) { + console.error(error); + } else if (config.app.debug) { console.log('SMTP connection stablished'); } }); + }, /** @@ -33,17 +37,19 @@ module.exports = { * @param {Object} cb - Callback */ send: function(recipient, subject, body, attachments, params, cb) { + if (process.env.NODE_ENV == 'test') + return; + let mailOptions = { - from: '"' + settings.app().senderName + '" <' + settings.app().senderMail + '>', + from: '"' + config.app.senderName + '" <' + config.app.senderMail + '>', to: recipient, subject: subject, html: body, attachments }; - if (settings.app().debug) { - mailOptions.to = settings.testEmail; - } + if (process.env.NODE_ENV != 'production') + mailOptions.to = config.smtp.testEmail; this.transporter.sendMail(mailOptions, (error, info) => { try { @@ -53,11 +59,11 @@ module.exports = { if (error) return cb(new Error('Email not sent: ' + error)); - if (settings.app().debug) + if (config.app.debug) console.log('Mail sent ' + info.messageId + ' [' + info.response + ']'); cb(); - } catch(e) { + } catch (e) { throw e; } }); @@ -70,10 +76,16 @@ module.exports = { * @param {Object} cb - Callback */ sendWithTemplate: function(tplName, params, cb) { - template.get(tplName, params, false, (error, result) => { + template.get(tplName, params, (error, result) => { if (error) return cb(error); + // Custom attachments + if (params.attachments) + params.attachments.forEach(function(attachment) { + result.attachments.push(attachment); + }); + this.send(result.recipient, result.subject, result.body, result.attachments, params, error => { if (error) return cb(error); @@ -96,10 +108,10 @@ module.exports = { log: function(senderId, recipientId, sender, subject, body, plainTextBody, status) { let qry = `INSERT INTO mail(senderFk, recipientFk, sender, replyTo, subject, body, plainTextBody, sent, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`; - let qryParams = [senderId, recipientId, sender, settings.app().senderMail, subject, body, plainTextBody, 1, status]; + let qryParams = [senderId, recipientId, sender, config.app.senderMail, subject, body, plainTextBody, 1, status]; database.pool.query(qry, qryParams, function(error, result) { - if (settings.app().debug && error) + if (config.app.debug && error) console.log('Mail log: ' + error); }); } diff --git a/services/mailer/application/route/manuscript.js b/services/mailer/application/route/manuscript.js deleted file mode 100644 index 8e35c5d2d8..0000000000 --- a/services/mailer/application/route/manuscript.js +++ /dev/null @@ -1,85 +0,0 @@ -var express = require('express'); -var router = new express.Router(); -var mail = require('../mail.js'); -var template = require('../template.js'); -var httpRequest = require('request'); - -// Payment method changes -router.post('/payment-update/:clientId', function(request, response, next) { - mail.sendWithTemplate('payment-update', {recipient: request.params.clientId}, error => { - if (error) - return response.status(400).json({message: error.message}); - - return response.json(); - }); -}); - -// Printer setup -router.post('/printer-setup/:clientId', function(request, response, next) { - mail.sendWithTemplate('printer-setup', {recipient: request.params.clientId}, error => { - if (error) - return response.status(400).json({message: error.message}); - - return response.json(); - }); -}); - -// Printer setup preview -router.get('/printer-setup/:clientId', function(request, response, next) { - template.get('printer-setup', {recipient: request.params.clientId}, true, (error, result) => { - if (error) - return response.status(400).json({message: error.message}); - - response.send(result.body); - }); -}); - -// Client welcome -router.post('/client-welcome/:clientId', function(request, response, next) { - mail.sendWithTemplate('client-welcome', {recipient: request.params.clientId}, error => { - if (error) - return response.status(400).json({message: error.message}); - - return response.json(); - }); -}); - -// Client welcome preview -router.get('/client-welcome/:clientId', function(request, response, next) { - template.get('client-welcome', {recipient: request.params.clientId}, true, (error, result) => { - if (error) - return response.status(400).json({message: error.message}); - - response.send(result.body); - }); -}); - -// Sepa core -router.post('/sepa-core/:clientId', function(request, response, next) { - var options = { - url: 'http://localhost:3008/manuscript/sepa-core/7422', - method: 'POST', - headers: { - 'authorization': request.headers.authorization - } - } - - let httpStream = httpRequest(options, function(error, httpResponse, body) { - if (error) - return response.status(400).json({message: httpResponse.message}); - }); - - if (httpStream) - mail.send('joan@verdnatura.es', 'Correu de prova', 'test message', [{filename: 'test.pdf', content: httpStream}], function(error, result) { - if (error) - return response.status(400).json({message: error.message}); - }); - /* mail.sendWithTemplate('sepa-core', {recipient: request.params.clientId}, error => { - if (error) - return response.status(400).json({message: error.message}); - - return response.json(); - }); */ -}); - -module.exports = router; diff --git a/services/mailer/application/route/notification.js b/services/mailer/application/route/notification.js index e5d5e4bebd..810fbdf886 100644 --- a/services/mailer/application/route/notification.js +++ b/services/mailer/application/route/notification.js @@ -1,8 +1,231 @@ var express = require('express'); var router = new express.Router(); +var config = require('../config.js'); var mail = require('../mail.js'); -var database = require('../database.js'); -var settings = require('../settings.js'); +var template = require('../template.js'); +var httpRequest = require('request'); +var auth = require('../auth.js'); + +// Auth middleware +var requestToken = function(request, response, next) { + auth.init(request, response, next); +}; + +// Printer setup +router.get('/printer-setup/:clientId', requestToken, function(request, response) { + mail.sendWithTemplate('printer-setup', {clientId: request.params.clientId}, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// Printer setup preview +router.get('/printer-setup/:clientId/preview', requestToken, function(request, response) { + template.get('printer-setup', {clientId: request.params.clientId, isPreview: true}, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); +}); + +// Client welcome +router.get('/client-welcome/:clientId', requestToken, function(request, response) { + mail.sendWithTemplate('client-welcome', {clientId: request.params.clientId}, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// Client welcome preview +router.get('/client-welcome/:clientId/preview', requestToken, function(request, response) { + template.get('client-welcome', {clientId: request.params.clientId, isPreview: true}, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); +}); + +// Client SEPA CORE +router.get('/sepa-core/:companyId/:clientId', requestToken, function(request, response) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId + }; + + let path = `${request.proxyHost}/print/manuscript/sepa-core/${params.companyId}/${params.clientId}`; + let options = { + url: path, + method: 'GET', + headers: { + 'Authorization': request.headers.authorization + } + } + + let httpStream = httpRequest(options, function(error, httpResponse, body) { + if (error || httpResponse.statusCode != 200) + return response.status(400).json({message: error}); + }); + + if (httpStream) + params.attachments = [{filename: 'sepa-core.pdf', content: httpStream}]; + + mail.sendWithTemplate('sepa-core', params, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// Client SEPA CORE preview +router.get('/sepa-core/:companyId/:clientId/preview', requestToken, function(request, response) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId, + token: request.user.token, + isPreview: true + }; + + template.get('sepa-core', params, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); +}); + +// First debtor letter +router.get('/letter-debtor-st/:companyId/:clientId', requestToken, function(request, response) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId, + token: request.user.token + }; + + let path = `${request.proxyHost}/print/manuscript/letter-debtor/${params.companyId}/${params.clientId}`; + let options = { + url: path, + method: 'GET', + headers: { + 'Authorization': request.headers.authorization + } + } + + let httpStream = httpRequest(options, function(error, httpResponse, body) { + if (error || httpResponse.statusCode != 200) + return response.status(400).json({message: error}); + }); + + if (httpStream) + params.attachments = [{filename: 'extracto.pdf', content: httpStream}]; + + mail.sendWithTemplate('letter-debtor-st', params, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// First debtor letter preview +router.get('/letter-debtor-st/:companyId/:clientId/preview', requestToken, function(request, response) { + template.get('letter-debtor-st', { + clientId: request.params.clientId, + companyId: request.params.companyId, + token: request.user.token, + isPreview: true + }, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); +}); + +// Second debtor letter +router.get('/letter-debtor-nd/:companyId/:clientId', requestToken, function(request, response) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId, + token: request.user.token + }; + + let path = `${request.proxyHost}/print/manuscript/letter-debtor/${params.companyId}/${params.clientId}`; + let options = { + url: path, + method: 'GET', + headers: { + 'Authorization': request.headers.authorization + } + } + + let httpStream = httpRequest(options, function(error, httpResponse, body) { + if (error || httpResponse.statusCode != 200) + return response.status(400).json({message: error}); + }); + + if (httpStream) + params.attachments = [{filename: 'extracto.pdf', content: httpStream}]; + + mail.sendWithTemplate('letter-debtor-nd', params, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// Second debtor letter preview +router.get('/letter-debtor-nd/:companyId/:clientId/preview', requestToken, function(request, response) { + template.get('letter-debtor-nd', { + clientId: request.params.clientId, + companyId: request.params.companyId, + token: request.user.token, + isPreview: true + }, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); +}); + +// Payment method changes +router.get('/payment-update/:clientId', requestToken, function(request, response) { + mail.sendWithTemplate('payment-update', {clientId: request.params.clientId}, error => { + if (error) + return response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +// Send notification to alias creditInsurance on client deactivate +router.get('/client-deactivate/:clientId', requestToken, function(request, response) { + var params = { + alias: 'creditInsurance', + code: 'clientDeactivate', + bodyParams: { + clientId: request.params.clientId + } + }; + + mail.sendWithTemplate('notification-alias', params, error => { + if (error) + response.status(400).json({message: error.message}); + + return response.json(); + }); +}); + +module.exports = router; + // Single user notification /* router.post('/:recipient/noticeUserSend', function(request, response) { @@ -62,24 +285,4 @@ var settings = require('../settings.js'); mail.sendWithTemplate('notification-notice', params, result => { return response.json(result); }); -}); */ - -// Send notification to alias solunion on client deactivate -router.post('/client-deactivate/:clientId', function(request, response) { - var params = { - alias: 'solunion', - code: 'clientDeactivate', - bodyParams: { - clientId: request.params.clientId - } - }; - - mail.sendWithTemplate('notification-alias', params, error => { - if (error) - response.status(400).json({message: error.message}); - - return response.json(); - }); -}); - -module.exports = router; +}); */ \ No newline at end of file diff --git a/services/mailer/application/router.js b/services/mailer/application/router.js index b51b8a195e..1612718200 100644 --- a/services/mailer/application/router.js +++ b/services/mailer/application/router.js @@ -1,16 +1,30 @@ var express = require('express'); var router = new express.Router(); -var settings = require('./settings.js'); +var fs = require('fs'); +var path = require('path'); // Mailer default page router.get('/', function(request, response) { response.json({}); }); -// Manuscripts -router.use('/manuscript', require('./route/manuscript.js')); - // Notifications router.use('/notification', require('./route/notification.js')); +// Serve static images +router.use('/static/:template/:image', function(request, response) { + let imagePath = path.join(__dirname, '/template/', request.params.template, '/image/', request.params.image); + + fs.stat(imagePath, function(error) { + if (error) + return response.json({message: 'Image not found'}); + + let readStream = fs.createReadStream(imagePath); + + readStream.on('open', function() { + readStream.pipe(response); + }); + }); +}); + module.exports = router; diff --git a/services/mailer/application/settings.js b/services/mailer/application/settings.js deleted file mode 100644 index 3858cf7193..0000000000 --- a/services/mailer/application/settings.js +++ /dev/null @@ -1,45 +0,0 @@ -var path = require('path'); -/** - * Módulo de configuración - */ -module.exports = { - /** - * Obtiene la configuración en función del entorno en el que se está - * ejecutando la aplicación. - * @param {String} name Nombre del fichero - * @return {Object} Objeto de configuración - */ - getConfig: function(name) { - let env = process.env.NODE_ENV; - - if (!env) - env = 'development'; - - return require(path.join(__dirname, 'config', `${name}.${env}.json`)); - }, - /** - * Configuración de la aplicación - * @return {Object} Objeto de configuración app - */ - app: function() { - return this.getConfig('app'); - }, - /** - * Configuración de smtp - * @return {Object} Objeto de configuración smtp - */ - smtp: function() { - return this.getConfig('smtp'); - }, - /** - * Configuración de mysql - * @return {Object} Objeto de configuración MySQL - */ - mysql: function() { - return this.getConfig('mysql'); - }, - - testEmail: function() { - return this.getConfig('app').testEmail; - } -}; diff --git a/services/mailer/application/template.js b/services/mailer/application/template.js index 382b7202d1..1e9c92fded 100644 --- a/services/mailer/application/template.js +++ b/services/mailer/application/template.js @@ -1,8 +1,8 @@ var fs = require('fs'); var mustache = require('mustache'); var locale = require('./locale.js'); -var path = require('path'); var inlineCss = require('inline-css'); +var path = require('path'); module.exports = { /** @@ -12,10 +12,10 @@ module.exports = { * @param {Object} params - Params * @param {Object} cb - Callback */ - get: function(template, params, isPreview, cb) { + get: function(template, params, cb) { var templatePath = path.join(__dirname, 'template', `${template}`, `index.html`); var classPath = path.join(__dirname, 'template', `${template}`, `${template}.js`); - var stylePath = path.join(__dirname, '../static', 'css', 'style.css'); + var stylePath = path.join(__dirname, 'template', `${template}`, 'style.css'); fs.stat(templatePath, (error, stat) => { if (error) @@ -24,14 +24,26 @@ module.exports = { let TemplateClass = require(classPath); let instance = new TemplateClass(); - let getRenderedStyles = body => { + let getRenderedStyles = (error, body) => { + if (error) + return cb(error); + this.renderStyles(stylePath, body, (error, body) => { + if (error) + return cb(error); + + // Check if has a subject param params.subject = params.subject || instance.subject; - if (params.subject == undefined) - params.subject = body.match(new RegExp('(.*?)', 'i'))[1]; + if (params.subject == undefined) { + // Try to find a subject from Html source + let title = body.match(new RegExp('(.*?)', 'i')); - this.getAttachments(template, body, isPreview, (error, result) => { + if (title) + params.subject = title[1]; + } + + this.getAttachments(template, body, params.isPreview, (error, result) => { if (error) return cb(error); @@ -41,7 +53,7 @@ module.exports = { }; let getDataCb = () => { - this.render(templatePath, instance, (error, result) => getRenderedStyles(result)); + this.render(templatePath, instance, (error, result) => getRenderedStyles(error, result)); }; instance.getData(params, (error, result) => { @@ -53,6 +65,8 @@ module.exports = { return cb(error); instance._ = result.locale; + instance.isPreview = params.isPreview; + getDataCb(null, result); }); }); @@ -66,9 +80,54 @@ module.exports = { * @param {Object} cb - Callback */ render: function(path, data, cb) { - fs.readFile(path, 'utf8', function(error, body) { - mustache.parse(body); - cb(null, mustache.render(body, data)); + fs.readFile(path, 'utf8', (error, body) => { + // Find matching sub-templates + let regexp = new RegExp(/\{\{\$\.(.*?)\}\}/, 'ig'); + let subTpl = body.match(regexp); + + if (!subTpl) { + mustache.parse(body); + return cb(null, mustache.render(body, data)); + } + + let parentBody = body; + this.renderSub(parentBody, subTpl, data, regexp, (error, body) => { + if (error) + return cb(error); + + mustache.parse(body); + cb(null, mustache.render(body, data)); + }); + }); + }, + +/** + * Render sub-template + * @param {String} body - Raw body + * @param {Object} subTpl - Sub-template name + * @param {Object} data - Params + * @param {Object} regexp - Regexp + * @param {Object} cb - Callback + */ + renderSub: function(body, subTpl, data, regexp, cb) { + let index = 1; + + subTpl.forEach(keyName => { + subTplName = keyName.replace(regexp, '$1'); + + this.get(subTplName, data, (error, result) => { + if (error) + return cb(error); + + let subTplBody = result.body; + body = body.replace(keyName, subTplBody); + + if (index === subTpl.length) + cb(null, body); + + index++; + }); + }); }, @@ -78,18 +137,25 @@ module.exports = { * @param {String} body - Rendered html * @param {Object} cb - Callback */ - renderStyles: function(path, html, cb) { - fs.stat(path, error => { - if (error) return cb(new Error('Template stylesheet not found')); - fs.readFile(path, 'utf8', (error, css) => { - let style = ''; - let body = style + html; - let options = {url: ' '}; + renderStyles: function(stylePath, html, cb) { + // Common components + let comPath = path.join(__dirname, '../', 'static', 'css', 'component.css'); - inlineCss(body, options) - .then(function(body) { - cb(null, body); - }); + fs.readFile(comPath, 'utf8', (error, comCss) => { + fs.stat(stylePath, error => { + if (error) + return cb(new Error('Template stylesheet not found')); + + fs.readFile(stylePath, 'utf8', (error, css) => { + let style = ''; + let body = style + html; + let options = {url: ' '}; + + inlineCss(body, options) + .then(function(body) { + cb(null, body); + }); + }); }); }); }, @@ -104,16 +170,22 @@ module.exports = { let attachments = []; let tplAttachments = body.match(new RegExp('src="cid:(.*?)"', 'ig')); + if (!tplAttachments) + tplAttachments = {}; + // Template default attachments for (var i = 0; i < tplAttachments.length; i++) { - let name = tplAttachments[i].replace('src="cid:', '').replace('"', ''); + let src = tplAttachments[i].replace('src="cid:', '').replace('"', '').split('/'); + let attachmentTpl = src[0]; + let attachment = src[1]; if (isPreview) { - let attachmentPath = `/mailer/static/images/${name}`; + let attachmentPath = `/mailer/static/${attachmentTpl}/${attachment}`; body = body.replace(tplAttachments[i], `src="${attachmentPath}"`); } else { - let attachmentPath = path.join(__dirname, '../static', 'images', name); - attachments.push({filename: name, path: attachmentPath, cid: name}); + let attachmentPath = path.join(__dirname, 'template', `${attachmentTpl}`, 'image', attachment); + let attachmentName = attachmentTpl + '/' + attachment; + attachments.push({filename: attachmentName, path: attachmentPath, cid: attachmentName}); } } @@ -125,7 +197,7 @@ module.exports = { fs.stat(attachmentsPath, (error, stats) => { if (error) - return cb(new Error(`Could not load attachments.js from template ${template}`)); + return cb(null, {body: body, attachments: attachments}); let attachObj = require(attachmentsPath); @@ -145,10 +217,10 @@ module.exports = { }, /** - * Check all template attachments - * @param {Object} attachments - Attachments object - * @param {Object} cb - Callback - */ +* Check all template attachments +* @param {Object} attachments - Attachments object +* @param {Object} cb - Callback +*/ checkAttachments: function(attachments, cb) { for (var i = 0; i < attachments.length; i++) { var attachment = attachments[i]; @@ -159,4 +231,4 @@ module.exports = { } cb(); } -}; +}; \ No newline at end of file diff --git a/services/mailer/application/template/client-welcome/client-welcome.js b/services/mailer/application/template/client-welcome/client-welcome.js index 851c9a12e9..7cf435d0e3 100644 --- a/services/mailer/application/template/client-welcome/client-welcome.js +++ b/services/mailer/application/template/client-welcome/client-welcome.js @@ -5,6 +5,7 @@ var format = require(path.join(__dirname, '../../util/format.js')); module.exports = class ClientWelcome { getData(params, cb) { let query = `SELECT + c.id clientId, CONCAT(w.name, ' ', w.firstName) name, w.phone AS phone, CONCAT(wu.name, '@verdnatura.es') AS email, @@ -13,11 +14,12 @@ module.exports = class ClientWelcome { c.email recipient FROM client c JOIN account.user u ON u.id = c.id - LEFT JOIN worker w ON w.id = c.workerFk + LEFT JOIN worker w ON w.id = c.salesPersonFk LEFT JOIN account.user wu ON wu.id = w.userFk JOIN country ct ON ct.id = c.countryFk WHERE c.id = ?`; - database.pool.query(query, [params.recipient], (error, result) => { + + database.pool.query(query, [params.clientId], (error, result) => { if (error || result.length == 0) return cb(new Error('No template data found')); diff --git a/services/mailer/application/template/client-welcome/index.html b/services/mailer/application/template/client-welcome/index.html index 661f0986ae..6d25bcd7e1 100644 --- a/services/mailer/application/template/client-welcome/index.html +++ b/services/mailer/application/template/client-welcome/index.html @@ -7,11 +7,9 @@
- - - + + {{$.header}} +
@@ -21,108 +19,48 @@
-

{{_.dear}},

-

{{_.bodyDescription}}

- -

- Sus datos para poder comprar en la web de verdnatura (https://www.verdnatura.es) - o en nuestras aplicaciones para iOS (https://goo.gl/3hC2mG) y Android (https://goo.gl/8obvLc), son: -

- +

{{_.dear}}

+

{{{_.bodyDescription}}}

-

Usuario: {{userName}}
-
Contraseña: ******** (Va a recibir un correo para establecer la contraseña)
+
{{_.clientNumber}} {{clientId}}
+
{{_.user}} {{userName}}
+
{{_.password}} ******** {{{_.passwordResetText}}}

-

Cómo hacer un pedido

- -

Para realizar un pedido en nuestra web, debe configurarlo indicando:

- +

{{_.sectionHowToBuyTitle}}

+

{{_.sectionHowToBuyDescription}}

    -
  1. Si quiere recibir el pedido (por agencia o por nuestro propio reparto) o si lo prefiere recoger en alguno de nuestros almacenes.
  2. -
  3. La fecha en la que quiera recibir el pedido (se preparará el día anterior).
  4. -
  5. La dirección de entrega o el almacén donde quiera recoger el pedido.
  6. +
  7. {{_.sectionHowToBuyRequeriment1}}
  8. +
  9. {{_.sectionHowToBuyRequeriment2}}
  10. +
  11. {{_.sectionHowToBuyRequeriment3}}
- -

En nuestra web y aplicaciones puedes visualizar el stock disponible de flor cortada, verdes, plantas, complementos y artificial. - Tenga en cuenta que dicho stock puede variar en función de la fecha seleccionada al configurar el pedido. Es importante CONFIRMAR los pedidos para que la mercancía quede reservada.

- -

El reparto se realiza de lunes a sábado según la zona en la que se encuentre. Por regla general, los pedidos que se entregan por agencia, deben estar confirmados y pagados antes de las 17h - del día en que se preparan (el día anterior a recibirlos), aunque esto puede variar si el pedido se envía a través de nuestro reparto y según la zona.

- -

Cómo pagar

- -

Las formas de pago admitidas en Verdnatura son

- +

{{_.sectionHowToBuyStock}}

+

{{_.sectionHowToBuyDelivery}}

+ +

{{_.sectionHowToPayTitle}}

+

{{_.sectionHowToPayDescription}}

    -
  • Con tarjeta a través de nuestra plataforma web (al confirmar el pedido).
  • -
  • Mediante giro bancario mensual, modalidad que hay que solicitar y tramitar.
  • +
  • {{{_.sectionHowToPayOption1}}}
  • +
  • {{{_.sectionHowToPayOption2}}}
-

Cosas a tener en cuenta

- -

Verdnatura vende EXCLUSIVAMENTE a profesionales, por lo que debe remitirnos el Modelo 036 ó 037, - para comprobar que está dado/a de alta en el epígrafe correspondiente al comercio de flores.

- -

POLÍTICA DE RECLAMACIONES

- -

Verdnatura aceptará las reclamaciones que se realicen dentro de los dos días naturales - siguientes a la recepción del pedido (incluyendo el mismo día de la recepción). Pasado este plazo no se aceptará ninguna reclamación.

- -

Cualquier duda que le surja, no dude en consultarla, ¡estamos para atenderle!

+

{{_.sectionToConsiderTitle}}

+

{{_.sectionToConsiderDescription}}

+

{{_.sectionClaimsPolicyTitle}}

+

{{_.sectionClaimsPolicyDescription}}

+

{{{_.doubtsText}}}

{{{salesPersonName}}} {{{salesPersonPhone}}} {{{salesPersonEmail}}}

- -
- - - - - - - - - -
-

{{_.fiscalAddress}}

-

{{_.privacy}}

-

{{_.privacyLaw}}

-
- + + {{$.footer}} +
diff --git a/services/mailer/application/template/client-welcome/locale/es.json b/services/mailer/application/template/client-welcome/locale/es.json index c99fe0c8ea..95a903e5c7 100644 --- a/services/mailer/application/template/client-welcome/locale/es.json +++ b/services/mailer/application/template/client-welcome/locale/es.json @@ -1,14 +1,29 @@ { "subject": "¡Le damos la bienvenida!", "title": "¡LE DAMOS LA BIENVENIDA!", - "dear": "Estimado cliente", - "bodyDescription": "Siga las intrucciones especificadas en este correo para llevar a cabo la instalación de la impresora.", + "dear": "Estimado cliente,", + "bodyDescription": "Sus datos para poder comprar en la web de verdnatura (https://www.verdnatura.es) o en nuestras aplicaciones para iOS y Android (Ver tutorial de uso), son:", + "clientNumber": "Identificador de cliente:", + "user": "Usuario:", + "password": "Contraseña:", + "passwordResetText": "(Haga clic en \"¿Has olvidado tu contraseña?\")", + "sectionHowToBuyTitle": "Cómo hacer un pedido", + "sectionHowToBuyDescription": "Para realizar un pedido en nuestra web, debe configurarlo indicando:", + "sectionHowToBuyRequeriment1": "Si quiere recibir el pedido (por agencia o por nuestro propio reparto) o si lo prefiere recoger en alguno de nuestros almacenes.", + "sectionHowToBuyRequeriment2": "La fecha en la que quiera recibir el pedido (se preparará el día anterior).", + "sectionHowToBuyRequeriment3": "La dirección de entrega o el almacén donde quiera recoger el pedido.", + "sectionHowToBuyStock": "En nuestra web y aplicaciones puedes visualizar el stock disponible de flor cortada, verdes, plantas, complementos y artificial. Tenga en cuenta que dicho stock puede variar en función de la fecha seleccionada al configurar el pedido. Es importante CONFIRMAR los pedidos para que la mercancía quede reservada.", + "sectionHowToBuyDelivery": "El reparto se realiza de lunes a sábado según la zona en la que se encuentre. Por regla general, los pedidos que se entregan por agencia, deben estar confirmados y pagados antes de las 17h del día en que se preparan (el día anterior a recibirlos), aunque esto puede variar si el pedido se envía a través de nuestro reparto y según la zona.", + "sectionHowToPayTitle": "Cómo pagar", + "sectionHowToPayDescription": "Las formas de pago admitidas en Verdnatura son:", + "sectionHowToPayOption1": "Con tarjeta a través de nuestra plataforma web (al confirmar el pedido).", + "sectionHowToPayOption2": "Mediante giro bancario mensual, modalidad que hay que solicitar y tramitar.", + "sectionToConsiderTitle": "Cosas a tener en cuenta", + "sectionToConsiderDescription": "Verdnatura vende EXCLUSIVAMENTE a profesionales, por lo que debe remitirnos el Modelo 036 ó 037, para comprobar que está dado/a de alta en el epígrafe correspondiente al comercio de flores.", + "sectionClaimsPolicyTitle": "POLÍTICA DE RECLAMACIONES", + "sectionClaimsPolicyDescription": "Verdnatura aceptará las reclamaciones que se realicen dentro de los dos días naturales siguientes a la recepción del pedido (incluyendo el mismo día de la recepción). Pasado este plazo no se aceptará ninguna reclamación.", + "doubtsText": "Cualquier duda que le surja, no dude en consultarla, ¡estamos para atenderle!", "salesPersonNameText": "Soy tu comercial y mi nombre es", "salesPersonPhoneText": "Teléfono y whatsapp", - "salesPersonEmailText": "Dirección de e-mail", - "actionButton": "Visita nuestra Web", - "infoButton": "Ayúdanos a mejorar", - "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla _ www.verdnatura.es _ clientes@verdnatura.es", - "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", - "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." + "salesPersonEmailText": "Dirección de e-mail" } \ No newline at end of file diff --git a/services/mailer/application/template/client-welcome/style.css b/services/mailer/application/template/client-welcome/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/default/image/download.svg b/services/mailer/application/template/default/image/download.svg new file mode 100644 index 0000000000..b05bc05c8a --- /dev/null +++ b/services/mailer/application/template/default/image/download.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/services/mailer/application/template/default/image/preview.svg b/services/mailer/application/template/default/image/preview.svg new file mode 100644 index 0000000000..09a2a6bcad --- /dev/null +++ b/services/mailer/application/template/default/image/preview.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/services/mailer/application/template/footer/footer.js b/services/mailer/application/template/footer/footer.js new file mode 100644 index 0000000000..555e70b10d --- /dev/null +++ b/services/mailer/application/template/footer/footer.js @@ -0,0 +1,21 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class Footer { + getData(params, cb) { + let query = `SELECT + socialName, + LOWER(ct.code) countryCode + FROM client c + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } +}; diff --git a/services/mailer/static/images/action.png b/services/mailer/application/template/footer/image/action.png similarity index 100% rename from services/mailer/static/images/action.png rename to services/mailer/application/template/footer/image/action.png diff --git a/services/mailer/static/images/facebook.png b/services/mailer/application/template/footer/image/facebook.png similarity index 100% rename from services/mailer/static/images/facebook.png rename to services/mailer/application/template/footer/image/facebook.png diff --git a/services/mailer/static/images/header.png b/services/mailer/application/template/footer/image/header.png similarity index 100% rename from services/mailer/static/images/header.png rename to services/mailer/application/template/footer/image/header.png diff --git a/services/mailer/static/images/info.png b/services/mailer/application/template/footer/image/info.png similarity index 100% rename from services/mailer/static/images/info.png rename to services/mailer/application/template/footer/image/info.png diff --git a/services/mailer/static/images/instagram.png b/services/mailer/application/template/footer/image/instagram.png similarity index 100% rename from services/mailer/static/images/instagram.png rename to services/mailer/application/template/footer/image/instagram.png diff --git a/services/mailer/static/images/linkedin.png b/services/mailer/application/template/footer/image/linkedin.png similarity index 100% rename from services/mailer/static/images/linkedin.png rename to services/mailer/application/template/footer/image/linkedin.png diff --git a/services/mailer/static/images/pinterest.png b/services/mailer/application/template/footer/image/pinterest.png similarity index 100% rename from services/mailer/static/images/pinterest.png rename to services/mailer/application/template/footer/image/pinterest.png diff --git a/services/mailer/static/images/twitter.png b/services/mailer/application/template/footer/image/twitter.png similarity index 100% rename from services/mailer/static/images/twitter.png rename to services/mailer/application/template/footer/image/twitter.png diff --git a/services/mailer/static/images/youtube.png b/services/mailer/application/template/footer/image/youtube.png similarity index 100% rename from services/mailer/static/images/youtube.png rename to services/mailer/application/template/footer/image/youtube.png diff --git a/services/mailer/application/template/footer/index.html b/services/mailer/application/template/footer/index.html new file mode 100644 index 0000000000..484f5c2b88 --- /dev/null +++ b/services/mailer/application/template/footer/index.html @@ -0,0 +1,42 @@ + + + + + + + + + +
+

{{_.fiscalAddress}}

+

{{_.privacy}}

+

{{_.privacyLaw}}

+
+ \ No newline at end of file diff --git a/services/mailer/application/template/footer/locale/es.json b/services/mailer/application/template/footer/locale/es.json new file mode 100644 index 0000000000..1ad532d343 --- /dev/null +++ b/services/mailer/application/template/footer/locale/es.json @@ -0,0 +1,7 @@ +{ + "actionButton": "Visita nuestra Web", + "infoButton": "Ayúdanos a mejorar", + "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es", + "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", + "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." +} \ No newline at end of file diff --git a/services/mailer/static/css/style.css b/services/mailer/application/template/footer/style.css similarity index 58% rename from services/mailer/static/css/style.css rename to services/mailer/application/template/footer/style.css index 1243a091c8..f35364e8c3 100644 --- a/services/mailer/static/css/style.css +++ b/services/mailer/application/template/footer/style.css @@ -1,41 +1,3 @@ -img { - margin: 0 -} - -.wrapper { - background-color: #EEE -} - -.container { - font-family: arial, sans-serif; - max-width: 600px; - min-width: 320px; - font-size: 16px; - margin: 0 auto; - color: #555 -} - -.banner img { - width: 100% -} - -.title { - background-color: #95d831; - text-align: center; - padding: 35px 0 -} - -.title h1 { - font-size: 32px; - color: #333; - margin: 0 -} - -.body { - background-color:#FFF; - padding: 20px -} - .buttons { background-color: #FFF; text-align: center; diff --git a/services/mailer/application/template/header/header.js b/services/mailer/application/template/header/header.js new file mode 100644 index 0000000000..a6d1d6194a --- /dev/null +++ b/services/mailer/application/template/header/header.js @@ -0,0 +1,21 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class Header { + getData(params, cb) { + let query = `SELECT + c.name AS clientName, + LOWER(ct.code) countryCode + FROM client c + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } +}; diff --git a/services/mailer/application/template/header/image/logo.png b/services/mailer/application/template/header/image/logo.png new file mode 100644 index 0000000000..3c063ae444 Binary files /dev/null and b/services/mailer/application/template/header/image/logo.png differ diff --git a/services/mailer/application/template/header/index.html b/services/mailer/application/template/header/index.html new file mode 100644 index 0000000000..6e4fcf8a45 --- /dev/null +++ b/services/mailer/application/template/header/index.html @@ -0,0 +1,3 @@ +
+ VerdNatura +
diff --git a/services/mailer/application/template/header/locale/es.json b/services/mailer/application/template/header/locale/es.json new file mode 100644 index 0000000000..7a73a41bfd --- /dev/null +++ b/services/mailer/application/template/header/locale/es.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file diff --git a/services/mailer/application/template/header/style.css b/services/mailer/application/template/header/style.css new file mode 100644 index 0000000000..4ea8ee36dd --- /dev/null +++ b/services/mailer/application/template/header/style.css @@ -0,0 +1,3 @@ +.banner img { + width: 100% +} \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-nd/attachment.json b/services/mailer/application/template/letter-debtor-nd/attachment.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-nd/attachment.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-nd/index.html b/services/mailer/application/template/letter-debtor-nd/index.html new file mode 100644 index 0000000000..aa4379519b --- /dev/null +++ b/services/mailer/application/template/letter-debtor-nd/index.html @@ -0,0 +1,87 @@ + + + + {{_.subject}} + + + +
+
+ + {{$.header}} + + + +
+

{{_.title}}

+
+ + + +
+

{{_.dear}}

+ +

{{_.bodyDescription}}

+

{{_.termLimits}}

+

+ {{_.payMethod}} + +

    +
  1. {{_.payMethodOption1}}
  2. +
  3. {{_.payMethodOption2}}
  4. +
+

+

+ {{_.legalActions}} +

    +
  1. {{_.legalActionsOption1}}
  2. +
  3. {{_.legalActionsOption2}}
  4. +
  5. {{_.legalActionsOption3}}
  6. +
+

+ +

{{_.contact}}

+ +

{{_.waitingForNews}}

+

{{_.conclusion}}

+ +

+

+
{{bankName}}
+
{{iban}}
+
+
{{_.accountTransferData}}
+
+
+

+ + {{#isPreview}} + +
+
+ Ver adjunto +
+ Ver adjunto +
+
+ + +
+
+ Descargar adjunto +
+ Descargar PDF +
+
+ {{/isPreview}} +
+ + + + + {{$.footer}} + +
+
+ + \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-nd/letter-debtor-nd.js b/services/mailer/application/template/letter-debtor-nd/letter-debtor-nd.js new file mode 100644 index 0000000000..be0f996e19 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-nd/letter-debtor-nd.js @@ -0,0 +1,39 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class LetterDebtorNd { + getData(params, cb) { + let query = `SELECT + sa.iban, + be.name AS bankName, + LOWER(ct.code) countryCode, + c.email recipient + FROM client c + JOIN company AS cny + JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ? AND cny.id = ?`; + + this.clientId = params.clientId; + this.companyId = params.companyId; + this.token = params.token; + + database.pool.query(query, [params.clientId, params.companyId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + + cb(); + }); + } + + get previewAttachments() { + if (this.isPreview) + return `` + + '
Descargar adjunto
' + + 'extracto.pdf
'; + } +}; diff --git a/services/mailer/application/template/letter-debtor-nd/locale/es.json b/services/mailer/application/template/letter-debtor-nd/locale/es.json new file mode 100644 index 0000000000..1f8790ebad --- /dev/null +++ b/services/mailer/application/template/letter-debtor-nd/locale/es.json @@ -0,0 +1,18 @@ +{ + "subject": "Reiteración de aviso por saldo deudor", + "title": "AVISO REITERADO", + "dear": "Estimado cliente,", + "bodyDescription": "Nos dirigimos a Vd. nuevamente para informarle que sigue pendiente su deuda con nuestra empresa, tal y como puede comprobar en el extracto adjunto.", + "termLimits": "Dado que los plazos de pago acordados están ampliamente superados, no procede mayor dilación en la liquidación del importe adeudado.", + "payMethod": "Para ello dispone de las siguientes formas de pago:", + "payMethodOption1": "Pago online desde nuestra web", + "payMethodOption2": "Ingreso o transferencia al número de cuenta que detallamos al pie de esta carta, indicando el número de cliente.", + "legalActions": "En caso de no ser atendido este apremio de pago, nos veremos obligados a iniciar las acciones legales que procedan, entre las que están:", + "legalActionsOption1": "Inclusión en ficheros negativos sobre solvencia patrimonial y crédito.", + "legalActionsOption2": "Reclamación judicial", + "legalActionsOption3": "Cesión de deuda a una empresa de gestión de cobro", + "contact": "Para consultas, puede ponerse en contacto con nosotros en el 96 324 21 00.", + "waitingForNews": "En espera de sus noticias", + "conclusion": "Gracias por su atención.", + "accountTransferData": "Datos para transferencia bancaria" +} \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-nd/style.css b/services/mailer/application/template/letter-debtor-nd/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/letter-debtor-st/attachment.json b/services/mailer/application/template/letter-debtor-st/attachment.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-st/attachment.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-st/index.html b/services/mailer/application/template/letter-debtor-st/index.html new file mode 100644 index 0000000000..a3b07e6778 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-st/index.html @@ -0,0 +1,69 @@ + + + + {{_.subject}} + + + +
+
+ + {{$.header}} + + + +
+

{{_.title}}

+
+ + + +
+

{{_.dear}}

+ +

{{_.bodyDescription}}

+

{{_.viewExtract}}

+

{{_.validData}}

+

{{_.payMethod}}

+

{{_.conclusion}}

+ +

+

+
{{bankName}}
+
{{iban}}
+
+
{{_.accountTransferData}}
+
+
+

+ + {{#isPreview}} + +
+
+ Ver adjunto +
+ Ver adjunto +
+
+ + +
+
+ Descargar adjunto +
+ Descargar PDF +
+
+ {{/isPreview}} +
+ + + + + {{$.footer}} + +
+
+ + \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-st/letter-debtor-st.js b/services/mailer/application/template/letter-debtor-st/letter-debtor-st.js new file mode 100644 index 0000000000..43ccb7a256 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-st/letter-debtor-st.js @@ -0,0 +1,39 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class LetterDebtorSt { + getData(params, cb) { + let query = `SELECT + sa.iban, + be.name AS bankName, + LOWER(ct.code) countryCode, + c.email recipient + FROM client c + JOIN company AS cny + JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ? AND cny.id = ?`; + + this.clientId = params.clientId; + this.companyId = params.companyId; + this.token = params.token; + + database.pool.query(query, [params.clientId, params.companyId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + + cb(); + }); + } + + get previewAttachments() { + if (this.isPreview) + return `` + + '
Descargar adjunto
' + + 'extracto.pdf
'; + } +}; diff --git a/services/mailer/application/template/letter-debtor-st/locale/es.json b/services/mailer/application/template/letter-debtor-st/locale/es.json new file mode 100644 index 0000000000..558b187534 --- /dev/null +++ b/services/mailer/application/template/letter-debtor-st/locale/es.json @@ -0,0 +1,11 @@ +{ + "subject": "Aviso inicial por saldo deudor", + "title": "AVISO INICIAL", + "dear": "Estimado cliente,", + "bodyDescription": "Por el presente escrito le comunicamos que, según nuestros datos contables, su cuenta tiene un saldo pendiente de liquidar.", + "viewExtract": "Le solicitamos compruebe que el extracto adjunto corresponde con los datos de que Vd. dispone. Nuestro departamento de administración le aclarará gustosamente cualquier duda que pueda tener, e igualmente le facilitará cualquier documento que solicite.", + "validData": "Si al comprobar los datos aportados resultaran correctos, le rogamos proceda a regularizar su situación.", + "payMethod": "Si no desea desplazarse personalmente hasta nuestras oficinas, puede realizar el pago mediante transferencia bancaria a la cuenta que figura al pie del comunicado, indicando su número de cliente, o bien puede realizar el pago online desde nuestra página web.", + "conclusion": "De antemano le agradecemos su amable colaboración.", + "accountTransferData": "Datos para transferencia bancaria" +} \ No newline at end of file diff --git a/services/mailer/application/template/letter-debtor-st/style.css b/services/mailer/application/template/letter-debtor-st/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/notification-alias/index.html b/services/mailer/application/template/notification-alias/index.html index ab00f8ef60..6e79e12784 100644 --- a/services/mailer/application/template/notification-alias/index.html +++ b/services/mailer/application/template/notification-alias/index.html @@ -5,70 +5,29 @@ -
- -
- VerdNatura -
- +
+
+ + {{$.header}} + - -
-

{{_.title}}

-
- + +
+

{{_.title}}

+
+ - -
-

{{_.hello}}, #{{alias}}

-

{{message}}

-

- + +
+

{{_.hello}} #{{alias}}

+

{{message}}

+
+ - -
- - - - - - - -
-

{{_.fiscalAddress}}

-

{{_.privacy}}

-

{{_.privacyLaw}}

-
- -
\ No newline at end of file diff --git a/services/mailer/application/template/notification-alias/locale/es.json b/services/mailer/application/template/notification-alias/locale/es.json index 0deeb16044..6e39b7f635 100644 --- a/services/mailer/application/template/notification-alias/locale/es.json +++ b/services/mailer/application/template/notification-alias/locale/es.json @@ -1,16 +1,11 @@ { "subject": "Has recibido una nueva notificación", "title": "Nueva notificación", - "hello": "Hola", + "hello": "Hola,", "notificationCode": { "clientDeactivate": { "subject": "Gestionar baja de contrato", "message": "El cliente con id %clientId% está clasificado, por favor, gestione la baja del contrato primero." } - }, - "actionButton": "Visita nuestra Web", - "infoButton": "Ayúdanos a mejorar", - "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla _ www.verdnatura.es _ clientes@verdnatura.es", - "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", - "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." + } } \ No newline at end of file diff --git a/services/mailer/application/template/notification-alias/style.css b/services/mailer/application/template/notification-alias/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/payment-update/index.html b/services/mailer/application/template/payment-update/index.html index caec77e903..78d6612c41 100644 --- a/services/mailer/application/template/payment-update/index.html +++ b/services/mailer/application/template/payment-update/index.html @@ -7,11 +7,9 @@
- - - + + {{$.header}} +
@@ -21,59 +19,20 @@
-

{{_.dear}},

-

{{_.bodyDescription}}

-

-

{{_.paymentMethod}}: {{payMethodName}}
+

{{_.dear}}

+

{{_.bodyDescription}}

+

+

{{_.paymentMethod}} {{payMethodName}}
{{{paymentDay}}}

-

{{paymentAdvice}}

-

{{_.notifyError}}

+

{{paymentAdvice}}

+

{{_.notifyError}}

- - - - - - - - - -
-

{{_.fiscalAddress}}

-

{{_.privacy}}

-

{{_.privacyLaw}}

-
- + + {{$.footer}} +
diff --git a/services/mailer/application/template/payment-update/locale/es.json b/services/mailer/application/template/payment-update/locale/es.json index 144cdc3464..1216dcd99a 100644 --- a/services/mailer/application/template/payment-update/locale/es.json +++ b/services/mailer/application/template/payment-update/locale/es.json @@ -1,18 +1,13 @@ { "subject": "Cambios en las condiciones de pago", "title": "Cambio en las condiciones", - "dear": "Estimado cliente", + "dear": "Estimado cliente,", "bodyDescription": "Le informamos que han cambiado las condiciones de pago de su cuenta. A continuación le indicamos las nuevas condiciones:", - "paymentMethod": "Método de pago", - "paymentDay": "Día de pago", + "paymentMethod": "Método de pago:", + "paymentDay": "Día de pago:", "everyMonth": "de cada mes", "cardPaymentAdvice": "Su modo de pago actual implica que deberá abonar el importe de los pedidos realizados en el mismo día para que se puedan enviar.", "accountPaymentAdviceBefore": "Su modo de pago actual implica que se le pasará un cargo a la cuenta", "accountPaymentAdviceAfter": "por el importe pendiente, al vencimiento establecido en las condiciones.", - "notifyError": "En el caso de detectar algún error en los datos indicados o para cualquier aclaración, debe dirigirse a su comercial.", - "actionButton": "Visita nuestra Web", - "infoButton": "Ayúdanos a mejorar", - "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla _ www.verdnatura.es _ clientes@verdnatura.es", - "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", - "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." + "notifyError": "En el caso de detectar algún error en los datos indicados o para cualquier aclaración, debe dirigirse a su comercial." } \ No newline at end of file diff --git a/services/mailer/application/template/payment-update/payment-update.js b/services/mailer/application/template/payment-update/payment-update.js index d126dc83ab..565fd8a74b 100644 --- a/services/mailer/application/template/payment-update/payment-update.js +++ b/services/mailer/application/template/payment-update/payment-update.js @@ -4,7 +4,7 @@ var format = require(path.join(__dirname, '../../util/format.js')); module.exports = class PaymentUpdate { getData(params, cb) { - let query = `SELECT + let query = `SELECT pm.id payMethodFk, pm.name payMethodName, c.dueDay, @@ -12,10 +12,13 @@ module.exports = class PaymentUpdate { LOWER(ct.code) countryCode, c.email recipient FROM client c - JOIN payMethod pm ON pm.id = c.paymentMethodFk + JOIN payMethod pm ON pm.id = c.payMethodFk JOIN country ct ON ct.id = c.countryFk WHERE c.id = ?`; - database.pool.query(query, [params.recipient], (error, result) => { + + this.clientId = params.clientId; + + database.pool.query(query, [params.clientId], (error, result) => { if (error || result.length == 0) return cb(new Error('No template data found')); @@ -26,7 +29,7 @@ module.exports = class PaymentUpdate { get paymentDay() { if (this.payMethodFk != 5) - return `
${this._.paymentDay}: ${this.dueDay} ${this._.everyMonth}
`; + return `
${this._.paymentDay} ${this.dueDay} ${this._.everyMonth}
`; } get paymentAdvice() { diff --git a/services/mailer/application/template/payment-update/style.css b/services/mailer/application/template/payment-update/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/printer-setup/index.html b/services/mailer/application/template/printer-setup/index.html index 3f6c8910d8..ee021281c7 100644 --- a/services/mailer/application/template/printer-setup/index.html +++ b/services/mailer/application/template/printer-setup/index.html @@ -7,11 +7,9 @@
- - - + + {{$.header}} +
@@ -21,14 +19,14 @@
-

{{_.dear}},

-

{{_.bodyDescription}}

-

{{{_.followGuide}}}

+

{{_.dear}}

+

{{_.bodyDescription}}

+

{{{_.followGuide}}}

{{{_.downloadFrom}}}

-

{{_.sectionQLabelTitle}}

+

{{_.sectionQLabelTitle}}

-

{{_.sectionQLabelDescription}}

+

{{_.sectionQLabelDescription}}

  1. {{_.sectionQLabelStep1}}
  2. @@ -48,8 +46,9 @@
  3. {{_.sectionQLabelStep15}}
-

{{_.sectionHelpTitle}}

-

{{_.sectionHelpDescription}}

+

{{_.sectionHelpTitle}}

+ +

{{_.sectionHelpDescription}}

{{{_.sectionHelpDownloadRemoteSupport}}}

@@ -60,48 +59,9 @@

- - - - - - - - - -
-

{{_.fiscalAddress}}

-

{{_.privacy}}

-

{{_.privacyLaw}}

-
- + + {{$.footer}} +
diff --git a/services/mailer/application/template/printer-setup/locale/es.json b/services/mailer/application/template/printer-setup/locale/es.json index 41a831524b..7d3da66469 100644 --- a/services/mailer/application/template/printer-setup/locale/es.json +++ b/services/mailer/application/template/printer-setup/locale/es.json @@ -1,7 +1,7 @@ { "subject": "Instalación y configuración de impresora", "title": "¡GRACIAS POR SU CONFIANZA!", - "dear": "Estimado cliente", + "dear": "Estimado cliente,", "bodyDescription": "Siga las intrucciones especificadas en este correo para llevar a cabo la instalación de la impresora.", "followGuide": "Puede utilizar como guía, el video del montaje del ribon y la cinta https://www.youtube.com/watch?v=qhb0kgQF3o8. También necesitará el QLabel, el programa para imprimir las cintas.", "downloadFrom": "Puede descargarlo desde este enlace http://www.godexintl.com/en/product/type/Download/2967", @@ -27,10 +27,5 @@ "sectionHelpDownloadRemoteSupport": "Puede descargarse el programa desde este enlace http://soporte.verdnatura.es.", "salesPersonNameText": "Soy su comercial y mi nombre es", "salesPersonPhoneText": "Teléfono y whatsapp", - "salesPersonEmailText": "Dirección de e-mail", - "actionButton": "Visita nuestra Web", - "infoButton": "Ayúdanos a mejorar", - "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla _ www.verdnatura.es _ clientes@verdnatura.es", - "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", - "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." + "salesPersonEmailText": "Dirección de e-mail" } \ No newline at end of file diff --git a/services/mailer/application/template/printer-setup/printer-setup.js b/services/mailer/application/template/printer-setup/printer-setup.js index 77147f4592..d17add4066 100644 --- a/services/mailer/application/template/printer-setup/printer-setup.js +++ b/services/mailer/application/template/printer-setup/printer-setup.js @@ -4,18 +4,22 @@ var format = require(path.join(__dirname, '../../util/format.js')); module.exports = class PrinterSetup { getData(params, cb) { - let query = `SELECT + let query = `SELECT CONCAT(w.name, ' ', w.firstName) name, w.phone AS phone, CONCAT(u.name, '@verdnatura.es') AS email, LOWER(ct.code) countryCode, c.email recipient FROM client c - LEFT JOIN worker w ON w.id = c.workerFk + LEFT JOIN worker w ON w.id = c.salesPersonFk LEFT JOIN account.user u ON u.id = w.userFk JOIN country ct ON ct.id = c.countryFk WHERE c.id = ?`; - database.pool.query(query, [params.recipient], (error, result) => { + + this.clientId = params.clientId; + this.isPreview = params.isPreview; + + database.pool.query(query, [params.clientId], (error, result) => { if (error || result.length == 0) return cb(new Error('No template data found')); diff --git a/services/mailer/application/template/printer-setup/style.css b/services/mailer/application/template/printer-setup/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/application/template/sepa-core/index.html b/services/mailer/application/template/sepa-core/index.html index df149cb9f7..1acdae3fc9 100644 --- a/services/mailer/application/template/sepa-core/index.html +++ b/services/mailer/application/template/sepa-core/index.html @@ -7,11 +7,9 @@
- - - + + {{$.header}} +
@@ -21,53 +19,35 @@
-

{{_.dear}},

-

{{_.bodyDescription}}

+

{{_.dear}}

+

{{_.bodyDescription}}

+

{{_.conclusion}}

+ + {{#isPreview}} + +
+
+ Ver adjunto +
+ Ver adjunto +
+
+ + +
+
+ Descargar adjunto +
+ Descargar PDF +
+
+ {{/isPreview}}
- - - - - - - - - -
-

{{_.fiscalAddress}}

-

{{_.privacy}}

-

{{_.privacyLaw}}

-
- + + {{$.footer}} +
diff --git a/services/mailer/application/template/sepa-core/locale/es.json b/services/mailer/application/template/sepa-core/locale/es.json index 29e0ef1a9f..48eaadf3a6 100644 --- a/services/mailer/application/template/sepa-core/locale/es.json +++ b/services/mailer/application/template/sepa-core/locale/es.json @@ -1,11 +1,7 @@ { - "subject": "Instalación y configuración de impresora", - "title": "¡GRACIAS POR SU CONFIANZA!", - "dear": "Estimado cliente", - "bodyDescription": "A continuación le adjuntamos el documento de domicilación de datos bancarios.", - "actionButton": "Visita nuestra Web", - "infoButton": "Ayúdanos a mejorar", - "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla _ www.verdnatura.es _ clientes@verdnatura.es", - "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", - "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." + "subject": "Solicitud de domiciliación bancaria", + "title": "CAMBIOS EN SU FORMA DE PAGO", + "dear": "Estimado cliente,", + "bodyDescription": "Para poder tramitar su solicitud de cambio de su forma de pago a giro bancario, le adjuntamos los documentos correspondientes a la Ley de Pago, que tiene que cumplimentar y enviarnos.", + "conclusion": "Gracias por su atención." } \ No newline at end of file diff --git a/services/mailer/application/template/sepa-core/sepa-core.js b/services/mailer/application/template/sepa-core/sepa-core.js index 536448bf02..ec19dd29b2 100644 --- a/services/mailer/application/template/sepa-core/sepa-core.js +++ b/services/mailer/application/template/sepa-core/sepa-core.js @@ -11,32 +11,22 @@ module.exports = class SepaCore { LOWER(ct.code) countryCode, c.email recipient FROM client c - LEFT JOIN worker w ON w.id = c.workerFk + LEFT JOIN worker w ON w.id = c.salesPersonFk LEFT JOIN account.user u ON u.id = w.userFk JOIN country ct ON ct.id = c.countryFk WHERE c.id = ?`; - database.pool.query(query, [params.recipient], (error, result) => { + + this.clientId = params.clientId; + this.companyId = params.companyId; + this.token = params.token; + + database.pool.query(query, [params.clientId], (error, result) => { if (error || result.length == 0) return cb(new Error('No template data found')); Object.assign(this, result[0]); + cb(); }); } - - get salesPersonName() { - if (this.name) - return `
${this._.salesPersonNameText}: ${this.name}
`; - } - - get salesPersonPhone() { - if (this.phone) - return `
${this._.salesPersonPhoneText}: ${format.phone(this.phone)}
`; - } - - get salesPersonEmail() { - if (this.email) - return `
${this._.salesPersonEmailText}: ` + - `${this.email}
`; - } }; diff --git a/services/mailer/application/template/sepa-core/style.css b/services/mailer/application/template/sepa-core/style.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/services/mailer/server/server.js b/services/mailer/server/server.js index 818b036a68..457a61ddfc 100644 --- a/services/mailer/server/server.js +++ b/services/mailer/server/server.js @@ -1,7 +1,7 @@ var express = require('express'); var app = module.exports = express(); var bodyParser = require('body-parser'); -var settings = require('../application/settings.js'); +var config = require('../application/config.js'); var mail = require('../application/mail.js'); var database = require('../application/database.js'); var auth = require('../application/auth.js'); @@ -13,16 +13,11 @@ app.use(bodyParser.urlencoded({extended: true})); app.use('/static', express.static(path.join(__dirname, '../static'))); -// Auth middleware -var requestToken = function(request, response, next) { - auth.init(request, response, next); -}; - // Load routes -app.use('/', requestToken, require('../application/router.js')); +app.use('/', require('../application/router.js')); app.start = function() { - var listener = app.listen(settings.app().port, function() { + var listener = app.listen(config.app.port, function() { var servicePath = 'http://' + listener.address().address + ':' + listener.address().port; mail.init(); database.init(); @@ -31,7 +26,7 @@ app.start = function() { let packageJson = require('../package.json'); console.log(`Web server ${packageJson.name} listening at: ${servicePath}`); - if (settings.app().debug) { + if (config.app.debug) { console.log(`${packageJson.name} service debug mode enabled`); } }); diff --git a/services/mailer/static/css/component.css b/services/mailer/static/css/component.css new file mode 100644 index 0000000000..b4c018d79b --- /dev/null +++ b/services/mailer/static/css/component.css @@ -0,0 +1,221 @@ +body { + padding: 0; + margin: 0 +} + +img { + margin: 0 +} + +p { + text-align: justify +} + +.wrapper { + background-color: #EEE +} + +.container { + font-family: arial, sans-serif; + max-width: 600px; + min-width: 320px; + font-size: 16px; + margin: 0 auto; + color: #555 +} + +.title { + background-color: #95d831; + text-align: center; + padding: 35px 0 +} + +.title h1 { + font-size: 32px; + color: #333; + margin: 0 +} + +.body { + background-color:#FFF; + padding: 20px +} + +.body a { + color: #8dba25 +} + +.body h1 { + color: #999 +} + +.body h3 { + font-size: 16px +} + +.panel { + border: 1px solid #DDD; + margin-bottom: 10px; + position: relative; + padding:10px +} + +.row { + margin-bottom: 15px; + overflow: hidden +} + +.row .text { + margin-bottom: 5px +} + +.row .control { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + +.row .text, .row .control { + overflow: hidden +} + +.row .description { + position: relative; + padding-top: 2px; + overflow: hidden; + font-size: 11px; + display: block; + color: #999 +} + +.row .line { + border-bottom: 1px solid #DDD; + border-right: 1px solid #DDD; + border-left: 1px solid #DDD; + margin-top: 10px; + color: #999; + padding: 5px +} + +.row .description span { + background-color: #FFF; + margin: -5px 0 0 50px; + display: block; + padding: 5px; + float: left +} + +.row:last-child { + margin-bottom: 0 +} + +.row.inline .text { + margin-bottom: 0; + width: 40%; + float: left +} + +.row.inline .control { + font-weight: bold; + padding-left: 20px; + color: #000; + width: 60%; + float: left +} + +.row.inline .description { + position: static; + overflow: visible +} + +.box { + border-top: 1px solid #CCC; + border-right: 1px solid #CCC; + border-bottom: 1px solid #CCC; + font-weight: bold; + text-align: center; + padding-top: 4px; + width: 25px; + height: 21px; + color: #000; + float: left +} + +.box.crossed { + font-weight: 100; + font-size: 16px +} + +.row .control .box:first-child { + border-left: 1px solid #CCC; +} + +.font.small { + font-size: 10px +} + +.font.verticalAlign { + height: 27px; + line-height: 27px +} + +.font.centered { + height: 27px; + line-height: 27px; + text-align: center +} + +.verticalText { + -moz-transform: rotate(90deg); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + position: absolute; + text-align: center; + font-size: .65em; + width: 200px; + right: -115px; + top: 50% +} + +.attachment { + overflow: hidden; + margin-top: 10px +} + +.attachment-icon { + float: left +} + +.attachment span { + padding: 16px 0 0 10px; + float: left +} + +.columns { + overflow: hidden +} + +.columns .size100 { + width: 100%; + float: left +} + +.columns .size75 { + width: 75%; + float: left +} + +.columns .size50 { + width: 50%; + float: left +} + +.columns .size33 { + width: 33.33%; + float: left +} + +.columns .size25 { + width: 25%; + float: left +} \ No newline at end of file diff --git a/services/nginx/conf-dev.conf b/services/nginx/conf-dev.conf index e36a5a82a3..104bd704f1 100644 --- a/services/nginx/conf-dev.conf +++ b/services/nginx/conf-dev.conf @@ -43,6 +43,12 @@ http { location ~ ^/route(?:/(.*))?$ { proxy_pass http://127.0.0.1:3005/$1$is_args$args; } + location ~ ^/print(?:/(.*))?$ { + proxy_pass http://127.0.0.1:3006/$1$is_args$args; + } + location ~ ^/item(?:/(.*))?$ { + proxy_pass http://127.0.0.1:3007/$1$is_args$args; + } # Este tiene que ser el último location ~ ^(?:/(.*))?$ { proxy_pass http://127.0.0.1:3001/$1$is_args$args; diff --git a/services/nginx/conf-prod.conf b/services/nginx/conf-prod.conf index 32d7497800..9e8843344c 100644 --- a/services/nginx/conf-prod.conf +++ b/services/nginx/conf-prod.conf @@ -38,6 +38,12 @@ http { location ~ ^/route(?:/(.*))?$ { proxy_pass http://route:3005/$1$is_args$args; } + location ~ ^/print(?:/(.*))?$ { + proxy_pass http://print:3006/$1$is_args$args; + } + location ~ ^/item(?:/(.*))?$ { + proxy_pass http://item:3007/$1$is_args$args; + } # Este tiene que ser el último location ~ ^(?:/(.*))?$ { proxy_pass http://salix:3001/$1$is_args$args; diff --git a/services/nginx/config.json b/services/nginx/config.json new file mode 100644 index 0000000000..050b6724d8 --- /dev/null +++ b/services/nginx/config.json @@ -0,0 +1,14 @@ +{ + "localhost": { + "host": "localhost", + "port": 5000 + }, + "testSalix": { + "host": "test-salix", + "port": 80 + }, + "salix": { + "host": "salix", + "port": 80 + } +} \ No newline at end of file diff --git a/services/nginx/static/images/icon_item.png b/services/nginx/static/images/icon_item.png new file mode 100644 index 0000000000..ff660fb23e Binary files /dev/null and b/services/nginx/static/images/icon_item.png differ diff --git a/services/nginx/static/images/no-image200x200.png b/services/nginx/static/images/no-image200x200.png new file mode 100644 index 0000000000..11d5317a90 Binary files /dev/null and b/services/nginx/static/images/no-image200x200.png differ diff --git a/services/nginx/static/templates/tooltip.locator.tpl.html b/services/nginx/static/templates/tooltip.locator.tpl.html index 214d3342b5..be0877ab8c 100644 --- a/services/nginx/static/templates/tooltip.locator.tpl.html +++ b/services/nginx/static/templates/tooltip.locator.tpl.html @@ -1,9 +1,9 @@ - Población - Provincia - ID_Cliente - Trabajador + Town + Province + Client ID + Worker {{::ticket.city | ucwords}} diff --git a/services/print/.gitignore b/services/print/.gitignore new file mode 100644 index 0000000000..69d30d5cce --- /dev/null +++ b/services/print/.gitignore @@ -0,0 +1,5 @@ +node_modules +config.json +app.development.json +smtp.development.json +mysql.development.json diff --git a/services/print/Dockerfile b/services/print/Dockerfile new file mode 100644 index 0000000000..2e8bdc43bc --- /dev/null +++ b/services/print/Dockerfile @@ -0,0 +1,13 @@ +FROM node:6.9.1 + +COPY . /app + +WORKDIR /app + +RUN npm install + +RUN npm -g install pm2 + +CMD ["pm2-docker", "./server/server.js"] + +EXPOSE 3006 diff --git a/services/print/application/auth.js b/services/print/application/auth.js new file mode 100644 index 0000000000..ee8f114e13 --- /dev/null +++ b/services/print/application/auth.js @@ -0,0 +1,62 @@ +var database = require('./database.js'); + +module.exports = { + +/** + * Initialize auth + * @param {Object} request - Request object + * @param {Object} response - Response object + * @param {Object} next - Next object + */ + init: function(request, response, next) { + this.request = request; + this.response = response; + this.next = next; + + this.validateToken(); + }, + +/** + * Validate auth token + */ + validateToken: function() { + let query = 'SELECT userId, ttl, created FROM salix.AccessToken WHERE id = ?'; + + database.pool.query(query, [this.getToken()], (error, result) => { + let token = result[0]; + + if (error || result.length == 0) + return this.response.status(401).send({message: 'Invalid token'}); + + if (this.isTokenExpired(token.created, token.ttl)) + return this.response.status(401).send({message: 'Token expired'}); + + this.request.userId = token.userId; + this.next(); + }); + }, + +/** + * Get request token + * @return {String} Token + */ + getToken: function() { + return this.request.headers.authorization || this.request.query.token; + }, + +/** + * Checks if the token has expired + * @param {String} created - Creation date + * @param {Integer} ttl - Ttl seconds + * @return {Boolean} True if the token has expired + */ + isTokenExpired: function(created, ttl) { + let date = new Date(created); + let currentDate = new Date(); + + date.setSeconds(date.getSeconds() + ttl); + + if (currentDate > date) + return true; + } +}; diff --git a/services/print/application/config.js b/services/print/application/config.js new file mode 100644 index 0000000000..53a157937a --- /dev/null +++ b/services/print/application/config.js @@ -0,0 +1,23 @@ +var path = require('path'); +let defaultFile = 'datasources.json'; + +function getFile(fileName) { + return require(path.join(__dirname, `/config/${fileName}`)); +} + +try { + let envFile = 'datasources.development.json'; + + if (process.env.NODE_ENV === 'test') + envFile = 'datasources.test.json'; + + config = getFile(envFile); +} catch (e) { + if (e.code == 'MODULE_NOT_FOUND') + config = getFile(defaultFile); +} + +config.proxy = require('../../nginx/config.json'); +config.package = require('../package.json'); + +module.exports = config; \ No newline at end of file diff --git a/services/print/application/config/datasources.json b/services/print/application/config/datasources.json new file mode 100644 index 0000000000..93a49479ad --- /dev/null +++ b/services/print/application/config/datasources.json @@ -0,0 +1,23 @@ +{ + "app": { + "port": 3006, + "debug": false, + "defaultLanguage": "es" + }, + "mysql": { + "host": "localhost", + "port": 3306, + "user": "reports", + "password": "", + "database": "" + }, + "pdf": { + "format": "A4", + "header": { + "height": "120px" + }, + "footer": { + "height": "130px" + } + } +} \ No newline at end of file diff --git a/services/print/application/config/datasources.test.json b/services/print/application/config/datasources.test.json new file mode 100644 index 0000000000..d51ae1fa29 --- /dev/null +++ b/services/print/application/config/datasources.test.json @@ -0,0 +1,19 @@ +{ + "app": { + "port": 3006, + "debug": false, + "defaultLanguage": "es" + }, + "mysql": { + "host": "localhost", + "port": 3306, + "user": "root", + "password": "", + "database": "vn" + }, + "pdf": { + "footer": { + "height": "100px" + } + } +} \ No newline at end of file diff --git a/services/print/application/database.js b/services/print/application/database.js new file mode 100644 index 0000000000..974540d7d3 --- /dev/null +++ b/services/print/application/database.js @@ -0,0 +1,24 @@ +var mysql = require('mysql'); +let config = require('./config.js'); + +module.exports = { + /** + * Pool instance + */ + pool: null, + + /** + * Start database pool + */ + init: function() { + this.pool = mysql.createPool(config.mysql); + + this.pool.getConnection(function(error, connection) { + if (error) { + throw new Error('Can\'t connect to database: ' + error.code); + } else if (config.app.debug) { + console.log('Database connection stablished'); + } + }); + } +}; diff --git a/services/print/application/locale.js b/services/print/application/locale.js new file mode 100644 index 0000000000..f9737fea32 --- /dev/null +++ b/services/print/application/locale.js @@ -0,0 +1,42 @@ +var fs = require('fs'); +var config = require('./config.js'); +var path = require('path'); + +module.exports = { +/** + * Returns template locale + * @param {String} template - Template name + * @param {String} countryCode - Language code + * @param {Object} cb - Callback + */ + load: function(template, countryCode, cb) { + var localeFile = path.join(__dirname, 'template', `${template}`, 'locale', `${countryCode}.json`); + var defaultLocaleFile = path.join(__dirname, 'template', `${template}`, 'locale', `${config.app.defaultLanguage}.json`); + + fs.stat(localeFile, (error, stats) => { + if (error) { + fs.stat(defaultLocaleFile, (error, stats) => { + if (error) + return cb(new Error('Translation not found for template ' + template)); + + cb(null, {locale: require(defaultLocaleFile)}); + }); + } else { + cb(null, {locale: require(localeFile)}); + } + }); + }, + +/** + * Parse locale text + * @param {String} text - Locale text + * @param {Object} params - Locale params + * @return {String} - Returns parsed text + */ + parseText: function(text, params) { + for (var key in params) { + text = text.replace(`%${key}%`, params[key]); + } + return text; + } +}; diff --git a/services/print/application/route/manuscript.js b/services/print/application/route/manuscript.js new file mode 100644 index 0000000000..091ffa4c3e --- /dev/null +++ b/services/print/application/route/manuscript.js @@ -0,0 +1,109 @@ +var express = require('express'); +var router = new express.Router(); +var template = require('../template.js'); +var config = require('../config.js'); +var pdf = require('html-pdf'); +var path = require('path'); +var auth = require('../auth.js'); + +// Auth middleware +var requestToken = function(request, response, next) { + auth.init(request, response, next); +}; + +// Sepa core +router.get('/sepa-core/:companyId/:clientId', requestToken, function(request, response, next) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId + }; + + template.get('sepa-core', params, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + pdf.create(result.body, config.pdf).toStream(function(error, stream) { + if (error) + throw Error(error); + + response.setHeader('Content-Disposition', 'attachment; filename="sepa-core.pdf"'); + response.setHeader('Content-type', 'application/pdf'); + stream.pipe(response); + }); + }); + }); + +// Sepa core html preview +router.get('/sepa-core/:companyId/:clientId/preview', requestToken, function(request, response, next) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId, + isPreview: true + }; + + template.get('sepa-core', params, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); + }); + + // Debtor letter +router.get('/letter-debtor/:companyId/:clientId', requestToken, function(request, response, next) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId + }; + + template.get('letter-debtor', params, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + pdf.create(result.body, config.pdf).toStream(function(error, stream) { + if (error) + throw Error(error); + + response.setHeader('Content-Disposition', 'attachment; filename="extracto.pdf"'); + response.setHeader('Content-type', 'application/pdf'); + stream.pipe(response); + }); + }); + }); + + // Debtor letter html preview +router.get('/letter-debtor/:companyId/:clientId/preview', requestToken, function(request, response, next) { + let params = { + clientId: request.params.clientId, + companyId: request.params.companyId, + isPreview: true + }; + + template.get('letter-debtor', params, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + response.send(result.body); + }); + }); + + +module.exports = router; + + + // store pdf +/* router.post('/sepa-core/:clientId', function(request, response, next) { + template.get('sepa-core', {recipient: request.params.clientId}, (error, result) => { + if (error) + return response.status(400).json({message: error.message}); + + pdf.create(result.body).toFile('./tmp/test.pdf', function(error, result) { + if (error) + return response.status(400).json({message: error}); + + console.log(result); + return response.json(); + }); + }); + }); + */ \ No newline at end of file diff --git a/services/print/application/router.js b/services/print/application/router.js new file mode 100644 index 0000000000..a9ebe1acf7 --- /dev/null +++ b/services/print/application/router.js @@ -0,0 +1,31 @@ +var express = require('express'); +var router = new express.Router(); +var fs = require('fs'); +var path = require('path'); + +// Default page +router.get('/', function(request, response) { + response.json({}); +}); + +// Manuscripts +router.use('/manuscript', require('./route/manuscript.js')); + +// Serve static images +router.use('/static/:template/:image', function(request, response) { + let imagePath = path.join(__dirname, '/template/', request.params.template, '/image/', request.params.image); + + fs.stat(imagePath, function(error) { + if (error) + return response.json({message: 'Image not found'}); + + let readStream = fs.createReadStream(imagePath); + + readStream.on('open', function() { + readStream.pipe(response); + }); + }); +}); + + +module.exports = router; diff --git a/services/print/application/template.js b/services/print/application/template.js new file mode 100644 index 0000000000..9974ebcf50 --- /dev/null +++ b/services/print/application/template.js @@ -0,0 +1,184 @@ +var fs = require('fs'); +var mustache = require('mustache'); +var locale = require('./locale.js'); +var inlineCss = require('inline-css'); +var path = require('path'); + + +module.exports = { +/** + * Get template. + * @param {String} template - Template name + * @param {Object} countryCode - Language code + * @param {Object} params - Params + * @param {Object} cb - Callback + */ + get: function(template, params, cb) { + var templatePath = path.join(__dirname, 'template', `${template}`, `index.html`); + var classPath = path.join(__dirname, 'template', `${template}`, `${template}.js`); + var stylePath = path.join(__dirname, 'template', `${template}`, 'style.css'); + + fs.stat(templatePath, (error, stat) => { + if (error) + return cb(new Error('Template ' + template + ' not found')); + + let TemplateClass = require(classPath); + let instance = new TemplateClass(); + + let getRenderedStyles = (error, body) => { + if (error) + return cb(error); + + this.renderStyles(stylePath, body, (error, body) => { + if (error) + return cb(error); + + // Check if has a subject param + params.subject = params.subject || instance.subject; + + if (params.subject == undefined) { + // Try to find a subject from Html source + let title = body.match(new RegExp('(.*?)', 'i')); + + if (title) + params.subject = title[1]; + } + + this.renderImages(template, body, params.isPreview, (error, body) => { + if (error) + return cb(error); + + cb(null, {body: body}); + }); + }); + }; + + let getDataCb = () => { + this.render(templatePath, params, instance, (error, result) => getRenderedStyles(error, result)); + }; + + instance.getData(params, (error, result) => { + if (error) + return cb(error); + + locale.load(template, instance.countryCode, (error, result) => { + if (error) + return cb(error); + + instance._ = result.locale; + instance.isPreview = params.isPreview; + getDataCb(null, result); + }); + }); + }); + }, + +/** + * Render template + * @param {String} path - Template path + * @param {Object} data - Params + * @param {Object} cb - Callback + */ + render: function(path, params, data, cb) { + fs.readFile(path, 'utf8', (error, body) => { + // Find matching sub-templates + let regexp = new RegExp(/\{\{\$\.(.*?)\}\}/, 'ig'); + let subTpl = body.match(regexp); + + if (!subTpl) { + mustache.parse(body); + return cb(null, mustache.render(body, data)); + } + + let parentBody = body; + this.renderSub(parentBody, subTpl, params, regexp, (error, body) => { + if (error) + return cb(error); + + mustache.parse(body); + cb(null, mustache.render(body, data)); + }); + }); + }, + + renderSub: function(body, subTpl, params, regexp, cb) { + let index = 1; + + subTpl.forEach(keyName => { + subTplName = keyName.replace(regexp, '$1'); + + this.get(subTplName, params, (error, result) => { + if (error) + return cb(error); + + let subTplBody = result.body; + body = body.replace(keyName, subTplBody); + + if (index === subTpl.length) + cb(null, body); + + index++; + }); + + }); + }, + +/** + * Render template style. + * @param {String} path - Stylesheet path + * @param {String} body - Rendered html + * @param {Object} cb - Callback + */ + renderStyles: function(stylePath, html, cb) { + // Common components + let comPath = path.join(__dirname, '../', 'static', 'css', 'component.css'); + + fs.readFile(comPath, 'utf8', (error, comCss) => { + fs.stat(stylePath, error => { + if (error) + return cb(new Error('Template stylesheet not found')); + + fs.readFile(stylePath, 'utf8', (error, css) => { + let style = ''; + let body = style + html; + let options = {url: ' '}; + + inlineCss(body, options) + .then(function(body) { + cb(null, body); + }); + }); + }); + }); + }, + +/** + * Render template images + * @param {String} template - Template name + * @param {String} body - template body + * @param {Object} cb - Callback + */ + renderImages: function(template, body, isPreview, cb) { + let tplImages = body.match(new RegExp('src="cid:(.*?)"', 'ig')); + + if (!tplImages) + tplImages = {}; + + // Template default attachments + for (var i = 0; i < tplImages.length; i++) { + let src = tplImages[i].replace('src="cid:', '').replace('"', '').split('/'); + let attachmentTpl = src[0]; + let attachment = src[1]; + + if (isPreview) { + let imagePath = `/print/static/${attachmentTpl}/${attachment}`; + body = body.replace(tplImages[i], `src="${imagePath}"`); + } else { + let imagePath = path.join(__dirname, 'template', attachmentTpl, 'image', attachment); + body = body.replace(tplImages[i], `src="file:///${imagePath}"`); + } + } + + cb(null, body); + } +}; diff --git a/services/print/application/template/footer/footer.js b/services/print/application/template/footer/footer.js new file mode 100644 index 0000000000..3b4020bf45 --- /dev/null +++ b/services/print/application/template/footer/footer.js @@ -0,0 +1,20 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class Footer { + getData(params, cb) { + let query = `SELECT + socialName + FROM client c + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } +}; diff --git a/services/print/application/template/footer/image/action.png b/services/print/application/template/footer/image/action.png new file mode 100644 index 0000000000..2cd16c453d Binary files /dev/null and b/services/print/application/template/footer/image/action.png differ diff --git a/services/print/application/template/footer/image/facebook.png b/services/print/application/template/footer/image/facebook.png new file mode 100644 index 0000000000..7ab54c538c Binary files /dev/null and b/services/print/application/template/footer/image/facebook.png differ diff --git a/services/print/application/template/footer/image/info.png b/services/print/application/template/footer/image/info.png new file mode 100644 index 0000000000..fb75cbc4ef Binary files /dev/null and b/services/print/application/template/footer/image/info.png differ diff --git a/services/print/application/template/footer/image/instagram.png b/services/print/application/template/footer/image/instagram.png new file mode 100644 index 0000000000..66550c4a58 Binary files /dev/null and b/services/print/application/template/footer/image/instagram.png differ diff --git a/services/print/application/template/footer/image/linkedin.png b/services/print/application/template/footer/image/linkedin.png new file mode 100644 index 0000000000..0d191e5aee Binary files /dev/null and b/services/print/application/template/footer/image/linkedin.png differ diff --git a/services/print/application/template/footer/image/pinterest.png b/services/print/application/template/footer/image/pinterest.png new file mode 100644 index 0000000000..4d7b28ef81 Binary files /dev/null and b/services/print/application/template/footer/image/pinterest.png differ diff --git a/services/print/application/template/footer/image/twitter.png b/services/print/application/template/footer/image/twitter.png new file mode 100644 index 0000000000..c4a8ab0c1c Binary files /dev/null and b/services/print/application/template/footer/image/twitter.png differ diff --git a/services/print/application/template/footer/image/youtube.png b/services/print/application/template/footer/image/youtube.png new file mode 100644 index 0000000000..11871deb54 Binary files /dev/null and b/services/print/application/template/footer/image/youtube.png differ diff --git a/services/print/application/template/footer/index.html b/services/print/application/template/footer/index.html new file mode 100644 index 0000000000..59b90b480f --- /dev/null +++ b/services/print/application/template/footer/index.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/services/print/application/template/footer/locale/es.json b/services/print/application/template/footer/locale/es.json new file mode 100644 index 0000000000..04a61fddda --- /dev/null +++ b/services/print/application/template/footer/locale/es.json @@ -0,0 +1,4 @@ +{ + "phytosanitary": "VERDNATURA LEVANTE SL - Pasaporte Fitosanitario R.P. Generalitat Valenciana - Nº Comerciante: ES17462130", + "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." +} \ No newline at end of file diff --git a/services/print/application/template/footer/style.css b/services/print/application/template/footer/style.css new file mode 100644 index 0000000000..aeddc6f0af --- /dev/null +++ b/services/print/application/template/footer/style.css @@ -0,0 +1,24 @@ +img { + margin: 0 +} + +#pageFooter { + font-family: arial, sans-serif; + font-weight: 100; + max-width: 90%; + margin: 0 auto; + font-size: 9px; + margin: 30px; + color: #555 +} + +#pageFooter .info { + border-bottom: 2px solid #CCC; + padding-bottom: 2px; + text-align: center; + font-size: 11px +} + +#pageFooter p { + text-align: center +} \ No newline at end of file diff --git a/services/print/application/template/header/header.js b/services/print/application/template/header/header.js new file mode 100644 index 0000000000..82c78e0038 --- /dev/null +++ b/services/print/application/template/header/header.js @@ -0,0 +1,20 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class Header { + getData(params, cb) { + let query = `SELECT + c.name AS clientName + FROM client c + JOIN country ct ON ct.id = c.countryFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } +}; diff --git a/services/print/application/template/header/image/logo.svg b/services/print/application/template/header/image/logo.svg new file mode 100644 index 0000000000..51baf46d35 --- /dev/null +++ b/services/print/application/template/header/image/logo.svg @@ -0,0 +1,48 @@ + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/services/print/application/template/header/index.html b/services/print/application/template/header/index.html new file mode 100644 index 0000000000..44e8e52d7f --- /dev/null +++ b/services/print/application/template/header/index.html @@ -0,0 +1,7 @@ +
+ VerdNatura +

+

{{_.mercantileRegistry}}
+
{{_.fiscalAddress}}
+

+
\ No newline at end of file diff --git a/services/print/application/template/header/locale/es.json b/services/print/application/template/header/locale/es.json new file mode 100644 index 0000000000..86dbe5e584 --- /dev/null +++ b/services/print/application/template/header/locale/es.json @@ -0,0 +1,4 @@ +{ + "mercantileRegistry": "CIF: B97367486 Registro Mercantil de Valencia, Tomo 8041, Libro 5334, Folio 160, sección 8, Hoja V 102076", + "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es" +} \ No newline at end of file diff --git a/services/print/application/template/header/style.css b/services/print/application/template/header/style.css new file mode 100644 index 0000000000..186ede66bb --- /dev/null +++ b/services/print/application/template/header/style.css @@ -0,0 +1,16 @@ +img { + margin: 0 +} + +#pageHeader-first { + border-bottom: 1px solid #DDD; + font-family: arial, sans-serif; + padding-bottom: 10px; + text-align: center; + font-size: 10px; + color: #555 +} + +.header p { + text-align: center +} \ No newline at end of file diff --git a/services/print/application/template/letter-debtor/image/action.png b/services/print/application/template/letter-debtor/image/action.png new file mode 100644 index 0000000000..2cd16c453d Binary files /dev/null and b/services/print/application/template/letter-debtor/image/action.png differ diff --git a/services/print/application/template/letter-debtor/image/facebook.png b/services/print/application/template/letter-debtor/image/facebook.png new file mode 100644 index 0000000000..7ab54c538c Binary files /dev/null and b/services/print/application/template/letter-debtor/image/facebook.png differ diff --git a/services/print/application/template/letter-debtor/image/header.png b/services/print/application/template/letter-debtor/image/header.png new file mode 100644 index 0000000000..3c063ae444 Binary files /dev/null and b/services/print/application/template/letter-debtor/image/header.png differ diff --git a/services/print/application/template/letter-debtor/image/info.png b/services/print/application/template/letter-debtor/image/info.png new file mode 100644 index 0000000000..fb75cbc4ef Binary files /dev/null and b/services/print/application/template/letter-debtor/image/info.png differ diff --git a/services/print/application/template/letter-debtor/image/instagram.png b/services/print/application/template/letter-debtor/image/instagram.png new file mode 100644 index 0000000000..66550c4a58 Binary files /dev/null and b/services/print/application/template/letter-debtor/image/instagram.png differ diff --git a/services/print/application/template/letter-debtor/image/linkedin.png b/services/print/application/template/letter-debtor/image/linkedin.png new file mode 100644 index 0000000000..0d191e5aee Binary files /dev/null and b/services/print/application/template/letter-debtor/image/linkedin.png differ diff --git a/services/print/application/template/letter-debtor/image/logo.png b/services/print/application/template/letter-debtor/image/logo.png new file mode 100644 index 0000000000..55e26fec6d Binary files /dev/null and b/services/print/application/template/letter-debtor/image/logo.png differ diff --git a/services/print/application/template/letter-debtor/image/logo.svg b/services/print/application/template/letter-debtor/image/logo.svg new file mode 100644 index 0000000000..51baf46d35 --- /dev/null +++ b/services/print/application/template/letter-debtor/image/logo.svg @@ -0,0 +1,48 @@ + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/services/print/application/template/letter-debtor/image/pinterest.png b/services/print/application/template/letter-debtor/image/pinterest.png new file mode 100644 index 0000000000..4d7b28ef81 Binary files /dev/null and b/services/print/application/template/letter-debtor/image/pinterest.png differ diff --git a/services/print/application/template/letter-debtor/image/twitter.png b/services/print/application/template/letter-debtor/image/twitter.png new file mode 100644 index 0000000000..c4a8ab0c1c Binary files /dev/null and b/services/print/application/template/letter-debtor/image/twitter.png differ diff --git a/services/print/application/template/letter-debtor/image/youtube.png b/services/print/application/template/letter-debtor/image/youtube.png new file mode 100644 index 0000000000..11871deb54 Binary files /dev/null and b/services/print/application/template/letter-debtor/image/youtube.png differ diff --git a/services/print/application/template/letter-debtor/index.html b/services/print/application/template/letter-debtor/index.html new file mode 100644 index 0000000000..a2d92979bc --- /dev/null +++ b/services/print/application/template/letter-debtor/index.html @@ -0,0 +1,84 @@ + + + + {{_.subject}} + + + + + {{$.header}} + + + +
+ +
+
+
+

EXTRACTO

+
+
CLIENTE:
+
{{clientId}}
+
+
+
FACTURA:
+
x
+
+
+
FECHA:
+
{{currentDate}}
+
+
+
+
+
+

+ {{supplierName}} +

+
+ {{supplierStreet}} +
+
+ {{supplierPostCode}}, {{supplierCity}} ({{supplierProvince}}) +
+
+ {{supplierCountry}} +
+
+
+
+ +
+
+
Fecha
+
Concepto
+
Debe
+
Haber
+
Saldo
+
+
+
Fecha
+
Concepto
+
Debe
+
Haber
+
Saldo
+
+
+ +
+ +
+
+ Subtotal +
+
+
+ +
+ + + + {{$.footer}} + + + \ No newline at end of file diff --git a/services/print/application/template/letter-debtor/letter-debtor.js b/services/print/application/template/letter-debtor/letter-debtor.js new file mode 100644 index 0000000000..77715f3b77 --- /dev/null +++ b/services/print/application/template/letter-debtor/letter-debtor.js @@ -0,0 +1,54 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class LetterDebtor { + getData(params, cb) { + let query = `SELECT + c.id clientId, + m.code mandateCode, + LOWER(ct.code) AS countryCode, + c.email AS recipient, + c.socialName AS clientName, + c.street AS clientStreet, + c.postcode AS clientPostCode, + c.city AS clientCity, + p.name AS clientProvince, + ct.country AS clientCountry, + s.name AS supplierName, + s.street AS supplierStreet, + sc.country AS supplierCountry, + s.postCode AS supplierPostCode, + s.city AS supplierCity, + sp.name AS supplierProvince + FROM client c + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN province p ON p.id = c.provinceFk + LEFT JOIN mandate m ON m.clientFk = c.id AND m.finished IS NULL + LEFT JOIN supplier s ON s.id = m.companyFk + LEFT JOIN country sc ON sc.id = s.countryFk + LEFT JOIN province sp ON sp.id = s.provinceFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } + + // Swift BIC fields + get swiftFields() { + return new Array(11); + } + + // Account number fields + get accountNumberFields() { + return new Array(23); + } + + get currentDate() { + return format.date(new Date(), '/'); + } +}; diff --git a/services/print/application/template/letter-debtor/locale/es.json b/services/print/application/template/letter-debtor/locale/es.json new file mode 100644 index 0000000000..e5453e8589 --- /dev/null +++ b/services/print/application/template/letter-debtor/locale/es.json @@ -0,0 +1,31 @@ +{ + "title": "Orden de domiciliación de adeudo directo SEPA CORE", + "toCompleteBySupplier": "A cumplimentar por el acreedor", + "toCompleteByClient": "A cumplimentar por el deudor", + "bodyDescription": "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) al acreedor a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera.", + "orderReference": "Referencia de la orden de domiciliación", + "supplierIdentifier": "Identificador del acreedor", + "supplierName": "Nombre del acreedor", + "supplierStreet": "Dirección", + "supplierLocation": "CP - Población - Provincia", + "supplierCountry": "País", + "clientAdvice": "Debe llevar a su Entidad Bancaria una copia del documento firmado para que lo registre y evitar la devolución.", + "clientName": "Nombre del deudor/es", + "clientStreet": "Dirección del deudor", + "clientLocation": "CP - Población - Provincia", + "clientCountry": "País del deudor", + "swift": "Swift BIC", + "accountNumber": "Número de cuenta - IBAN", + "accountHolder": "(Titular/es de la cuenta de cargo)", + "accountNumberFormat": "En España el IBAN consta de 24 posiciones comenzando siempre por ES", + "paymentType": "Tipo de pago", + "recurrent": "Recurrente", + "unique": "Único", + "signLocation": "Fecha - Localidad", + "sign": "Firma del deudor y sello", + "mandatoryFields": "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.", + "sendOrder": "UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.", + "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es", + "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", + "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." +} \ No newline at end of file diff --git a/services/print/application/template/letter-debtor/style.css b/services/print/application/template/letter-debtor/style.css new file mode 100644 index 0000000000..5b1e628d67 --- /dev/null +++ b/services/print/application/template/letter-debtor/style.css @@ -0,0 +1,22 @@ +img { + margin: 0 +} + +.body { + font-family: arial, sans-serif; + max-width: 90%; + margin: 0 auto; + font-size: 14px; + color: #000 +} + +body .title { + text-align: center; + padding-bottom: 20px +} + +body .title h1 { + font-size: 16px; + color: #333; + margin: 0 +} \ No newline at end of file diff --git a/services/print/application/template/sepa-core/index.html b/services/print/application/template/sepa-core/index.html new file mode 100644 index 0000000000..92cc6fb809 --- /dev/null +++ b/services/print/application/template/sepa-core/index.html @@ -0,0 +1,128 @@ + + + + {{_.subject}} + + + + + {{$.header}} + + + +
+ + +
+

{{_.title}}

+
+ +
+
{{_.toCompleteBySupplier}}
+
+
{{_.orderReference}}
+
{{mandateCode}}
+
+
+
{{_.supplierIdentifier}}
+
ES89000B97367486
+
+
+
{{_.supplierName}}
+
{{supplierName}}
+
+
+
{{_.supplierStreet}}
+
{{supplierStreet}}
+
+
+
{{_.supplierLocation}}
+
{{supplierPostCode}}, {{supplierCity}} ({{supplierProvince}})
+
+
+
{{_.supplierCountry}}
+
{{supplierCountry}}
+
+
+ +

{{_.bodyDescription}}

+

{{_.clientAdvice}}

+ +
+
{{_.toCompleteByClient}}
+
+
{{_.clientName}}
+
{{clientName}}
+
{{_.accountHolder}}
+
+
+
{{_.clientStreet}}
+
{{clientStreet}}
+
+
+
{{_.clientLocation}}
+
{{clientPostCode}}, {{clientCity}} ({{clientProvince}})
+
+
+
{{_.clientCountry}}
+
{{clientCountry}}
+
+
+
{{_.swift}}
+
+ {{#swiftFields}} +
+ {{/swiftFields}} +
+
+
+
{{_.accountNumber}}
+
+
ES
+ {{#accountNumberFields}} +
+ {{/accountNumberFields}} +
+
+
{{_.accountNumberFormat}}
+
+
+
+
{{_.paymentType}}
+
+
+
+
+
X
+
+
{{_.recurrent}}
+
+
O
+
+
+
+
+
{{_.unique}}
+
+
+
+
+
+
{{_.signLocation}}
+
{{currentDate}}, {{supplierProvince}}
+
+
+
{{_.sign}}
+
+
+
+

{{_.mandatoryFields}}

+

{{_.sendOrder}}

+
+ + + + {{$.footer}} + + + \ No newline at end of file diff --git a/services/print/application/template/sepa-core/locale/es.json b/services/print/application/template/sepa-core/locale/es.json new file mode 100644 index 0000000000..e5453e8589 --- /dev/null +++ b/services/print/application/template/sepa-core/locale/es.json @@ -0,0 +1,31 @@ +{ + "title": "Orden de domiciliación de adeudo directo SEPA CORE", + "toCompleteBySupplier": "A cumplimentar por el acreedor", + "toCompleteByClient": "A cumplimentar por el deudor", + "bodyDescription": "Mediante la firma de esta orden de domiciliación, el deudor autoriza (A) al acreedor a enviar instrucciones a la entidad del deudor para adeudar su cuenta y (B) a la entidad para efectuar los adeudos en su cuenta siguiendo las instrucciones del acreedor.Como parte de sus derechos, el deudor está legitimado al reembolso por su entidad en los términos y condiciones del contrato suscrito con la misma. La solicitud de reembolso deberá efectuarse dentro de las ocho semanas que adeudo en cuenta. Puede obtener información adicional sobre sus derechos en su entidad financiera.", + "orderReference": "Referencia de la orden de domiciliación", + "supplierIdentifier": "Identificador del acreedor", + "supplierName": "Nombre del acreedor", + "supplierStreet": "Dirección", + "supplierLocation": "CP - Población - Provincia", + "supplierCountry": "País", + "clientAdvice": "Debe llevar a su Entidad Bancaria una copia del documento firmado para que lo registre y evitar la devolución.", + "clientName": "Nombre del deudor/es", + "clientStreet": "Dirección del deudor", + "clientLocation": "CP - Población - Provincia", + "clientCountry": "País del deudor", + "swift": "Swift BIC", + "accountNumber": "Número de cuenta - IBAN", + "accountHolder": "(Titular/es de la cuenta de cargo)", + "accountNumberFormat": "En España el IBAN consta de 24 posiciones comenzando siempre por ES", + "paymentType": "Tipo de pago", + "recurrent": "Recurrente", + "unique": "Único", + "signLocation": "Fecha - Localidad", + "sign": "Firma del deudor y sello", + "mandatoryFields": "TODOS LOS CAMPOS HAN DE SER CUMPLIMENTADOS OBLIGATORIAMENTE.", + "sendOrder": "UNA VEZ FIRMADA ESTA ORDEN DE DOMICILIACIÓN DEBE SER ENVIADA AL ACREEDOR PARA SU CUSTODIA Y ES RECOMENDABLE FACILITAR UNA COPIA A SU ENTIDAD BANCARIA.", + "fiscalAddress": "VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es", + "privacy": "- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado exclusivamente por la persona destinataria del mismo. Si usted ha recibido este mensaje por error, le rogamos lo comunique al remitente y borre dicho mensaje y cualquier documento adjunto que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad ni a ningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente no se hace responsable de los cambios, alteraciones, errores u omisiones que pudieran hacerse al mensaje una vez enviado.", + "privacyLaw": "En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, le comunicamos que los datos personales que facilite se incluirán en ficheros automatizados de VERDNATURA LEVANTE S.L., pudiendo en todo momento ejercitar los derechos de acceso, rectificación, cancelación y oposición, comunicándolo por escrito al domicilio social de la entidad. La finalidad del fichero es la gestión administrativa, contabilidad, y facturación." +} \ No newline at end of file diff --git a/services/print/application/template/sepa-core/sepa-core.js b/services/print/application/template/sepa-core/sepa-core.js new file mode 100644 index 0000000000..304e327dae --- /dev/null +++ b/services/print/application/template/sepa-core/sepa-core.js @@ -0,0 +1,54 @@ +var path = require('path'); +var database = require(path.join(__dirname, '../../database.js')); +var format = require(path.join(__dirname, '../../util/format.js')); + +module.exports = class SepaCore { + getData(params, cb) { + let query = `SELECT + c.id clientId, + m.code mandateCode, + LOWER(ct.code) AS countryCode, + c.email AS recipient, + c.socialName AS clientName, + c.street AS clientStreet, + c.postcode AS clientPostCode, + c.city AS clientCity, + p.name AS clientProvince, + ct.country AS clientCountry, + s.name AS supplierName, + s.street AS supplierStreet, + sc.country AS supplierCountry, + s.postCode AS supplierPostCode, + s.city AS supplierCity, + sp.name AS supplierProvince + FROM client c + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN province p ON p.id = c.provinceFk + LEFT JOIN mandate m ON m.clientFk = c.id AND m.finished IS NULL + LEFT JOIN supplier s ON s.id = m.companyFk + LEFT JOIN country sc ON sc.id = s.countryFk + LEFT JOIN province sp ON sp.id = s.provinceFk + WHERE c.id = ?`; + database.pool.query(query, [params.clientId], (error, result) => { + if (error || result.length == 0) + return cb(new Error('No template data found')); + + Object.assign(this, result[0]); + cb(); + }); + } + + // Swift BIC fields + get swiftFields() { + return new Array(11); + } + + // Account number fields + get accountNumberFields() { + return new Array(23); + } + + get currentDate() { + return format.date(new Date(), '/'); + } +}; diff --git a/services/print/application/template/sepa-core/style.css b/services/print/application/template/sepa-core/style.css new file mode 100644 index 0000000000..5b1e628d67 --- /dev/null +++ b/services/print/application/template/sepa-core/style.css @@ -0,0 +1,22 @@ +img { + margin: 0 +} + +.body { + font-family: arial, sans-serif; + max-width: 90%; + margin: 0 auto; + font-size: 14px; + color: #000 +} + +body .title { + text-align: center; + padding-bottom: 20px +} + +body .title h1 { + font-size: 16px; + color: #333; + margin: 0 +} \ No newline at end of file diff --git a/services/print/application/util/format.js b/services/print/application/util/format.js new file mode 100644 index 0000000000..f05f53e570 --- /dev/null +++ b/services/print/application/util/format.js @@ -0,0 +1,59 @@ +let database = require('../database.js'); + +module.exports = { + + /** + * Devuelve el iban + * @param {String} addressNumber - Dirección de cuenta bancaria + * @param {Object} cb - Callback + */ + accountAddressIban: function(addressNumber, cb) { + database.pool.query('SELECT vn2008.cc_to_iban(?) AS iban', [addressNumber], function(error, result) { + cb(result[0].iban); + }); + }, + + /** + * Obtiene el numero de cuenta completo incluyendo iban + * @param {String} addressNumber - Dirección de cuenta bancaria + * @return {String} Cuenta bancaria formateada + */ + accountAddress: function(addressNumber) { + var formattedAccountAddress = addressNumber.replace(/(.{4})/g, '$1-'); + return formattedAccountAddress.substring(0, formattedAccountAddress.length - 1); + }, + + /** + * Devuelve el numero de cuenta mostrando únicamente los últimos 4 dígitos. + * @param {String} addressNumber - Dirección de cuenta bancaria + * @return {String} Cuenta bancaria formateada + */ + partialAccountAddress: function(addressNumber) { + let address = this.accountAddress(addressNumber); + return address.substring(0, 19).replace(/[0-9]/g, 'X') + address.substring(19, 24); + }, + + phone: function(number) { + return number; + }, + +/** + * Format date dd-mm-yyyy + * @param {Object} date - Date object + * @param {String} delimiter - Date delimiter + * @return {String} Formatted date + */ + date: function(date, delimiter = '-') { + let day = date.getDate(); + let month = date.getMonth() + 1; + let year = date.getFullYear(); + + if (day < 10) + day = `0${day}` + + if (month < 10) + month = `0${month}` + + return day + delimiter + month + delimiter + year; + } +}; diff --git a/services/print/application/util/system.js b/services/print/application/util/system.js new file mode 100644 index 0000000000..3583461841 --- /dev/null +++ b/services/print/application/util/system.js @@ -0,0 +1,10 @@ +module.exports = { + /** + * Obtiene las variables de entorno + * @param {String} env - Nombre de la variable de entorno + * @return {String} Valor de la variable de entorno + */ + getEnv: function(env) { + return process.env[env]; + } +}; diff --git a/services/print/package.json b/services/print/package.json new file mode 100644 index 0000000000..c712ea1a14 --- /dev/null +++ b/services/print/package.json @@ -0,0 +1,20 @@ +{ + "name": "print", + "version": "0.0.1", + "description": "Servidor de impresión PDF", + "main": "server.js", + "dependencies": { + "body-parser": "^1.17.2", + "express": "^4.15.3", + "html-pdf": "^2.2.0", + "inline-css": "^2.2.2", + "mustache": "^2.3.0", + "mysql": "^2.13.0", + "path": "^0.12.7" + }, + "repository": { + "type": "git", + "url": "https://git.verdnatura.es/salix" + }, + "license": "GPL-3.0" +} diff --git a/services/print/server/server.js b/services/print/server/server.js new file mode 100644 index 0000000000..c94a4f8345 --- /dev/null +++ b/services/print/server/server.js @@ -0,0 +1,33 @@ +var express = require('express'); +var app = module.exports = express(); +var bodyParser = require('body-parser'); +var config = require('../application/config.js'); +var database = require('../application/database.js'); +var auth = require('../application/auth.js'); +var path = require('path'); + +// Body parser middleware +app.use(bodyParser.json()); +app.use(bodyParser.urlencoded({extended: true})); + +// Load routes +app.use('/', require('../application/router.js')); + +app.start = function() { + var listener = app.listen(config.app.port, function() { + var servicePath = 'http://' + listener.address().address + ':' + listener.address().port; + database.init(); + + let packageJson = require('../package.json'); + console.log(`Web server ${packageJson.name} listening at: ${servicePath}`); + + if (config.app.debug) { + console.log(`${packageJson.name} service debug mode enabled`); + } + }); + return listener; +}; + +if (require.main === module) { + app.start(); +} diff --git a/services/print/static/css/component.css b/services/print/static/css/component.css new file mode 100644 index 0000000000..2b2b8e1577 --- /dev/null +++ b/services/print/static/css/component.css @@ -0,0 +1,203 @@ +body { + margin: 0 auto; + width: 210mm +} + +img { + margin: 0 +} + +p { + text-align: justify +} + +.panel { + border: 1px solid #DDD; + margin-bottom: 10px; + position: relative; + padding:10px +} + +.row { + margin-bottom: 15px; + overflow: hidden +} + +.row.small { + margin-bottom: 5px +} + +.row .text { + margin-bottom: 5px +} + +.row .control { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box +} + +.row .text, .row .control { + overflow: hidden +} + +.row .description { + position: relative; + padding-top: 2px; + overflow: hidden; + font-size: 9px; + display: block; + color: #999 +} + +.row .line { + border-bottom: 1px solid #DDD; + border-right: 1px solid #DDD; + border-left: 1px solid #DDD; + margin-top: 10px; + color: #999; + padding: 5px +} + +.row .description span { + background-color: #FFF; + margin: -5px 0 0 50px; + display: block; + padding: 5px; + float: left +} + +.row:last-child { + margin-bottom: 0 +} + +.row.inline .text { + margin-bottom: 0; + width: 40%; + float: left +} + +.row.inline .control { + font-weight: bold; + padding-left: 20px; + color: #000; + width: 60%; + float: left +} + +.row.inline .description { + position: static; + overflow: visible +} + +.box { + border-top: 1px solid #CCC; + border-right: 1px solid #CCC; + border-bottom: 1px solid #CCC; + font-weight: bold; + text-align: center; + padding-top: 4px; + width: 25px; + height: 21px; + color: #000; + float: left +} + +.box.crossed { + font-weight: 100; + font-size: 16px +} + +.row .control .box:first-child { + border-left: 1px solid #CCC; +} + +.font.small { + font-size: 10px +} + +.font.gray { + color: #555 +} + +.font.verticalAlign { + height: 27px; + line-height: 27px +} + +.font.centered { + height: 27px; + line-height: 27px; + text-align: center +} + +.verticalText { + -moz-transform: rotate(90deg); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + position: absolute; + text-align: center; + font-size: .65em; + width: 200px; + right: -115px; + top: 50% +} + +.columns { + overflow: hidden +} + +.columns .size100 { + width: 100%; + float: left +} + +.columns .size75 { + width: 75%; + float: left +} + +.columns .size50 { + width: 50%; + float: left +} + +.columns .size33 { + width: 33.33%; + float: left +} + +.columns .size25 { + width: 25%; + float: left +} + +.pull-left { + float: left +} + +.pull-right { + float: right +} + + +.grid { + border-bottom: 3px solid #888888 +} + +.grid .row { + padding: 5px; + margin-bottom: 0 +} + +.grid .header { + border-bottom: 1px solid #808080; + border-top: 1px solid #808080; + background-color: #c0c0c0; +} + + +.grid .row.inline > div { + float: left; +} + diff --git a/services/production/common/methods/fake-production/list.js b/services/production/common/methods/fake-production/list.js index a52f29f96e..cfbad96511 100644 --- a/services/production/common/methods/fake-production/list.js +++ b/services/production/common/methods/fake-production/list.js @@ -3,10 +3,10 @@ module.exports = function(Self) { Self.list = function(ctx, filter, callback) { let daysTickets = 0; - let warehouseFk = filter.where.warehouseFk; + let warehouseFk = filter.warehouseFk; delete filter.limit; delete filter.page; - delete filter.where.warehouseFk; + delete filter.warehouseFk; let call = `call salix.production_control_source(? , ?)`; var params = [warehouseFk, daysTickets]; @@ -25,17 +25,19 @@ module.exports = function(Self) { onFinish(err); } - reBuildFilter(); + buildWhereObject(); + let where = Self.dataSource.connector.buildWhere(Self.modelName, filter.where); let query = `SELECT * FROM tmp.production ${where.sql} GROUP BY RouteFk ORDER BY routeFk`; conn.query(query, where.params, onFinish); } - function reBuildFilter() { - if (filter.where && filter.where.q) { - let regexQ = new RegExp(filter.where.q); - delete filter.where.q; - let newFilter = { + function buildWhereObject() { + let newFilter = {}; + if (filter.q) { + let regexQ = new RegExp(filter.q); + delete filter.q; + newFilter = { and: [ { or: [ @@ -46,17 +48,20 @@ module.exports = function(Self) { ] }; - if (Object.keys(filter.where).length) { - Object.keys(filter.where).forEach( + if (Object.keys(filter).length) { + Object.keys(filter).forEach( key => { let field = {}; - field[key] = filter.where[key]; + field[key] = filter[key]; newFilter.and.push(field); } ); } - filter.where = newFilter; + } else if (Object.keys(filter).length) { + newFilter = filter; } + + filter.where = newFilter; } function onFinish(err, results) { diff --git a/services/production/common/methods/ticket/change-worker.js b/services/production/common/methods/ticket/change-worker.js index c1fcea0809..896c8a7f9e 100644 --- a/services/production/common/methods/ticket/change-worker.js +++ b/services/production/common/methods/ticket/change-worker.js @@ -1,5 +1,5 @@ -module.exports = function(Ticket) { - Ticket.remoteMethodCtx('changeWorker', { +module.exports = function(Self) { + Self.remoteMethodCtx('changeWorker', { description: 'Change worker of tickets state', accepts: [ { @@ -11,7 +11,7 @@ module.exports = function(Ticket) { } ], returns: { - arg: 'response', + arg: 'response', type: 'boolean' }, http: { @@ -19,17 +19,29 @@ module.exports = function(Ticket) { path: '/:worker/changeWorker' } }); - - Ticket.changeWorker = function(ctx, worker, cb) { - var tickets = ctx.req.body.tickets; + + Self.changeWorker = function(ctx, worker, cb) { + let tickets = ctx.req.body.tickets; changeWorker(worker, tickets, cb); }; - let changeWorker = function(worker, tickets, cb) { - var FakeProduction = Ticket.app.models.FakeProduction; - - FakeProduction.updateAll({ticketFk: {inq: tickets}}, {workerFk: worker}, function(err, info){ - (err) ? cb(err, null) : cb(null, info); + function changeWorker(worker, tickets, cb) { + let ticketTracking = Self.app.models.ticketTracking; + let toSave = []; + for (let ticket of tickets) { + toSave.push( + { + stateFk: 20, + ticketFk: ticket, + workerFk: worker + } + ); + } + ticketTracking.create(toSave, function(err, info) { + if (err) + cb(err, null); + else + cb(null, info); }); - }; + } }; diff --git a/services/production/common/models/ticket-state.js b/services/production/common/models/ticket-state.js index 4c320c203f..2580d98db2 100644 --- a/services/production/common/models/ticket-state.js +++ b/services/production/common/models/ticket-state.js @@ -1,4 +1,4 @@ module.exports = function(Self) { require('../methods/ticket-state/change-state.js')(Self); -}; \ No newline at end of file +}; diff --git a/services/production/common/models/ticket-tracking.json b/services/production/common/models/ticket-tracking.json new file mode 100644 index 0000000000..bdf54191a6 --- /dev/null +++ b/services/production/common/models/ticket-tracking.json @@ -0,0 +1,33 @@ +{ + "name": "ticketTracking", + "base": "VnModel", + "properties": { + "id": { + "id": true, + "type": "Number", + "forceId": false + }, + "created": { + "type": "Date", + "required": false + } + }, + "relations": { + "ticket": { + "type": "belongsTo", + "model": "Ticket", + "foreignKey": "ticketFk" + }, + "state": { + "type": "belongsTo", + "model": "State", + "foreignKey": "stateFk" + }, + "worker": { + "type": "belongsTo", + "model": "worker", + "foreignKey": "workerFk" + } + } + } + \ No newline at end of file diff --git a/services/production/common/models/worker.json b/services/production/common/models/worker.json new file mode 100644 index 0000000000..cf34ee0c18 --- /dev/null +++ b/services/production/common/models/worker.json @@ -0,0 +1,31 @@ +{ + "name": "worker", + "base": "VnModel", + "properties": { + "id": { + "id": true, + "type": "Number", + "forceId": false + }, + "workerCode": { + "type": "String" + }, + "firstName": { + "type": "String" + }, + "name": { + "type": "String" + } + , + "phone": { + "type": "String" + } + }, + "relations": { + "user": { + "type": "belongsTo", + "model": "User", + "foreignKey": "userFk" + } + } +} \ No newline at end of file diff --git a/services/production/server/model-config.json b/services/production/server/model-config.json index 5ecf23cfe1..07e3368346 100644 --- a/services/production/server/model-config.json +++ b/services/production/server/model-config.json @@ -1,9 +1,9 @@ { "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -13,51 +13,57 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" }, "Ticket": { - "dataSource": "vn" + "dataSource": "salix" }, "State":{ - "dataSource": "vn" + "dataSource": "salix" }, "TicketState":{ - "dataSource": "vn" + "dataSource": "salix" }, "Warehouse":{ - "dataSource": "vn" + "dataSource": "salix" }, "Employee":{ - "dataSource": "vn" + "dataSource": "salix" }, "Client":{ "dataSource": "client" }, "Province":{ - "dataSource": "vn" + "dataSource": "salix" }, "Agency": { - "dataSource": "vn" + "dataSource": "salix" }, "FakeProduction": { - "dataSource": "vn" + "dataSource": "salix" }, "Message": { - "dataSource": "vn" + "dataSource": "salix" }, "MessageInbox": { - "dataSource": "vn" + "dataSource": "salix" }, "Route": { + "dataSource": "salix" + }, + "ticketTracking": { + "dataSource": "vn" + }, + "worker": { "dataSource": "vn" } diff --git a/services/production/server/server.js b/services/production/server/server.js index bc4b454c44..f0493dcd94 100644 --- a/services/production/server/server.js +++ b/services/production/server/server.js @@ -1,7 +1,4 @@ var vnLoopback = require('../../loopback/server/server.js'); var app = module.exports = vnLoopback.loopback(); -vnLoopback.boot(app, __dirname); -if (require.main === module) { - app.start(); -} +vnLoopback.boot(app, __dirname, module); diff --git a/services/route/server/model-config.json b/services/route/server/model-config.json index 032bbc8625..ee7a7241b9 100644 --- a/services/route/server/model-config.json +++ b/services/route/server/model-config.json @@ -1,9 +1,9 @@ { "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -13,16 +13,16 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" }, "Delivery": { "dataSource": "vn" diff --git a/services/route/server/server.js b/services/route/server/server.js index eda31589d9..030bbc1b49 100644 --- a/services/route/server/server.js +++ b/services/route/server/server.js @@ -2,7 +2,4 @@ var vnLoopback = require('../../loopback/server/server.js'); var app = module.exports = vnLoopback.loopback(); -vnLoopback.boot(app, __dirname); -if (require.main === module) { - app.start(); -} +vnLoopback.boot(app, __dirname, module); diff --git a/services/salix/server/boot/routes.js b/services/salix/server/boot/routes.js index 2fd57778a9..713f82e2ac 100644 --- a/services/salix/server/boot/routes.js +++ b/services/salix/server/boot/routes.js @@ -41,6 +41,20 @@ module.exports = function(app) { }); }); + app.get('/validateToken', function(req, res) { + let token = req.headers.authorization; + + validateToken(token, function(isValid) { + if (isValid) { + res.json(null); + } else { + res.status(401).json({ + message: 'Invalid token' + }); + } + }); + }); + function validateToken(tokenId, cb) { models.AccessToken.findById(tokenId, function(err, token) { if (token) { diff --git a/services/salix/server/model-config.json b/services/salix/server/model-config.json index 6bf5864372..2369e9e19b 100644 --- a/services/salix/server/model-config.json +++ b/services/salix/server/model-config.json @@ -1,9 +1,9 @@ { "user": { - "dataSource": "auth" + "dataSource": "salix" }, "AccessToken": { - "dataSource": "auth", + "dataSource": "salix", "relations": { "user": { "type": "belongsTo", @@ -13,15 +13,15 @@ } }, "ACL": { - "dataSource": "auth" + "dataSource": "salix" }, "RoleMapping": { - "dataSource": "auth" + "dataSource": "salix" }, "Role": { - "dataSource": "auth" + "dataSource": "salix" }, "Account": { - "dataSource": "auth" + "dataSource": "salix" } } diff --git a/services/salix/server/server.js b/services/salix/server/server.js index 4c7743f0d1..0fa36395b8 100644 --- a/services/salix/server/server.js +++ b/services/salix/server/server.js @@ -10,8 +10,4 @@ app.set('url auth', '/auth'); app.use(cookieParser()); -vnLoopback.boot(app, __dirname); - -if (require.main === module) { - app.start(); -} +vnLoopback.boot(app, __dirname, module); diff --git a/services_tests.js b/services_tests.js index 9a282490fc..1fb70fdb5a 100644 --- a/services_tests.js +++ b/services_tests.js @@ -1,5 +1,7 @@ require('babel-core/register')({presets: ['es2015']}); +process.env.NODE_ENV = 'test'; + process.on('warning', warning => { console.log(warning.name); console.log(warning.message); @@ -17,13 +19,12 @@ var jasmine = new Jasmine(); var SpecReporter = require('jasmine-spec-reporter').SpecReporter; jasmine.loadConfig({ - spec_dir: 'services/', + spec_dir: 'services', spec_files: [ - '**/specs/*[sS]pec.js' + 'client/common/**/*[sS]pec.js' ], helpers: [ - // to implement - // '/api/utils/jasmineHelpers.js' + '/services/utils/jasmineHelpers.js' ] }); @@ -36,6 +37,5 @@ jasmine.addReporter(new SpecReporter({ } })); -exports.start = () => { - jasmine.execute(); -}; +jasmine.execute(); +