diff --git a/back/methods/chat/sendMessage.js b/back/methods/chat/sendMessage.js new file mode 100644 index 0000000000..2ab07af8cd --- /dev/null +++ b/back/methods/chat/sendMessage.js @@ -0,0 +1,96 @@ +const request = require('request-promise-native'); +module.exports = Self => { + Self.remoteMethodCtx('sendMessage', { + description: 'Send a RocketChat message', + accessType: 'WRITE', + accepts: [{ + arg: 'to', + type: 'String', + required: true, + description: 'user (@) or channel (#) to send the message' + }, { + arg: 'message', + type: 'String', + required: true, + description: 'The message' + }], + returns: { + type: 'Object', + root: true + }, + http: { + path: `/sendMessage`, + verb: 'POST' + } + }); + + Self.sendMessage = async(ctx, to, message) => { + const models = Self.app.models; + const accessToken = ctx.req.accessToken; + const sender = await models.Account.findById(accessToken.userId); + const recipient = to.replace('@', ''); + + if (sender.name != recipient) + return sendMessage(to, `@${sender.name}: ${message}`); + }; + + async function sendMessage(name, message) { + const models = Self.app.models; + const chatConfig = await models.ChatConfig.findOne(); + + if (!Self.token) + Self.token = await login(); + + const uri = `${chatConfig.uri}/chat.postMessage`; + return send(uri, { + 'channel': name, + 'text': message + }).catch(async error => { + if (error.statusCode === 401 && !Self.loginAttempted) { + Self.token = await login(); + Self.loginAttempted = true; + + return sendMessage(name, message); + } + + throw new Error(error.message); + }); + } + + /** + * Returns a rocketchat token + * @return {Object} userId and authToken + */ + async function login() { + const models = Self.app.models; + const chatConfig = await models.ChatConfig.findOne(); + const uri = `${chatConfig.uri}/login`; + return send(uri, { + user: chatConfig.user, + password: chatConfig.password + }).then(res => res.data); + } + + function send(uri, body) { + if (process.env.NODE_ENV !== 'production') { + return new Promise(resolve => { + return resolve({statusCode: 200, message: 'Fake notification sent'}); + }); + } + + const options = { + method: 'POST', + uri: uri, + body: body, + headers: {'content-type': 'application/json'}, + json: true + }; + + if (Self.token) { + options.headers['X-Auth-Token'] = Self.token.authToken; + options.headers['X-User-Id'] = Self.token.userId; + } + + return request(options); + } +}; diff --git a/back/methods/chat/spec/send.spec.js b/back/methods/chat/spec/send.spec.js new file mode 100644 index 0000000000..ebb62a0c8b --- /dev/null +++ b/back/methods/chat/spec/send.spec.js @@ -0,0 +1,18 @@ +const app = require('vn-loopback/server/server'); + +describe('chat sendMessage()', () => { + it('should return a "Fake notification sent" as response', async() => { + let ctx = {req: {accessToken: {userId: 1}}}; + let response = await app.models.Chat.sendMessage(ctx, '@salesPerson', 'I changed something'); + + expect(response.statusCode).toEqual(200); + expect(response.message).toEqual('Fake notification sent'); + }); + + it('should not return a response', async() => { + let ctx = {req: {accessToken: {userId: 18}}}; + let response = await app.models.Chat.sendMessage(ctx, '@salesPerson', 'I changed something'); + + expect(response).toBeUndefined(); + }); +}); diff --git a/back/model-config.json b/back/model-config.json index 89f5178128..a770a200a1 100644 --- a/back/model-config.json +++ b/back/model-config.json @@ -14,6 +14,12 @@ "Container": { "dataSource": "storage" }, + "Chat": { + "dataSource": "vn" + }, + "ChatConfig": { + "dataSource": "vn" + }, "Delivery": { "dataSource": "vn" }, diff --git a/back/models/chat-config.json b/back/models/chat-config.json new file mode 100644 index 0000000000..12cd021cb6 --- /dev/null +++ b/back/models/chat-config.json @@ -0,0 +1,32 @@ +{ + "name": "ChatConfig", + "description": "Chat API config", + "base": "VnModel", + "options": { + "mysql": { + "table": "chatConfig" + } + }, + "properties": { + "id": { + "id": true, + "type": "Number", + "description": "Identifier" + }, + "uri": { + "type": "String" + }, + "user": { + "type": "String" + }, + "password": { + "type": "String" + } + }, + "acls": [{ + "accessType": "READ", + "principalType": "ROLE", + "principalId": "$everyone", + "permission": "ALLOW" + }] +} \ No newline at end of file diff --git a/back/models/chat.js b/back/models/chat.js new file mode 100644 index 0000000000..8086c6d3db --- /dev/null +++ b/back/models/chat.js @@ -0,0 +1,3 @@ +module.exports = Self => { + require('../methods/chat/sendMessage')(Self); +}; diff --git a/back/models/chat.json b/back/models/chat.json new file mode 100644 index 0000000000..697d8c1810 --- /dev/null +++ b/back/models/chat.json @@ -0,0 +1,12 @@ +{ + "name": "Chat", + "base": "VnModel", + "acls": [{ + "property": "validations", + "accessType": "EXECUTE", + "principalType": "ROLE", + "principalId": "$everyone", + "permission": "ALLOW" + }] +} + \ No newline at end of file diff --git a/db/changes/10100-AllSaints/00-zone.sql b/db/changes/10100-AllSaints/00-zone.sql index 1fae52f4ea..e2542505ae 100644 --- a/db/changes/10100-AllSaints/00-zone.sql +++ b/db/changes/10100-AllSaints/00-zone.sql @@ -35,9 +35,13 @@ CREATE TABLE `vn`.`zoneExclusion` ( KEY `zoneFk` (`zoneFk`), CONSTRAINT `zoneExclusion_ibfk_1` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; - ALTER TABLE `vn`.`zone` - DROP FOREIGN KEY `fk_zone_1`; +DROP FOREIGN KEY `fk_zone_1`; ALTER TABLE `vn`.`zone` - DROP COLUMN `warehouseFk`, - DROP INDEX `fk_zone_1_idx`; +CHANGE COLUMN `warehouseFk` `warehouseFk` SMALLINT(6) UNSIGNED NULL DEFAULT NULL ; +ALTER TABLE `vn`.`zone` +ADD CONSTRAINT `fk_zone_1` + FOREIGN KEY (`warehouseFk`) + REFERENCES `vn`.`warehouse` (`id`) + ON DELETE NO ACTION + ON UPDATE CASCADE; diff --git a/db/changes/10100-AllSaints/04-zone_getOptionsForLandingsql b/db/changes/10100-AllSaints/04-zone_getOptionsForLanding.sql similarity index 100% rename from db/changes/10100-AllSaints/04-zone_getOptionsForLandingsql rename to db/changes/10100-AllSaints/04-zone_getOptionsForLanding.sql diff --git a/db/changes/10110-postCampaign/00-chatConfig.sql b/db/changes/10110-postCampaign/00-chatConfig.sql new file mode 100644 index 0000000000..e0423bb860 --- /dev/null +++ b/db/changes/10110-postCampaign/00-chatConfig.sql @@ -0,0 +1,11 @@ +USE `vn`; + +CREATE TABLE `vn`.`chatConfig` ( + `id` INT NOT NULL AUTO_INCREMENT, + `uri` VARCHAR(255) NOT NULL, + `user` VARCHAR(50) NOT NULL, + `password` VARCHAR(50) NOT NULL, + PRIMARY KEY (`id`)); + + +INSERT INTO `vn`.`chatConfig` (`uri`, `user`, `password`) VALUES ('https://chat.verdnatura.es/api/v1', 'VnBot', 'Ub606cux7op.'); diff --git a/db/changes/10110-postCampaign/00-country.sql b/db/changes/10110-postCampaign/00-country.sql new file mode 100644 index 0000000000..dcc883ab8b --- /dev/null +++ b/db/changes/10110-postCampaign/00-country.sql @@ -0,0 +1,10 @@ +USE `vn`; + +UPDATE `vn`.`country` SET `ibanLength` = '24' WHERE (`id` = 1); +UPDATE `vn`.`country` SET `ibanLength` = '27' WHERE (`id` = 2); +UPDATE `vn`.`country` SET `ibanLength` = '22' WHERE (`id` = 3); +UPDATE `vn`.`country` SET `ibanLength` = '24' WHERE (`id` = 4); +UPDATE `vn`.`country` SET `ibanLength` = '18' WHERE (`id` = 5); +UPDATE `vn`.`country` SET `ibanLength` = '25' WHERE (`id` = 8); +UPDATE `vn`.`country` SET `ibanLength` = '27' WHERE (`id` = 19); +UPDATE `vn`.`country` SET `ibanLength` = '24' WHERE (`id` = 30); diff --git a/db/changes/10110-postCampaign/itemDiary.sql b/db/changes/10110-postCampaign/00-itemDiary.sql similarity index 100% rename from db/changes/10110-postCampaign/itemDiary.sql rename to db/changes/10110-postCampaign/00-itemDiary.sql diff --git a/db/changes/10110-postCampaign/00-sample.sql b/db/changes/10110-postCampaign/00-sample.sql new file mode 100644 index 0000000000..68e9d1a0f3 --- /dev/null +++ b/db/changes/10110-postCampaign/00-sample.sql @@ -0,0 +1,8 @@ +USE `vn`; + +UPDATE `vn`.`sample` SET `description` = 'Bienvenida como nuevo cliente' WHERE (`id` = '12'); +UPDATE `vn`.`sample` SET `description` = 'Instalación y configuración de impresora de coronas' WHERE (`id` = '13'); +UPDATE `vn`.`sample` SET `description` = 'Solicitud de domiciliación bancaria' WHERE (`id` = '14'); +UPDATE `vn`.`sample` SET `description` = 'Aviso inicial por saldo deudor' WHERE (`id` = '15'); +UPDATE `vn`.`sample` SET `description` = 'Aviso reiterado por saldo deudor' WHERE (`id` = '16'); +UPDATE `vn`.`sample` SET `isVisible` = '0' WHERE (`id` = '17'); diff --git a/db/changes/10110-postCampaign/00-ticketRequest.sql b/db/changes/10110-postCampaign/00-ticketRequest.sql new file mode 100644 index 0000000000..6974df5cdb --- /dev/null +++ b/db/changes/10110-postCampaign/00-ticketRequest.sql @@ -0,0 +1,86 @@ +USE `vn`; + +ALTER TABLE `vn`.`ticketRequest` +DROP FOREIGN KEY `fgnAtender`; +ALTER TABLE `vn`.`ticketRequest` +CHANGE COLUMN `atenderFk` `attenderFk` INT(11) NULL DEFAULT NULL ; +ALTER TABLE `vn`.`ticketRequest` +ADD CONSTRAINT `fgnAtender` + FOREIGN KEY (`attenderFk`) + REFERENCES `vn`.`worker` (`id`) + ON UPDATE CASCADE; + +USE `vn2008`; +CREATE + OR REPLACE ALGORITHM = UNDEFINED + DEFINER = `root`@`%` + SQL SECURITY DEFINER +VIEW `vn2008`.`Ordenes` AS + SELECT + `tr`.`id` AS `Id_ORDEN`, + `tr`.`description` AS `ORDEN`, + `tr`.`requesterFk` AS `requesterFk`, + `tr`.`attenderFk` AS `attenderFk`, + `tr`.`quantity` AS `CANTIDAD`, + `tr`.`itemFk` AS `Id_ARTICLE`, + `tr`.`price` AS `PRECIOMAX`, + `tr`.`isOk` AS `isOk`, + `tr`.`saleFk` AS `Id_Movimiento`, + `tr`.`ticketFk` AS `ticketFk`, + `tr`.`response` AS `COMENTARIO`, + `tr`.`created` AS `odbc_date`, + `tr`.`ordered` AS `datORDEN`, + `tr`.`shipped` AS `datTICKET`, + `tr`.`salesPersonCode` AS `CodVENDEDOR`, + `tr`.`buyerCode` AS `CodCOMPRADOR`, + `tr`.`price__` AS `PREU`, + `tr`.`clientFk` AS `Id_CLIENTE`, + `tr`.`ok__` AS `OK`, + `tr`.`total` AS `TOTAL`, + `tr`.`buyed` AS `datCOMPRA`, + `tr`.`ko__` AS `KO` + FROM + `vn`.`ticketRequest` `tr`; + +USE `vn`; + +DROP TRIGGER IF EXISTS `vn`.`ticketRequest_beforeInsert`; + +DELIMITER $$ +USE `vn`$$ +CREATE DEFINER=`root`@`%` TRIGGER `vn`.`ticketRequest_beforeInsert` BEFORE INSERT ON `ticketRequest` FOR EACH ROW +BEGIN + IF NEW.ticketFk IS NULL THEN + SET NEW.ticketFk = (SELECT s.ticketFk FROM sale s WHERE s.id = NEW.saleFk); + END IF; + + IF NEW.requesterFk IS NULL THEN + SET NEW.requesterFk = (SELECT w.id FROM worker w WHERE w.code = NEW.salesPersonCode); + END IF; + + IF NEW.attenderFk IS NULL THEN + SET NEW.attenderFk = (SELECT w.id FROM worker w WHERE w.code = NEW.buyerCode); + END IF; +END$$ +DELIMITER ; + + +DROP TRIGGER IF EXISTS `vn`.`ticketRequest_beforeUpdate`; + +DELIMITER $$ +USE `vn`$$ +CREATE DEFINER=`root`@`%` TRIGGER `vn`.`ticketRequest_beforeUpdate` BEFORE UPDATE ON `ticketRequest` FOR EACH ROW +BEGIN + IF NEW.saleFk <> OLD.saleFk THEN + SET NEW.ticketFk = (SELECT s.ticketFk FROM sale s WHERE s.id = NEW.saleFk); + END IF; + + IF NEW.salesPersonCode <> OLD.salesPersonCode THEN + SET NEW.requesterFk = (SELECT w.id FROM worker w WHERE w.code = NEW.salesPersonCode); + END IF; + + IF NEW.buyerCode <> OLD.buyerCode THEN + SET NEW.attenderFk = (SELECT w.id FROM worker w WHERE w.code = NEW.buyerCode); + END IF; +END$$ +DELIMITER ; \ No newline at end of file diff --git a/db/dump/dumpedFixtures.sql b/db/dump/dumpedFixtures.sql index 6c4962b997..96e49e2ddc 100644 --- a/db/dump/dumpedFixtures.sql +++ b/db/dump/dumpedFixtures.sql @@ -36,7 +36,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:03 +-- Dump completed on 2019-11-13 10:04:47 USE `account`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -71,7 +71,7 @@ UNLOCK TABLES; LOCK TABLES `roleInherit` WRITE; /*!40000 ALTER TABLE `roleInherit` DISABLE KEYS */; -INSERT INTO `roleInherit` VALUES (9,0),(66,0),(5,1),(13,1),(18,1),(31,1),(32,1),(34,1),(35,1),(37,1),(40,1),(42,1),(44,1),(47,1),(51,1),(53,1),(54,1),(56,1),(58,1),(1,2),(1,3),(30,5),(39,5),(60,5),(11,6),(1,11),(2,11),(3,11),(16,13),(20,13),(21,13),(22,13),(34,13),(41,13),(43,13),(45,13),(48,13),(50,13),(52,13),(55,13),(57,13),(59,13),(61,13),(16,15),(20,16),(21,18),(52,19),(65,19),(17,20),(30,20),(5,21),(19,21),(22,21),(39,21),(30,22),(5,33),(34,33),(15,35),(41,35),(52,35),(49,36),(61,36),(17,37),(38,37),(17,39),(41,40),(43,42),(36,44),(45,44),(36,47),(48,47),(50,49),(60,50),(65,50),(52,51),(21,53),(30,53),(55,54),(57,56),(39,57),(50,57),(60,57),(49,58),(59,58),(50,59),(17,64),(30,64),(38,64),(20,65); +INSERT INTO `roleInherit` VALUES (9,0),(66,0),(5,1),(13,1),(18,1),(31,1),(32,1),(34,1),(35,1),(37,1),(40,1),(42,1),(44,1),(47,1),(51,1),(53,1),(54,1),(56,1),(58,1),(1,2),(1,3),(30,5),(39,5),(60,5),(11,6),(1,11),(2,11),(3,11),(16,13),(20,13),(21,13),(22,13),(34,13),(41,13),(43,13),(45,13),(48,13),(50,13),(52,13),(55,13),(57,13),(59,13),(61,13),(16,15),(20,16),(21,18),(52,19),(65,19),(17,20),(30,20),(5,21),(19,21),(22,21),(39,21),(30,22),(5,33),(34,33),(15,35),(41,35),(52,35),(65,35),(49,36),(61,36),(17,37),(38,37),(17,39),(41,40),(43,42),(36,44),(45,44),(36,47),(48,47),(50,49),(60,50),(65,50),(52,51),(21,53),(30,53),(55,54),(57,56),(39,57),(50,57),(60,57),(49,58),(59,58),(50,59),(17,64),(30,64),(38,64),(20,65); /*!40000 ALTER TABLE `roleInherit` ENABLE KEYS */; UNLOCK TABLES; @@ -81,7 +81,7 @@ UNLOCK TABLES; LOCK TABLES `roleRole` WRITE; /*!40000 ALTER TABLE `roleRole` DISABLE KEYS */; -INSERT INTO `roleRole` VALUES (0,0),(0,1),(0,2),(0,3),(0,5),(0,6),(0,9),(0,11),(0,13),(0,15),(0,16),(0,17),(0,18),(0,19),(0,20),(0,21),(0,22),(0,30),(0,31),(0,32),(0,33),(0,34),(0,35),(0,36),(0,37),(0,38),(0,39),(0,40),(0,41),(0,42),(0,43),(0,44),(0,45),(0,47),(0,48),(0,49),(0,50),(0,51),(0,52),(0,53),(0,54),(0,55),(0,56),(0,57),(0,58),(0,59),(0,60),(0,61),(0,62),(0,64),(0,65),(0,66),(1,1),(1,2),(1,3),(1,6),(1,11),(2,2),(2,6),(2,11),(3,3),(3,6),(3,11),(5,1),(5,2),(5,3),(5,5),(5,6),(5,11),(5,13),(5,18),(5,21),(5,33),(5,53),(6,6),(9,0),(9,1),(9,2),(9,3),(9,5),(9,6),(9,9),(9,11),(9,13),(9,15),(9,16),(9,17),(9,18),(9,19),(9,20),(9,21),(9,22),(9,30),(9,31),(9,32),(9,33),(9,34),(9,35),(9,36),(9,37),(9,38),(9,39),(9,40),(9,41),(9,42),(9,43),(9,44),(9,45),(9,47),(9,48),(9,49),(9,50),(9,51),(9,52),(9,53),(9,54),(9,55),(9,56),(9,57),(9,58),(9,59),(9,60),(9,61),(9,62),(9,64),(9,65),(9,66),(11,6),(11,11),(13,1),(13,2),(13,3),(13,6),(13,11),(13,13),(15,1),(15,2),(15,3),(15,6),(15,11),(15,15),(15,35),(16,1),(16,2),(16,3),(16,6),(16,11),(16,13),(16,15),(16,16),(16,35),(17,1),(17,2),(17,3),(17,5),(17,6),(17,11),(17,13),(17,15),(17,16),(17,17),(17,18),(17,19),(17,20),(17,21),(17,33),(17,35),(17,36),(17,37),(17,39),(17,44),(17,47),(17,49),(17,50),(17,53),(17,56),(17,57),(17,58),(17,59),(17,64),(17,65),(18,1),(18,2),(18,3),(18,6),(18,11),(18,18),(19,1),(19,2),(19,3),(19,6),(19,11),(19,13),(19,18),(19,19),(19,21),(19,53),(20,1),(20,2),(20,3),(20,6),(20,11),(20,13),(20,15),(20,16),(20,18),(20,19),(20,20),(20,21),(20,35),(20,36),(20,44),(20,47),(20,49),(20,50),(20,53),(20,56),(20,57),(20,58),(20,59),(20,65),(21,1),(21,2),(21,3),(21,6),(21,11),(21,13),(21,18),(21,21),(21,53),(22,1),(22,2),(22,3),(22,6),(22,11),(22,13),(22,18),(22,21),(22,22),(22,53),(30,1),(30,2),(30,3),(30,5),(30,6),(30,11),(30,13),(30,15),(30,16),(30,18),(30,19),(30,20),(30,21),(30,22),(30,30),(30,33),(30,35),(30,36),(30,44),(30,47),(30,49),(30,50),(30,53),(30,56),(30,57),(30,58),(30,59),(30,64),(30,65),(31,1),(31,2),(31,3),(31,6),(31,11),(31,31),(32,1),(32,2),(32,3),(32,6),(32,11),(32,32),(33,33),(34,1),(34,2),(34,3),(34,6),(34,11),(34,13),(34,33),(34,34),(35,1),(35,2),(35,3),(35,6),(35,11),(35,35),(36,1),(36,2),(36,3),(36,6),(36,11),(36,36),(36,44),(36,47),(37,1),(37,2),(37,3),(37,6),(37,11),(37,37),(38,1),(38,2),(38,3),(38,6),(38,11),(38,37),(38,38),(38,64),(39,1),(39,2),(39,3),(39,5),(39,6),(39,11),(39,13),(39,18),(39,21),(39,33),(39,39),(39,53),(39,56),(39,57),(40,1),(40,2),(40,3),(40,6),(40,11),(40,40),(41,1),(41,2),(41,3),(41,6),(41,11),(41,13),(41,35),(41,40),(41,41),(42,1),(42,2),(42,3),(42,6),(42,11),(42,42),(43,1),(43,2),(43,3),(43,6),(43,11),(43,13),(43,42),(43,43),(44,1),(44,2),(44,3),(44,6),(44,11),(44,44),(45,1),(45,2),(45,3),(45,6),(45,11),(45,13),(45,44),(45,45),(47,1),(47,2),(47,3),(47,6),(47,11),(47,47),(48,1),(48,2),(48,3),(48,6),(48,11),(48,13),(48,47),(48,48),(49,1),(49,2),(49,3),(49,6),(49,11),(49,36),(49,44),(49,47),(49,49),(49,58),(50,1),(50,2),(50,3),(50,6),(50,11),(50,13),(50,36),(50,44),(50,47),(50,49),(50,50),(50,56),(50,57),(50,58),(50,59),(51,1),(51,2),(51,3),(51,6),(51,11),(51,51),(52,1),(52,2),(52,3),(52,6),(52,11),(52,13),(52,18),(52,19),(52,21),(52,35),(52,51),(52,52),(52,53),(53,1),(53,2),(53,3),(53,6),(53,11),(53,53),(54,1),(54,2),(54,3),(54,6),(54,11),(54,54),(55,1),(55,2),(55,3),(55,6),(55,11),(55,13),(55,54),(55,55),(56,1),(56,2),(56,3),(56,6),(56,11),(56,56),(57,1),(57,2),(57,3),(57,6),(57,11),(57,13),(57,56),(57,57),(58,1),(58,2),(58,3),(58,6),(58,11),(58,58),(59,1),(59,2),(59,3),(59,6),(59,11),(59,13),(59,58),(59,59),(60,1),(60,2),(60,3),(60,5),(60,6),(60,11),(60,13),(60,18),(60,21),(60,33),(60,36),(60,44),(60,47),(60,49),(60,50),(60,53),(60,56),(60,57),(60,58),(60,59),(60,60),(61,1),(61,2),(61,3),(61,6),(61,11),(61,13),(61,36),(61,44),(61,47),(61,61),(62,62),(64,64),(65,1),(65,2),(65,3),(65,6),(65,11),(65,13),(65,18),(65,19),(65,21),(65,36),(65,44),(65,47),(65,49),(65,50),(65,53),(65,56),(65,57),(65,58),(65,59),(65,65),(66,0),(66,1),(66,2),(66,3),(66,5),(66,6),(66,9),(66,11),(66,13),(66,15),(66,16),(66,17),(66,18),(66,19),(66,20),(66,21),(66,22),(66,30),(66,31),(66,32),(66,33),(66,34),(66,35),(66,36),(66,37),(66,38),(66,39),(66,40),(66,41),(66,42),(66,43),(66,44),(66,45),(66,47),(66,48),(66,49),(66,50),(66,51),(66,52),(66,53),(66,54),(66,55),(66,56),(66,57),(66,58),(66,59),(66,60),(66,61),(66,62),(66,64),(66,65),(66,66); +INSERT INTO `roleRole` VALUES (0,0),(0,1),(0,2),(0,3),(0,5),(0,6),(0,9),(0,11),(0,13),(0,15),(0,16),(0,17),(0,18),(0,19),(0,20),(0,21),(0,22),(0,30),(0,31),(0,32),(0,33),(0,34),(0,35),(0,36),(0,37),(0,38),(0,39),(0,40),(0,41),(0,42),(0,43),(0,44),(0,45),(0,47),(0,48),(0,49),(0,50),(0,51),(0,52),(0,53),(0,54),(0,55),(0,56),(0,57),(0,58),(0,59),(0,60),(0,61),(0,62),(0,64),(0,65),(0,66),(1,1),(1,2),(1,3),(1,6),(1,11),(2,2),(2,6),(2,11),(3,3),(3,6),(3,11),(5,1),(5,2),(5,3),(5,5),(5,6),(5,11),(5,13),(5,18),(5,21),(5,33),(5,53),(6,6),(9,0),(9,1),(9,2),(9,3),(9,5),(9,6),(9,9),(9,11),(9,13),(9,15),(9,16),(9,17),(9,18),(9,19),(9,20),(9,21),(9,22),(9,30),(9,31),(9,32),(9,33),(9,34),(9,35),(9,36),(9,37),(9,38),(9,39),(9,40),(9,41),(9,42),(9,43),(9,44),(9,45),(9,47),(9,48),(9,49),(9,50),(9,51),(9,52),(9,53),(9,54),(9,55),(9,56),(9,57),(9,58),(9,59),(9,60),(9,61),(9,62),(9,64),(9,65),(9,66),(11,6),(11,11),(13,1),(13,2),(13,3),(13,6),(13,11),(13,13),(15,1),(15,2),(15,3),(15,6),(15,11),(15,15),(15,35),(16,1),(16,2),(16,3),(16,6),(16,11),(16,13),(16,15),(16,16),(16,35),(17,1),(17,2),(17,3),(17,5),(17,6),(17,11),(17,13),(17,15),(17,16),(17,17),(17,18),(17,19),(17,20),(17,21),(17,33),(17,35),(17,36),(17,37),(17,39),(17,44),(17,47),(17,49),(17,50),(17,53),(17,56),(17,57),(17,58),(17,59),(17,64),(17,65),(18,1),(18,2),(18,3),(18,6),(18,11),(18,18),(19,1),(19,2),(19,3),(19,6),(19,11),(19,13),(19,18),(19,19),(19,21),(19,53),(20,1),(20,2),(20,3),(20,6),(20,11),(20,13),(20,15),(20,16),(20,18),(20,19),(20,20),(20,21),(20,35),(20,36),(20,44),(20,47),(20,49),(20,50),(20,53),(20,56),(20,57),(20,58),(20,59),(20,65),(21,1),(21,2),(21,3),(21,6),(21,11),(21,13),(21,18),(21,21),(21,53),(22,1),(22,2),(22,3),(22,6),(22,11),(22,13),(22,18),(22,21),(22,22),(22,53),(30,1),(30,2),(30,3),(30,5),(30,6),(30,11),(30,13),(30,15),(30,16),(30,18),(30,19),(30,20),(30,21),(30,22),(30,30),(30,33),(30,35),(30,36),(30,44),(30,47),(30,49),(30,50),(30,53),(30,56),(30,57),(30,58),(30,59),(30,64),(30,65),(31,1),(31,2),(31,3),(31,6),(31,11),(31,31),(32,1),(32,2),(32,3),(32,6),(32,11),(32,32),(33,33),(34,1),(34,2),(34,3),(34,6),(34,11),(34,13),(34,33),(34,34),(35,1),(35,2),(35,3),(35,6),(35,11),(35,35),(36,1),(36,2),(36,3),(36,6),(36,11),(36,36),(36,44),(36,47),(37,1),(37,2),(37,3),(37,6),(37,11),(37,37),(38,1),(38,2),(38,3),(38,6),(38,11),(38,37),(38,38),(38,64),(39,1),(39,2),(39,3),(39,5),(39,6),(39,11),(39,13),(39,18),(39,21),(39,33),(39,39),(39,53),(39,56),(39,57),(40,1),(40,2),(40,3),(40,6),(40,11),(40,40),(41,1),(41,2),(41,3),(41,6),(41,11),(41,13),(41,35),(41,40),(41,41),(42,1),(42,2),(42,3),(42,6),(42,11),(42,42),(43,1),(43,2),(43,3),(43,6),(43,11),(43,13),(43,42),(43,43),(44,1),(44,2),(44,3),(44,6),(44,11),(44,44),(45,1),(45,2),(45,3),(45,6),(45,11),(45,13),(45,44),(45,45),(47,1),(47,2),(47,3),(47,6),(47,11),(47,47),(48,1),(48,2),(48,3),(48,6),(48,11),(48,13),(48,47),(48,48),(49,1),(49,2),(49,3),(49,6),(49,11),(49,36),(49,44),(49,47),(49,49),(49,58),(50,1),(50,2),(50,3),(50,6),(50,11),(50,13),(50,36),(50,44),(50,47),(50,49),(50,50),(50,56),(50,57),(50,58),(50,59),(51,1),(51,2),(51,3),(51,6),(51,11),(51,51),(52,1),(52,2),(52,3),(52,6),(52,11),(52,13),(52,18),(52,19),(52,21),(52,35),(52,51),(52,52),(52,53),(53,1),(53,2),(53,3),(53,6),(53,11),(53,53),(54,1),(54,2),(54,3),(54,6),(54,11),(54,54),(55,1),(55,2),(55,3),(55,6),(55,11),(55,13),(55,54),(55,55),(56,1),(56,2),(56,3),(56,6),(56,11),(56,56),(57,1),(57,2),(57,3),(57,6),(57,11),(57,13),(57,56),(57,57),(58,1),(58,2),(58,3),(58,6),(58,11),(58,58),(59,1),(59,2),(59,3),(59,6),(59,11),(59,13),(59,58),(59,59),(60,1),(60,2),(60,3),(60,5),(60,6),(60,11),(60,13),(60,18),(60,21),(60,33),(60,36),(60,44),(60,47),(60,49),(60,50),(60,53),(60,56),(60,57),(60,58),(60,59),(60,60),(61,1),(61,2),(61,3),(61,6),(61,11),(61,13),(61,36),(61,44),(61,47),(61,61),(62,62),(64,64),(65,1),(65,2),(65,3),(65,6),(65,11),(65,13),(65,18),(65,19),(65,21),(65,35),(65,36),(65,44),(65,47),(65,49),(65,50),(65,53),(65,56),(65,57),(65,58),(65,59),(65,65),(66,0),(66,1),(66,2),(66,3),(66,5),(66,6),(66,9),(66,11),(66,13),(66,15),(66,16),(66,17),(66,18),(66,19),(66,20),(66,21),(66,22),(66,30),(66,31),(66,32),(66,33),(66,34),(66,35),(66,36),(66,37),(66,38),(66,39),(66,40),(66,41),(66,42),(66,43),(66,44),(66,45),(66,47),(66,48),(66,49),(66,50),(66,51),(66,52),(66,53),(66,54),(66,55),(66,56),(66,57),(66,58),(66,59),(66,60),(66,61),(66,62),(66,64),(66,65),(66,66); /*!40000 ALTER TABLE `roleRole` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -94,7 +94,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:04 +-- Dump completed on 2019-11-13 10:04:48 USE `salix`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -142,7 +142,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:04 +-- Dump completed on 2019-11-13 10:04:48 USE `vn`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -290,6 +290,16 @@ LOCK TABLES `state` WRITE; INSERT INTO `state` VALUES (1,'Arreglar',2,0,'FIXING',NULL,1,0,0),(2,'Libre',1,0,'FREE',NULL,2,0,0),(3,'OK',3,0,'OK',3,28,1,0),(4,'Impreso',4,1,'PRINTED',2,29,1,0),(5,'Preparación',5,1,'ON_PREPARATION',7,5,0,0),(6,'En Revisión',7,1,'ON_CHECKING',NULL,6,0,1),(7,'Sin Acabar',2,0,'NOT_READY',NULL,7,0,0),(8,'Revisado',8,1,'CHECKED',NULL,8,0,1),(9,'Encajando',9,1,'PACKING',NULL,9,0,1),(10,'Encajado',10,2,'PACKED',NULL,10,0,1),(11,'Facturado',0,0,'INVOICED',NULL,11,0,1),(12,'Bloqueado',0,0,'BLOCKED',NULL,12,0,0),(13,'En Reparto',11,3,'ON_DELIVERY',NULL,13,0,1),(14,'Preparado',6,1,'PREPARED',NULL,14,0,1),(15,'Pte Recogida',12,3,'WAITING_FOR_PICKUP',NULL,15,0,1),(16,'Entregado',13,3,'DELIVERED',NULL,16,0,1),(17,'Eliminado',14,3,'ERASED',NULL,17,0,0),(20,'Asignado',4,1,'PICKER_DESIGNED',NULL,20,1,0),(21,'Retornado',4,1,'PRINTED_BACK',6,21,0,0),(22,'¿Fecha?',2,0,'WRONG_DATE',NULL,22,0,0),(23,'URGENTE',2,0,'LAST_CALL',NULL,23,1,0),(24,'Encadenado',3,0,'CHAINED',4,24,0,0),(25,'Embarcando',3,0,'BOARDING',5,25,0,0),(26,'Prep Previa',5,1,'PREVIOUS_PREPARATION',1,26,0,0),(27,'Prep Asistida',5,1,'ASSISTED_PREPARATION',7,27,0,0),(28,'Previa OK',3,1,'OK PREVIOUS',3,28,1,0),(29,'Previa Impreso',4,1,'PRINTED PREVIOUS',2,29,1,0); /*!40000 ALTER TABLE `state` ENABLE KEYS */; UNLOCK TABLES; + +-- +-- Dumping data for table `sample` +-- + +LOCK TABLES `sample` WRITE; +/*!40000 ALTER TABLE `sample` DISABLE KEYS */; +INSERT INTO `sample` VALUES (1,'Carta_1','Aviso inicial por saldo deudor',0,'0'),(2,'Carta_2','Reiteracion de aviso por saldo deudor',0,'0'),(3,'Cred_Up','Notificación de aumento de crédito',0,'0'),(4,'Cred_down','Notificación de reducción de crédito',0,'0'),(5,'Pet_CC','Petición de datos bancarios B2B',0,'0'),(6,'SolCredito','Solicitud de crédito',0,'0'),(7,'LeyPago','Ley de pagos',0,'0'),(8,'Pet_CC_Core','Petición de datos bancarios CORE',0,'0'),(9,'nueva_alta','Documento de nueva alta de cliente',0,'0'),(10,'client_welcome','Email de bienvenida para nuevo cliente',0,'0'),(11,'setup_printer','Email de instalación de impresora',0,'0'),(12,'client-welcome','Email de bienvenida como nuevo cliente',1,'0'),(13,'printer-setup','Email de instalación y configuración de impresora de coronas',1,'0'),(14,'sepa-core','Email de solicitud de datos bancarios core',1,'1'),(15,'letter-debtor-st','Email de aviso inicial por saldo deudor',1,'1'),(16,'letter-debtor-nd','Email de aviso reiterado por saldo deudor',1,'1'),(17,'client-lcr','Email de solicitud de datos bancarios LCR',1,'1'); +/*!40000 ALTER TABLE `sample` ENABLE KEYS */; +UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; @@ -300,7 +310,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:05 +-- Dump completed on 2019-11-13 10:04:48 USE `vn2008`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -319,6 +329,16 @@ USE `vn2008`; /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; +-- +-- Dumping data for table `time` +-- + +LOCK TABLES `time` WRITE; +/*!40000 ALTER TABLE `time` DISABLE KEYS */; +INSERT INTO `time` VALUES ('2007-12-31',200801,12,2007,31,1,200712),('2008-01-01',200801,1,2008,1,1,200801),('2008-01-02',200801,1,2008,2,1,200801),('2008-01-03',200801,1,2008,3,1,200801),('2008-01-04',200801,1,2008,4,1,200801),('2008-01-05',200801,1,2008,5,1,200801),('2008-01-06',200802,1,2008,6,2,200801),('2008-01-07',200802,1,2008,7,2,200801),('2008-01-08',200802,1,2008,8,2,200801),('2008-01-09',200802,1,2008,9,2,200801),('2008-01-10',200802,1,2008,10,2,200801),('2008-01-11',200802,1,2008,11,2,200801),('2008-01-12',200802,1,2008,12,2,200801),('2008-01-13',200803,1,2008,13,3,200801),('2008-01-14',200803,1,2008,14,3,200801),('2008-01-15',200803,1,2008,15,3,200801),('2008-01-16',200803,1,2008,16,3,200801),('2008-01-17',200803,1,2008,17,3,200801),('2008-01-18',200803,1,2008,18,3,200801),('2008-01-19',200803,1,2008,19,3,200801),('2008-01-20',200804,1,2008,20,4,200801),('2008-01-21',200804,1,2008,21,4,200801),('2008-01-22',200804,1,2008,22,4,200801),('2008-01-23',200804,1,2008,23,4,200801),('2008-01-24',200804,1,2008,24,4,200801),('2008-01-25',200804,1,2008,25,4,200801),('2008-01-26',200804,1,2008,26,4,200801),('2008-01-27',200805,1,2008,27,5,200801),('2008-01-28',200805,1,2008,28,5,200801),('2008-01-29',200805,1,2008,29,5,200801),('2008-01-30',200805,1,2008,30,5,200801),('2008-01-31',200805,1,2008,31,5,200801),('2008-02-01',200805,2,2008,1,5,200802),('2008-02-02',200805,2,2008,2,5,200802),('2008-02-03',200806,2,2008,3,6,200802),('2008-02-04',200806,2,2008,4,6,200802),('2008-02-05',200806,2,2008,5,6,200802),('2008-02-06',200806,2,2008,6,6,200802),('2008-02-07',200806,2,2008,7,6,200802),('2008-02-08',200806,2,2008,8,6,200802),('2008-02-09',200806,2,2008,9,6,200802),('2008-02-10',200807,2,2008,10,7,200802),('2008-02-11',200807,2,2008,11,7,200802),('2008-02-12',200807,2,2008,12,7,200802),('2008-02-13',200807,2,2008,13,7,200802),('2008-02-14',200807,2,2008,14,7,200802),('2008-02-15',200807,2,2008,15,7,200802),('2008-02-16',200807,2,2008,16,7,200802),('2008-02-17',200808,2,2008,17,8,200802),('2008-02-18',200808,2,2008,18,8,200802),('2008-02-19',200808,2,2008,19,8,200802),('2008-02-20',200808,2,2008,20,8,200802),('2008-02-21',200808,2,2008,21,8,200802),('2008-02-22',200808,2,2008,22,8,200802),('2008-02-23',200808,2,2008,23,8,200802),('2008-02-24',200809,2,2008,24,9,200802),('2008-02-25',200809,2,2008,25,9,200802),('2008-02-26',200809,2,2008,26,9,200802),('2008-02-27',200809,2,2008,27,9,200802),('2008-02-28',200809,2,2008,28,9,200802),('2008-02-29',200809,2,2008,29,9,200802),('2008-03-01',200809,3,2008,1,9,200803),('2008-03-02',200810,3,2008,2,10,200803),('2008-03-03',200810,3,2008,3,10,200803),('2008-03-04',200810,3,2008,4,10,200803),('2008-03-05',200810,3,2008,5,10,200803),('2008-03-06',200810,3,2008,6,10,200803),('2008-03-07',200810,3,2008,7,10,200803),('2008-03-08',200810,3,2008,8,10,200803),('2008-03-09',200811,3,2008,9,11,200803),('2008-03-10',200811,3,2008,10,11,200803),('2008-03-11',200811,3,2008,11,11,200803),('2008-03-12',200811,3,2008,12,11,200803),('2008-03-13',200811,3,2008,13,11,200803),('2008-03-14',200811,3,2008,14,11,200803),('2008-03-15',200811,3,2008,15,11,200803),('2008-03-16',200812,3,2008,16,12,200803),('2008-03-17',200812,3,2008,17,12,200803),('2008-03-18',200812,3,2008,18,12,200803),('2008-03-19',200812,3,2008,19,12,200803),('2008-03-20',200812,3,2008,20,12,200803),('2008-03-21',200812,3,2008,21,12,200803),('2008-03-22',200812,3,2008,22,12,200803),('2008-03-23',200813,3,2008,23,13,200803),('2008-03-24',200813,3,2008,24,13,200803),('2008-03-25',200813,3,2008,25,13,200803),('2008-03-26',200813,3,2008,26,13,200803),('2008-03-27',200813,3,2008,27,13,200803),('2008-03-28',200813,3,2008,28,13,200803),('2008-03-29',200813,3,2008,29,13,200803),('2008-03-30',200814,3,2008,30,14,200803),('2008-03-31',200814,3,2008,31,14,200803),('2008-04-01',200814,4,2008,1,14,200804),('2008-04-02',200814,4,2008,2,14,200804),('2008-04-03',200814,4,2008,3,14,200804),('2008-04-04',200814,4,2008,4,14,200804),('2008-04-05',200814,4,2008,5,14,200804),('2008-04-06',200815,4,2008,6,15,200804),('2008-04-07',200815,4,2008,7,15,200804),('2008-04-08',200815,4,2008,8,15,200804),('2008-04-09',200815,4,2008,9,15,200804),('2008-04-10',200815,4,2008,10,15,200804),('2008-04-11',200815,4,2008,11,15,200804),('2008-04-12',200815,4,2008,12,15,200804),('2008-04-13',200816,4,2008,13,16,200804),('2008-04-14',200816,4,2008,14,16,200804),('2008-04-15',200816,4,2008,15,16,200804),('2008-04-16',200816,4,2008,16,16,200804),('2008-04-17',200816,4,2008,17,16,200804),('2008-04-18',200816,4,2008,18,16,200804),('2008-04-19',200816,4,2008,19,16,200804),('2008-04-20',200817,4,2008,20,17,200804),('2008-04-21',200817,4,2008,21,17,200804),('2008-04-22',200817,4,2008,22,17,200804),('2008-04-23',200817,4,2008,23,17,200804),('2008-04-24',200817,4,2008,24,17,200804),('2008-04-25',200817,4,2008,25,17,200804),('2008-04-26',200817,4,2008,26,17,200804),('2008-04-27',200818,4,2008,27,18,200804),('2008-04-28',200818,4,2008,28,18,200804),('2008-04-29',200818,4,2008,29,18,200804),('2008-04-30',200818,4,2008,30,18,200804),('2008-05-01',200818,5,2008,1,18,200805),('2008-05-02',200818,5,2008,2,18,200805),('2008-05-03',200818,5,2008,3,18,200805),('2008-05-04',200819,5,2008,4,19,200805),('2008-05-05',200819,5,2008,5,19,200805),('2008-05-06',200819,5,2008,6,19,200805),('2008-05-07',200819,5,2008,7,19,200805),('2008-05-08',200819,5,2008,8,19,200805),('2008-05-09',200819,5,2008,9,19,200805),('2008-05-10',200819,5,2008,10,19,200805),('2008-05-11',200820,5,2008,11,20,200805),('2008-05-12',200820,5,2008,12,20,200805),('2008-05-13',200820,5,2008,13,20,200805),('2008-05-14',200820,5,2008,14,20,200805),('2008-05-15',200820,5,2008,15,20,200805),('2008-05-16',200820,5,2008,16,20,200805),('2008-05-17',200820,5,2008,17,20,200805),('2008-05-18',200821,5,2008,18,21,200805),('2008-05-19',200821,5,2008,19,21,200805),('2008-05-20',200821,5,2008,20,21,200805),('2008-05-21',200821,5,2008,21,21,200805),('2008-05-22',200821,5,2008,22,21,200805),('2008-05-23',200821,5,2008,23,21,200805),('2008-05-24',200821,5,2008,24,21,200805),('2008-05-25',200822,5,2008,25,22,200805),('2008-05-26',200822,5,2008,26,22,200805),('2008-05-27',200822,5,2008,27,22,200805),('2008-05-28',200822,5,2008,28,22,200805),('2008-05-29',200822,5,2008,29,22,200805),('2008-05-30',200822,5,2008,30,22,200805),('2008-05-31',200822,5,2008,31,22,200805),('2008-06-01',200823,6,2008,1,23,200806),('2008-06-02',200823,6,2008,2,23,200806),('2008-06-03',200823,6,2008,3,23,200806),('2008-06-04',200823,6,2008,4,23,200806),('2008-06-05',200823,6,2008,5,23,200806),('2008-06-06',200823,6,2008,6,23,200806),('2008-06-07',200823,6,2008,7,23,200806),('2008-06-08',200824,6,2008,8,24,200806),('2008-06-09',200824,6,2008,9,24,200806),('2008-06-10',200824,6,2008,10,24,200806),('2008-06-11',200824,6,2008,11,24,200806),('2008-06-12',200824,6,2008,12,24,200806),('2008-06-13',200824,6,2008,13,24,200806),('2008-06-14',200824,6,2008,14,24,200806),('2008-06-15',200825,6,2008,15,25,200806),('2008-06-16',200825,6,2008,16,25,200806),('2008-06-17',200825,6,2008,17,25,200806),('2008-06-18',200825,6,2008,18,25,200806),('2008-06-19',200825,6,2008,19,25,200806),('2008-06-20',200825,6,2008,20,25,200806),('2008-06-21',200825,6,2008,21,25,200806),('2008-06-22',200826,6,2008,22,26,200806),('2008-06-23',200826,6,2008,23,26,200806),('2008-06-24',200826,6,2008,24,26,200806),('2008-06-25',200826,6,2008,25,26,200806),('2008-06-26',200826,6,2008,26,26,200806),('2008-06-27',200826,6,2008,27,26,200806),('2008-06-28',200826,6,2008,28,26,200806),('2008-06-29',200827,6,2008,29,27,200806),('2008-06-30',200827,6,2008,30,27,200806),('2008-07-01',200827,7,2008,1,27,200807),('2008-07-02',200827,7,2008,2,27,200807),('2008-07-03',200827,7,2008,3,27,200807),('2008-07-04',200827,7,2008,4,27,200807),('2008-07-05',200827,7,2008,5,27,200807),('2008-07-06',200828,7,2008,6,28,200807),('2008-07-07',200828,7,2008,7,28,200807),('2008-07-08',200828,7,2008,8,28,200807),('2008-07-09',200828,7,2008,9,28,200807),('2008-07-10',200828,7,2008,10,28,200807),('2008-07-11',200828,7,2008,11,28,200807),('2008-07-12',200828,7,2008,12,28,200807),('2008-07-13',200829,7,2008,13,29,200807),('2008-07-14',200829,7,2008,14,29,200807),('2008-07-15',200829,7,2008,15,29,200807),('2008-07-16',200829,7,2008,16,29,200807),('2008-07-17',200829,7,2008,17,29,200807),('2008-07-18',200829,7,2008,18,29,200807),('2008-07-19',200829,7,2008,19,29,200807),('2008-07-20',200830,7,2008,20,30,200807),('2008-07-21',200830,7,2008,21,30,200807),('2008-07-22',200830,7,2008,22,30,200807),('2008-07-23',200830,7,2008,23,30,200807),('2008-07-24',200830,7,2008,24,30,200807),('2008-07-25',200830,7,2008,25,30,200807),('2008-07-26',200830,7,2008,26,30,200807),('2008-07-27',200831,7,2008,27,31,200807),('2008-07-28',200831,7,2008,28,31,200807),('2008-07-29',200831,7,2008,29,31,200807),('2008-07-30',200831,7,2008,30,31,200807),('2008-07-31',200831,7,2008,31,31,200807),('2008-08-01',200831,8,2008,1,31,200808),('2008-08-02',200831,8,2008,2,31,200808),('2008-08-03',200832,8,2008,3,32,200808),('2008-08-04',200832,8,2008,4,32,200808),('2008-08-05',200832,8,2008,5,32,200808),('2008-08-06',200832,8,2008,6,32,200808),('2008-08-07',200832,8,2008,7,32,200808),('2008-08-08',200832,8,2008,8,32,200808),('2008-08-09',200832,8,2008,9,32,200808),('2008-08-10',200833,8,2008,10,33,200808),('2008-08-11',200833,8,2008,11,33,200808),('2008-08-12',200833,8,2008,12,33,200808),('2008-08-13',200833,8,2008,13,33,200808),('2008-08-14',200833,8,2008,14,33,200808),('2008-08-15',200833,8,2008,15,33,200808),('2008-08-16',200833,8,2008,16,33,200808),('2008-08-17',200834,8,2008,17,34,200808),('2008-08-18',200834,8,2008,18,34,200808),('2008-08-19',200834,8,2008,19,34,200808),('2008-08-20',200834,8,2008,20,34,200808),('2008-08-21',200834,8,2008,21,34,200808),('2008-08-22',200834,8,2008,22,34,200808),('2008-08-23',200834,8,2008,23,34,200808),('2008-08-24',200835,8,2008,24,35,200808),('2008-08-25',200835,8,2008,25,35,200808),('2008-08-26',200835,8,2008,26,35,200808),('2008-08-27',200835,8,2008,27,35,200808),('2008-08-28',200835,8,2008,28,35,200808),('2008-08-29',200835,8,2008,29,35,200808),('2008-08-30',200835,8,2008,30,35,200808),('2008-08-31',200836,8,2008,31,36,200808),('2008-09-01',200836,9,2008,1,36,200809),('2008-09-02',200836,9,2008,2,36,200809),('2008-09-03',200836,9,2008,3,36,200809),('2008-09-04',200836,9,2008,4,36,200809),('2008-09-05',200836,9,2008,5,36,200809),('2008-09-06',200836,9,2008,6,36,200809),('2008-09-07',200837,9,2008,7,37,200809),('2008-09-08',200837,9,2008,8,37,200809),('2008-09-09',200837,9,2008,9,37,200809),('2008-09-10',200837,9,2008,10,37,200809),('2008-09-11',200837,9,2008,11,37,200809),('2008-09-12',200837,9,2008,12,37,200809),('2008-09-13',200837,9,2008,13,37,200809),('2008-09-14',200838,9,2008,14,38,200809),('2008-09-15',200838,9,2008,15,38,200809),('2008-09-16',200838,9,2008,16,38,200809),('2008-09-17',200838,9,2008,17,38,200809),('2008-09-18',200838,9,2008,18,38,200809),('2008-09-19',200838,9,2008,19,38,200809),('2008-09-20',200838,9,2008,20,38,200809),('2008-09-21',200839,9,2008,21,39,200809),('2008-09-22',200839,9,2008,22,39,200809),('2008-09-23',200839,9,2008,23,39,200809),('2008-09-24',200839,9,2008,24,39,200809),('2008-09-25',200839,9,2008,25,39,200809),('2008-09-26',200839,9,2008,26,39,200809),('2008-09-27',200839,9,2008,27,39,200809),('2008-09-28',200840,9,2008,28,40,200809),('2008-09-29',200840,9,2008,29,40,200809),('2008-09-30',200840,9,2008,30,40,200809),('2008-10-01',200840,10,2008,1,40,200810),('2008-10-02',200840,10,2008,2,40,200810),('2008-10-03',200840,10,2008,3,40,200810),('2008-10-04',200840,10,2008,4,40,200810),('2008-10-05',200841,10,2008,5,41,200810),('2008-10-06',200841,10,2008,6,41,200810),('2008-10-07',200841,10,2008,7,41,200810),('2008-10-08',200841,10,2008,8,41,200810),('2008-10-09',200841,10,2008,9,41,200810),('2008-10-10',200841,10,2008,10,41,200810),('2008-10-11',200841,10,2008,11,41,200810),('2008-10-12',200842,10,2008,12,42,200810),('2008-10-13',200842,10,2008,13,42,200810),('2008-10-14',200842,10,2008,14,42,200810),('2008-10-15',200842,10,2008,15,42,200810),('2008-10-16',200842,10,2008,16,42,200810),('2008-10-17',200842,10,2008,17,42,200810),('2008-10-18',200842,10,2008,18,42,200810),('2008-10-19',200843,10,2008,19,43,200810),('2008-10-20',200843,10,2008,20,43,200810),('2008-10-21',200843,10,2008,21,43,200810),('2008-10-22',200843,10,2008,22,43,200810),('2008-10-23',200843,10,2008,23,43,200810),('2008-10-24',200843,10,2008,24,43,200810),('2008-10-25',200843,10,2008,25,43,200810),('2008-10-26',200844,10,2008,26,44,200810),('2008-10-27',200844,10,2008,27,44,200810),('2008-10-28',200844,10,2008,28,44,200810),('2008-10-29',200844,10,2008,29,44,200810),('2008-10-30',200844,10,2008,30,44,200810),('2008-10-31',200844,10,2008,31,44,200810),('2008-11-01',200844,11,2008,1,44,200811),('2008-11-02',200845,11,2008,2,45,200811),('2008-11-03',200845,11,2008,3,45,200811),('2008-11-04',200845,11,2008,4,45,200811),('2008-11-05',200845,11,2008,5,45,200811),('2008-11-06',200845,11,2008,6,45,200811),('2008-11-07',200845,11,2008,7,45,200811),('2008-11-08',200845,11,2008,8,45,200811),('2008-11-09',200846,11,2008,9,46,200811),('2008-11-10',200846,11,2008,10,46,200811),('2008-11-11',200846,11,2008,11,46,200811),('2008-11-12',200846,11,2008,12,46,200811),('2008-11-13',200846,11,2008,13,46,200811),('2008-11-14',200846,11,2008,14,46,200811),('2008-11-15',200846,11,2008,15,46,200811),('2008-11-16',200847,11,2008,16,47,200811),('2008-11-17',200847,11,2008,17,47,200811),('2008-11-18',200847,11,2008,18,47,200811),('2008-11-19',200847,11,2008,19,47,200811),('2008-11-20',200847,11,2008,20,47,200811),('2008-11-21',200847,11,2008,21,47,200811),('2008-11-22',200847,11,2008,22,47,200811),('2008-11-23',200848,11,2008,23,48,200811),('2008-11-24',200848,11,2008,24,48,200811),('2008-11-25',200848,11,2008,25,48,200811),('2008-11-26',200848,11,2008,26,48,200811),('2008-11-27',200848,11,2008,27,48,200811),('2008-11-28',200848,11,2008,28,48,200811),('2008-11-29',200848,11,2008,29,48,200811),('2008-11-30',200849,11,2008,30,49,200811),('2008-12-01',200849,12,2008,1,49,200812),('2008-12-02',200849,12,2008,2,49,200812),('2008-12-03',200849,12,2008,3,49,200812),('2008-12-04',200849,12,2008,4,49,200812),('2008-12-05',200849,12,2008,5,49,200812),('2008-12-06',200849,12,2008,6,49,200812),('2008-12-07',200850,12,2008,7,50,200812),('2008-12-08',200850,12,2008,8,50,200812),('2008-12-09',200850,12,2008,9,50,200812),('2008-12-10',200850,12,2008,10,50,200812),('2008-12-11',200850,12,2008,11,50,200812),('2008-12-12',200850,12,2008,12,50,200812),('2008-12-13',200850,12,2008,13,50,200812),('2008-12-14',200851,12,2008,14,51,200812),('2008-12-15',200851,12,2008,15,51,200812),('2008-12-16',200851,12,2008,16,51,200812),('2008-12-17',200851,12,2008,17,51,200812),('2008-12-18',200851,12,2008,18,51,200812),('2008-12-19',200851,12,2008,19,51,200812),('2008-12-20',200851,12,2008,20,51,200812),('2008-12-21',200852,12,2008,21,52,200812),('2008-12-22',200852,12,2008,22,52,200812),('2008-12-23',200852,12,2008,23,52,200812),('2008-12-24',200852,12,2008,24,52,200812),('2008-12-25',200852,12,2008,25,52,200812),('2008-12-26',200852,12,2008,26,52,200812),('2008-12-27',200852,12,2008,27,52,200812),('2008-12-28',200853,12,2008,28,53,200812),('2008-12-29',200901,12,2008,29,53,200812),('2008-12-30',200901,12,2008,30,53,200812),('2008-12-31',200901,12,2008,31,53,200812),('2009-01-01',200901,1,2009,1,53,200901),('2009-01-02',200901,1,2009,2,53,200901),('2009-01-03',200901,1,2009,3,53,200901),('2009-01-04',200902,1,2009,4,1,200901),('2009-01-05',200902,1,2009,5,1,200901),('2009-01-06',200902,1,2009,6,1,200901),('2009-01-07',200902,1,2009,7,1,200901),('2009-01-08',200902,1,2009,8,1,200901),('2009-01-09',200902,1,2009,9,1,200901),('2009-01-10',200902,1,2009,10,1,200901),('2009-01-11',200903,1,2009,11,2,200901),('2009-01-12',200903,1,2009,12,2,200901),('2009-01-13',200903,1,2009,13,2,200901),('2009-01-14',200903,1,2009,14,2,200901),('2009-01-15',200903,1,2009,15,2,200901),('2009-01-16',200903,1,2009,16,2,200901),('2009-01-17',200903,1,2009,17,2,200901),('2009-01-18',200904,1,2009,18,3,200901),('2009-01-19',200904,1,2009,19,3,200901),('2009-01-20',200904,1,2009,20,3,200901),('2009-01-21',200904,1,2009,21,3,200901),('2009-01-22',200904,1,2009,22,3,200901),('2009-01-23',200904,1,2009,23,3,200901),('2009-01-24',200904,1,2009,24,3,200901),('2009-01-25',200905,1,2009,25,4,200901),('2009-01-26',200905,1,2009,26,4,200901),('2009-01-27',200905,1,2009,27,4,200901),('2009-01-28',200905,1,2009,28,4,200901),('2009-01-29',200905,1,2009,29,4,200901),('2009-01-30',200905,1,2009,30,4,200901),('2009-01-31',200905,1,2009,31,4,200901),('2009-02-01',200906,2,2009,1,5,200902),('2009-02-02',200906,2,2009,2,5,200902),('2009-02-03',200906,2,2009,3,5,200902),('2009-02-04',200906,2,2009,4,5,200902),('2009-02-05',200906,2,2009,5,5,200902),('2009-02-06',200906,2,2009,6,5,200902),('2009-02-07',200906,2,2009,7,5,200902),('2009-02-08',200907,2,2009,8,6,200902),('2009-02-09',200907,2,2009,9,6,200902),('2009-02-10',200907,2,2009,10,6,200902),('2009-02-11',200907,2,2009,11,6,200902),('2009-02-12',200907,2,2009,12,6,200902),('2009-02-13',200907,2,2009,13,6,200902),('2009-02-14',200907,2,2009,14,6,200902),('2009-02-15',200908,2,2009,15,7,200902),('2009-02-16',200908,2,2009,16,7,200902),('2009-02-17',200908,2,2009,17,7,200902),('2009-02-18',200908,2,2009,18,7,200902),('2009-02-19',200908,2,2009,19,7,200902),('2009-02-20',200908,2,2009,20,7,200902),('2009-02-21',200908,2,2009,21,7,200902),('2009-02-22',200909,2,2009,22,8,200902),('2009-02-23',200909,2,2009,23,8,200902),('2009-02-24',200909,2,2009,24,8,200902),('2009-02-25',200909,2,2009,25,8,200902),('2009-02-26',200909,2,2009,26,8,200902),('2009-02-27',200909,2,2009,27,8,200902),('2009-02-28',200909,2,2009,28,8,200902),('2009-03-01',200910,3,2009,1,9,200903),('2009-03-02',200910,3,2009,2,9,200903),('2009-03-03',200910,3,2009,3,9,200903),('2009-03-04',200910,3,2009,4,9,200903),('2009-03-05',200910,3,2009,5,9,200903),('2009-03-06',200910,3,2009,6,9,200903),('2009-03-07',200910,3,2009,7,9,200903),('2009-03-08',200911,3,2009,8,10,200903),('2009-03-09',200911,3,2009,9,10,200903),('2009-03-10',200911,3,2009,10,10,200903),('2009-03-11',200911,3,2009,11,10,200903),('2009-03-12',200911,3,2009,12,10,200903),('2009-03-13',200911,3,2009,13,10,200903),('2009-03-14',200911,3,2009,14,10,200903),('2009-03-15',200912,3,2009,15,11,200903),('2009-03-16',200912,3,2009,16,11,200903),('2009-03-17',200912,3,2009,17,11,200903),('2009-03-18',200912,3,2009,18,11,200903),('2009-03-19',200912,3,2009,19,11,200903),('2009-03-20',200912,3,2009,20,11,200903),('2009-03-21',200912,3,2009,21,11,200903),('2009-03-22',200913,3,2009,22,12,200903),('2009-03-23',200913,3,2009,23,12,200903),('2009-03-24',200913,3,2009,24,12,200903),('2009-03-25',200913,3,2009,25,12,200903),('2009-03-26',200913,3,2009,26,12,200903),('2009-03-27',200913,3,2009,27,12,200903),('2009-03-28',200913,3,2009,28,12,200903),('2009-03-29',200914,3,2009,29,13,200903),('2009-03-30',200914,3,2009,30,13,200903),('2009-03-31',200914,3,2009,31,13,200903),('2009-04-01',200914,4,2009,1,13,200904),('2009-04-02',200914,4,2009,2,13,200904),('2009-04-03',200914,4,2009,3,13,200904),('2009-04-04',200914,4,2009,4,13,200904),('2009-04-05',200915,4,2009,5,14,200904),('2009-04-06',200915,4,2009,6,14,200904),('2009-04-07',200915,4,2009,7,14,200904),('2009-04-08',200915,4,2009,8,14,200904),('2009-04-09',200915,4,2009,9,14,200904),('2009-04-10',200915,4,2009,10,14,200904),('2009-04-11',200915,4,2009,11,14,200904),('2009-04-12',200916,4,2009,12,15,200904),('2009-04-13',200916,4,2009,13,15,200904),('2009-04-14',200916,4,2009,14,15,200904),('2009-04-15',200916,4,2009,15,15,200904),('2009-04-16',200916,4,2009,16,15,200904),('2009-04-17',200916,4,2009,17,15,200904),('2009-04-18',200916,4,2009,18,15,200904),('2009-04-19',200917,4,2009,19,16,200904),('2009-04-20',200917,4,2009,20,16,200904),('2009-04-21',200917,4,2009,21,16,200904),('2009-04-22',200917,4,2009,22,16,200904),('2009-04-23',200917,4,2009,23,16,200904),('2009-04-24',200917,4,2009,24,16,200904),('2009-04-25',200917,4,2009,25,16,200904),('2009-04-26',200918,4,2009,26,17,200904),('2009-04-27',200918,4,2009,27,17,200904),('2009-04-28',200918,4,2009,28,17,200904),('2009-04-29',200918,4,2009,29,17,200904),('2009-04-30',200918,4,2009,30,17,200904),('2009-05-01',200918,5,2009,1,17,200905),('2009-05-02',200918,5,2009,2,17,200905),('2009-05-03',200919,5,2009,3,18,200905),('2009-05-04',200919,5,2009,4,18,200905),('2009-05-05',200919,5,2009,5,18,200905),('2009-05-06',200919,5,2009,6,18,200905),('2009-05-07',200919,5,2009,7,18,200905),('2009-05-08',200919,5,2009,8,18,200905),('2009-05-09',200919,5,2009,9,18,200905),('2009-05-10',200920,5,2009,10,19,200905),('2009-05-11',200920,5,2009,11,19,200905),('2009-05-12',200920,5,2009,12,19,200905),('2009-05-13',200920,5,2009,13,19,200905),('2009-05-14',200920,5,2009,14,19,200905),('2009-05-15',200920,5,2009,15,19,200905),('2009-05-16',200920,5,2009,16,19,200905),('2009-05-17',200921,5,2009,17,20,200905),('2009-05-18',200921,5,2009,18,20,200905),('2009-05-19',200921,5,2009,19,20,200905),('2009-05-20',200921,5,2009,20,20,200905),('2009-05-21',200921,5,2009,21,20,200905),('2009-05-22',200921,5,2009,22,20,200905),('2009-05-23',200921,5,2009,23,20,200905),('2009-05-24',200922,5,2009,24,21,200905),('2009-05-25',200922,5,2009,25,21,200905),('2009-05-26',200922,5,2009,26,21,200905),('2009-05-27',200922,5,2009,27,21,200905),('2009-05-28',200922,5,2009,28,21,200905),('2009-05-29',200922,5,2009,29,21,200905),('2009-05-30',200922,5,2009,30,21,200905),('2009-05-31',200923,5,2009,31,22,200905),('2009-06-01',200923,6,2009,1,22,200906),('2009-06-02',200923,6,2009,2,22,200906),('2009-06-03',200923,6,2009,3,22,200906),('2009-06-04',200923,6,2009,4,22,200906),('2009-06-05',200923,6,2009,5,22,200906),('2009-06-06',200923,6,2009,6,22,200906),('2009-06-07',200924,6,2009,7,23,200906),('2009-06-08',200924,6,2009,8,23,200906),('2009-06-09',200924,6,2009,9,23,200906),('2009-06-10',200924,6,2009,10,23,200906),('2009-06-11',200924,6,2009,11,23,200906),('2009-06-12',200924,6,2009,12,23,200906),('2009-06-13',200924,6,2009,13,23,200906),('2009-06-14',200925,6,2009,14,24,200906),('2009-06-15',200925,6,2009,15,24,200906),('2009-06-16',200925,6,2009,16,24,200906),('2009-06-17',200925,6,2009,17,24,200906),('2009-06-18',200925,6,2009,18,24,200906),('2009-06-19',200925,6,2009,19,24,200906),('2009-06-20',200925,6,2009,20,24,200906),('2009-06-21',200926,6,2009,21,25,200906),('2009-06-22',200926,6,2009,22,25,200906),('2009-06-23',200926,6,2009,23,25,200906),('2009-06-24',200926,6,2009,24,25,200906),('2009-06-25',200926,6,2009,25,25,200906),('2009-06-26',200926,6,2009,26,25,200906),('2009-06-27',200926,6,2009,27,25,200906),('2009-06-28',200927,6,2009,28,26,200906),('2009-06-29',200927,6,2009,29,26,200906),('2009-06-30',200927,6,2009,30,26,200906),('2009-07-01',200927,7,2009,1,26,200907),('2009-07-02',200927,7,2009,2,26,200907),('2009-07-03',200927,7,2009,3,26,200907),('2009-07-04',200927,7,2009,4,26,200907),('2009-07-05',200928,7,2009,5,27,200907),('2009-07-06',200928,7,2009,6,27,200907),('2009-07-07',200928,7,2009,7,27,200907),('2009-07-08',200928,7,2009,8,27,200907),('2009-07-09',200928,7,2009,9,27,200907),('2009-07-10',200928,7,2009,10,27,200907),('2009-07-11',200928,7,2009,11,27,200907),('2009-07-12',200929,7,2009,12,28,200907),('2009-07-13',200929,7,2009,13,28,200907),('2009-07-14',200929,7,2009,14,28,200907),('2009-07-15',200929,7,2009,15,28,200907),('2009-07-16',200929,7,2009,16,28,200907),('2009-07-17',200929,7,2009,17,28,200907),('2009-07-18',200929,7,2009,18,28,200907),('2009-07-19',200930,7,2009,19,29,200907),('2009-07-20',200930,7,2009,20,29,200907),('2009-07-21',200930,7,2009,21,29,200907),('2009-07-22',200930,7,2009,22,29,200907),('2009-07-23',200930,7,2009,23,29,200907),('2009-07-24',200930,7,2009,24,29,200907),('2009-07-25',200930,7,2009,25,29,200907),('2009-07-26',200931,7,2009,26,30,200907),('2009-07-27',200931,7,2009,27,30,200907),('2009-07-28',200931,7,2009,28,30,200907),('2009-07-29',200931,7,2009,29,30,200907),('2009-07-30',200931,7,2009,30,30,200907),('2009-07-31',200931,7,2009,31,30,200907),('2009-08-01',200931,8,2009,1,30,200908),('2009-08-02',200932,8,2009,2,31,200908),('2009-08-03',200932,8,2009,3,31,200908),('2009-08-04',200932,8,2009,4,31,200908),('2009-08-05',200932,8,2009,5,31,200908),('2009-08-06',200932,8,2009,6,31,200908),('2009-08-07',200932,8,2009,7,31,200908),('2009-08-08',200932,8,2009,8,31,200908),('2009-08-09',200933,8,2009,9,32,200908),('2009-08-10',200933,8,2009,10,32,200908),('2009-08-11',200933,8,2009,11,32,200908),('2009-08-12',200933,8,2009,12,32,200908),('2009-08-13',200933,8,2009,13,32,200908),('2009-08-14',200933,8,2009,14,32,200908),('2009-08-15',200933,8,2009,15,32,200908),('2009-08-16',200934,8,2009,16,33,200908),('2009-08-17',200934,8,2009,17,33,200908),('2009-08-18',200934,8,2009,18,33,200908),('2009-08-19',200934,8,2009,19,33,200908),('2009-08-20',200934,8,2009,20,33,200908),('2009-08-21',200934,8,2009,21,33,200908),('2009-08-22',200934,8,2009,22,33,200908),('2009-08-23',200935,8,2009,23,34,200908),('2009-08-24',200935,8,2009,24,34,200908),('2009-08-25',200935,8,2009,25,34,200908),('2009-08-26',200935,8,2009,26,34,200908),('2009-08-27',200935,8,2009,27,34,200908),('2009-08-28',200935,8,2009,28,34,200908),('2009-08-29',200935,8,2009,29,34,200908),('2009-08-30',200936,8,2009,30,35,200908),('2009-08-31',200936,8,2009,31,35,200908),('2009-09-01',200936,9,2009,1,35,200909),('2009-09-02',200936,9,2009,2,35,200909),('2009-09-03',200936,9,2009,3,35,200909),('2009-09-04',200936,9,2009,4,35,200909),('2009-09-05',200936,9,2009,5,35,200909),('2009-09-06',200937,9,2009,6,36,200909),('2009-09-07',200937,9,2009,7,36,200909),('2009-09-08',200937,9,2009,8,36,200909),('2009-09-09',200937,9,2009,9,36,200909),('2009-09-10',200937,9,2009,10,36,200909),('2009-09-11',200937,9,2009,11,36,200909),('2009-09-12',200937,9,2009,12,36,200909),('2009-09-13',200938,9,2009,13,37,200909),('2009-09-14',200938,9,2009,14,37,200909),('2009-09-15',200938,9,2009,15,37,200909),('2009-09-16',200938,9,2009,16,37,200909),('2009-09-17',200938,9,2009,17,37,200909),('2009-09-18',200938,9,2009,18,37,200909),('2009-09-19',200938,9,2009,19,37,200909),('2009-09-20',200939,9,2009,20,38,200909),('2009-09-21',200939,9,2009,21,38,200909),('2009-09-22',200939,9,2009,22,38,200909),('2009-09-23',200939,9,2009,23,38,200909),('2009-09-24',200939,9,2009,24,38,200909),('2009-09-25',200939,9,2009,25,38,200909),('2009-09-26',200939,9,2009,26,38,200909),('2009-09-27',200940,9,2009,27,39,200909),('2009-09-28',200940,9,2009,28,39,200909),('2009-09-29',200940,9,2009,29,39,200909),('2009-09-30',200940,9,2009,30,39,200909),('2009-10-01',200940,10,2009,1,39,200910),('2009-10-02',200940,10,2009,2,39,200910),('2009-10-03',200940,10,2009,3,39,200910),('2009-10-04',200941,10,2009,4,40,200910),('2009-10-05',200941,10,2009,5,40,200910),('2009-10-06',200941,10,2009,6,40,200910),('2009-10-07',200941,10,2009,7,40,200910),('2009-10-08',200941,10,2009,8,40,200910),('2009-10-09',200941,10,2009,9,40,200910),('2009-10-10',200941,10,2009,10,40,200910),('2009-10-11',200942,10,2009,11,41,200910),('2009-10-12',200942,10,2009,12,41,200910),('2009-10-13',200942,10,2009,13,41,200910),('2009-10-14',200942,10,2009,14,41,200910),('2009-10-15',200942,10,2009,15,41,200910),('2009-10-16',200942,10,2009,16,41,200910),('2009-10-17',200942,10,2009,17,41,200910),('2009-10-18',200943,10,2009,18,42,200910),('2009-10-19',200943,10,2009,19,42,200910),('2009-10-20',200943,10,2009,20,42,200910),('2009-10-21',200943,10,2009,21,42,200910),('2009-10-22',200943,10,2009,22,42,200910),('2009-10-23',200943,10,2009,23,42,200910),('2009-10-24',200943,10,2009,24,42,200910),('2009-10-25',200944,10,2009,25,43,200910),('2009-10-26',200944,10,2009,26,43,200910),('2009-10-27',200944,10,2009,27,43,200910),('2009-10-28',200944,10,2009,28,43,200910),('2009-10-29',200944,10,2009,29,43,200910),('2009-10-30',200944,10,2009,30,43,200910),('2009-10-31',200944,10,2009,31,43,200910),('2009-11-01',200945,11,2009,1,44,200911),('2009-11-02',200945,11,2009,2,44,200911),('2009-11-03',200945,11,2009,3,44,200911),('2009-11-04',200945,11,2009,4,44,200911),('2009-11-05',200945,11,2009,5,44,200911),('2009-11-06',200945,11,2009,6,44,200911),('2009-11-07',200945,11,2009,7,44,200911),('2009-11-08',200946,11,2009,8,45,200911),('2009-11-09',200946,11,2009,9,45,200911),('2009-11-10',200946,11,2009,10,45,200911),('2009-11-11',200946,11,2009,11,45,200911),('2009-11-12',200946,11,2009,12,45,200911),('2009-11-13',200946,11,2009,13,45,200911),('2009-11-14',200946,11,2009,14,45,200911),('2009-11-15',200947,11,2009,15,46,200911),('2009-11-16',200947,11,2009,16,46,200911),('2009-11-17',200947,11,2009,17,46,200911),('2009-11-18',200947,11,2009,18,46,200911),('2009-11-19',200947,11,2009,19,46,200911),('2009-11-20',200947,11,2009,20,46,200911),('2009-11-21',200947,11,2009,21,46,200911),('2009-11-22',200948,11,2009,22,47,200911),('2009-11-23',200948,11,2009,23,47,200911),('2009-11-24',200948,11,2009,24,47,200911),('2009-11-25',200948,11,2009,25,47,200911),('2009-11-26',200948,11,2009,26,47,200911),('2009-11-27',200948,11,2009,27,47,200911),('2009-11-28',200948,11,2009,28,47,200911),('2009-11-29',200949,11,2009,29,48,200911),('2009-11-30',200949,11,2009,30,48,200911),('2009-12-01',200949,12,2009,1,48,200912),('2009-12-02',200949,12,2009,2,48,200912),('2009-12-03',200949,12,2009,3,48,200912),('2009-12-04',200949,12,2009,4,48,200912),('2009-12-05',200949,12,2009,5,48,200912),('2009-12-06',200950,12,2009,6,49,200912),('2009-12-07',200950,12,2009,7,49,200912),('2009-12-08',200950,12,2009,8,49,200912),('2009-12-09',200950,12,2009,9,49,200912),('2009-12-10',200950,12,2009,10,49,200912),('2009-12-11',200950,12,2009,11,49,200912),('2009-12-12',200950,12,2009,12,49,200912),('2009-12-13',200951,12,2009,13,50,200912),('2009-12-14',200951,12,2009,14,50,200912),('2009-12-15',200951,12,2009,15,50,200912),('2009-12-16',200951,12,2009,16,50,200912),('2009-12-17',200951,12,2009,17,50,200912),('2009-12-18',200951,12,2009,18,50,200912),('2009-12-19',200951,12,2009,19,50,200912),('2009-12-20',200952,12,2009,20,51,200912),('2009-12-21',200952,12,2009,21,51,200912),('2009-12-22',200952,12,2009,22,51,200912),('2009-12-23',200952,12,2009,23,51,200912),('2009-12-24',200952,12,2009,24,51,200912),('2009-12-25',200952,12,2009,25,51,200912),('2009-12-26',200952,12,2009,26,51,200912),('2009-12-27',200953,12,2009,27,52,200912),('2009-12-28',200952,12,2009,28,52,200912),('2009-12-29',200952,12,2009,29,52,200912),('2009-12-30',200952,12,2009,30,52,200912),('2009-12-31',200952,12,2009,31,52,200912),('2010-01-01',201001,1,2010,1,52,201001),('2010-01-02',201001,1,2010,2,52,201001),('2010-01-03',201002,1,2010,3,1,201001),('2010-01-04',201001,1,2010,4,1,201001),('2010-01-05',201001,1,2010,5,1,201001),('2010-01-06',201001,1,2010,6,1,201001),('2010-01-07',201001,1,2010,7,1,201001),('2010-01-08',201001,1,2010,8,1,201001),('2010-01-09',201001,1,2010,9,1,201001),('2010-01-10',201002,1,2010,10,2,201001),('2010-01-11',201002,1,2010,11,2,201001),('2010-01-12',201002,1,2010,12,2,201001),('2010-01-13',201002,1,2010,13,2,201001),('2010-01-14',201002,1,2010,14,2,201001),('2010-01-15',201002,1,2010,15,2,201001),('2010-01-16',201002,1,2010,16,2,201001),('2010-01-17',201003,1,2010,17,3,201001),('2010-01-18',201003,1,2010,18,3,201001),('2010-01-19',201003,1,2010,19,3,201001),('2010-01-20',201003,1,2010,20,3,201001),('2010-01-21',201003,1,2010,21,3,201001),('2010-01-22',201003,1,2010,22,3,201001),('2010-01-23',201003,1,2010,23,3,201001),('2010-01-24',201004,1,2010,24,4,201001),('2010-01-25',201004,1,2010,25,4,201001),('2010-01-26',201004,1,2010,26,4,201001),('2010-01-27',201004,1,2010,27,4,201001),('2010-01-28',201004,1,2010,28,4,201001),('2010-01-29',201004,1,2010,29,4,201001),('2010-01-30',201004,1,2010,30,4,201001),('2010-01-31',201005,1,2010,31,5,201001),('2010-02-01',201005,2,2010,1,5,201002),('2010-02-02',201005,2,2010,2,5,201002),('2010-02-03',201005,2,2010,3,5,201002),('2010-02-04',201005,2,2010,4,5,201002),('2010-02-05',201005,2,2010,5,5,201002),('2010-02-06',201005,2,2010,6,5,201002),('2010-02-07',201006,2,2010,7,6,201002),('2010-02-08',201006,2,2010,8,6,201002),('2010-02-09',201006,2,2010,9,6,201002),('2010-02-10',201006,2,2010,10,6,201002),('2010-02-11',201006,2,2010,11,6,201002),('2010-02-12',201006,2,2010,12,6,201002),('2010-02-13',201006,2,2010,13,6,201002),('2010-02-14',201007,2,2010,14,7,201002),('2010-02-15',201007,2,2010,15,7,201002),('2010-02-16',201007,2,2010,16,7,201002),('2010-02-17',201007,2,2010,17,7,201002),('2010-02-18',201007,2,2010,18,7,201002),('2010-02-19',201007,2,2010,19,7,201002),('2010-02-20',201007,2,2010,20,7,201002),('2010-02-21',201008,2,2010,21,8,201002),('2010-02-22',201008,2,2010,22,8,201002),('2010-02-23',201008,2,2010,23,8,201002),('2010-02-24',201008,2,2010,24,8,201002),('2010-02-25',201008,2,2010,25,8,201002),('2010-02-26',201008,2,2010,26,8,201002),('2010-02-27',201008,2,2010,27,8,201002),('2010-02-28',201009,2,2010,28,9,201002),('2010-03-01',201009,3,2010,1,9,201003),('2010-03-02',201009,3,2010,2,9,201003),('2010-03-03',201009,3,2010,3,9,201003),('2010-03-04',201009,3,2010,4,9,201003),('2010-03-05',201009,3,2010,5,9,201003),('2010-03-06',201009,3,2010,6,9,201003),('2010-03-07',201010,3,2010,7,10,201003),('2010-03-08',201010,3,2010,8,10,201003),('2010-03-09',201010,3,2010,9,10,201003),('2010-03-10',201010,3,2010,10,10,201003),('2010-03-11',201010,3,2010,11,10,201003),('2010-03-12',201010,3,2010,12,10,201003),('2010-03-13',201010,3,2010,13,10,201003),('2010-03-14',201011,3,2010,14,11,201003),('2010-03-15',201011,3,2010,15,11,201003),('2010-03-16',201011,3,2010,16,11,201003),('2010-03-17',201011,3,2010,17,11,201003),('2010-03-18',201011,3,2010,18,11,201003),('2010-03-19',201011,3,2010,19,11,201003),('2010-03-20',201011,3,2010,20,11,201003),('2010-03-21',201012,3,2010,21,12,201003),('2010-03-22',201012,3,2010,22,12,201003),('2010-03-23',201012,3,2010,23,12,201003),('2010-03-24',201012,3,2010,24,12,201003),('2010-03-25',201012,3,2010,25,12,201003),('2010-03-26',201012,3,2010,26,12,201003),('2010-03-27',201012,3,2010,27,12,201003),('2010-03-28',201013,3,2010,28,13,201003),('2010-03-29',201013,3,2010,29,13,201003),('2010-03-30',201013,3,2010,30,13,201003),('2010-03-31',201013,3,2010,31,13,201003),('2010-04-01',201013,4,2010,1,13,201004),('2010-04-02',201013,4,2010,2,13,201004),('2010-04-03',201013,4,2010,3,13,201004),('2010-04-04',201014,4,2010,4,14,201004),('2010-04-05',201014,4,2010,5,14,201004),('2010-04-06',201014,4,2010,6,14,201004),('2010-04-07',201014,4,2010,7,14,201004),('2010-04-08',201014,4,2010,8,14,201004),('2010-04-09',201014,4,2010,9,14,201004),('2010-04-10',201014,4,2010,10,14,201004),('2010-04-11',201015,4,2010,11,15,201004),('2010-04-12',201015,4,2010,12,15,201004),('2010-04-13',201015,4,2010,13,15,201004),('2010-04-14',201015,4,2010,14,15,201004),('2010-04-15',201015,4,2010,15,15,201004),('2010-04-16',201015,4,2010,16,15,201004),('2010-04-17',201015,4,2010,17,15,201004),('2010-04-18',201016,4,2010,18,16,201004),('2010-04-19',201016,4,2010,19,16,201004),('2010-04-20',201016,4,2010,20,16,201004),('2010-04-21',201016,4,2010,21,16,201004),('2010-04-22',201016,4,2010,22,16,201004),('2010-04-23',201016,4,2010,23,16,201004),('2010-04-24',201016,4,2010,24,16,201004),('2010-04-25',201017,4,2010,25,17,201004),('2010-04-26',201017,4,2010,26,17,201004),('2010-04-27',201017,4,2010,27,17,201004),('2010-04-28',201017,4,2010,28,17,201004),('2010-04-29',201017,4,2010,29,17,201004),('2010-04-30',201017,4,2010,30,17,201004),('2010-05-01',201017,5,2010,1,17,201005),('2010-05-02',201018,5,2010,2,18,201005),('2010-05-03',201018,5,2010,3,18,201005),('2010-05-04',201018,5,2010,4,18,201005),('2010-05-05',201018,5,2010,5,18,201005),('2010-05-06',201018,5,2010,6,18,201005),('2010-05-07',201018,5,2010,7,18,201005),('2010-05-08',201018,5,2010,8,18,201005),('2010-05-09',201019,5,2010,9,19,201005),('2010-05-10',201019,5,2010,10,19,201005),('2010-05-11',201019,5,2010,11,19,201005),('2010-05-12',201019,5,2010,12,19,201005),('2010-05-13',201019,5,2010,13,19,201005),('2010-05-14',201019,5,2010,14,19,201005),('2010-05-15',201019,5,2010,15,19,201005),('2010-05-16',201020,5,2010,16,20,201005),('2010-05-17',201020,5,2010,17,20,201005),('2010-05-18',201020,5,2010,18,20,201005),('2010-05-19',201020,5,2010,19,20,201005),('2010-05-20',201020,5,2010,20,20,201005),('2010-05-21',201020,5,2010,21,20,201005),('2010-05-22',201020,5,2010,22,20,201005),('2010-05-23',201021,5,2010,23,21,201005),('2010-05-24',201021,5,2010,24,21,201005),('2010-05-25',201021,5,2010,25,21,201005),('2010-05-26',201021,5,2010,26,21,201005),('2010-05-27',201021,5,2010,27,21,201005),('2010-05-28',201021,5,2010,28,21,201005),('2010-05-29',201021,5,2010,29,21,201005),('2010-05-30',201022,5,2010,30,22,201005),('2010-05-31',201022,5,2010,31,22,201005),('2010-06-01',201022,6,2010,1,22,201006),('2010-06-02',201022,6,2010,2,22,201006),('2010-06-03',201022,6,2010,3,22,201006),('2010-06-04',201022,6,2010,4,22,201006),('2010-06-05',201022,6,2010,5,22,201006),('2010-06-06',201023,6,2010,6,23,201006),('2010-06-07',201023,6,2010,7,23,201006),('2010-06-08',201023,6,2010,8,23,201006),('2010-06-09',201023,6,2010,9,23,201006),('2010-06-10',201023,6,2010,10,23,201006),('2010-06-11',201023,6,2010,11,23,201006),('2010-06-12',201023,6,2010,12,23,201006),('2010-06-13',201024,6,2010,13,24,201006),('2010-06-14',201024,6,2010,14,24,201006),('2010-06-15',201024,6,2010,15,24,201006),('2010-06-16',201024,6,2010,16,24,201006),('2010-06-17',201024,6,2010,17,24,201006),('2010-06-18',201024,6,2010,18,24,201006),('2010-06-19',201024,6,2010,19,24,201006),('2010-06-20',201025,6,2010,20,25,201006),('2010-06-21',201025,6,2010,21,25,201006),('2010-06-22',201025,6,2010,22,25,201006),('2010-06-23',201025,6,2010,23,25,201006),('2010-06-24',201025,6,2010,24,25,201006),('2010-06-25',201025,6,2010,25,25,201006),('2010-06-26',201025,6,2010,26,25,201006),('2010-06-27',201026,6,2010,27,26,201006),('2010-06-28',201026,6,2010,28,26,201006),('2010-06-29',201026,6,2010,29,26,201006),('2010-06-30',201026,6,2010,30,26,201006),('2010-07-01',201026,7,2010,1,26,201007),('2010-07-02',201026,7,2010,2,26,201007),('2010-07-03',201026,7,2010,3,26,201007),('2010-07-04',201027,7,2010,4,27,201007),('2010-07-05',201027,7,2010,5,27,201007),('2010-07-06',201027,7,2010,6,27,201007),('2010-07-07',201027,7,2010,7,27,201007),('2010-07-08',201027,7,2010,8,27,201007),('2010-07-09',201027,7,2010,9,27,201007),('2010-07-10',201027,7,2010,10,27,201007),('2010-07-11',201028,7,2010,11,28,201007),('2010-07-12',201028,7,2010,12,28,201007),('2010-07-13',201028,7,2010,13,28,201007),('2010-07-14',201028,7,2010,14,28,201007),('2010-07-15',201028,7,2010,15,28,201007),('2010-07-16',201028,7,2010,16,28,201007),('2010-07-17',201028,7,2010,17,28,201007),('2010-07-18',201029,7,2010,18,29,201007),('2010-07-19',201029,7,2010,19,29,201007),('2010-07-20',201029,7,2010,20,29,201007),('2010-07-21',201029,7,2010,21,29,201007),('2010-07-22',201029,7,2010,22,29,201007),('2010-07-23',201029,7,2010,23,29,201007),('2010-07-24',201029,7,2010,24,29,201007),('2010-07-25',201030,7,2010,25,30,201007),('2010-07-26',201030,7,2010,26,30,201007),('2010-07-27',201030,7,2010,27,30,201007),('2010-07-28',201030,7,2010,28,30,201007),('2010-07-29',201030,7,2010,29,30,201007),('2010-07-30',201030,7,2010,30,30,201007),('2010-07-31',201030,7,2010,31,30,201007),('2010-08-01',201031,8,2010,1,31,201008),('2010-08-02',201031,8,2010,2,31,201008),('2010-08-03',201031,8,2010,3,31,201008),('2010-08-04',201031,8,2010,4,31,201008),('2010-08-05',201031,8,2010,5,31,201008),('2010-08-06',201031,8,2010,6,31,201008),('2010-08-07',201031,8,2010,7,31,201008),('2010-08-08',201032,8,2010,8,32,201008),('2010-08-09',201032,8,2010,9,32,201008),('2010-08-10',201032,8,2010,10,32,201008),('2010-08-11',201032,8,2010,11,32,201008),('2010-08-12',201032,8,2010,12,32,201008),('2010-08-13',201032,8,2010,13,32,201008),('2010-08-14',201032,8,2010,14,32,201008),('2010-08-15',201033,8,2010,15,33,201008),('2010-08-16',201033,8,2010,16,33,201008),('2010-08-17',201033,8,2010,17,33,201008),('2010-08-18',201033,8,2010,18,33,201008),('2010-08-19',201033,8,2010,19,33,201008),('2010-08-20',201033,8,2010,20,33,201008),('2010-08-21',201033,8,2010,21,33,201008),('2010-08-22',201034,8,2010,22,34,201008),('2010-08-23',201034,8,2010,23,34,201008),('2010-08-24',201034,8,2010,24,34,201008),('2010-08-25',201034,8,2010,25,34,201008),('2010-08-26',201034,8,2010,26,34,201008),('2010-08-27',201034,8,2010,27,34,201008),('2010-08-28',201034,8,2010,28,34,201008),('2010-08-29',201035,8,2010,29,35,201008),('2010-08-30',201035,8,2010,30,35,201008),('2010-08-31',201035,8,2010,31,35,201008),('2010-09-01',201035,9,2010,1,35,201009),('2010-09-02',201035,9,2010,2,35,201009),('2010-09-03',201035,9,2010,3,35,201009),('2010-09-04',201035,9,2010,4,35,201009),('2010-09-05',201036,9,2010,5,36,201009),('2010-09-06',201036,9,2010,6,36,201009),('2010-09-07',201036,9,2010,7,36,201009),('2010-09-08',201036,9,2010,8,36,201009),('2010-09-09',201036,9,2010,9,36,201009),('2010-09-10',201036,9,2010,10,36,201009),('2010-09-11',201036,9,2010,11,36,201009),('2010-09-12',201037,9,2010,12,37,201009),('2010-09-13',201037,9,2010,13,37,201009),('2010-09-14',201037,9,2010,14,37,201009),('2010-09-15',201037,9,2010,15,37,201009),('2010-09-16',201037,9,2010,16,37,201009),('2010-09-17',201037,9,2010,17,37,201009),('2010-09-18',201037,9,2010,18,37,201009),('2010-09-19',201038,9,2010,19,38,201009),('2010-09-20',201038,9,2010,20,38,201009),('2010-09-21',201038,9,2010,21,38,201009),('2010-09-22',201038,9,2010,22,38,201009),('2010-09-23',201038,9,2010,23,38,201009),('2010-09-24',201038,9,2010,24,38,201009),('2010-09-25',201038,9,2010,25,38,201009),('2010-09-26',201039,9,2010,26,39,201009),('2010-09-27',201039,9,2010,27,39,201009),('2010-09-28',201039,9,2010,28,39,201009),('2010-09-29',201039,9,2010,29,39,201009),('2010-09-30',201039,9,2010,30,39,201009),('2010-10-01',201039,10,2010,1,39,201010),('2010-10-02',201039,10,2010,2,39,201010),('2010-10-03',201040,10,2010,3,40,201010),('2010-10-04',201040,10,2010,4,40,201010),('2010-10-05',201040,10,2010,5,40,201010),('2010-10-06',201040,10,2010,6,40,201010),('2010-10-07',201040,10,2010,7,40,201010),('2010-10-08',201040,10,2010,8,40,201010),('2010-10-09',201040,10,2010,9,40,201010),('2010-10-10',201041,10,2010,10,41,201010),('2010-10-11',201041,10,2010,11,41,201010),('2010-10-12',201041,10,2010,12,41,201010),('2010-10-13',201041,10,2010,13,41,201010),('2010-10-14',201041,10,2010,14,41,201010),('2010-10-15',201041,10,2010,15,41,201010),('2010-10-16',201041,10,2010,16,41,201010),('2010-10-17',201042,10,2010,17,42,201010),('2010-10-18',201042,10,2010,18,42,201010),('2010-10-19',201042,10,2010,19,42,201010),('2010-10-20',201042,10,2010,20,42,201010),('2010-10-21',201042,10,2010,21,42,201010),('2010-10-22',201042,10,2010,22,42,201010),('2010-10-23',201042,10,2010,23,42,201010),('2010-10-24',201043,10,2010,24,43,201010),('2010-10-25',201043,10,2010,25,43,201010),('2010-10-26',201043,10,2010,26,43,201010),('2010-10-27',201043,10,2010,27,43,201010),('2010-10-28',201043,10,2010,28,43,201010),('2010-10-29',201043,10,2010,29,43,201010),('2010-10-30',201043,10,2010,30,43,201010),('2010-10-31',201044,10,2010,31,44,201010),('2010-11-01',201044,11,2010,1,44,201011),('2010-11-02',201044,11,2010,2,44,201011),('2010-11-03',201044,11,2010,3,44,201011),('2010-11-04',201044,11,2010,4,44,201011),('2010-11-05',201044,11,2010,5,44,201011),('2010-11-06',201044,11,2010,6,44,201011),('2010-11-07',201045,11,2010,7,45,201011),('2010-11-08',201045,11,2010,8,45,201011),('2010-11-09',201045,11,2010,9,45,201011),('2010-11-10',201045,11,2010,10,45,201011),('2010-11-11',201045,11,2010,11,45,201011),('2010-11-12',201045,11,2010,12,45,201011),('2010-11-13',201045,11,2010,13,45,201011),('2010-11-14',201046,11,2010,14,46,201011),('2010-11-15',201046,11,2010,15,46,201011),('2010-11-16',201046,11,2010,16,46,201011),('2010-11-17',201046,11,2010,17,46,201011),('2010-11-18',201046,11,2010,18,46,201011),('2010-11-19',201046,11,2010,19,46,201011),('2010-11-20',201046,11,2010,20,46,201011),('2010-11-21',201047,11,2010,21,47,201011),('2010-11-22',201047,11,2010,22,47,201011),('2010-11-23',201047,11,2010,23,47,201011),('2010-11-24',201047,11,2010,24,47,201011),('2010-11-25',201047,11,2010,25,47,201011),('2010-11-26',201047,11,2010,26,47,201011),('2010-11-27',201047,11,2010,27,47,201011),('2010-11-28',201048,11,2010,28,48,201011),('2010-11-29',201048,11,2010,29,48,201011),('2010-11-30',201048,11,2010,30,48,201011),('2010-12-01',201048,12,2010,1,48,201012),('2010-12-02',201048,12,2010,2,48,201012),('2010-12-03',201048,12,2010,3,48,201012),('2010-12-04',201048,12,2010,4,48,201012),('2010-12-05',201049,12,2010,5,49,201012),('2010-12-06',201049,12,2010,6,49,201012),('2010-12-07',201049,12,2010,7,49,201012),('2010-12-08',201049,12,2010,8,49,201012),('2010-12-09',201049,12,2010,9,49,201012),('2010-12-10',201049,12,2010,10,49,201012),('2010-12-11',201049,12,2010,11,49,201012),('2010-12-12',201050,12,2010,12,50,201012),('2010-12-13',201050,12,2010,13,50,201012),('2010-12-14',201050,12,2010,14,50,201012),('2010-12-15',201050,12,2010,15,50,201012),('2010-12-16',201050,12,2010,16,50,201012),('2010-12-17',201050,12,2010,17,50,201012),('2010-12-18',201050,12,2010,18,50,201012),('2010-12-19',201051,12,2010,19,51,201012),('2010-12-20',201051,12,2010,20,51,201012),('2010-12-21',201051,12,2010,21,51,201012),('2010-12-22',201051,12,2010,22,51,201012),('2010-12-23',201051,12,2010,23,51,201012),('2010-12-24',201051,12,2010,24,51,201012),('2010-12-25',201051,12,2010,25,51,201012),('2010-12-26',201052,12,2010,26,52,201012),('2010-12-27',201052,12,2010,27,52,201012),('2010-12-28',201052,12,2010,28,52,201012),('2010-12-29',201052,12,2010,29,52,201012),('2010-12-30',201052,12,2010,30,52,201012),('2010-12-31',201052,12,2010,31,52,201012),('2011-01-01',201052,1,2011,1,52,201101),('2011-01-02',201053,1,2011,2,1,201101),('2011-01-03',201101,1,2011,3,1,201101),('2011-01-04',201101,1,2011,4,1,201101),('2011-01-05',201101,1,2011,5,1,201101),('2011-01-06',201101,1,2011,6,1,201101),('2011-01-07',201101,1,2011,7,1,201101),('2011-01-08',201101,1,2011,8,1,201101),('2011-01-09',201102,1,2011,9,2,201101),('2011-01-10',201102,1,2011,10,2,201101),('2011-01-11',201102,1,2011,11,2,201101),('2011-01-12',201102,1,2011,12,2,201101),('2011-01-13',201102,1,2011,13,2,201101),('2011-01-14',201102,1,2011,14,2,201101),('2011-01-15',201102,1,2011,15,2,201101),('2011-01-16',201103,1,2011,16,3,201101),('2011-01-17',201103,1,2011,17,3,201101),('2011-01-18',201103,1,2011,18,3,201101),('2011-01-19',201103,1,2011,19,3,201101),('2011-01-20',201103,1,2011,20,3,201101),('2011-01-21',201103,1,2011,21,3,201101),('2011-01-22',201103,1,2011,22,3,201101),('2011-01-23',201104,1,2011,23,4,201101),('2011-01-24',201104,1,2011,24,4,201101),('2011-01-25',201104,1,2011,25,4,201101),('2011-01-26',201104,1,2011,26,4,201101),('2011-01-27',201104,1,2011,27,4,201101),('2011-01-28',201104,1,2011,28,4,201101),('2011-01-29',201104,1,2011,29,4,201101),('2011-01-30',201105,1,2011,30,5,201101),('2011-01-31',201105,1,2011,31,5,201101),('2011-02-01',201105,2,2011,1,5,201102),('2011-02-02',201105,2,2011,2,5,201102),('2011-02-03',201105,2,2011,3,5,201102),('2011-02-04',201105,2,2011,4,5,201102),('2011-02-05',201105,2,2011,5,5,201102),('2011-02-06',201106,2,2011,6,6,201102),('2011-02-07',201106,2,2011,7,6,201102),('2011-02-08',201106,2,2011,8,6,201102),('2011-02-09',201106,2,2011,9,6,201102),('2011-02-10',201106,2,2011,10,6,201102),('2011-02-11',201106,2,2011,11,6,201102),('2011-02-12',201106,2,2011,12,6,201102),('2011-02-13',201107,2,2011,13,7,201102),('2011-02-14',201107,2,2011,14,7,201102),('2011-02-15',201107,2,2011,15,7,201102),('2011-02-16',201107,2,2011,16,7,201102),('2011-02-17',201107,2,2011,17,7,201102),('2011-02-18',201107,2,2011,18,7,201102),('2011-02-19',201107,2,2011,19,7,201102),('2011-02-20',201108,2,2011,20,8,201102),('2011-02-21',201108,2,2011,21,8,201102),('2011-02-22',201108,2,2011,22,8,201102),('2011-02-23',201108,2,2011,23,8,201102),('2011-02-24',201108,2,2011,24,8,201102),('2011-02-25',201108,2,2011,25,8,201102),('2011-02-26',201108,2,2011,26,8,201102),('2011-02-27',201109,2,2011,27,9,201102),('2011-02-28',201109,2,2011,28,9,201102),('2011-03-01',201109,3,2011,1,9,201103),('2011-03-02',201109,3,2011,2,9,201103),('2011-03-03',201109,3,2011,3,9,201103),('2011-03-04',201109,3,2011,4,9,201103),('2011-03-05',201109,3,2011,5,9,201103),('2011-03-06',201110,3,2011,6,10,201103),('2011-03-07',201110,3,2011,7,10,201103),('2011-03-08',201110,3,2011,8,10,201103),('2011-03-09',201110,3,2011,9,10,201103),('2011-03-10',201110,3,2011,10,10,201103),('2011-03-11',201110,3,2011,11,10,201103),('2011-03-12',201110,3,2011,12,10,201103),('2011-03-13',201111,3,2011,13,11,201103),('2011-03-14',201111,3,2011,14,11,201103),('2011-03-15',201111,3,2011,15,11,201103),('2011-03-16',201111,3,2011,16,11,201103),('2011-03-17',201111,3,2011,17,11,201103),('2011-03-18',201111,3,2011,18,11,201103),('2011-03-19',201111,3,2011,19,11,201103),('2011-03-20',201112,3,2011,20,12,201103),('2011-03-21',201112,3,2011,21,12,201103),('2011-03-22',201112,3,2011,22,12,201103),('2011-03-23',201112,3,2011,23,12,201103),('2011-03-24',201112,3,2011,24,12,201103),('2011-03-25',201112,3,2011,25,12,201103),('2011-03-26',201112,3,2011,26,12,201103),('2011-03-27',201113,3,2011,27,13,201103),('2011-03-28',201113,3,2011,28,13,201103),('2011-03-29',201113,3,2011,29,13,201103),('2011-03-30',201113,3,2011,30,13,201103),('2011-03-31',201113,3,2011,31,13,201103),('2011-04-01',201113,4,2011,1,13,201104),('2011-04-02',201113,4,2011,2,13,201104),('2011-04-03',201114,4,2011,3,14,201104),('2011-04-04',201114,4,2011,4,14,201104),('2011-04-05',201114,4,2011,5,14,201104),('2011-04-06',201114,4,2011,6,14,201104),('2011-04-07',201114,4,2011,7,14,201104),('2011-04-08',201114,4,2011,8,14,201104),('2011-04-09',201114,4,2011,9,14,201104),('2011-04-10',201115,4,2011,10,15,201104),('2011-04-11',201115,4,2011,11,15,201104),('2011-04-12',201115,4,2011,12,15,201104),('2011-04-13',201115,4,2011,13,15,201104),('2011-04-14',201115,4,2011,14,15,201104),('2011-04-15',201115,4,2011,15,15,201104),('2011-04-16',201115,4,2011,16,15,201104),('2011-04-17',201116,4,2011,17,16,201104),('2011-04-18',201116,4,2011,18,16,201104),('2011-04-19',201116,4,2011,19,16,201104),('2011-04-20',201116,4,2011,20,16,201104),('2011-04-21',201116,4,2011,21,16,201104),('2011-04-22',201116,4,2011,22,16,201104),('2011-04-23',201116,4,2011,23,16,201104),('2011-04-24',201117,4,2011,24,17,201104),('2011-04-25',201117,4,2011,25,17,201104),('2011-04-26',201117,4,2011,26,17,201104),('2011-04-27',201117,4,2011,27,17,201104),('2011-04-28',201117,4,2011,28,17,201104),('2011-04-29',201117,4,2011,29,17,201104),('2011-04-30',201117,4,2011,30,17,201104),('2011-05-01',201118,5,2011,1,18,201105),('2011-05-02',201118,5,2011,2,18,201105),('2011-05-03',201118,5,2011,3,18,201105),('2011-05-04',201118,5,2011,4,18,201105),('2011-05-05',201118,5,2011,5,18,201105),('2011-05-06',201118,5,2011,6,18,201105),('2011-05-07',201118,5,2011,7,18,201105),('2011-05-08',201119,5,2011,8,19,201105),('2011-05-09',201119,5,2011,9,19,201105),('2011-05-10',201119,5,2011,10,19,201105),('2011-05-11',201119,5,2011,11,19,201105),('2011-05-12',201119,5,2011,12,19,201105),('2011-05-13',201119,5,2011,13,19,201105),('2011-05-14',201119,5,2011,14,19,201105),('2011-05-15',201120,5,2011,15,20,201105),('2011-05-16',201120,5,2011,16,20,201105),('2011-05-17',201120,5,2011,17,20,201105),('2011-05-18',201120,5,2011,18,20,201105),('2011-05-19',201120,5,2011,19,20,201105),('2011-05-20',201120,5,2011,20,20,201105),('2011-05-21',201120,5,2011,21,20,201105),('2011-05-22',201121,5,2011,22,21,201105),('2011-05-23',201121,5,2011,23,21,201105),('2011-05-24',201121,5,2011,24,21,201105),('2011-05-25',201121,5,2011,25,21,201105),('2011-05-26',201121,5,2011,26,21,201105),('2011-05-27',201121,5,2011,27,21,201105),('2011-05-28',201121,5,2011,28,21,201105),('2011-05-29',201122,5,2011,29,22,201105),('2011-05-30',201122,5,2011,30,22,201105),('2011-05-31',201122,5,2011,31,22,201105),('2011-06-01',201122,6,2011,1,22,201106),('2011-06-02',201122,6,2011,2,22,201106),('2011-06-03',201122,6,2011,3,22,201106),('2011-06-04',201122,6,2011,4,22,201106),('2011-06-05',201123,6,2011,5,23,201106),('2011-06-06',201123,6,2011,6,23,201106),('2011-06-07',201123,6,2011,7,23,201106),('2011-06-08',201123,6,2011,8,23,201106),('2011-06-09',201123,6,2011,9,23,201106),('2011-06-10',201123,6,2011,10,23,201106),('2011-06-11',201123,6,2011,11,23,201106),('2011-06-12',201124,6,2011,12,24,201106),('2011-06-13',201124,6,2011,13,24,201106),('2011-06-14',201124,6,2011,14,24,201106),('2011-06-15',201124,6,2011,15,24,201106),('2011-06-16',201124,6,2011,16,24,201106),('2011-06-17',201124,6,2011,17,24,201106),('2011-06-18',201124,6,2011,18,24,201106),('2011-06-19',201125,6,2011,19,25,201106),('2011-06-20',201125,6,2011,20,25,201106),('2011-06-21',201125,6,2011,21,25,201106),('2011-06-22',201125,6,2011,22,25,201106),('2011-06-23',201125,6,2011,23,25,201106),('2011-06-24',201125,6,2011,24,25,201106),('2011-06-25',201125,6,2011,25,25,201106),('2011-06-26',201126,6,2011,26,26,201106),('2011-06-27',201126,6,2011,27,26,201106),('2011-06-28',201126,6,2011,28,26,201106),('2011-06-29',201126,6,2011,29,26,201106),('2011-06-30',201126,6,2011,30,26,201106),('2011-07-01',201126,7,2011,1,26,201107),('2011-07-02',201126,7,2011,2,26,201107),('2011-07-03',201127,7,2011,3,27,201107),('2011-07-04',201127,7,2011,4,27,201107),('2011-07-05',201127,7,2011,5,27,201107),('2011-07-06',201127,7,2011,6,27,201107),('2011-07-07',201127,7,2011,7,27,201107),('2011-07-08',201127,7,2011,8,27,201107),('2011-07-09',201127,7,2011,9,27,201107),('2011-07-10',201128,7,2011,10,28,201107),('2011-07-11',201128,7,2011,11,28,201107),('2011-07-12',201128,7,2011,12,28,201107),('2011-07-13',201128,7,2011,13,28,201107),('2011-07-14',201128,7,2011,14,28,201107),('2011-07-15',201128,7,2011,15,28,201107),('2011-07-16',201128,7,2011,16,28,201107),('2011-07-17',201129,7,2011,17,29,201107),('2011-07-18',201129,7,2011,18,29,201107),('2011-07-19',201129,7,2011,19,29,201107),('2011-07-20',201129,7,2011,20,29,201107),('2011-07-21',201129,7,2011,21,29,201107),('2011-07-22',201129,7,2011,22,29,201107),('2011-07-23',201129,7,2011,23,29,201107),('2011-07-24',201130,7,2011,24,30,201107),('2011-07-25',201130,7,2011,25,30,201107),('2011-07-26',201130,7,2011,26,30,201107),('2011-07-27',201130,7,2011,27,30,201107),('2011-07-28',201130,7,2011,28,30,201107),('2011-07-29',201130,7,2011,29,30,201107),('2011-07-30',201130,7,2011,30,30,201107),('2011-07-31',201131,7,2011,31,31,201107),('2011-08-01',201131,8,2011,1,31,201108),('2011-08-02',201131,8,2011,2,31,201108),('2011-08-03',201131,8,2011,3,31,201108),('2011-08-04',201131,8,2011,4,31,201108),('2011-08-05',201131,8,2011,5,31,201108),('2011-08-06',201131,8,2011,6,31,201108),('2011-08-07',201132,8,2011,7,32,201108),('2011-08-08',201132,8,2011,8,32,201108),('2011-08-09',201132,8,2011,9,32,201108),('2011-08-10',201132,8,2011,10,32,201108),('2011-08-11',201132,8,2011,11,32,201108),('2011-08-12',201132,8,2011,12,32,201108),('2011-08-13',201132,8,2011,13,32,201108),('2011-08-14',201133,8,2011,14,33,201108),('2011-08-15',201133,8,2011,15,33,201108),('2011-08-16',201133,8,2011,16,33,201108),('2011-08-17',201133,8,2011,17,33,201108),('2011-08-18',201133,8,2011,18,33,201108),('2011-08-19',201133,8,2011,19,33,201108),('2011-08-20',201133,8,2011,20,33,201108),('2011-08-21',201134,8,2011,21,34,201108),('2011-08-22',201134,8,2011,22,34,201108),('2011-08-23',201134,8,2011,23,34,201108),('2011-08-24',201134,8,2011,24,34,201108),('2011-08-25',201134,8,2011,25,34,201108),('2011-08-26',201134,8,2011,26,34,201108),('2011-08-27',201134,8,2011,27,34,201108),('2011-08-28',201135,8,2011,28,35,201108),('2011-08-29',201135,8,2011,29,35,201108),('2011-08-30',201135,8,2011,30,35,201108),('2011-08-31',201135,8,2011,31,35,201108),('2011-09-01',201135,9,2011,1,35,201109),('2011-09-02',201135,9,2011,2,35,201109),('2011-09-03',201135,9,2011,3,35,201109),('2011-09-04',201136,9,2011,4,36,201109),('2011-09-05',201136,9,2011,5,36,201109),('2011-09-06',201136,9,2011,6,36,201109),('2011-09-07',201136,9,2011,7,36,201109),('2011-09-08',201136,9,2011,8,36,201109),('2011-09-09',201136,9,2011,9,36,201109),('2011-09-10',201136,9,2011,10,36,201109),('2011-09-11',201137,9,2011,11,37,201109),('2011-09-12',201137,9,2011,12,37,201109),('2011-09-13',201137,9,2011,13,37,201109),('2011-09-14',201137,9,2011,14,37,201109),('2011-09-15',201137,9,2011,15,37,201109),('2011-09-16',201137,9,2011,16,37,201109),('2011-09-17',201137,9,2011,17,37,201109),('2011-09-18',201138,9,2011,18,38,201109),('2011-09-19',201138,9,2011,19,38,201109),('2011-09-20',201138,9,2011,20,38,201109),('2011-09-21',201138,9,2011,21,38,201109),('2011-09-22',201138,9,2011,22,38,201109),('2011-09-23',201138,9,2011,23,38,201109),('2011-09-24',201138,9,2011,24,38,201109),('2011-09-25',201139,9,2011,25,39,201109),('2011-09-26',201139,9,2011,26,39,201109),('2011-09-27',201139,9,2011,27,39,201109),('2011-09-28',201139,9,2011,28,39,201109),('2011-09-29',201139,9,2011,29,39,201109),('2011-09-30',201139,9,2011,30,39,201109),('2011-10-01',201139,10,2011,1,39,201110),('2011-10-02',201140,10,2011,2,40,201110),('2011-10-03',201140,10,2011,3,40,201110),('2011-10-04',201140,10,2011,4,40,201110),('2011-10-05',201140,10,2011,5,40,201110),('2011-10-06',201140,10,2011,6,40,201110),('2011-10-07',201140,10,2011,7,40,201110),('2011-10-08',201140,10,2011,8,40,201110),('2011-10-09',201141,10,2011,9,41,201110),('2011-10-10',201141,10,2011,10,41,201110),('2011-10-11',201141,10,2011,11,41,201110),('2011-10-12',201141,10,2011,12,41,201110),('2011-10-13',201141,10,2011,13,41,201110),('2011-10-14',201141,10,2011,14,41,201110),('2011-10-15',201141,10,2011,15,41,201110),('2011-10-16',201142,10,2011,16,42,201110),('2011-10-17',201142,10,2011,17,42,201110),('2011-10-18',201142,10,2011,18,42,201110),('2011-10-19',201142,10,2011,19,42,201110),('2011-10-20',201142,10,2011,20,42,201110),('2011-10-21',201142,10,2011,21,42,201110),('2011-10-22',201142,10,2011,22,42,201110),('2011-10-23',201143,10,2011,23,43,201110),('2011-10-24',201143,10,2011,24,43,201110),('2011-10-25',201143,10,2011,25,43,201110),('2011-10-26',201143,10,2011,26,43,201110),('2011-10-27',201143,10,2011,27,43,201110),('2011-10-28',201143,10,2011,28,43,201110),('2011-10-29',201143,10,2011,29,43,201110),('2011-10-30',201144,10,2011,30,44,201110),('2011-10-31',201144,10,2011,31,44,201110),('2011-11-01',201144,11,2011,1,44,201111),('2011-11-02',201144,11,2011,2,44,201111),('2011-11-03',201144,11,2011,3,44,201111),('2011-11-04',201144,11,2011,4,44,201111),('2011-11-05',201144,11,2011,5,44,201111),('2011-11-06',201145,11,2011,6,45,201111),('2011-11-07',201145,11,2011,7,45,201111),('2011-11-08',201145,11,2011,8,45,201111),('2011-11-09',201145,11,2011,9,45,201111),('2011-11-10',201145,11,2011,10,45,201111),('2011-11-11',201145,11,2011,11,45,201111),('2011-11-12',201145,11,2011,12,45,201111),('2011-11-13',201146,11,2011,13,46,201111),('2011-11-14',201146,11,2011,14,46,201111),('2011-11-15',201146,11,2011,15,46,201111),('2011-11-16',201146,11,2011,16,46,201111),('2011-11-17',201146,11,2011,17,46,201111),('2011-11-18',201146,11,2011,18,46,201111),('2011-11-19',201146,11,2011,19,46,201111),('2011-11-20',201147,11,2011,20,47,201111),('2011-11-21',201147,11,2011,21,47,201111),('2011-11-22',201147,11,2011,22,47,201111),('2011-11-23',201147,11,2011,23,47,201111),('2011-11-24',201147,11,2011,24,47,201111),('2011-11-25',201147,11,2011,25,47,201111),('2011-11-26',201147,11,2011,26,47,201111),('2011-11-27',201148,11,2011,27,48,201111),('2011-11-28',201148,11,2011,28,48,201111),('2011-11-29',201148,11,2011,29,48,201111),('2011-11-30',201148,11,2011,30,48,201111),('2011-12-01',201148,12,2011,1,48,201112),('2011-12-02',201148,12,2011,2,48,201112),('2011-12-03',201148,12,2011,3,48,201112),('2011-12-04',201149,12,2011,4,49,201112),('2011-12-05',201149,12,2011,5,49,201112),('2011-12-06',201149,12,2011,6,49,201112),('2011-12-07',201149,12,2011,7,49,201112),('2011-12-08',201149,12,2011,8,49,201112),('2011-12-09',201149,12,2011,9,49,201112),('2011-12-10',201149,12,2011,10,49,201112),('2011-12-11',201150,12,2011,11,50,201112),('2011-12-12',201150,12,2011,12,50,201112),('2011-12-13',201150,12,2011,13,50,201112),('2011-12-14',201150,12,2011,14,50,201112),('2011-12-15',201150,12,2011,15,50,201112),('2011-12-16',201150,12,2011,16,50,201112),('2011-12-17',201150,12,2011,17,50,201112),('2011-12-18',201151,12,2011,18,51,201112),('2011-12-19',201151,12,2011,19,51,201112),('2011-12-20',201151,12,2011,20,51,201112),('2011-12-21',201151,12,2011,21,51,201112),('2011-12-22',201151,12,2011,22,51,201112),('2011-12-23',201151,12,2011,23,51,201112),('2011-12-24',201151,12,2011,24,51,201112),('2011-12-25',201152,12,2011,25,52,201112),('2011-12-26',201152,12,2011,26,52,201112),('2011-12-27',201152,12,2011,27,52,201112),('2011-12-28',201152,12,2011,28,52,201112),('2011-12-29',201152,12,2011,29,52,201112),('2011-12-30',201152,12,2011,30,52,201112),('2011-12-31',201152,12,2011,31,52,201112),('2012-01-01',201153,1,2012,1,1,201201),('2012-01-02',201201,1,2012,2,1,201201),('2012-01-03',201201,1,2012,3,1,201201),('2012-01-04',201201,1,2012,4,1,201201),('2012-01-05',201201,1,2012,5,1,201201),('2012-01-06',201201,1,2012,6,1,201201),('2012-01-07',201201,1,2012,7,1,201201),('2012-01-08',201202,1,2012,8,2,201201),('2012-01-09',201202,1,2012,9,2,201201),('2012-01-10',201202,1,2012,10,2,201201),('2012-01-11',201202,1,2012,11,2,201201),('2012-01-12',201202,1,2012,12,2,201201),('2012-01-13',201202,1,2012,13,2,201201),('2012-01-14',201202,1,2012,14,2,201201),('2012-01-15',201203,1,2012,15,3,201201),('2012-01-16',201203,1,2012,16,3,201201),('2012-01-17',201203,1,2012,17,3,201201),('2012-01-18',201203,1,2012,18,3,201201),('2012-01-19',201203,1,2012,19,3,201201),('2012-01-20',201203,1,2012,20,3,201201),('2012-01-21',201203,1,2012,21,3,201201),('2012-01-22',201204,1,2012,22,4,201201),('2012-01-23',201204,1,2012,23,4,201201),('2012-01-24',201204,1,2012,24,4,201201),('2012-01-25',201204,1,2012,25,4,201201),('2012-01-26',201204,1,2012,26,4,201201),('2012-01-27',201204,1,2012,27,4,201201),('2012-01-28',201204,1,2012,28,4,201201),('2012-01-29',201205,1,2012,29,5,201201),('2012-01-30',201205,1,2012,30,5,201201),('2012-01-31',201205,1,2012,31,5,201201),('2012-02-01',201205,2,2012,1,5,201202),('2012-02-02',201205,2,2012,2,5,201202),('2012-02-03',201205,2,2012,3,5,201202),('2012-02-04',201205,2,2012,4,5,201202),('2012-02-05',201206,2,2012,5,6,201202),('2012-02-06',201206,2,2012,6,6,201202),('2012-02-07',201206,2,2012,7,6,201202),('2012-02-08',201206,2,2012,8,6,201202),('2012-02-09',201206,2,2012,9,6,201202),('2012-02-10',201206,2,2012,10,6,201202),('2012-02-11',201206,2,2012,11,6,201202),('2012-02-12',201207,2,2012,12,7,201202),('2012-02-13',201207,2,2012,13,7,201202),('2012-02-14',201207,2,2012,14,7,201202),('2012-02-15',201207,2,2012,15,7,201202),('2012-02-16',201207,2,2012,16,7,201202),('2012-02-17',201207,2,2012,17,7,201202),('2012-02-18',201207,2,2012,18,7,201202),('2012-02-19',201208,2,2012,19,8,201202),('2012-02-20',201208,2,2012,20,8,201202),('2012-02-21',201208,2,2012,21,8,201202),('2012-02-22',201208,2,2012,22,8,201202),('2012-02-23',201208,2,2012,23,8,201202),('2012-02-24',201208,2,2012,24,8,201202),('2012-02-25',201208,2,2012,25,8,201202),('2012-02-26',201209,2,2012,26,9,201202),('2012-02-27',201209,2,2012,27,9,201202),('2012-02-28',201209,2,2012,28,9,201202),('2012-02-29',201209,2,2012,29,9,201202),('2012-03-01',201209,3,2012,1,9,201203),('2012-03-02',201209,3,2012,2,9,201203),('2012-03-03',201209,3,2012,3,9,201203),('2012-03-04',201210,3,2012,4,10,201203),('2012-03-05',201210,3,2012,5,10,201203),('2012-03-06',201210,3,2012,6,10,201203),('2012-03-07',201210,3,2012,7,10,201203),('2012-03-08',201210,3,2012,8,10,201203),('2012-03-09',201210,3,2012,9,10,201203),('2012-03-10',201210,3,2012,10,10,201203),('2012-03-11',201211,3,2012,11,11,201203),('2012-03-12',201211,3,2012,12,11,201203),('2012-03-13',201211,3,2012,13,11,201203),('2012-03-14',201211,3,2012,14,11,201203),('2012-03-15',201211,3,2012,15,11,201203),('2012-03-16',201211,3,2012,16,11,201203),('2012-03-17',201211,3,2012,17,11,201203),('2012-03-18',201212,3,2012,18,12,201203),('2012-03-19',201212,3,2012,19,12,201203),('2012-03-20',201212,3,2012,20,12,201203),('2012-03-21',201212,3,2012,21,12,201203),('2012-03-22',201212,3,2012,22,12,201203),('2012-03-23',201212,3,2012,23,12,201203),('2012-03-24',201212,3,2012,24,12,201203),('2012-03-25',201213,3,2012,25,13,201203),('2012-03-26',201213,3,2012,26,13,201203),('2012-03-27',201213,3,2012,27,13,201203),('2012-03-28',201213,3,2012,28,13,201203),('2012-03-29',201213,3,2012,29,13,201203),('2012-03-30',201213,3,2012,30,13,201203),('2012-03-31',201213,3,2012,31,13,201203),('2012-04-01',201214,4,2012,1,14,201204),('2012-04-02',201214,4,2012,2,14,201204),('2012-04-03',201214,4,2012,3,14,201204),('2012-04-04',201214,4,2012,4,14,201204),('2012-04-05',201214,4,2012,5,14,201204),('2012-04-06',201214,4,2012,6,14,201204),('2012-04-07',201214,4,2012,7,14,201204),('2012-04-08',201215,4,2012,8,15,201204),('2012-04-09',201215,4,2012,9,15,201204),('2012-04-10',201215,4,2012,10,15,201204),('2012-04-11',201215,4,2012,11,15,201204),('2012-04-12',201215,4,2012,12,15,201204),('2012-04-13',201215,4,2012,13,15,201204),('2012-04-14',201215,4,2012,14,15,201204),('2012-04-15',201216,4,2012,15,16,201204),('2012-04-16',201216,4,2012,16,16,201204),('2012-04-17',201216,4,2012,17,16,201204),('2012-04-18',201216,4,2012,18,16,201204),('2012-04-19',201216,4,2012,19,16,201204),('2012-04-20',201216,4,2012,20,16,201204),('2012-04-21',201216,4,2012,21,16,201204),('2012-04-22',201217,4,2012,22,17,201204),('2012-04-23',201217,4,2012,23,17,201204),('2012-04-24',201217,4,2012,24,17,201204),('2012-04-25',201217,4,2012,25,17,201204),('2012-04-26',201217,4,2012,26,17,201204),('2012-04-27',201217,4,2012,27,17,201204),('2012-04-28',201217,4,2012,28,17,201204),('2012-04-29',201218,4,2012,29,18,201204),('2012-04-30',201218,4,2012,30,18,201204),('2012-05-01',201218,5,2012,1,18,201205),('2012-05-02',201218,5,2012,2,18,201205),('2012-05-03',201218,5,2012,3,18,201205),('2012-05-04',201218,5,2012,4,18,201205),('2012-05-05',201218,5,2012,5,18,201205),('2012-05-06',201219,5,2012,6,19,201205),('2012-05-07',201219,5,2012,7,19,201205),('2012-05-08',201219,5,2012,8,19,201205),('2012-05-09',201219,5,2012,9,19,201205),('2012-05-10',201219,5,2012,10,19,201205),('2012-05-11',201219,5,2012,11,19,201205),('2012-05-12',201219,5,2012,12,19,201205),('2012-05-13',201220,5,2012,13,20,201205),('2012-05-14',201220,5,2012,14,20,201205),('2012-05-15',201220,5,2012,15,20,201205),('2012-05-16',201220,5,2012,16,20,201205),('2012-05-17',201220,5,2012,17,20,201205),('2012-05-18',201220,5,2012,18,20,201205),('2012-05-19',201220,5,2012,19,20,201205),('2012-05-20',201221,5,2012,20,21,201205),('2012-05-21',201221,5,2012,21,21,201205),('2012-05-22',201221,5,2012,22,21,201205),('2012-05-23',201221,5,2012,23,21,201205),('2012-05-24',201221,5,2012,24,21,201205),('2012-05-25',201221,5,2012,25,21,201205),('2012-05-26',201221,5,2012,26,21,201205),('2012-05-27',201222,5,2012,27,22,201205),('2012-05-28',201222,5,2012,28,22,201205),('2012-05-29',201222,5,2012,29,22,201205),('2012-05-30',201222,5,2012,30,22,201205),('2012-05-31',201222,5,2012,31,22,201205),('2012-06-01',201222,6,2012,1,22,201206),('2012-06-02',201222,6,2012,2,22,201206),('2012-06-03',201223,6,2012,3,23,201206),('2012-06-04',201223,6,2012,4,23,201206),('2012-06-05',201223,6,2012,5,23,201206),('2012-06-06',201223,6,2012,6,23,201206),('2012-06-07',201223,6,2012,7,23,201206),('2012-06-08',201223,6,2012,8,23,201206),('2012-06-09',201223,6,2012,9,23,201206),('2012-06-10',201224,6,2012,10,24,201206),('2012-06-11',201224,6,2012,11,24,201206),('2012-06-12',201224,6,2012,12,24,201206),('2012-06-13',201224,6,2012,13,24,201206),('2012-06-14',201224,6,2012,14,24,201206),('2012-06-15',201224,6,2012,15,24,201206),('2012-06-16',201224,6,2012,16,24,201206),('2012-06-17',201225,6,2012,17,25,201206),('2012-06-18',201225,6,2012,18,25,201206),('2012-06-19',201225,6,2012,19,25,201206),('2012-06-20',201225,6,2012,20,25,201206),('2012-06-21',201225,6,2012,21,25,201206),('2012-06-22',201225,6,2012,22,25,201206),('2012-06-23',201225,6,2012,23,25,201206),('2012-06-24',201226,6,2012,24,26,201206),('2012-06-25',201226,6,2012,25,26,201206),('2012-06-26',201226,6,2012,26,26,201206),('2012-06-27',201226,6,2012,27,26,201206),('2012-06-28',201226,6,2012,28,26,201206),('2012-06-29',201226,6,2012,29,26,201206),('2012-06-30',201226,6,2012,30,26,201206),('2012-07-01',201227,7,2012,1,27,201207),('2012-07-02',201227,7,2012,2,27,201207),('2012-07-03',201227,7,2012,3,27,201207),('2012-07-04',201227,7,2012,4,27,201207),('2012-07-05',201227,7,2012,5,27,201207),('2012-07-06',201227,7,2012,6,27,201207),('2012-07-07',201227,7,2012,7,27,201207),('2012-07-08',201228,7,2012,8,28,201207),('2012-07-09',201228,7,2012,9,28,201207),('2012-07-10',201228,7,2012,10,28,201207),('2012-07-11',201228,7,2012,11,28,201207),('2012-07-12',201228,7,2012,12,28,201207),('2012-07-13',201228,7,2012,13,28,201207),('2012-07-14',201228,7,2012,14,28,201207),('2012-07-15',201229,7,2012,15,29,201207),('2012-07-16',201229,7,2012,16,29,201207),('2012-07-17',201229,7,2012,17,29,201207),('2012-07-18',201229,7,2012,18,29,201207),('2012-07-19',201229,7,2012,19,29,201207),('2012-07-20',201229,7,2012,20,29,201207),('2012-07-21',201229,7,2012,21,29,201207),('2012-07-22',201230,7,2012,22,30,201207),('2012-07-23',201230,7,2012,23,30,201207),('2012-07-24',201230,7,2012,24,30,201207),('2012-07-25',201230,7,2012,25,30,201207),('2012-07-26',201230,7,2012,26,30,201207),('2012-07-27',201230,7,2012,27,30,201207),('2012-07-28',201230,7,2012,28,30,201207),('2012-07-29',201231,7,2012,29,31,201207),('2012-07-30',201231,7,2012,30,31,201207),('2012-07-31',201231,7,2012,31,31,201207),('2012-08-01',201231,8,2012,1,31,201208),('2012-08-02',201231,8,2012,2,31,201208),('2012-08-03',201231,8,2012,3,31,201208),('2012-08-04',201231,8,2012,4,31,201208),('2012-08-05',201232,8,2012,5,32,201208),('2012-08-06',201232,8,2012,6,32,201208),('2012-08-07',201232,8,2012,7,32,201208),('2012-08-08',201232,8,2012,8,32,201208),('2012-08-09',201232,8,2012,9,32,201208),('2012-08-10',201232,8,2012,10,32,201208),('2012-08-11',201232,8,2012,11,32,201208),('2012-08-12',201233,8,2012,12,33,201208),('2012-08-13',201233,8,2012,13,33,201208),('2012-08-14',201233,8,2012,14,33,201208),('2012-08-15',201233,8,2012,15,33,201208),('2012-08-16',201233,8,2012,16,33,201208),('2012-08-17',201233,8,2012,17,33,201208),('2012-08-18',201233,8,2012,18,33,201208),('2012-08-19',201234,8,2012,19,34,201208),('2012-08-20',201234,8,2012,20,34,201208),('2012-08-21',201234,8,2012,21,34,201208),('2012-08-22',201234,8,2012,22,34,201208),('2012-08-23',201234,8,2012,23,34,201208),('2012-08-24',201234,8,2012,24,34,201208),('2012-08-25',201234,8,2012,25,34,201208),('2012-08-26',201235,8,2012,26,35,201208),('2012-08-27',201235,8,2012,27,35,201208),('2012-08-28',201235,8,2012,28,35,201208),('2012-08-29',201235,8,2012,29,35,201208),('2012-08-30',201235,8,2012,30,35,201208),('2012-08-31',201235,8,2012,31,35,201208),('2012-09-01',201235,9,2012,1,35,201209),('2012-09-02',201236,9,2012,2,36,201209),('2012-09-03',201236,9,2012,3,36,201209),('2012-09-04',201236,9,2012,4,36,201209),('2012-09-05',201236,9,2012,5,36,201209),('2012-09-06',201236,9,2012,6,36,201209),('2012-09-07',201236,9,2012,7,36,201209),('2012-09-08',201236,9,2012,8,36,201209),('2012-09-09',201237,9,2012,9,37,201209),('2012-09-10',201237,9,2012,10,37,201209),('2012-09-11',201237,9,2012,11,37,201209),('2012-09-12',201237,9,2012,12,37,201209),('2012-09-13',201237,9,2012,13,37,201209),('2012-09-14',201237,9,2012,14,37,201209),('2012-09-15',201237,9,2012,15,37,201209),('2012-09-16',201238,9,2012,16,38,201209),('2012-09-17',201238,9,2012,17,38,201209),('2012-09-18',201238,9,2012,18,38,201209),('2012-09-19',201238,9,2012,19,38,201209),('2012-09-20',201238,9,2012,20,38,201209),('2012-09-21',201238,9,2012,21,38,201209),('2012-09-22',201238,9,2012,22,38,201209),('2012-09-23',201239,9,2012,23,39,201209),('2012-09-24',201239,9,2012,24,39,201209),('2012-09-25',201239,9,2012,25,39,201209),('2012-09-26',201239,9,2012,26,39,201209),('2012-09-27',201239,9,2012,27,39,201209),('2012-09-28',201239,9,2012,28,39,201209),('2012-09-29',201239,9,2012,29,39,201209),('2012-09-30',201240,9,2012,30,40,201209),('2012-10-01',201240,10,2012,1,40,201210),('2012-10-02',201240,10,2012,2,40,201210),('2012-10-03',201240,10,2012,3,40,201210),('2012-10-04',201240,10,2012,4,40,201210),('2012-10-05',201240,10,2012,5,40,201210),('2012-10-06',201240,10,2012,6,40,201210),('2012-10-07',201241,10,2012,7,41,201210),('2012-10-08',201241,10,2012,8,41,201210),('2012-10-09',201241,10,2012,9,41,201210),('2012-10-10',201241,10,2012,10,41,201210),('2012-10-11',201241,10,2012,11,41,201210),('2012-10-12',201241,10,2012,12,41,201210),('2012-10-13',201241,10,2012,13,41,201210),('2012-10-14',201242,10,2012,14,42,201210),('2012-10-15',201242,10,2012,15,42,201210),('2012-10-16',201242,10,2012,16,42,201210),('2012-10-17',201242,10,2012,17,42,201210),('2012-10-18',201242,10,2012,18,42,201210),('2012-10-19',201242,10,2012,19,42,201210),('2012-10-20',201242,10,2012,20,42,201210),('2012-10-21',201243,10,2012,21,43,201210),('2012-10-22',201243,10,2012,22,43,201210),('2012-10-23',201243,10,2012,23,43,201210),('2012-10-24',201243,10,2012,24,43,201210),('2012-10-25',201243,10,2012,25,43,201210),('2012-10-26',201243,10,2012,26,43,201210),('2012-10-27',201243,10,2012,27,43,201210),('2012-10-28',201244,10,2012,28,44,201210),('2012-10-29',201244,10,2012,29,44,201210),('2012-10-30',201244,10,2012,30,44,201210),('2012-10-31',201244,10,2012,31,44,201210),('2012-11-01',201244,11,2012,1,44,201211),('2012-11-02',201244,11,2012,2,44,201211),('2012-11-03',201244,11,2012,3,44,201211),('2012-11-04',201245,11,2012,4,45,201211),('2012-11-05',201245,11,2012,5,45,201211),('2012-11-06',201245,11,2012,6,45,201211),('2012-11-07',201245,11,2012,7,45,201211),('2012-11-08',201245,11,2012,8,45,201211),('2012-11-09',201245,11,2012,9,45,201211),('2012-11-10',201245,11,2012,10,45,201211),('2012-11-11',201246,11,2012,11,46,201211),('2012-11-12',201246,11,2012,12,46,201211),('2012-11-13',201246,11,2012,13,46,201211),('2012-11-14',201246,11,2012,14,46,201211),('2012-11-15',201246,11,2012,15,46,201211),('2012-11-16',201246,11,2012,16,46,201211),('2012-11-17',201246,11,2012,17,46,201211),('2012-11-18',201247,11,2012,18,47,201211),('2012-11-19',201247,11,2012,19,47,201211),('2012-11-20',201247,11,2012,20,47,201211),('2012-11-21',201247,11,2012,21,47,201211),('2012-11-22',201247,11,2012,22,47,201211),('2012-11-23',201247,11,2012,23,47,201211),('2012-11-24',201247,11,2012,24,47,201211),('2012-11-25',201248,11,2012,25,48,201211),('2012-11-26',201248,11,2012,26,48,201211),('2012-11-27',201248,11,2012,27,48,201211),('2012-11-28',201248,11,2012,28,48,201211),('2012-11-29',201248,11,2012,29,48,201211),('2012-11-30',201248,11,2012,30,48,201211),('2012-12-01',201248,12,2012,1,48,201212),('2012-12-02',201249,12,2012,2,49,201212),('2012-12-03',201249,12,2012,3,49,201212),('2012-12-04',201249,12,2012,4,49,201212),('2012-12-05',201249,12,2012,5,49,201212),('2012-12-06',201249,12,2012,6,49,201212),('2012-12-07',201249,12,2012,7,49,201212),('2012-12-08',201249,12,2012,8,49,201212),('2012-12-09',201250,12,2012,9,50,201212),('2012-12-10',201250,12,2012,10,50,201212),('2012-12-11',201250,12,2012,11,50,201212),('2012-12-12',201250,12,2012,12,50,201212),('2012-12-13',201250,12,2012,13,50,201212),('2012-12-14',201250,12,2012,14,50,201212),('2012-12-15',201250,12,2012,15,50,201212),('2012-12-16',201251,12,2012,16,51,201212),('2012-12-17',201251,12,2012,17,51,201212),('2012-12-18',201251,12,2012,18,51,201212),('2012-12-19',201251,12,2012,19,51,201212),('2012-12-20',201251,12,2012,20,51,201212),('2012-12-21',201251,12,2012,21,51,201212),('2012-12-22',201251,12,2012,22,51,201212),('2012-12-23',201252,12,2012,23,52,201212),('2012-12-24',201252,12,2012,24,52,201212),('2012-12-25',201252,12,2012,25,52,201212),('2012-12-26',201252,12,2012,26,52,201212),('2012-12-27',201252,12,2012,27,52,201212),('2012-12-28',201252,12,2012,28,52,201212),('2012-12-29',201252,12,2012,29,52,201212),('2012-12-30',201301,12,2012,30,1,201212),('2012-12-31',201301,12,2012,31,1,201212),('2013-01-01',201301,1,2013,1,1,201301),('2013-01-02',201301,1,2013,2,1,201301),('2013-01-03',201301,1,2013,3,1,201301),('2013-01-04',201301,1,2013,4,1,201301),('2013-01-05',201301,1,2013,5,1,201301),('2013-01-06',201302,1,2013,6,2,201301),('2013-01-07',201302,1,2013,7,2,201301),('2013-01-08',201302,1,2013,8,2,201301),('2013-01-09',201302,1,2013,9,2,201301),('2013-01-10',201302,1,2013,10,2,201301),('2013-01-11',201302,1,2013,11,2,201301),('2013-01-12',201302,1,2013,12,2,201301),('2013-01-13',201303,1,2013,13,3,201301),('2013-01-14',201303,1,2013,14,3,201301),('2013-01-15',201303,1,2013,15,3,201301),('2013-01-16',201303,1,2013,16,3,201301),('2013-01-17',201303,1,2013,17,3,201301),('2013-01-18',201303,1,2013,18,3,201301),('2013-01-19',201303,1,2013,19,3,201301),('2013-01-20',201304,1,2013,20,4,201301),('2013-01-21',201304,1,2013,21,4,201301),('2013-01-22',201304,1,2013,22,4,201301),('2013-01-23',201304,1,2013,23,4,201301),('2013-01-24',201304,1,2013,24,4,201301),('2013-01-25',201304,1,2013,25,4,201301),('2013-01-26',201304,1,2013,26,4,201301),('2013-01-27',201305,1,2013,27,5,201301),('2013-01-28',201305,1,2013,28,5,201301),('2013-01-29',201305,1,2013,29,5,201301),('2013-01-30',201305,1,2013,30,5,201301),('2013-01-31',201305,1,2013,31,5,201301),('2013-02-01',201305,2,2013,1,5,201302),('2013-02-02',201305,2,2013,2,5,201302),('2013-02-03',201306,2,2013,3,6,201302),('2013-02-04',201306,2,2013,4,6,201302),('2013-02-05',201306,2,2013,5,6,201302),('2013-02-06',201306,2,2013,6,6,201302),('2013-02-07',201306,2,2013,7,6,201302),('2013-02-08',201306,2,2013,8,6,201302),('2013-02-09',201306,2,2013,9,6,201302),('2013-02-10',201307,2,2013,10,7,201302),('2013-02-11',201307,2,2013,11,7,201302),('2013-02-12',201307,2,2013,12,7,201302),('2013-02-13',201307,2,2013,13,7,201302),('2013-02-14',201307,2,2013,14,7,201302),('2013-02-15',201307,2,2013,15,7,201302),('2013-02-16',201307,2,2013,16,7,201302),('2013-02-17',201308,2,2013,17,8,201302),('2013-02-18',201308,2,2013,18,8,201302),('2013-02-19',201308,2,2013,19,8,201302),('2013-02-20',201308,2,2013,20,8,201302),('2013-02-21',201308,2,2013,21,8,201302),('2013-02-22',201308,2,2013,22,8,201302),('2013-02-23',201308,2,2013,23,8,201302),('2013-02-24',201309,2,2013,24,9,201302),('2013-02-25',201309,2,2013,25,9,201302),('2013-02-26',201309,2,2013,26,9,201302),('2013-02-27',201309,2,2013,27,9,201302),('2013-02-28',201309,2,2013,28,9,201302),('2013-03-01',201309,3,2013,1,9,201303),('2013-03-02',201309,3,2013,2,9,201303),('2013-03-03',201310,3,2013,3,10,201303),('2013-03-04',201310,3,2013,4,10,201303),('2013-03-05',201310,3,2013,5,10,201303),('2013-03-06',201310,3,2013,6,10,201303),('2013-03-07',201310,3,2013,7,10,201303),('2013-03-08',201310,3,2013,8,10,201303),('2013-03-09',201310,3,2013,9,10,201303),('2013-03-10',201311,3,2013,10,11,201303),('2013-03-11',201311,3,2013,11,11,201303),('2013-03-12',201311,3,2013,12,11,201303),('2013-03-13',201311,3,2013,13,11,201303),('2013-03-14',201311,3,2013,14,11,201303),('2013-03-15',201311,3,2013,15,11,201303),('2013-03-16',201311,3,2013,16,11,201303),('2013-03-17',201312,3,2013,17,12,201303),('2013-03-18',201312,3,2013,18,12,201303),('2013-03-19',201312,3,2013,19,12,201303),('2013-03-20',201312,3,2013,20,12,201303),('2013-03-21',201312,3,2013,21,12,201303),('2013-03-22',201312,3,2013,22,12,201303),('2013-03-23',201312,3,2013,23,12,201303),('2013-03-24',201313,3,2013,24,13,201303),('2013-03-25',201313,3,2013,25,13,201303),('2013-03-26',201313,3,2013,26,13,201303),('2013-03-27',201313,3,2013,27,13,201303),('2013-03-28',201313,3,2013,28,13,201303),('2013-03-29',201313,3,2013,29,13,201303),('2013-03-30',201313,3,2013,30,13,201303),('2013-03-31',201314,3,2013,31,14,201303),('2013-04-01',201314,4,2013,1,14,201304),('2013-04-02',201314,4,2013,2,14,201304),('2013-04-03',201314,4,2013,3,14,201304),('2013-04-04',201314,4,2013,4,14,201304),('2013-04-05',201314,4,2013,5,14,201304),('2013-04-06',201314,4,2013,6,14,201304),('2013-04-07',201315,4,2013,7,15,201304),('2013-04-08',201315,4,2013,8,15,201304),('2013-04-09',201315,4,2013,9,15,201304),('2013-04-10',201315,4,2013,10,15,201304),('2013-04-11',201315,4,2013,11,15,201304),('2013-04-12',201315,4,2013,12,15,201304),('2013-04-13',201315,4,2013,13,15,201304),('2013-04-14',201316,4,2013,14,16,201304),('2013-04-15',201316,4,2013,15,16,201304),('2013-04-16',201316,4,2013,16,16,201304),('2013-04-17',201316,4,2013,17,16,201304),('2013-04-18',201316,4,2013,18,16,201304),('2013-04-19',201316,4,2013,19,16,201304),('2013-04-20',201316,4,2013,20,16,201304),('2013-04-21',201317,4,2013,21,17,201304),('2013-04-22',201317,4,2013,22,17,201304),('2013-04-23',201317,4,2013,23,17,201304),('2013-04-24',201317,4,2013,24,17,201304),('2013-04-25',201317,4,2013,25,17,201304),('2013-04-26',201317,4,2013,26,17,201304),('2013-04-27',201317,4,2013,27,17,201304),('2013-04-28',201318,4,2013,28,18,201304),('2013-04-29',201318,4,2013,29,18,201304),('2013-04-30',201318,4,2013,30,18,201304),('2013-05-01',201318,5,2013,1,18,201305),('2013-05-02',201318,5,2013,2,18,201305),('2013-05-03',201318,5,2013,3,18,201305),('2013-05-04',201318,5,2013,4,18,201305),('2013-05-05',201319,5,2013,5,19,201305),('2013-05-06',201319,5,2013,6,19,201305),('2013-05-07',201319,5,2013,7,19,201305),('2013-05-08',201319,5,2013,8,19,201305),('2013-05-09',201319,5,2013,9,19,201305),('2013-05-10',201319,5,2013,10,19,201305),('2013-05-11',201319,5,2013,11,19,201305),('2013-05-12',201320,5,2013,12,20,201305),('2013-05-13',201320,5,2013,13,20,201305),('2013-05-14',201320,5,2013,14,20,201305),('2013-05-15',201320,5,2013,15,20,201305),('2013-05-16',201320,5,2013,16,20,201305),('2013-05-17',201320,5,2013,17,20,201305),('2013-05-18',201320,5,2013,18,20,201305),('2013-05-19',201321,5,2013,19,21,201305),('2013-05-20',201321,5,2013,20,21,201305),('2013-05-21',201321,5,2013,21,21,201305),('2013-05-22',201321,5,2013,22,21,201305),('2013-05-23',201321,5,2013,23,21,201305),('2013-05-24',201321,5,2013,24,21,201305),('2013-05-25',201321,5,2013,25,21,201305),('2013-05-26',201322,5,2013,26,22,201305),('2013-05-27',201322,5,2013,27,22,201305),('2013-05-28',201322,5,2013,28,22,201305),('2013-05-29',201322,5,2013,29,22,201305),('2013-05-30',201322,5,2013,30,22,201305),('2013-05-31',201322,5,2013,31,22,201305),('2013-06-01',201322,6,2013,1,22,201306),('2013-06-02',201323,6,2013,2,23,201306),('2013-06-03',201323,6,2013,3,23,201306),('2013-06-04',201323,6,2013,4,23,201306),('2013-06-05',201323,6,2013,5,23,201306),('2013-06-06',201323,6,2013,6,23,201306),('2013-06-07',201323,6,2013,7,23,201306),('2013-06-08',201323,6,2013,8,23,201306),('2013-06-09',201324,6,2013,9,24,201306),('2013-06-10',201324,6,2013,10,24,201306),('2013-06-11',201324,6,2013,11,24,201306),('2013-06-12',201324,6,2013,12,24,201306),('2013-06-13',201324,6,2013,13,24,201306),('2013-06-14',201324,6,2013,14,24,201306),('2013-06-15',201324,6,2013,15,24,201306),('2013-06-16',201325,6,2013,16,25,201306),('2013-06-17',201325,6,2013,17,25,201306),('2013-06-18',201325,6,2013,18,25,201306),('2013-06-19',201325,6,2013,19,25,201306),('2013-06-20',201325,6,2013,20,25,201306),('2013-06-21',201325,6,2013,21,25,201306),('2013-06-22',201325,6,2013,22,25,201306),('2013-06-23',201326,6,2013,23,26,201306),('2013-06-24',201326,6,2013,24,26,201306),('2013-06-25',201326,6,2013,25,26,201306),('2013-06-26',201326,6,2013,26,26,201306),('2013-06-27',201326,6,2013,27,26,201306),('2013-06-28',201326,6,2013,28,26,201306),('2013-06-29',201326,6,2013,29,26,201306),('2013-06-30',201327,6,2013,30,27,201306),('2013-07-01',201327,7,2013,1,27,201307),('2013-07-02',201327,7,2013,2,27,201307),('2013-07-03',201327,7,2013,3,27,201307),('2013-07-04',201327,7,2013,4,27,201307),('2013-07-05',201327,7,2013,5,27,201307),('2013-07-06',201327,7,2013,6,27,201307),('2013-07-07',201328,7,2013,7,28,201307),('2013-07-08',201328,7,2013,8,28,201307),('2013-07-09',201328,7,2013,9,28,201307),('2013-07-10',201328,7,2013,10,28,201307),('2013-07-11',201328,7,2013,11,28,201307),('2013-07-12',201328,7,2013,12,28,201307),('2013-07-13',201328,7,2013,13,28,201307),('2013-07-14',201329,7,2013,14,29,201307),('2013-07-15',201329,7,2013,15,29,201307),('2013-07-16',201329,7,2013,16,29,201307),('2013-07-17',201329,7,2013,17,29,201307),('2013-07-18',201329,7,2013,18,29,201307),('2013-07-19',201329,7,2013,19,29,201307),('2013-07-20',201329,7,2013,20,29,201307),('2013-07-21',201330,7,2013,21,30,201307),('2013-07-22',201330,7,2013,22,30,201307),('2013-07-23',201330,7,2013,23,30,201307),('2013-07-24',201330,7,2013,24,30,201307),('2013-07-25',201330,7,2013,25,30,201307),('2013-07-26',201330,7,2013,26,30,201307),('2013-07-27',201330,7,2013,27,30,201307),('2013-07-28',201331,7,2013,28,31,201307),('2013-07-29',201331,7,2013,29,31,201307),('2013-07-30',201331,7,2013,30,31,201307),('2013-07-31',201331,7,2013,31,31,201307),('2013-08-01',201331,8,2013,1,31,201308),('2013-08-02',201331,8,2013,2,31,201308),('2013-08-03',201331,8,2013,3,31,201308),('2013-08-04',201332,8,2013,4,32,201308),('2013-08-05',201332,8,2013,5,32,201308),('2013-08-06',201332,8,2013,6,32,201308),('2013-08-07',201332,8,2013,7,32,201308),('2013-08-08',201332,8,2013,8,32,201308),('2013-08-09',201332,8,2013,9,32,201308),('2013-08-10',201332,8,2013,10,32,201308),('2013-08-11',201333,8,2013,11,33,201308),('2013-08-12',201333,8,2013,12,33,201308),('2013-08-13',201333,8,2013,13,33,201308),('2013-08-14',201333,8,2013,14,33,201308),('2013-08-15',201333,8,2013,15,33,201308),('2013-08-16',201333,8,2013,16,33,201308),('2013-08-17',201333,8,2013,17,33,201308),('2013-08-18',201334,8,2013,18,34,201308),('2013-08-19',201334,8,2013,19,34,201308),('2013-08-20',201334,8,2013,20,34,201308),('2013-08-21',201334,8,2013,21,34,201308),('2013-08-22',201334,8,2013,22,34,201308),('2013-08-23',201334,8,2013,23,34,201308),('2013-08-24',201334,8,2013,24,34,201308),('2013-08-25',201335,8,2013,25,35,201308),('2013-08-26',201335,8,2013,26,35,201308),('2013-08-27',201335,8,2013,27,35,201308),('2013-08-28',201335,8,2013,28,35,201308),('2013-08-29',201335,8,2013,29,35,201308),('2013-08-30',201335,8,2013,30,35,201308),('2013-08-31',201335,8,2013,31,35,201308),('2013-09-01',201336,9,2013,1,36,201309),('2013-09-02',201336,9,2013,2,36,201309),('2013-09-03',201336,9,2013,3,36,201309),('2013-09-04',201336,9,2013,4,36,201309),('2013-09-05',201336,9,2013,5,36,201309),('2013-09-06',201336,9,2013,6,36,201309),('2013-09-07',201336,9,2013,7,36,201309),('2013-09-08',201337,9,2013,8,37,201309),('2013-09-09',201337,9,2013,9,37,201309),('2013-09-10',201337,9,2013,10,37,201309),('2013-09-11',201337,9,2013,11,37,201309),('2013-09-12',201337,9,2013,12,37,201309),('2013-09-13',201337,9,2013,13,37,201309),('2013-09-14',201337,9,2013,14,37,201309),('2013-09-15',201338,9,2013,15,38,201309),('2013-09-16',201338,9,2013,16,38,201309),('2013-09-17',201338,9,2013,17,38,201309),('2013-09-18',201338,9,2013,18,38,201309),('2013-09-19',201338,9,2013,19,38,201309),('2013-09-20',201338,9,2013,20,38,201309),('2013-09-21',201338,9,2013,21,38,201309),('2013-09-22',201339,9,2013,22,39,201309),('2013-09-23',201339,9,2013,23,39,201309),('2013-09-24',201339,9,2013,24,39,201309),('2013-09-25',201339,9,2013,25,39,201309),('2013-09-26',201339,9,2013,26,39,201309),('2013-09-27',201339,9,2013,27,39,201309),('2013-09-28',201339,9,2013,28,39,201309),('2013-09-29',201340,9,2013,29,40,201309),('2013-09-30',201340,9,2013,30,40,201309),('2013-10-01',201340,10,2013,1,40,201310),('2013-10-02',201340,10,2013,2,40,201310),('2013-10-03',201340,10,2013,3,40,201310),('2013-10-04',201340,10,2013,4,40,201310),('2013-10-05',201340,10,2013,5,40,201310),('2013-10-06',201341,10,2013,6,41,201310),('2013-10-07',201341,10,2013,7,41,201310),('2013-10-08',201341,10,2013,8,41,201310),('2013-10-09',201341,10,2013,9,41,201310),('2013-10-10',201341,10,2013,10,41,201310),('2013-10-11',201341,10,2013,11,41,201310),('2013-10-12',201341,10,2013,12,41,201310),('2013-10-13',201342,10,2013,13,42,201310),('2013-10-14',201342,10,2013,14,42,201310),('2013-10-15',201342,10,2013,15,42,201310),('2013-10-16',201342,10,2013,16,42,201310),('2013-10-17',201342,10,2013,17,42,201310),('2013-10-18',201342,10,2013,18,42,201310),('2013-10-19',201342,10,2013,19,42,201310),('2013-10-20',201343,10,2013,20,43,201310),('2013-10-21',201343,10,2013,21,43,201310),('2013-10-22',201343,10,2013,22,43,201310),('2013-10-23',201343,10,2013,23,43,201310),('2013-10-24',201343,10,2013,24,43,201310),('2013-10-25',201343,10,2013,25,43,201310),('2013-10-26',201343,10,2013,26,43,201310),('2013-10-27',201344,10,2013,27,44,201310),('2013-10-28',201344,10,2013,28,44,201310),('2013-10-29',201344,10,2013,29,44,201310),('2013-10-30',201344,10,2013,30,44,201310),('2013-10-31',201344,10,2013,31,44,201310),('2013-11-01',201344,11,2013,1,44,201311),('2013-11-02',201344,11,2013,2,44,201311),('2013-11-03',201345,11,2013,3,45,201311),('2013-11-04',201345,11,2013,4,45,201311),('2013-11-05',201345,11,2013,5,45,201311),('2013-11-06',201345,11,2013,6,45,201311),('2013-11-07',201345,11,2013,7,45,201311),('2013-11-08',201345,11,2013,8,45,201311),('2013-11-09',201345,11,2013,9,45,201311),('2013-11-10',201346,11,2013,10,46,201311),('2013-11-11',201346,11,2013,11,46,201311),('2013-11-12',201346,11,2013,12,46,201311),('2013-11-13',201346,11,2013,13,46,201311),('2013-11-14',201346,11,2013,14,46,201311),('2013-11-15',201346,11,2013,15,46,201311),('2013-11-16',201346,11,2013,16,46,201311),('2013-11-17',201347,11,2013,17,47,201311),('2013-11-18',201347,11,2013,18,47,201311),('2013-11-19',201347,11,2013,19,47,201311),('2013-11-20',201347,11,2013,20,47,201311),('2013-11-21',201347,11,2013,21,47,201311),('2013-11-22',201347,11,2013,22,47,201311),('2013-11-23',201347,11,2013,23,47,201311),('2013-11-24',201348,11,2013,24,48,201311),('2013-11-25',201348,11,2013,25,48,201311),('2013-11-26',201348,11,2013,26,48,201311),('2013-11-27',201348,11,2013,27,48,201311),('2013-11-28',201348,11,2013,28,48,201311),('2013-11-29',201348,11,2013,29,48,201311),('2013-11-30',201348,11,2013,30,48,201311),('2013-12-01',201349,12,2013,1,49,201312),('2013-12-02',201349,12,2013,2,49,201312),('2013-12-03',201349,12,2013,3,49,201312),('2013-12-04',201349,12,2013,4,49,201312),('2013-12-05',201349,12,2013,5,49,201312),('2013-12-06',201349,12,2013,6,49,201312),('2013-12-07',201349,12,2013,7,49,201312),('2013-12-08',201350,12,2013,8,50,201312),('2013-12-09',201350,12,2013,9,50,201312),('2013-12-10',201350,12,2013,10,50,201312),('2013-12-11',201350,12,2013,11,50,201312),('2013-12-12',201350,12,2013,12,50,201312),('2013-12-13',201350,12,2013,13,50,201312),('2013-12-14',201350,12,2013,14,50,201312),('2013-12-15',201351,12,2013,15,51,201312),('2013-12-16',201351,12,2013,16,51,201312),('2013-12-17',201351,12,2013,17,51,201312),('2013-12-18',201351,12,2013,18,51,201312),('2013-12-19',201351,12,2013,19,51,201312),('2013-12-20',201351,12,2013,20,51,201312),('2013-12-21',201351,12,2013,21,51,201312),('2013-12-22',201352,12,2013,22,52,201312),('2013-12-23',201352,12,2013,23,52,201312),('2013-12-24',201352,12,2013,24,52,201312),('2013-12-25',201352,12,2013,25,52,201312),('2013-12-26',201352,12,2013,26,52,201312),('2013-12-27',201352,12,2013,27,52,201312),('2013-12-28',201352,12,2013,28,52,201312),('2013-12-29',201401,12,2013,29,1,201312),('2013-12-30',201401,12,2013,30,1,201312),('2013-12-31',201401,12,2013,31,1,201312),('2014-01-01',201401,1,2014,1,1,201401),('2014-01-02',201401,1,2014,2,1,201401),('2014-01-03',201401,1,2014,3,1,201401),('2014-01-04',201401,1,2014,4,1,201401),('2014-01-05',201402,1,2014,5,2,201401),('2014-01-06',201402,1,2014,6,2,201401),('2014-01-07',201402,1,2014,7,2,201401),('2014-01-08',201402,1,2014,8,2,201401),('2014-01-09',201402,1,2014,9,2,201401),('2014-01-10',201402,1,2014,10,2,201401),('2014-01-11',201402,1,2014,11,2,201401),('2014-01-12',201403,1,2014,12,3,201401),('2014-01-13',201403,1,2014,13,3,201401),('2014-01-14',201403,1,2014,14,3,201401),('2014-01-15',201403,1,2014,15,3,201401),('2014-01-16',201403,1,2014,16,3,201401),('2014-01-17',201403,1,2014,17,3,201401),('2014-01-18',201403,1,2014,18,3,201401),('2014-01-19',201404,1,2014,19,4,201401),('2014-01-20',201404,1,2014,20,4,201401),('2014-01-21',201404,1,2014,21,4,201401),('2014-01-22',201404,1,2014,22,4,201401),('2014-01-23',201404,1,2014,23,4,201401),('2014-01-24',201404,1,2014,24,4,201401),('2014-01-25',201404,1,2014,25,4,201401),('2014-01-26',201405,1,2014,26,5,201401),('2014-01-27',201405,1,2014,27,5,201401),('2014-01-28',201405,1,2014,28,5,201401),('2014-01-29',201405,1,2014,29,5,201401),('2014-01-30',201405,1,2014,30,5,201401),('2014-01-31',201405,1,2014,31,5,201401),('2014-02-01',201405,2,2014,1,5,201402),('2014-02-02',201406,2,2014,2,6,201402),('2014-02-03',201406,2,2014,3,6,201402),('2014-02-04',201406,2,2014,4,6,201402),('2014-02-05',201406,2,2014,5,6,201402),('2014-02-06',201406,2,2014,6,6,201402),('2014-02-07',201406,2,2014,7,6,201402),('2014-02-08',201406,2,2014,8,6,201402),('2014-02-09',201407,2,2014,9,7,201402),('2014-02-10',201407,2,2014,10,7,201402),('2014-02-11',201407,2,2014,11,7,201402),('2014-02-12',201407,2,2014,12,7,201402),('2014-02-13',201407,2,2014,13,7,201402),('2014-02-14',201407,2,2014,14,7,201402),('2014-02-15',201407,2,2014,15,7,201402),('2014-02-16',201408,2,2014,16,8,201402),('2014-02-17',201408,2,2014,17,8,201402),('2014-02-18',201408,2,2014,18,8,201402),('2014-02-19',201408,2,2014,19,8,201402),('2014-02-20',201408,2,2014,20,8,201402),('2014-02-21',201408,2,2014,21,8,201402),('2014-02-22',201408,2,2014,22,8,201402),('2014-02-23',201409,2,2014,23,9,201402),('2014-02-24',201409,2,2014,24,9,201402),('2014-02-25',201409,2,2014,25,9,201402),('2014-02-26',201409,2,2014,26,9,201402),('2014-02-27',201409,2,2014,27,9,201402),('2014-02-28',201409,2,2014,28,9,201402),('2014-03-01',201409,3,2014,1,9,201403),('2014-03-02',201410,3,2014,2,10,201403),('2014-03-03',201410,3,2014,3,10,201403),('2014-03-04',201410,3,2014,4,10,201403),('2014-03-05',201410,3,2014,5,10,201403),('2014-03-06',201410,3,2014,6,10,201403),('2014-03-07',201410,3,2014,7,10,201403),('2014-03-08',201410,3,2014,8,10,201403),('2014-03-09',201411,3,2014,9,11,201403),('2014-03-10',201411,3,2014,10,11,201403),('2014-03-11',201411,3,2014,11,11,201403),('2014-03-12',201411,3,2014,12,11,201403),('2014-03-13',201411,3,2014,13,11,201403),('2014-03-14',201411,3,2014,14,11,201403),('2014-03-15',201411,3,2014,15,11,201403),('2014-03-16',201412,3,2014,16,12,201403),('2014-03-17',201412,3,2014,17,12,201403),('2014-03-18',201412,3,2014,18,12,201403),('2014-03-19',201412,3,2014,19,12,201403),('2014-03-20',201412,3,2014,20,12,201403),('2014-03-21',201412,3,2014,21,12,201403),('2014-03-22',201412,3,2014,22,12,201403),('2014-03-23',201413,3,2014,23,13,201403),('2014-03-24',201413,3,2014,24,13,201403),('2014-03-25',201413,3,2014,25,13,201403),('2014-03-26',201413,3,2014,26,13,201403),('2014-03-27',201413,3,2014,27,13,201403),('2014-03-28',201413,3,2014,28,13,201403),('2014-03-29',201413,3,2014,29,13,201403),('2014-03-30',201414,3,2014,30,14,201403),('2014-03-31',201414,3,2014,31,14,201403),('2014-04-01',201414,4,2014,1,14,201404),('2014-04-02',201414,4,2014,2,14,201404),('2014-04-03',201414,4,2014,3,14,201404),('2014-04-04',201414,4,2014,4,14,201404),('2014-04-05',201414,4,2014,5,14,201404),('2014-04-06',201415,4,2014,6,15,201404),('2014-04-07',201415,4,2014,7,15,201404),('2014-04-08',201415,4,2014,8,15,201404),('2014-04-09',201415,4,2014,9,15,201404),('2014-04-10',201415,4,2014,10,15,201404),('2014-04-11',201415,4,2014,11,15,201404),('2014-04-12',201415,4,2014,12,15,201404),('2014-04-13',201416,4,2014,13,16,201404),('2014-04-14',201416,4,2014,14,16,201404),('2014-04-15',201416,4,2014,15,16,201404),('2014-04-16',201416,4,2014,16,16,201404),('2014-04-17',201416,4,2014,17,16,201404),('2014-04-18',201416,4,2014,18,16,201404),('2014-04-19',201416,4,2014,19,16,201404),('2014-04-20',201417,4,2014,20,17,201404),('2014-04-21',201417,4,2014,21,17,201404),('2014-04-22',201417,4,2014,22,17,201404),('2014-04-23',201417,4,2014,23,17,201404),('2014-04-24',201417,4,2014,24,17,201404),('2014-04-25',201417,4,2014,25,17,201404),('2014-04-26',201417,4,2014,26,17,201404),('2014-04-27',201418,4,2014,27,18,201404),('2014-04-28',201418,4,2014,28,18,201404),('2014-04-29',201418,4,2014,29,18,201404),('2014-04-30',201418,4,2014,30,18,201404),('2014-05-01',201418,5,2014,1,18,201405),('2014-05-02',201418,5,2014,2,18,201405),('2014-05-03',201418,5,2014,3,18,201405),('2014-05-04',201419,5,2014,4,19,201405),('2014-05-05',201419,5,2014,5,19,201405),('2014-05-06',201419,5,2014,6,19,201405),('2014-05-07',201419,5,2014,7,19,201405),('2014-05-08',201419,5,2014,8,19,201405),('2014-05-09',201419,5,2014,9,19,201405),('2014-05-10',201419,5,2014,10,19,201405),('2014-05-11',201420,5,2014,11,20,201405),('2014-05-12',201420,5,2014,12,20,201405),('2014-05-13',201420,5,2014,13,20,201405),('2014-05-14',201420,5,2014,14,20,201405),('2014-05-15',201420,5,2014,15,20,201405),('2014-05-16',201420,5,2014,16,20,201405),('2014-05-17',201420,5,2014,17,20,201405),('2014-05-18',201421,5,2014,18,21,201405),('2014-05-19',201421,5,2014,19,21,201405),('2014-05-20',201421,5,2014,20,21,201405),('2014-05-21',201421,5,2014,21,21,201405),('2014-05-22',201421,5,2014,22,21,201405),('2014-05-23',201421,5,2014,23,21,201405),('2014-05-24',201421,5,2014,24,21,201405),('2014-05-25',201422,5,2014,25,22,201405),('2014-05-26',201422,5,2014,26,22,201405),('2014-05-27',201422,5,2014,27,22,201405),('2014-05-28',201422,5,2014,28,22,201405),('2014-05-29',201422,5,2014,29,22,201405),('2014-05-30',201422,5,2014,30,22,201405),('2014-05-31',201422,5,2014,31,22,201405),('2014-06-01',201423,6,2014,1,23,201406),('2014-06-02',201423,6,2014,2,23,201406),('2014-06-03',201423,6,2014,3,23,201406),('2014-06-04',201423,6,2014,4,23,201406),('2014-06-05',201423,6,2014,5,23,201406),('2014-06-06',201423,6,2014,6,23,201406),('2014-06-07',201423,6,2014,7,23,201406),('2014-06-08',201424,6,2014,8,24,201406),('2014-06-09',201424,6,2014,9,24,201406),('2014-06-10',201424,6,2014,10,24,201406),('2014-06-11',201424,6,2014,11,24,201406),('2014-06-12',201424,6,2014,12,24,201406),('2014-06-13',201424,6,2014,13,24,201406),('2014-06-14',201424,6,2014,14,24,201406),('2014-06-15',201425,6,2014,15,25,201406),('2014-06-16',201425,6,2014,16,25,201406),('2014-06-17',201425,6,2014,17,25,201406),('2014-06-18',201425,6,2014,18,25,201406),('2014-06-19',201425,6,2014,19,25,201406),('2014-06-20',201425,6,2014,20,25,201406),('2014-06-21',201425,6,2014,21,25,201406),('2014-06-22',201426,6,2014,22,26,201406),('2014-06-23',201426,6,2014,23,26,201406),('2014-06-24',201426,6,2014,24,26,201406),('2014-06-25',201426,6,2014,25,26,201406),('2014-06-26',201426,6,2014,26,26,201406),('2014-06-27',201426,6,2014,27,26,201406),('2014-06-28',201426,6,2014,28,26,201406),('2014-06-29',201427,6,2014,29,27,201406),('2014-06-30',201427,6,2014,30,27,201406),('2014-07-01',201427,7,2014,1,27,201407),('2014-07-02',201427,7,2014,2,27,201407),('2014-07-03',201427,7,2014,3,27,201407),('2014-07-04',201427,7,2014,4,27,201407),('2014-07-05',201427,7,2014,5,27,201407),('2014-07-06',201428,7,2014,6,28,201407),('2014-07-07',201428,7,2014,7,28,201407),('2014-07-08',201428,7,2014,8,28,201407),('2014-07-09',201428,7,2014,9,28,201407),('2014-07-10',201428,7,2014,10,28,201407),('2014-07-11',201428,7,2014,11,28,201407),('2014-07-12',201428,7,2014,12,28,201407),('2014-07-13',201429,7,2014,13,29,201407),('2014-07-14',201429,7,2014,14,29,201407),('2014-07-15',201429,7,2014,15,29,201407),('2014-07-16',201429,7,2014,16,29,201407),('2014-07-17',201429,7,2014,17,29,201407),('2014-07-18',201429,7,2014,18,29,201407),('2014-07-19',201429,7,2014,19,29,201407),('2014-07-20',201430,7,2014,20,30,201407),('2014-07-21',201430,7,2014,21,30,201407),('2014-07-22',201430,7,2014,22,30,201407),('2014-07-23',201430,7,2014,23,30,201407),('2014-07-24',201430,7,2014,24,30,201407),('2014-07-25',201430,7,2014,25,30,201407),('2014-07-26',201430,7,2014,26,30,201407),('2014-07-27',201431,7,2014,27,31,201407),('2014-07-28',201431,7,2014,28,31,201407),('2014-07-29',201431,7,2014,29,31,201407),('2014-07-30',201431,7,2014,30,31,201407),('2014-07-31',201431,7,2014,31,31,201407),('2014-08-01',201431,8,2014,1,31,201408),('2014-08-02',201431,8,2014,2,31,201408),('2014-08-03',201432,8,2014,3,32,201408),('2014-08-04',201432,8,2014,4,32,201408),('2014-08-05',201432,8,2014,5,32,201408),('2014-08-06',201432,8,2014,6,32,201408),('2014-08-07',201432,8,2014,7,32,201408),('2014-08-08',201432,8,2014,8,32,201408),('2014-08-09',201432,8,2014,9,32,201408),('2014-08-10',201433,8,2014,10,33,201408),('2014-08-11',201433,8,2014,11,33,201408),('2014-08-12',201433,8,2014,12,33,201408),('2014-08-13',201433,8,2014,13,33,201408),('2014-08-14',201433,8,2014,14,33,201408),('2014-08-15',201433,8,2014,15,33,201408),('2014-08-16',201433,8,2014,16,33,201408),('2014-08-17',201434,8,2014,17,34,201408),('2014-08-18',201434,8,2014,18,34,201408),('2014-08-19',201434,8,2014,19,34,201408),('2014-08-20',201434,8,2014,20,34,201408),('2014-08-21',201434,8,2014,21,34,201408),('2014-08-22',201434,8,2014,22,34,201408),('2014-08-23',201434,8,2014,23,34,201408),('2014-08-24',201435,8,2014,24,35,201408),('2014-08-25',201435,8,2014,25,35,201408),('2014-08-26',201435,8,2014,26,35,201408),('2014-08-27',201435,8,2014,27,35,201408),('2014-08-28',201435,8,2014,28,35,201408),('2014-08-29',201435,8,2014,29,35,201408),('2014-08-30',201435,8,2014,30,35,201408),('2014-08-31',201436,8,2014,31,36,201408),('2014-09-01',201436,9,2014,1,36,201409),('2014-09-02',201436,9,2014,2,36,201409),('2014-09-03',201436,9,2014,3,36,201409),('2014-09-04',201436,9,2014,4,36,201409),('2014-09-05',201436,9,2014,5,36,201409),('2014-09-06',201436,9,2014,6,36,201409),('2014-09-07',201437,9,2014,7,37,201409),('2014-09-08',201437,9,2014,8,37,201409),('2014-09-09',201437,9,2014,9,37,201409),('2014-09-10',201437,9,2014,10,37,201409),('2014-09-11',201437,9,2014,11,37,201409),('2014-09-12',201437,9,2014,12,37,201409),('2014-09-13',201437,9,2014,13,37,201409),('2014-09-14',201438,9,2014,14,38,201409),('2014-09-15',201438,9,2014,15,38,201409),('2014-09-16',201438,9,2014,16,38,201409),('2014-09-17',201438,9,2014,17,38,201409),('2014-09-18',201438,9,2014,18,38,201409),('2014-09-19',201438,9,2014,19,38,201409),('2014-09-20',201438,9,2014,20,38,201409),('2014-09-21',201439,9,2014,21,39,201409),('2014-09-22',201439,9,2014,22,39,201409),('2014-09-23',201439,9,2014,23,39,201409),('2014-09-24',201439,9,2014,24,39,201409),('2014-09-25',201439,9,2014,25,39,201409),('2014-09-26',201439,9,2014,26,39,201409),('2014-09-27',201439,9,2014,27,39,201409),('2014-09-28',201440,9,2014,28,40,201409),('2014-09-29',201440,9,2014,29,40,201409),('2014-09-30',201440,9,2014,30,40,201409),('2014-10-01',201440,10,2014,1,40,201410),('2014-10-02',201440,10,2014,2,40,201410),('2014-10-03',201440,10,2014,3,40,201410),('2014-10-04',201440,10,2014,4,40,201410),('2014-10-05',201441,10,2014,5,41,201410),('2014-10-06',201441,10,2014,6,41,201410),('2014-10-07',201441,10,2014,7,41,201410),('2014-10-08',201441,10,2014,8,41,201410),('2014-10-09',201441,10,2014,9,41,201410),('2014-10-10',201441,10,2014,10,41,201410),('2014-10-11',201441,10,2014,11,41,201410),('2014-10-12',201442,10,2014,12,42,201410),('2014-10-13',201442,10,2014,13,42,201410),('2014-10-14',201442,10,2014,14,42,201410),('2014-10-15',201442,10,2014,15,42,201410),('2014-10-16',201442,10,2014,16,42,201410),('2014-10-17',201442,10,2014,17,42,201410),('2014-10-18',201442,10,2014,18,42,201410),('2014-10-19',201443,10,2014,19,43,201410),('2014-10-20',201443,10,2014,20,43,201410),('2014-10-21',201443,10,2014,21,43,201410),('2014-10-22',201443,10,2014,22,43,201410),('2014-10-23',201443,10,2014,23,43,201410),('2014-10-24',201443,10,2014,24,43,201410),('2014-10-25',201443,10,2014,25,43,201410),('2014-10-26',201444,10,2014,26,44,201410),('2014-10-27',201444,10,2014,27,44,201410),('2014-10-28',201444,10,2014,28,44,201410),('2014-10-29',201444,10,2014,29,44,201410),('2014-10-30',201444,10,2014,30,44,201410),('2014-10-31',201444,10,2014,31,44,201410),('2014-11-01',201444,11,2014,1,44,201411),('2014-11-02',201445,11,2014,2,45,201411),('2014-11-03',201445,11,2014,3,45,201411),('2014-11-04',201445,11,2014,4,45,201411),('2014-11-05',201445,11,2014,5,45,201411),('2014-11-06',201445,11,2014,6,45,201411),('2014-11-07',201445,11,2014,7,45,201411),('2014-11-08',201445,11,2014,8,45,201411),('2014-11-09',201446,11,2014,9,46,201411),('2014-11-10',201446,11,2014,10,46,201411),('2014-11-11',201446,11,2014,11,46,201411),('2014-11-12',201446,11,2014,12,46,201411),('2014-11-13',201446,11,2014,13,46,201411),('2014-11-14',201446,11,2014,14,46,201411),('2014-11-15',201446,11,2014,15,46,201411),('2014-11-16',201447,11,2014,16,47,201411),('2014-11-17',201447,11,2014,17,47,201411),('2014-11-18',201447,11,2014,18,47,201411),('2014-11-19',201447,11,2014,19,47,201411),('2014-11-20',201447,11,2014,20,47,201411),('2014-11-21',201447,11,2014,21,47,201411),('2014-11-22',201447,11,2014,22,47,201411),('2014-11-23',201448,11,2014,23,48,201411),('2014-11-24',201448,11,2014,24,48,201411),('2014-11-25',201448,11,2014,25,48,201411),('2014-11-26',201448,11,2014,26,48,201411),('2014-11-27',201448,11,2014,27,48,201411),('2014-11-28',201448,11,2014,28,48,201411),('2014-11-29',201448,11,2014,29,48,201411),('2014-11-30',201449,11,2014,30,49,201411),('2014-12-01',201449,12,2014,1,49,201412),('2014-12-02',201449,12,2014,2,49,201412),('2014-12-03',201449,12,2014,3,49,201412),('2014-12-04',201449,12,2014,4,49,201412),('2014-12-05',201449,12,2014,5,49,201412),('2014-12-06',201449,12,2014,6,49,201412),('2014-12-07',201450,12,2014,7,50,201412),('2014-12-08',201450,12,2014,8,50,201412),('2014-12-09',201450,12,2014,9,50,201412),('2014-12-10',201450,12,2014,10,50,201412),('2014-12-11',201450,12,2014,11,50,201412),('2014-12-12',201450,12,2014,12,50,201412),('2014-12-13',201450,12,2014,13,50,201412),('2014-12-14',201451,12,2014,14,51,201412),('2014-12-15',201451,12,2014,15,51,201412),('2014-12-16',201451,12,2014,16,51,201412),('2014-12-17',201451,12,2014,17,51,201412),('2014-12-18',201451,12,2014,18,51,201412),('2014-12-19',201451,12,2014,19,51,201412),('2014-12-20',201451,12,2014,20,51,201412),('2014-12-21',201452,12,2014,21,52,201412),('2014-12-22',201452,12,2014,22,52,201412),('2014-12-23',201452,12,2014,23,52,201412),('2014-12-24',201452,12,2014,24,52,201412),('2014-12-25',201452,12,2014,25,52,201412),('2014-12-26',201452,12,2014,26,52,201412),('2014-12-27',201452,12,2014,27,52,201412),('2014-12-28',201453,12,2014,28,53,201412),('2014-12-29',201453,12,2014,29,53,201412),('2014-12-30',201453,12,2014,30,53,201412),('2014-12-31',201453,12,2014,31,53,201412),('2015-01-01',201453,1,2015,1,53,201501),('2015-01-02',201453,1,2015,2,53,201501),('2015-01-03',201453,1,2015,3,53,201501),('2015-01-04',201501,1,2015,4,1,201501),('2015-01-05',201501,1,2015,5,1,201501),('2015-01-06',201501,1,2015,6,1,201501),('2015-01-07',201501,1,2015,7,1,201501),('2015-01-08',201501,1,2015,8,1,201501),('2015-01-09',201501,1,2015,9,1,201501),('2015-01-10',201501,1,2015,10,1,201501),('2015-01-11',201502,1,2015,11,2,201501),('2015-01-12',201502,1,2015,12,2,201501),('2015-01-13',201502,1,2015,13,2,201501),('2015-01-14',201502,1,2015,14,2,201501),('2015-01-15',201502,1,2015,15,2,201501),('2015-01-16',201502,1,2015,16,2,201501),('2015-01-17',201502,1,2015,17,2,201501),('2015-01-18',201503,1,2015,18,3,201501),('2015-01-19',201503,1,2015,19,3,201501),('2015-01-20',201503,1,2015,20,3,201501),('2015-01-21',201503,1,2015,21,3,201501),('2015-01-22',201503,1,2015,22,3,201501),('2015-01-23',201503,1,2015,23,3,201501),('2015-01-24',201503,1,2015,24,3,201501),('2015-01-25',201504,1,2015,25,4,201501),('2015-01-26',201504,1,2015,26,4,201501),('2015-01-27',201504,1,2015,27,4,201501),('2015-01-28',201504,1,2015,28,4,201501),('2015-01-29',201504,1,2015,29,4,201501),('2015-01-30',201504,1,2015,30,4,201501),('2015-01-31',201504,1,2015,31,4,201501),('2015-02-01',201505,2,2015,1,5,201502),('2015-02-02',201505,2,2015,2,5,201502),('2015-02-03',201505,2,2015,3,5,201502),('2015-02-04',201505,2,2015,4,5,201502),('2015-02-05',201505,2,2015,5,5,201502),('2015-02-06',201505,2,2015,6,5,201502),('2015-02-07',201505,2,2015,7,5,201502),('2015-02-08',201506,2,2015,8,6,201502),('2015-02-09',201506,2,2015,9,6,201502),('2015-02-10',201506,2,2015,10,6,201502),('2015-02-11',201506,2,2015,11,6,201502),('2015-02-12',201506,2,2015,12,6,201502),('2015-02-13',201506,2,2015,13,6,201502),('2015-02-14',201506,2,2015,14,6,201502),('2015-02-15',201507,2,2015,15,7,201502),('2015-02-16',201507,2,2015,16,7,201502),('2015-02-17',201507,2,2015,17,7,201502),('2015-02-18',201507,2,2015,18,7,201502),('2015-02-19',201507,2,2015,19,7,201502),('2015-02-20',201507,2,2015,20,7,201502),('2015-02-21',201507,2,2015,21,7,201502),('2015-02-22',201508,2,2015,22,8,201502),('2015-02-23',201508,2,2015,23,8,201502),('2015-02-24',201508,2,2015,24,8,201502),('2015-02-25',201508,2,2015,25,8,201502),('2015-02-26',201508,2,2015,26,8,201502),('2015-02-27',201508,2,2015,27,8,201502),('2015-02-28',201508,2,2015,28,8,201502),('2015-03-01',201509,3,2015,1,9,201503),('2015-03-02',201509,3,2015,2,9,201503),('2015-03-03',201509,3,2015,3,9,201503),('2015-03-04',201509,3,2015,4,9,201503),('2015-03-05',201509,3,2015,5,9,201503),('2015-03-06',201509,3,2015,6,9,201503),('2015-03-07',201509,3,2015,7,9,201503),('2015-03-08',201510,3,2015,8,10,201503),('2015-03-09',201510,3,2015,9,10,201503),('2015-03-10',201510,3,2015,10,10,201503),('2015-03-11',201510,3,2015,11,10,201503),('2015-03-12',201510,3,2015,12,10,201503),('2015-03-13',201510,3,2015,13,10,201503),('2015-03-14',201510,3,2015,14,10,201503),('2015-03-15',201511,3,2015,15,11,201503),('2015-03-16',201511,3,2015,16,11,201503),('2015-03-17',201511,3,2015,17,11,201503),('2015-03-18',201511,3,2015,18,11,201503),('2015-03-19',201511,3,2015,19,11,201503),('2015-03-20',201511,3,2015,20,11,201503),('2015-03-21',201511,3,2015,21,11,201503),('2015-03-22',201512,3,2015,22,12,201503),('2015-03-23',201512,3,2015,23,12,201503),('2015-03-24',201512,3,2015,24,12,201503),('2015-03-25',201512,3,2015,25,12,201503),('2015-03-26',201512,3,2015,26,12,201503),('2015-03-27',201512,3,2015,27,12,201503),('2015-03-28',201512,3,2015,28,12,201503),('2015-03-29',201513,3,2015,29,13,201503),('2015-03-30',201513,3,2015,30,13,201503),('2015-03-31',201513,3,2015,31,13,201503),('2015-04-01',201513,4,2015,1,13,201504),('2015-04-02',201513,4,2015,2,13,201504),('2015-04-03',201513,4,2015,3,13,201504),('2015-04-04',201513,4,2015,4,13,201504),('2015-04-05',201514,4,2015,5,14,201504),('2015-04-06',201514,4,2015,6,14,201504),('2015-04-07',201514,4,2015,7,14,201504),('2015-04-08',201514,4,2015,8,14,201504),('2015-04-09',201514,4,2015,9,14,201504),('2015-04-10',201514,4,2015,10,14,201504),('2015-04-11',201514,4,2015,11,14,201504),('2015-04-12',201515,4,2015,12,15,201504),('2015-04-13',201515,4,2015,13,15,201504),('2015-04-14',201515,4,2015,14,15,201504),('2015-04-15',201515,4,2015,15,15,201504),('2015-04-16',201515,4,2015,16,15,201504),('2015-04-17',201515,4,2015,17,15,201504),('2015-04-18',201515,4,2015,18,15,201504),('2015-04-19',201516,4,2015,19,16,201504),('2015-04-20',201516,4,2015,20,16,201504),('2015-04-21',201516,4,2015,21,16,201504),('2015-04-22',201516,4,2015,22,16,201504),('2015-04-23',201516,4,2015,23,16,201504),('2015-04-24',201516,4,2015,24,16,201504),('2015-04-25',201516,4,2015,25,16,201504),('2015-04-26',201517,4,2015,26,17,201504),('2015-04-27',201517,4,2015,27,17,201504),('2015-04-28',201517,4,2015,28,17,201504),('2015-04-29',201517,4,2015,29,17,201504),('2015-04-30',201517,4,2015,30,17,201504),('2015-05-01',201517,5,2015,1,17,201505),('2015-05-02',201517,5,2015,2,17,201505),('2015-05-03',201518,5,2015,3,18,201505),('2015-05-04',201518,5,2015,4,18,201505),('2015-05-05',201518,5,2015,5,18,201505),('2015-05-06',201518,5,2015,6,18,201505),('2015-05-07',201518,5,2015,7,18,201505),('2015-05-08',201518,5,2015,8,18,201505),('2015-05-09',201518,5,2015,9,18,201505),('2015-05-10',201519,5,2015,10,19,201505),('2015-05-11',201519,5,2015,11,19,201505),('2015-05-12',201519,5,2015,12,19,201505),('2015-05-13',201519,5,2015,13,19,201505),('2015-05-14',201519,5,2015,14,19,201505),('2015-05-15',201519,5,2015,15,19,201505),('2015-05-16',201519,5,2015,16,19,201505),('2015-05-17',201520,5,2015,17,20,201505),('2015-05-18',201520,5,2015,18,20,201505),('2015-05-19',201520,5,2015,19,20,201505),('2015-05-20',201520,5,2015,20,20,201505),('2015-05-21',201520,5,2015,21,20,201505),('2015-05-22',201520,5,2015,22,20,201505),('2015-05-23',201520,5,2015,23,20,201505),('2015-05-24',201521,5,2015,24,21,201505),('2015-05-25',201521,5,2015,25,21,201505),('2015-05-26',201521,5,2015,26,21,201505),('2015-05-27',201521,5,2015,27,21,201505),('2015-05-28',201521,5,2015,28,21,201505),('2015-05-29',201521,5,2015,29,21,201505),('2015-05-30',201521,5,2015,30,21,201505),('2015-05-31',201522,5,2015,31,22,201505),('2015-06-01',201522,6,2015,1,22,201506),('2015-06-02',201522,6,2015,2,22,201506),('2015-06-03',201522,6,2015,3,22,201506),('2015-06-04',201522,6,2015,4,22,201506),('2015-06-05',201522,6,2015,5,22,201506),('2015-06-06',201522,6,2015,6,22,201506),('2015-06-07',201523,6,2015,7,23,201506),('2015-06-08',201523,6,2015,8,23,201506),('2015-06-09',201523,6,2015,9,23,201506),('2015-06-10',201523,6,2015,10,23,201506),('2015-06-11',201523,6,2015,11,23,201506),('2015-06-12',201523,6,2015,12,23,201506),('2015-06-13',201523,6,2015,13,23,201506),('2015-06-14',201524,6,2015,14,24,201506),('2015-06-15',201524,6,2015,15,24,201506),('2015-06-16',201524,6,2015,16,24,201506),('2015-06-17',201524,6,2015,17,24,201506),('2015-06-18',201524,6,2015,18,24,201506),('2015-06-19',201524,6,2015,19,24,201506),('2015-06-20',201524,6,2015,20,24,201506),('2015-06-21',201525,6,2015,21,25,201506),('2015-06-22',201525,6,2015,22,25,201506),('2015-06-23',201525,6,2015,23,25,201506),('2015-06-24',201525,6,2015,24,25,201506),('2015-06-25',201525,6,2015,25,25,201506),('2015-06-26',201525,6,2015,26,25,201506),('2015-06-27',201525,6,2015,27,25,201506),('2015-06-28',201526,6,2015,28,26,201506),('2015-06-29',201526,6,2015,29,26,201506),('2015-06-30',201526,6,2015,30,26,201506),('2015-07-01',201526,7,2015,1,26,201507),('2015-07-02',201526,7,2015,2,26,201507),('2015-07-03',201526,7,2015,3,26,201507),('2015-07-04',201526,7,2015,4,26,201507),('2015-07-05',201527,7,2015,5,27,201507),('2015-07-06',201527,7,2015,6,27,201507),('2015-07-07',201527,7,2015,7,27,201507),('2015-07-08',201527,7,2015,8,27,201507),('2015-07-09',201527,7,2015,9,27,201507),('2015-07-10',201527,7,2015,10,27,201507),('2015-07-11',201527,7,2015,11,27,201507),('2015-07-12',201528,7,2015,12,28,201507),('2015-07-13',201528,7,2015,13,28,201507),('2015-07-14',201528,7,2015,14,28,201507),('2015-07-15',201528,7,2015,15,28,201507),('2015-07-16',201528,7,2015,16,28,201507),('2015-07-17',201528,7,2015,17,28,201507),('2015-07-18',201528,7,2015,18,28,201507),('2015-07-19',201529,7,2015,19,29,201507),('2015-07-20',201529,7,2015,20,29,201507),('2015-07-21',201529,7,2015,21,29,201507),('2015-07-22',201529,7,2015,22,29,201507),('2015-07-23',201529,7,2015,23,29,201507),('2015-07-24',201529,7,2015,24,29,201507),('2015-07-25',201529,7,2015,25,29,201507),('2015-07-26',201530,7,2015,26,30,201507),('2015-07-27',201530,7,2015,27,30,201507),('2015-07-28',201530,7,2015,28,30,201507),('2015-07-29',201530,7,2015,29,30,201507),('2015-07-30',201530,7,2015,30,30,201507),('2015-07-31',201530,7,2015,31,30,201507),('2015-08-01',201530,8,2015,1,30,201508),('2015-08-02',201531,8,2015,2,31,201508),('2015-08-03',201531,8,2015,3,31,201508),('2015-08-04',201531,8,2015,4,31,201508),('2015-08-05',201531,8,2015,5,31,201508),('2015-08-06',201531,8,2015,6,31,201508),('2015-08-07',201531,8,2015,7,31,201508),('2015-08-08',201531,8,2015,8,31,201508),('2015-08-09',201532,8,2015,9,32,201508),('2015-08-10',201532,8,2015,10,32,201508),('2015-08-11',201532,8,2015,11,32,201508),('2015-08-12',201532,8,2015,12,32,201508),('2015-08-13',201532,8,2015,13,32,201508),('2015-08-14',201532,8,2015,14,32,201508),('2015-08-15',201532,8,2015,15,32,201508),('2015-08-16',201533,8,2015,16,33,201508),('2015-08-17',201533,8,2015,17,33,201508),('2015-08-18',201533,8,2015,18,33,201508),('2015-08-19',201533,8,2015,19,33,201508),('2015-08-20',201533,8,2015,20,33,201508),('2015-08-21',201533,8,2015,21,33,201508),('2015-08-22',201533,8,2015,22,33,201508),('2015-08-23',201534,8,2015,23,34,201508),('2015-08-24',201534,8,2015,24,34,201508),('2015-08-25',201534,8,2015,25,34,201508),('2015-08-26',201534,8,2015,26,34,201508),('2015-08-27',201534,8,2015,27,34,201508),('2015-08-28',201534,8,2015,28,34,201508),('2015-08-29',201534,8,2015,29,34,201508),('2015-08-30',201535,8,2015,30,35,201508),('2015-08-31',201535,8,2015,31,35,201508),('2015-09-01',201535,9,2015,1,35,201509),('2015-09-02',201535,9,2015,2,35,201509),('2015-09-03',201535,9,2015,3,35,201509),('2015-09-04',201535,9,2015,4,35,201509),('2015-09-05',201535,9,2015,5,35,201509),('2015-09-06',201536,9,2015,6,36,201509),('2015-09-07',201536,9,2015,7,36,201509),('2015-09-08',201536,9,2015,8,36,201509),('2015-09-09',201536,9,2015,9,36,201509),('2015-09-10',201536,9,2015,10,36,201509),('2015-09-11',201536,9,2015,11,36,201509),('2015-09-12',201536,9,2015,12,36,201509),('2015-09-13',201537,9,2015,13,37,201509),('2015-09-14',201537,9,2015,14,37,201509),('2015-09-15',201537,9,2015,15,37,201509),('2015-09-16',201537,9,2015,16,37,201509),('2015-09-17',201537,9,2015,17,37,201509),('2015-09-18',201537,9,2015,18,37,201509),('2015-09-19',201537,9,2015,19,37,201509),('2015-09-20',201538,9,2015,20,38,201509),('2015-09-21',201538,9,2015,21,38,201509),('2015-09-22',201538,9,2015,22,38,201509),('2015-09-23',201538,9,2015,23,38,201509),('2015-09-24',201538,9,2015,24,38,201509),('2015-09-25',201538,9,2015,25,38,201509),('2015-09-26',201538,9,2015,26,38,201509),('2015-09-27',201539,9,2015,27,39,201509),('2015-09-28',201539,9,2015,28,39,201509),('2015-09-29',201539,9,2015,29,39,201509),('2015-09-30',201539,9,2015,30,39,201509),('2015-10-01',201539,10,2015,1,39,201510),('2015-10-02',201539,10,2015,2,39,201510),('2015-10-03',201539,10,2015,3,39,201510),('2015-10-04',201540,10,2015,4,40,201510),('2015-10-05',201540,10,2015,5,40,201510),('2015-10-06',201540,10,2015,6,40,201510),('2015-10-07',201540,10,2015,7,40,201510),('2015-10-08',201540,10,2015,8,40,201510),('2015-10-09',201540,10,2015,9,40,201510),('2015-10-10',201540,10,2015,10,40,201510),('2015-10-11',201541,10,2015,11,41,201510),('2015-10-12',201541,10,2015,12,41,201510),('2015-10-13',201541,10,2015,13,41,201510),('2015-10-14',201541,10,2015,14,41,201510),('2015-10-15',201541,10,2015,15,41,201510),('2015-10-16',201541,10,2015,16,41,201510),('2015-10-17',201541,10,2015,17,41,201510),('2015-10-18',201542,10,2015,18,42,201510),('2015-10-19',201542,10,2015,19,42,201510),('2015-10-20',201542,10,2015,20,42,201510),('2015-10-21',201542,10,2015,21,42,201510),('2015-10-22',201542,10,2015,22,42,201510),('2015-10-23',201542,10,2015,23,42,201510),('2015-10-24',201542,10,2015,24,42,201510),('2015-10-25',201543,10,2015,25,43,201510),('2015-10-26',201543,10,2015,26,43,201510),('2015-10-27',201543,10,2015,27,43,201510),('2015-10-28',201543,10,2015,28,43,201510),('2015-10-29',201543,10,2015,29,43,201510),('2015-10-30',201543,10,2015,30,43,201510),('2015-10-31',201543,10,2015,31,43,201510),('2015-11-01',201544,11,2015,1,44,201511),('2015-11-02',201544,11,2015,2,44,201511),('2015-11-03',201544,11,2015,3,44,201511),('2015-11-04',201544,11,2015,4,44,201511),('2015-11-05',201544,11,2015,5,44,201511),('2015-11-06',201544,11,2015,6,44,201511),('2015-11-07',201544,11,2015,7,44,201511),('2015-11-08',201545,11,2015,8,45,201511),('2015-11-09',201545,11,2015,9,45,201511),('2015-11-10',201545,11,2015,10,45,201511),('2015-11-11',201545,11,2015,11,45,201511),('2015-11-12',201545,11,2015,12,45,201511),('2015-11-13',201545,11,2015,13,45,201511),('2015-11-14',201545,11,2015,14,45,201511),('2015-11-15',201546,11,2015,15,46,201511),('2015-11-16',201546,11,2015,16,46,201511),('2015-11-17',201546,11,2015,17,46,201511),('2015-11-18',201546,11,2015,18,46,201511),('2015-11-19',201546,11,2015,19,46,201511),('2015-11-20',201546,11,2015,20,46,201511),('2015-11-21',201546,11,2015,21,46,201511),('2015-11-22',201547,11,2015,22,47,201511),('2015-11-23',201547,11,2015,23,47,201511),('2015-11-24',201547,11,2015,24,47,201511),('2015-11-25',201547,11,2015,25,47,201511),('2015-11-26',201547,11,2015,26,47,201511),('2015-11-27',201547,11,2015,27,47,201511),('2015-11-28',201547,11,2015,28,47,201511),('2015-11-29',201548,11,2015,29,48,201511),('2015-11-30',201548,11,2015,30,48,201511),('2015-12-01',201548,12,2015,1,48,201512),('2015-12-02',201548,12,2015,2,48,201512),('2015-12-03',201548,12,2015,3,48,201512),('2015-12-04',201548,12,2015,4,48,201512),('2015-12-05',201548,12,2015,5,48,201512),('2015-12-06',201549,12,2015,6,49,201512),('2015-12-07',201549,12,2015,7,49,201512),('2015-12-08',201549,12,2015,8,49,201512),('2015-12-09',201549,12,2015,9,49,201512),('2015-12-10',201549,12,2015,10,49,201512),('2015-12-11',201549,12,2015,11,49,201512),('2015-12-12',201549,12,2015,12,49,201512),('2015-12-13',201550,12,2015,13,50,201512),('2015-12-14',201550,12,2015,14,50,201512),('2015-12-15',201550,12,2015,15,50,201512),('2015-12-16',201550,12,2015,16,50,201512),('2015-12-17',201550,12,2015,17,50,201512),('2015-12-18',201550,12,2015,18,50,201512),('2015-12-19',201550,12,2015,19,50,201512),('2015-12-20',201551,12,2015,20,51,201512),('2015-12-21',201551,12,2015,21,51,201512),('2015-12-22',201551,12,2015,22,51,201512),('2015-12-23',201551,12,2015,23,51,201512),('2015-12-24',201551,12,2015,24,51,201512),('2015-12-25',201551,12,2015,25,51,201512),('2015-12-26',201551,12,2015,26,51,201512),('2015-12-27',201552,12,2015,27,52,201512),('2015-12-28',201552,12,2015,28,52,201512),('2015-12-29',201552,12,2015,29,52,201512),('2015-12-30',201552,12,2015,30,52,201512),('2015-12-31',201552,12,2015,31,52,201512),('2016-01-01',201552,1,2016,1,1,201601),('2016-01-02',201552,1,2016,2,1,201601),('2016-01-03',201601,1,2016,3,1,201601),('2016-01-04',201601,1,2016,4,1,201601),('2016-01-05',201601,1,2016,5,1,201601),('2016-01-06',201601,1,2016,6,1,201601),('2016-01-07',201601,1,2016,7,1,201601),('2016-01-08',201601,1,2016,8,1,201601),('2016-01-09',201601,1,2016,9,1,201601),('2016-01-10',201602,1,2016,10,2,201601),('2016-01-11',201602,1,2016,11,2,201601),('2016-01-12',201602,1,2016,12,2,201601),('2016-01-13',201602,1,2016,13,2,201601),('2016-01-14',201602,1,2016,14,2,201601),('2016-01-15',201602,1,2016,15,2,201601),('2016-01-16',201602,1,2016,16,2,201601),('2016-01-17',201603,1,2016,17,3,201601),('2016-01-18',201603,1,2016,18,3,201601),('2016-01-19',201603,1,2016,19,3,201601),('2016-01-20',201603,1,2016,20,3,201601),('2016-01-21',201603,1,2016,21,3,201601),('2016-01-22',201603,1,2016,22,3,201601),('2016-01-23',201603,1,2016,23,3,201601),('2016-01-24',201604,1,2016,24,4,201601),('2016-01-25',201604,1,2016,25,4,201601),('2016-01-26',201604,1,2016,26,4,201601),('2016-01-27',201604,1,2016,27,4,201601),('2016-01-28',201604,1,2016,28,4,201601),('2016-01-29',201604,1,2016,29,4,201601),('2016-01-30',201604,1,2016,30,4,201601),('2016-01-31',201605,1,2016,31,5,201601),('2016-02-01',201605,2,2016,1,5,201602),('2016-02-02',201605,2,2016,2,5,201602),('2016-02-03',201605,2,2016,3,5,201602),('2016-02-04',201605,2,2016,4,5,201602),('2016-02-05',201605,2,2016,5,5,201602),('2016-02-06',201605,2,2016,6,5,201602),('2016-02-07',201606,2,2016,7,6,201602),('2016-02-08',201606,2,2016,8,6,201602),('2016-02-09',201606,2,2016,9,6,201602),('2016-02-10',201606,2,2016,10,6,201602),('2016-02-11',201606,2,2016,11,6,201602),('2016-02-12',201606,2,2016,12,6,201602),('2016-02-13',201606,2,2016,13,6,201602),('2016-02-14',201607,2,2016,14,7,201602),('2016-02-15',201607,2,2016,15,7,201602),('2016-02-16',201607,2,2016,16,7,201602),('2016-02-17',201607,2,2016,17,7,201602),('2016-02-18',201607,2,2016,18,7,201602),('2016-02-19',201607,2,2016,19,7,201602),('2016-02-20',201607,2,2016,20,7,201602),('2016-02-21',201608,2,2016,21,8,201602),('2016-02-22',201608,2,2016,22,8,201602),('2016-02-23',201608,2,2016,23,8,201602),('2016-02-24',201608,2,2016,24,8,201602),('2016-02-25',201608,2,2016,25,8,201602),('2016-02-26',201608,2,2016,26,8,201602),('2016-02-27',201608,2,2016,27,8,201602),('2016-02-28',201609,2,2016,28,9,201602),('2016-02-29',201609,2,2016,29,9,201602),('2016-03-01',201609,3,2016,1,9,201603),('2016-03-02',201609,3,2016,2,9,201603),('2016-03-03',201609,3,2016,3,9,201603),('2016-03-04',201609,3,2016,4,9,201603),('2016-03-05',201609,3,2016,5,9,201603),('2016-03-06',201610,3,2016,6,10,201603),('2016-03-07',201610,3,2016,7,10,201603),('2016-03-08',201610,3,2016,8,10,201603),('2016-03-09',201610,3,2016,9,10,201603),('2016-03-10',201610,3,2016,10,10,201603),('2016-03-11',201610,3,2016,11,10,201603),('2016-03-12',201610,3,2016,12,10,201603),('2016-03-13',201611,3,2016,13,11,201603),('2016-03-14',201611,3,2016,14,11,201603),('2016-03-15',201611,3,2016,15,11,201603),('2016-03-16',201611,3,2016,16,11,201603),('2016-03-17',201611,3,2016,17,11,201603),('2016-03-18',201611,3,2016,18,11,201603),('2016-03-19',201611,3,2016,19,11,201603),('2016-03-20',201612,3,2016,20,12,201603),('2016-03-21',201612,3,2016,21,12,201603),('2016-03-22',201612,3,2016,22,12,201603),('2016-03-23',201612,3,2016,23,12,201603),('2016-03-24',201612,3,2016,24,12,201603),('2016-03-25',201612,3,2016,25,12,201603),('2016-03-26',201612,3,2016,26,12,201603),('2016-03-27',201613,3,2016,27,13,201603),('2016-03-28',201613,3,2016,28,13,201603),('2016-03-29',201613,3,2016,29,13,201603),('2016-03-30',201613,3,2016,30,13,201603),('2016-03-31',201613,3,2016,31,13,201603),('2016-04-01',201613,4,2016,1,13,201604),('2016-04-02',201613,4,2016,2,13,201604),('2016-04-03',201614,4,2016,3,14,201604),('2016-04-04',201614,4,2016,4,14,201604),('2016-04-05',201614,4,2016,5,14,201604),('2016-04-06',201614,4,2016,6,14,201604),('2016-04-07',201614,4,2016,7,14,201604),('2016-04-08',201614,4,2016,8,14,201604),('2016-04-09',201614,4,2016,9,14,201604),('2016-04-10',201615,4,2016,10,15,201604),('2016-04-11',201615,4,2016,11,15,201604),('2016-04-12',201615,4,2016,12,15,201604),('2016-04-13',201615,4,2016,13,15,201604),('2016-04-14',201615,4,2016,14,15,201604),('2016-04-15',201615,4,2016,15,15,201604),('2016-04-16',201615,4,2016,16,15,201604),('2016-04-17',201616,4,2016,17,16,201604),('2016-04-18',201616,4,2016,18,16,201604),('2016-04-19',201616,4,2016,19,16,201604),('2016-04-20',201616,4,2016,20,16,201604),('2016-04-21',201616,4,2016,21,16,201604),('2016-04-22',201616,4,2016,22,16,201604),('2016-04-23',201616,4,2016,23,16,201604),('2016-04-24',201617,4,2016,24,17,201604),('2016-04-25',201617,4,2016,25,17,201604),('2016-04-26',201617,4,2016,26,17,201604),('2016-04-27',201617,4,2016,27,17,201604),('2016-04-28',201617,4,2016,28,17,201604),('2016-04-29',201617,4,2016,29,17,201604),('2016-04-30',201617,4,2016,30,17,201604),('2016-05-01',201618,5,2016,1,18,201605),('2016-05-02',201618,5,2016,2,18,201605),('2016-05-03',201618,5,2016,3,18,201605),('2016-05-04',201618,5,2016,4,18,201605),('2016-05-05',201618,5,2016,5,18,201605),('2016-05-06',201618,5,2016,6,18,201605),('2016-05-07',201618,5,2016,7,18,201605),('2016-05-08',201619,5,2016,8,19,201605),('2016-05-09',201619,5,2016,9,19,201605),('2016-05-10',201619,5,2016,10,19,201605),('2016-05-11',201619,5,2016,11,19,201605),('2016-05-12',201619,5,2016,12,19,201605),('2016-05-13',201619,5,2016,13,19,201605),('2016-05-14',201619,5,2016,14,19,201605),('2016-05-15',201620,5,2016,15,20,201605),('2016-05-16',201620,5,2016,16,20,201605),('2016-05-17',201620,5,2016,17,20,201605),('2016-05-18',201620,5,2016,18,20,201605),('2016-05-19',201620,5,2016,19,20,201605),('2016-05-20',201620,5,2016,20,20,201605),('2016-05-21',201620,5,2016,21,20,201605),('2016-05-22',201621,5,2016,22,21,201605),('2016-05-23',201621,5,2016,23,21,201605),('2016-05-24',201621,5,2016,24,21,201605),('2016-05-25',201621,5,2016,25,21,201605),('2016-05-26',201621,5,2016,26,21,201605),('2016-05-27',201621,5,2016,27,21,201605),('2016-05-28',201621,5,2016,28,21,201605),('2016-05-29',201622,5,2016,29,22,201605),('2016-05-30',201622,5,2016,30,22,201605),('2016-05-31',201622,5,2016,31,22,201605),('2016-06-01',201622,6,2016,1,22,201606),('2016-06-02',201622,6,2016,2,22,201606),('2016-06-03',201622,6,2016,3,22,201606),('2016-06-04',201622,6,2016,4,22,201606),('2016-06-05',201623,6,2016,5,23,201606),('2016-06-06',201623,6,2016,6,23,201606),('2016-06-07',201623,6,2016,7,23,201606),('2016-06-08',201623,6,2016,8,23,201606),('2016-06-09',201623,6,2016,9,23,201606),('2016-06-10',201623,6,2016,10,23,201606),('2016-06-11',201623,6,2016,11,23,201606),('2016-06-12',201624,6,2016,12,24,201606),('2016-06-13',201624,6,2016,13,24,201606),('2016-06-14',201624,6,2016,14,24,201606),('2016-06-15',201624,6,2016,15,24,201606),('2016-06-16',201624,6,2016,16,24,201606),('2016-06-17',201624,6,2016,17,24,201606),('2016-06-18',201624,6,2016,18,24,201606),('2016-06-19',201625,6,2016,19,25,201606),('2016-06-20',201625,6,2016,20,25,201606),('2016-06-21',201625,6,2016,21,25,201606),('2016-06-22',201625,6,2016,22,25,201606),('2016-06-23',201625,6,2016,23,25,201606),('2016-06-24',201625,6,2016,24,25,201606),('2016-06-25',201625,6,2016,25,25,201606),('2016-06-26',201626,6,2016,26,26,201606),('2016-06-27',201626,6,2016,27,26,201606),('2016-06-28',201626,6,2016,28,26,201606),('2016-06-29',201626,6,2016,29,26,201606),('2016-06-30',201626,6,2016,30,26,201606),('2016-07-01',201626,7,2016,1,26,201607),('2016-07-02',201626,7,2016,2,26,201607),('2016-07-03',201627,7,2016,3,27,201607),('2016-07-04',201627,7,2016,4,27,201607),('2016-07-05',201627,7,2016,5,27,201607),('2016-07-06',201627,7,2016,6,27,201607),('2016-07-07',201627,7,2016,7,27,201607),('2016-07-08',201627,7,2016,8,27,201607),('2016-07-09',201627,7,2016,9,27,201607),('2016-07-10',201628,7,2016,10,28,201607),('2016-07-11',201628,7,2016,11,28,201607),('2016-07-12',201628,7,2016,12,28,201607),('2016-07-13',201628,7,2016,13,28,201607),('2016-07-14',201628,7,2016,14,28,201607),('2016-07-15',201628,7,2016,15,28,201607),('2016-07-16',201628,7,2016,16,28,201607),('2016-07-17',201629,7,2016,17,29,201607),('2016-07-18',201629,7,2016,18,29,201607),('2016-07-19',201629,7,2016,19,29,201607),('2016-07-20',201629,7,2016,20,29,201607),('2016-07-21',201629,7,2016,21,29,201607),('2016-07-22',201629,7,2016,22,29,201607),('2016-07-23',201629,7,2016,23,29,201607),('2016-07-24',201630,7,2016,24,30,201607),('2016-07-25',201630,7,2016,25,30,201607),('2016-07-26',201630,7,2016,26,30,201607),('2016-07-27',201630,7,2016,27,30,201607),('2016-07-28',201630,7,2016,28,30,201607),('2016-07-29',201630,7,2016,29,30,201607),('2016-07-30',201630,7,2016,30,30,201607),('2016-07-31',201631,7,2016,31,31,201607),('2016-08-01',201631,8,2016,1,31,201608),('2016-08-02',201631,8,2016,2,31,201608),('2016-08-03',201631,8,2016,3,31,201608),('2016-08-04',201631,8,2016,4,31,201608),('2016-08-05',201631,8,2016,5,31,201608),('2016-08-06',201631,8,2016,6,31,201608),('2016-08-07',201632,8,2016,7,32,201608),('2016-08-08',201632,8,2016,8,32,201608),('2016-08-09',201632,8,2016,9,32,201608),('2016-08-10',201632,8,2016,10,32,201608),('2016-08-11',201632,8,2016,11,32,201608),('2016-08-12',201632,8,2016,12,32,201608),('2016-08-13',201632,8,2016,13,32,201608),('2016-08-14',201633,8,2016,14,33,201608),('2016-08-15',201633,8,2016,15,33,201608),('2016-08-16',201633,8,2016,16,33,201608),('2016-08-17',201633,8,2016,17,33,201608),('2016-08-18',201633,8,2016,18,33,201608),('2016-08-19',201633,8,2016,19,33,201608),('2016-08-20',201633,8,2016,20,33,201608),('2016-08-21',201634,8,2016,21,34,201608),('2016-08-22',201634,8,2016,22,34,201608),('2016-08-23',201634,8,2016,23,34,201608),('2016-08-24',201634,8,2016,24,34,201608),('2016-08-25',201634,8,2016,25,34,201608),('2016-08-26',201634,8,2016,26,34,201608),('2016-08-27',201634,8,2016,27,34,201608),('2016-08-28',201635,8,2016,28,35,201608),('2016-08-29',201635,8,2016,29,35,201608),('2016-08-30',201635,8,2016,30,35,201608),('2016-08-31',201635,8,2016,31,35,201608),('2016-09-01',201635,9,2016,1,35,201609),('2016-09-02',201635,9,2016,2,35,201609),('2016-09-03',201635,9,2016,3,35,201609),('2016-09-04',201636,9,2016,4,36,201609),('2016-09-05',201636,9,2016,5,36,201609),('2016-09-06',201636,9,2016,6,36,201609),('2016-09-07',201636,9,2016,7,36,201609),('2016-09-08',201636,9,2016,8,36,201609),('2016-09-09',201636,9,2016,9,36,201609),('2016-09-10',201636,9,2016,10,36,201609),('2016-09-11',201637,9,2016,11,37,201609),('2016-09-12',201637,9,2016,12,37,201609),('2016-09-13',201637,9,2016,13,37,201609),('2016-09-14',201637,9,2016,14,37,201609),('2016-09-15',201637,9,2016,15,37,201609),('2016-09-16',201637,9,2016,16,37,201609),('2016-09-17',201637,9,2016,17,37,201609),('2016-09-18',201638,9,2016,18,38,201609),('2016-09-19',201638,9,2016,19,38,201609),('2016-09-20',201638,9,2016,20,38,201609),('2016-09-21',201638,9,2016,21,38,201609),('2016-09-22',201638,9,2016,22,38,201609),('2016-09-23',201638,9,2016,23,38,201609),('2016-09-24',201638,9,2016,24,38,201609),('2016-09-25',201639,9,2016,25,39,201609),('2016-09-26',201639,9,2016,26,39,201609),('2016-09-27',201639,9,2016,27,39,201609),('2016-09-28',201639,9,2016,28,39,201609),('2016-09-29',201639,9,2016,29,39,201609),('2016-09-30',201639,9,2016,30,39,201609),('2016-10-01',201639,10,2016,1,39,201610),('2016-10-02',201640,10,2016,2,40,201610),('2016-10-03',201640,10,2016,3,40,201610),('2016-10-04',201640,10,2016,4,40,201610),('2016-10-05',201640,10,2016,5,40,201610),('2016-10-06',201640,10,2016,6,40,201610),('2016-10-07',201640,10,2016,7,40,201610),('2016-10-08',201640,10,2016,8,40,201610),('2016-10-09',201641,10,2016,9,41,201610),('2016-10-10',201641,10,2016,10,41,201610),('2016-10-11',201641,10,2016,11,41,201610),('2016-10-12',201641,10,2016,12,41,201610),('2016-10-13',201641,10,2016,13,41,201610),('2016-10-14',201641,10,2016,14,41,201610),('2016-10-15',201641,10,2016,15,41,201610),('2016-10-16',201642,10,2016,16,42,201610),('2016-10-17',201642,10,2016,17,42,201610),('2016-10-18',201642,10,2016,18,42,201610),('2016-10-19',201642,10,2016,19,42,201610),('2016-10-20',201642,10,2016,20,42,201610),('2016-10-21',201642,10,2016,21,42,201610),('2016-10-22',201642,10,2016,22,42,201610),('2016-10-23',201643,10,2016,23,43,201610),('2016-10-24',201643,10,2016,24,43,201610),('2016-10-25',201643,10,2016,25,43,201610),('2016-10-26',201643,10,2016,26,43,201610),('2016-10-27',201643,10,2016,27,43,201610),('2016-10-28',201643,10,2016,28,43,201610),('2016-10-29',201643,10,2016,29,43,201610),('2016-10-30',201644,10,2016,30,44,201610),('2016-10-31',201644,10,2016,31,44,201610),('2016-11-01',201644,11,2016,1,44,201611),('2016-11-02',201644,11,2016,2,44,201611),('2016-11-03',201644,11,2016,3,44,201611),('2016-11-04',201644,11,2016,4,44,201611),('2016-11-05',201644,11,2016,5,44,201611),('2016-11-06',201645,11,2016,6,45,201611),('2016-11-07',201645,11,2016,7,45,201611),('2016-11-08',201645,11,2016,8,45,201611),('2016-11-09',201645,11,2016,9,45,201611),('2016-11-10',201645,11,2016,10,45,201611),('2016-11-11',201645,11,2016,11,45,201611),('2016-11-12',201645,11,2016,12,45,201611),('2016-11-13',201646,11,2016,13,46,201611),('2016-11-14',201646,11,2016,14,46,201611),('2016-11-15',201646,11,2016,15,46,201611),('2016-11-16',201646,11,2016,16,46,201611),('2016-11-17',201646,11,2016,17,46,201611),('2016-11-18',201646,11,2016,18,46,201611),('2016-11-19',201646,11,2016,19,46,201611),('2016-11-20',201647,11,2016,20,47,201611),('2016-11-21',201647,11,2016,21,47,201611),('2016-11-22',201647,11,2016,22,47,201611),('2016-11-23',201647,11,2016,23,47,201611),('2016-11-24',201647,11,2016,24,47,201611),('2016-11-25',201647,11,2016,25,47,201611),('2016-11-26',201647,11,2016,26,47,201611),('2016-11-27',201648,11,2016,27,48,201611),('2016-11-28',201648,11,2016,28,48,201611),('2016-11-29',201648,11,2016,29,48,201611),('2016-11-30',201648,11,2016,30,48,201611),('2016-12-01',201648,12,2016,1,48,201612),('2016-12-02',201648,12,2016,2,48,201612),('2016-12-03',201648,12,2016,3,48,201612),('2016-12-04',201649,12,2016,4,49,201612),('2016-12-05',201649,12,2016,5,49,201612),('2016-12-06',201649,12,2016,6,49,201612),('2016-12-07',201649,12,2016,7,49,201612),('2016-12-08',201649,12,2016,8,49,201612),('2016-12-09',201649,12,2016,9,49,201612),('2016-12-10',201649,12,2016,10,49,201612),('2016-12-11',201650,12,2016,11,50,201612),('2016-12-12',201650,12,2016,12,50,201612),('2016-12-13',201650,12,2016,13,50,201612),('2016-12-14',201650,12,2016,14,50,201612),('2016-12-15',201650,12,2016,15,50,201612),('2016-12-16',201650,12,2016,16,50,201612),('2016-12-17',201650,12,2016,17,50,201612),('2016-12-18',201651,12,2016,18,51,201612),('2016-12-19',201651,12,2016,19,51,201612),('2016-12-20',201651,12,2016,20,51,201612),('2016-12-21',201651,12,2016,21,51,201612),('2016-12-22',201651,12,2016,22,51,201612),('2016-12-23',201651,12,2016,23,51,201612),('2016-12-24',201651,12,2016,24,51,201612),('2016-12-25',201652,12,2016,25,52,201612),('2016-12-26',201652,12,2016,26,52,201612),('2016-12-27',201652,12,2016,27,52,201612),('2016-12-28',201652,12,2016,28,52,201612),('2016-12-29',201652,12,2016,29,52,201612),('2016-12-30',201652,12,2016,30,52,201612),('2016-12-31',201652,12,2016,31,52,201612),('2017-01-01',201701,1,2017,1,1,201701),('2017-01-02',201701,1,2017,2,1,201701),('2017-01-03',201701,1,2017,3,1,201701),('2017-01-04',201701,1,2017,4,1,201701),('2017-01-05',201701,1,2017,5,1,201701),('2017-01-06',201701,1,2017,6,1,201701),('2017-01-07',201701,1,2017,7,1,201701),('2017-01-08',201702,1,2017,8,2,201701),('2017-01-09',201702,1,2017,9,2,201701),('2017-01-10',201702,1,2017,10,2,201701),('2017-01-11',201702,1,2017,11,2,201701),('2017-01-12',201702,1,2017,12,2,201701),('2017-01-13',201702,1,2017,13,2,201701),('2017-01-14',201702,1,2017,14,2,201701),('2017-01-15',201703,1,2017,15,3,201701),('2017-01-16',201703,1,2017,16,3,201701),('2017-01-17',201703,1,2017,17,3,201701),('2017-01-18',201703,1,2017,18,3,201701),('2017-01-19',201703,1,2017,19,3,201701),('2017-01-20',201703,1,2017,20,3,201701),('2017-01-21',201703,1,2017,21,3,201701),('2017-01-22',201704,1,2017,22,4,201701),('2017-01-23',201704,1,2017,23,4,201701),('2017-01-24',201704,1,2017,24,4,201701),('2017-01-25',201704,1,2017,25,4,201701),('2017-01-26',201704,1,2017,26,4,201701),('2017-01-27',201704,1,2017,27,4,201701),('2017-01-28',201704,1,2017,28,4,201701),('2017-01-29',201705,1,2017,29,5,201701),('2017-01-30',201705,1,2017,30,5,201701),('2017-01-31',201705,1,2017,31,5,201701),('2017-02-01',201705,2,2017,1,5,201702),('2017-02-02',201705,2,2017,2,5,201702),('2017-02-03',201705,2,2017,3,5,201702),('2017-02-04',201705,2,2017,4,5,201702),('2017-02-05',201706,2,2017,5,6,201702),('2017-02-06',201706,2,2017,6,6,201702),('2017-02-07',201706,2,2017,7,6,201702),('2017-02-08',201706,2,2017,8,6,201702),('2017-02-09',201706,2,2017,9,6,201702),('2017-02-10',201706,2,2017,10,6,201702),('2017-02-11',201706,2,2017,11,6,201702),('2017-02-12',201707,2,2017,12,7,201702),('2017-02-13',201707,2,2017,13,7,201702),('2017-02-14',201707,2,2017,14,7,201702),('2017-02-15',201707,2,2017,15,7,201702),('2017-02-16',201707,2,2017,16,7,201702),('2017-02-17',201707,2,2017,17,7,201702),('2017-02-18',201707,2,2017,18,7,201702),('2017-02-19',201708,2,2017,19,8,201702),('2017-02-20',201708,2,2017,20,8,201702),('2017-02-21',201708,2,2017,21,8,201702),('2017-02-22',201708,2,2017,22,8,201702),('2017-02-23',201708,2,2017,23,8,201702),('2017-02-24',201708,2,2017,24,8,201702),('2017-02-25',201708,2,2017,25,8,201702),('2017-02-26',201709,2,2017,26,9,201702),('2017-02-27',201709,2,2017,27,9,201702),('2017-02-28',201709,2,2017,28,9,201702),('2017-03-01',201709,3,2017,1,9,201703),('2017-03-02',201709,3,2017,2,9,201703),('2017-03-03',201709,3,2017,3,9,201703),('2017-03-04',201709,3,2017,4,9,201703),('2017-03-05',201710,3,2017,5,10,201703),('2017-03-06',201710,3,2017,6,10,201703),('2017-03-07',201710,3,2017,7,10,201703),('2017-03-08',201710,3,2017,8,10,201703),('2017-03-09',201710,3,2017,9,10,201703),('2017-03-10',201710,3,2017,10,10,201703),('2017-03-11',201710,3,2017,11,10,201703),('2017-03-12',201711,3,2017,12,11,201703),('2017-03-13',201711,3,2017,13,11,201703),('2017-03-14',201711,3,2017,14,11,201703),('2017-03-15',201711,3,2017,15,11,201703),('2017-03-16',201711,3,2017,16,11,201703),('2017-03-17',201711,3,2017,17,11,201703),('2017-03-18',201711,3,2017,18,11,201703),('2017-03-19',201712,3,2017,19,12,201703),('2017-03-20',201712,3,2017,20,12,201703),('2017-03-21',201712,3,2017,21,12,201703),('2017-03-22',201712,3,2017,22,12,201703),('2017-03-23',201712,3,2017,23,12,201703),('2017-03-24',201712,3,2017,24,12,201703),('2017-03-25',201712,3,2017,25,12,201703),('2017-03-26',201713,3,2017,26,13,201703),('2017-03-27',201713,3,2017,27,13,201703),('2017-03-28',201713,3,2017,28,13,201703),('2017-03-29',201713,3,2017,29,13,201703),('2017-03-30',201713,3,2017,30,13,201703),('2017-03-31',201713,3,2017,31,13,201703),('2017-04-01',201713,4,2017,1,13,201704),('2017-04-02',201714,4,2017,2,14,201704),('2017-04-03',201714,4,2017,3,14,201704),('2017-04-04',201714,4,2017,4,14,201704),('2017-04-05',201714,4,2017,5,14,201704),('2017-04-06',201714,4,2017,6,14,201704),('2017-04-07',201714,4,2017,7,14,201704),('2017-04-08',201714,4,2017,8,14,201704),('2017-04-09',201715,4,2017,9,15,201704),('2017-04-10',201715,4,2017,10,15,201704),('2017-04-11',201715,4,2017,11,15,201704),('2017-04-12',201715,4,2017,12,15,201704),('2017-04-13',201715,4,2017,13,15,201704),('2017-04-14',201715,4,2017,14,15,201704),('2017-04-15',201715,4,2017,15,15,201704),('2017-04-16',201716,4,2017,16,16,201704),('2017-04-17',201716,4,2017,17,16,201704),('2017-04-18',201716,4,2017,18,16,201704),('2017-04-19',201716,4,2017,19,16,201704),('2017-04-20',201716,4,2017,20,16,201704),('2017-04-21',201716,4,2017,21,16,201704),('2017-04-22',201716,4,2017,22,16,201704),('2017-04-23',201717,4,2017,23,17,201704),('2017-04-24',201717,4,2017,24,17,201704),('2017-04-25',201717,4,2017,25,17,201704),('2017-04-26',201717,4,2017,26,17,201704),('2017-04-27',201717,4,2017,27,17,201704),('2017-04-28',201717,4,2017,28,17,201704),('2017-04-29',201717,4,2017,29,17,201704),('2017-04-30',201718,4,2017,30,18,201704),('2017-05-01',201718,5,2017,1,18,201705),('2017-05-02',201718,5,2017,2,18,201705),('2017-05-03',201718,5,2017,3,18,201705),('2017-05-04',201718,5,2017,4,18,201705),('2017-05-05',201718,5,2017,5,18,201705),('2017-05-06',201718,5,2017,6,18,201705),('2017-05-07',201719,5,2017,7,19,201705),('2017-05-08',201719,5,2017,8,19,201705),('2017-05-09',201719,5,2017,9,19,201705),('2017-05-10',201719,5,2017,10,19,201705),('2017-05-11',201719,5,2017,11,19,201705),('2017-05-12',201719,5,2017,12,19,201705),('2017-05-13',201719,5,2017,13,19,201705),('2017-05-14',201720,5,2017,14,20,201705),('2017-05-15',201720,5,2017,15,20,201705),('2017-05-16',201720,5,2017,16,20,201705),('2017-05-17',201720,5,2017,17,20,201705),('2017-05-18',201720,5,2017,18,20,201705),('2017-05-19',201720,5,2017,19,20,201705),('2017-05-20',201720,5,2017,20,20,201705),('2017-05-21',201721,5,2017,21,21,201705),('2017-05-22',201721,5,2017,22,21,201705),('2017-05-23',201721,5,2017,23,21,201705),('2017-05-24',201721,5,2017,24,21,201705),('2017-05-25',201721,5,2017,25,21,201705),('2017-05-26',201721,5,2017,26,21,201705),('2017-05-27',201721,5,2017,27,21,201705),('2017-05-28',201722,5,2017,28,22,201705),('2017-05-29',201722,5,2017,29,22,201705),('2017-05-30',201722,5,2017,30,22,201705),('2017-05-31',201722,5,2017,31,22,201705),('2017-06-01',201722,6,2017,1,22,201706),('2017-06-02',201722,6,2017,2,22,201706),('2017-06-03',201722,6,2017,3,22,201706),('2017-06-04',201723,6,2017,4,23,201706),('2017-06-05',201723,6,2017,5,23,201706),('2017-06-06',201723,6,2017,6,23,201706),('2017-06-07',201723,6,2017,7,23,201706),('2017-06-08',201723,6,2017,8,23,201706),('2017-06-09',201723,6,2017,9,23,201706),('2017-06-10',201723,6,2017,10,23,201706),('2017-06-11',201724,6,2017,11,24,201706),('2017-06-12',201724,6,2017,12,24,201706),('2017-06-13',201724,6,2017,13,24,201706),('2017-06-14',201724,6,2017,14,24,201706),('2017-06-15',201724,6,2017,15,24,201706),('2017-06-16',201724,6,2017,16,24,201706),('2017-06-17',201724,6,2017,17,24,201706),('2017-06-18',201725,6,2017,18,25,201706),('2017-06-19',201725,6,2017,19,25,201706),('2017-06-20',201725,6,2017,20,25,201706),('2017-06-21',201725,6,2017,21,25,201706),('2017-06-22',201725,6,2017,22,25,201706),('2017-06-23',201725,6,2017,23,25,201706),('2017-06-24',201725,6,2017,24,25,201706),('2017-06-25',201726,6,2017,25,26,201706),('2017-06-26',201726,6,2017,26,26,201706),('2017-06-27',201726,6,2017,27,26,201706),('2017-06-28',201726,6,2017,28,26,201706),('2017-06-29',201726,6,2017,29,26,201706),('2017-06-30',201726,6,2017,30,26,201706),('2017-07-01',201726,7,2017,1,26,201707),('2017-07-02',201727,7,2017,2,27,201707),('2017-07-03',201727,7,2017,3,27,201707),('2017-07-04',201727,7,2017,4,27,201707),('2017-07-05',201727,7,2017,5,27,201707),('2017-07-06',201727,7,2017,6,27,201707),('2017-07-07',201727,7,2017,7,27,201707),('2017-07-08',201727,7,2017,8,27,201707),('2017-07-09',201728,7,2017,9,28,201707),('2017-07-10',201728,7,2017,10,28,201707),('2017-07-11',201728,7,2017,11,28,201707),('2017-07-12',201728,7,2017,12,28,201707),('2017-07-13',201728,7,2017,13,28,201707),('2017-07-14',201728,7,2017,14,28,201707),('2017-07-15',201728,7,2017,15,28,201707),('2017-07-16',201729,7,2017,16,29,201707),('2017-07-17',201729,7,2017,17,29,201707),('2017-07-18',201729,7,2017,18,29,201707),('2017-07-19',201729,7,2017,19,29,201707),('2017-07-20',201729,7,2017,20,29,201707),('2017-07-21',201729,7,2017,21,29,201707),('2017-07-22',201729,7,2017,22,29,201707),('2017-07-23',201730,7,2017,23,30,201707),('2017-07-24',201730,7,2017,24,30,201707),('2017-07-25',201730,7,2017,25,30,201707),('2017-07-26',201730,7,2017,26,30,201707),('2017-07-27',201730,7,2017,27,30,201707),('2017-07-28',201730,7,2017,28,30,201707),('2017-07-29',201730,7,2017,29,30,201707),('2017-07-30',201731,7,2017,30,31,201707),('2017-07-31',201731,7,2017,31,31,201707),('2017-08-01',201731,8,2017,1,31,201708),('2017-08-02',201731,8,2017,2,31,201708),('2017-08-03',201731,8,2017,3,31,201708),('2017-08-04',201731,8,2017,4,31,201708),('2017-08-05',201731,8,2017,5,31,201708),('2017-08-06',201732,8,2017,6,32,201708),('2017-08-07',201732,8,2017,7,32,201708),('2017-08-08',201732,8,2017,8,32,201708),('2017-08-09',201732,8,2017,9,32,201708),('2017-08-10',201732,8,2017,10,32,201708),('2017-08-11',201732,8,2017,11,32,201708),('2017-08-12',201732,8,2017,12,32,201708),('2017-08-13',201733,8,2017,13,33,201708),('2017-08-14',201733,8,2017,14,33,201708),('2017-08-15',201733,8,2017,15,33,201708),('2017-08-16',201733,8,2017,16,33,201708),('2017-08-17',201733,8,2017,17,33,201708),('2017-08-18',201733,8,2017,18,33,201708),('2017-08-19',201733,8,2017,19,33,201708),('2017-08-20',201734,8,2017,20,34,201708),('2017-08-21',201734,8,2017,21,34,201708),('2017-08-22',201734,8,2017,22,34,201708),('2017-08-23',201734,8,2017,23,34,201708),('2017-08-24',201734,8,2017,24,34,201708),('2017-08-25',201734,8,2017,25,34,201708),('2017-08-26',201734,8,2017,26,34,201708),('2017-08-27',201735,8,2017,27,35,201708),('2017-08-28',201735,8,2017,28,35,201708),('2017-08-29',201735,8,2017,29,35,201708),('2017-08-30',201735,8,2017,30,35,201708),('2017-08-31',201735,8,2017,31,35,201708),('2017-09-01',201735,9,2017,1,35,201709),('2017-09-02',201735,9,2017,2,35,201709),('2017-09-03',201736,9,2017,3,36,201709),('2017-09-04',201736,9,2017,4,36,201709),('2017-09-05',201736,9,2017,5,36,201709),('2017-09-06',201736,9,2017,6,36,201709),('2017-09-07',201736,9,2017,7,36,201709),('2017-09-08',201736,9,2017,8,36,201709),('2017-09-09',201736,9,2017,9,36,201709),('2017-09-10',201737,9,2017,10,37,201709),('2017-09-11',201737,9,2017,11,37,201709),('2017-09-12',201737,9,2017,12,37,201709),('2017-09-13',201737,9,2017,13,37,201709),('2017-09-14',201737,9,2017,14,37,201709),('2017-09-15',201737,9,2017,15,37,201709),('2017-09-16',201737,9,2017,16,37,201709),('2017-09-17',201738,9,2017,17,38,201709),('2017-09-18',201738,9,2017,18,38,201709),('2017-09-19',201738,9,2017,19,38,201709),('2017-09-20',201738,9,2017,20,38,201709),('2017-09-21',201738,9,2017,21,38,201709),('2017-09-22',201738,9,2017,22,38,201709),('2017-09-23',201738,9,2017,23,38,201709),('2017-09-24',201739,9,2017,24,39,201709),('2017-09-25',201739,9,2017,25,39,201709),('2017-09-26',201739,9,2017,26,39,201709),('2017-09-27',201739,9,2017,27,39,201709),('2017-09-28',201739,9,2017,28,39,201709),('2017-09-29',201739,9,2017,29,39,201709),('2017-09-30',201739,9,2017,30,39,201709),('2017-10-01',201740,10,2017,1,40,201710),('2017-10-02',201740,10,2017,2,40,201710),('2017-10-03',201740,10,2017,3,40,201710),('2017-10-04',201740,10,2017,4,40,201710),('2017-10-05',201740,10,2017,5,40,201710),('2017-10-06',201740,10,2017,6,40,201710),('2017-10-07',201740,10,2017,7,40,201710),('2017-10-08',201741,10,2017,8,41,201710),('2017-10-09',201741,10,2017,9,41,201710),('2017-10-10',201741,10,2017,10,41,201710),('2017-10-11',201741,10,2017,11,41,201710),('2017-10-12',201741,10,2017,12,41,201710),('2017-10-13',201741,10,2017,13,41,201710),('2017-10-14',201741,10,2017,14,41,201710),('2017-10-15',201742,10,2017,15,42,201710),('2017-10-16',201742,10,2017,16,42,201710),('2017-10-17',201742,10,2017,17,42,201710),('2017-10-18',201742,10,2017,18,42,201710),('2017-10-19',201742,10,2017,19,42,201710),('2017-10-20',201742,10,2017,20,42,201710),('2017-10-21',201742,10,2017,21,42,201710),('2017-10-22',201743,10,2017,22,43,201710),('2017-10-23',201743,10,2017,23,43,201710),('2017-10-24',201743,10,2017,24,43,201710),('2017-10-25',201743,10,2017,25,43,201710),('2017-10-26',201743,10,2017,26,43,201710),('2017-10-27',201743,10,2017,27,43,201710),('2017-10-28',201743,10,2017,28,43,201710),('2017-10-29',201744,10,2017,29,44,201710),('2017-10-30',201744,10,2017,30,44,201710),('2017-10-31',201744,10,2017,31,44,201710),('2017-11-01',201744,11,2017,1,44,201711),('2017-11-02',201744,11,2017,2,44,201711),('2017-11-03',201744,11,2017,3,44,201711),('2017-11-04',201744,11,2017,4,44,201711),('2017-11-05',201745,11,2017,5,45,201711),('2017-11-06',201745,11,2017,6,45,201711),('2017-11-07',201745,11,2017,7,45,201711),('2017-11-08',201745,11,2017,8,45,201711),('2017-11-09',201745,11,2017,9,45,201711),('2017-11-10',201745,11,2017,10,45,201711),('2017-11-11',201745,11,2017,11,45,201711),('2017-11-12',201746,11,2017,12,46,201711),('2017-11-13',201746,11,2017,13,46,201711),('2017-11-14',201746,11,2017,14,46,201711),('2017-11-15',201746,11,2017,15,46,201711),('2017-11-16',201746,11,2017,16,46,201711),('2017-11-17',201746,11,2017,17,46,201711),('2017-11-18',201746,11,2017,18,46,201711),('2017-11-19',201747,11,2017,19,47,201711),('2017-11-20',201747,11,2017,20,47,201711),('2017-11-21',201747,11,2017,21,47,201711),('2017-11-22',201747,11,2017,22,47,201711),('2017-11-23',201747,11,2017,23,47,201711),('2017-11-24',201747,11,2017,24,47,201711),('2017-11-25',201747,11,2017,25,47,201711),('2017-11-26',201748,11,2017,26,48,201711),('2017-11-27',201748,11,2017,27,48,201711),('2017-11-28',201748,11,2017,28,48,201711),('2017-11-29',201748,11,2017,29,48,201711),('2017-11-30',201748,11,2017,30,48,201711),('2017-12-01',201748,12,2017,1,48,201712),('2017-12-02',201748,12,2017,2,48,201712),('2017-12-03',201749,12,2017,3,49,201712),('2017-12-04',201749,12,2017,4,49,201712),('2017-12-05',201749,12,2017,5,49,201712),('2017-12-06',201749,12,2017,6,49,201712),('2017-12-07',201749,12,2017,7,49,201712),('2017-12-08',201749,12,2017,8,49,201712),('2017-12-09',201749,12,2017,9,49,201712),('2017-12-10',201750,12,2017,10,50,201712),('2017-12-11',201750,12,2017,11,50,201712),('2017-12-12',201750,12,2017,12,50,201712),('2017-12-13',201750,12,2017,13,50,201712),('2017-12-14',201750,12,2017,14,50,201712),('2017-12-15',201750,12,2017,15,50,201712),('2017-12-16',201750,12,2017,16,50,201712),('2017-12-17',201751,12,2017,17,51,201712),('2017-12-18',201751,12,2017,18,51,201712),('2017-12-19',201751,12,2017,19,51,201712),('2017-12-20',201751,12,2017,20,51,201712),('2017-12-21',201751,12,2017,21,51,201712),('2017-12-22',201751,12,2017,22,51,201712),('2017-12-23',201751,12,2017,23,51,201712),('2017-12-24',201752,12,2017,24,52,201712),('2017-12-25',201752,12,2017,25,52,201712),('2017-12-26',201752,12,2017,26,52,201712),('2017-12-27',201752,12,2017,27,52,201712),('2017-12-28',201752,12,2017,28,52,201712),('2017-12-29',201752,12,2017,29,52,201712),('2017-12-30',201752,12,2017,30,52,201712),('2017-12-31',201801,12,2017,31,1,201712),('2018-01-01',201801,1,2018,1,1,201801),('2018-01-02',201801,1,2018,2,1,201801),('2018-01-03',201801,1,2018,3,1,201801),('2018-01-04',201801,1,2018,4,1,201801),('2018-01-05',201801,1,2018,5,1,201801),('2018-01-06',201801,1,2018,6,1,201801),('2018-01-07',201802,1,2018,7,2,201801),('2018-01-08',201802,1,2018,8,2,201801),('2018-01-09',201802,1,2018,9,2,201801),('2018-01-10',201802,1,2018,10,2,201801),('2018-01-11',201802,1,2018,11,2,201801),('2018-01-12',201802,1,2018,12,2,201801),('2018-01-13',201802,1,2018,13,2,201801),('2018-01-14',201803,1,2018,14,3,201801),('2018-01-15',201803,1,2018,15,3,201801),('2018-01-16',201803,1,2018,16,3,201801),('2018-01-17',201803,1,2018,17,3,201801),('2018-01-18',201803,1,2018,18,3,201801),('2018-01-19',201803,1,2018,19,3,201801),('2018-01-20',201803,1,2018,20,3,201801),('2018-01-21',201804,1,2018,21,4,201801),('2018-01-22',201804,1,2018,22,4,201801),('2018-01-23',201804,1,2018,23,4,201801),('2018-01-24',201804,1,2018,24,4,201801),('2018-01-25',201804,1,2018,25,4,201801),('2018-01-26',201804,1,2018,26,4,201801),('2018-01-27',201804,1,2018,27,4,201801),('2018-01-28',201805,1,2018,28,5,201801),('2018-01-29',201805,1,2018,29,5,201801),('2018-01-30',201805,1,2018,30,5,201801),('2018-01-31',201805,1,2018,31,5,201801),('2018-02-01',201805,2,2018,1,5,201802),('2018-02-02',201805,2,2018,2,5,201802),('2018-02-03',201805,2,2018,3,5,201802),('2018-02-04',201806,2,2018,4,6,201802),('2018-02-05',201806,2,2018,5,6,201802),('2018-02-06',201806,2,2018,6,6,201802),('2018-02-07',201806,2,2018,7,6,201802),('2018-02-08',201806,2,2018,8,6,201802),('2018-02-09',201806,2,2018,9,6,201802),('2018-02-10',201806,2,2018,10,6,201802),('2018-02-11',201807,2,2018,11,7,201802),('2018-02-12',201807,2,2018,12,7,201802),('2018-02-13',201807,2,2018,13,7,201802),('2018-02-14',201807,2,2018,14,7,201802),('2018-02-15',201807,2,2018,15,7,201802),('2018-02-16',201807,2,2018,16,7,201802),('2018-02-17',201807,2,2018,17,7,201802),('2018-02-18',201808,2,2018,18,8,201802),('2018-02-19',201808,2,2018,19,8,201802),('2018-02-20',201808,2,2018,20,8,201802),('2018-02-21',201808,2,2018,21,8,201802),('2018-02-22',201808,2,2018,22,8,201802),('2018-02-23',201808,2,2018,23,8,201802),('2018-02-24',201808,2,2018,24,8,201802),('2018-02-25',201809,2,2018,25,9,201802),('2018-02-26',201809,2,2018,26,9,201802),('2018-02-27',201809,2,2018,27,9,201802),('2018-02-28',201809,2,2018,28,9,201802),('2018-03-01',201809,3,2018,1,9,201803),('2018-03-02',201809,3,2018,2,9,201803),('2018-03-03',201809,3,2018,3,9,201803),('2018-03-04',201810,3,2018,4,10,201803),('2018-03-05',201810,3,2018,5,10,201803),('2018-03-06',201810,3,2018,6,10,201803),('2018-03-07',201810,3,2018,7,10,201803),('2018-03-08',201810,3,2018,8,10,201803),('2018-03-09',201810,3,2018,9,10,201803),('2018-03-10',201810,3,2018,10,10,201803),('2018-03-11',201811,3,2018,11,11,201803),('2018-03-12',201811,3,2018,12,11,201803),('2018-03-13',201811,3,2018,13,11,201803),('2018-03-14',201811,3,2018,14,11,201803),('2018-03-15',201811,3,2018,15,11,201803),('2018-03-16',201811,3,2018,16,11,201803),('2018-03-17',201811,3,2018,17,11,201803),('2018-03-18',201812,3,2018,18,12,201803),('2018-03-19',201812,3,2018,19,12,201803),('2018-03-20',201812,3,2018,20,12,201803),('2018-03-21',201812,3,2018,21,12,201803),('2018-03-22',201812,3,2018,22,12,201803),('2018-03-23',201812,3,2018,23,12,201803),('2018-03-24',201812,3,2018,24,12,201803),('2018-03-25',201813,3,2018,25,13,201803),('2018-03-26',201813,3,2018,26,13,201803),('2018-03-27',201813,3,2018,27,13,201803),('2018-03-28',201813,3,2018,28,13,201803),('2018-03-29',201813,3,2018,29,13,201803),('2018-03-30',201813,3,2018,30,13,201803),('2018-03-31',201813,3,2018,31,13,201803),('2018-04-01',201814,4,2018,1,14,201804),('2018-04-02',201814,4,2018,2,14,201804),('2018-04-03',201814,4,2018,3,14,201804),('2018-04-04',201814,4,2018,4,14,201804),('2018-04-05',201814,4,2018,5,14,201804),('2018-04-06',201814,4,2018,6,14,201804),('2018-04-07',201814,4,2018,7,14,201804),('2018-04-08',201815,4,2018,8,15,201804),('2018-04-09',201815,4,2018,9,15,201804),('2018-04-10',201815,4,2018,10,15,201804),('2018-04-11',201815,4,2018,11,15,201804),('2018-04-12',201815,4,2018,12,15,201804),('2018-04-13',201815,4,2018,13,15,201804),('2018-04-14',201815,4,2018,14,15,201804),('2018-04-15',201816,4,2018,15,16,201804),('2018-04-16',201816,4,2018,16,16,201804),('2018-04-17',201816,4,2018,17,16,201804),('2018-04-18',201816,4,2018,18,16,201804),('2018-04-19',201816,4,2018,19,16,201804),('2018-04-20',201816,4,2018,20,16,201804),('2018-04-21',201816,4,2018,21,16,201804),('2018-04-22',201817,4,2018,22,17,201804),('2018-04-23',201817,4,2018,23,17,201804),('2018-04-24',201817,4,2018,24,17,201804),('2018-04-25',201817,4,2018,25,17,201804),('2018-04-26',201817,4,2018,26,17,201804),('2018-04-27',201817,4,2018,27,17,201804),('2018-04-28',201817,4,2018,28,17,201804),('2018-04-29',201818,4,2018,29,18,201804),('2018-04-30',201818,4,2018,30,18,201804),('2018-05-01',201818,5,2018,1,18,201805),('2018-05-02',201818,5,2018,2,18,201805),('2018-05-03',201818,5,2018,3,18,201805),('2018-05-04',201818,5,2018,4,18,201805),('2018-05-05',201818,5,2018,5,18,201805),('2018-05-06',201819,5,2018,6,19,201805),('2018-05-07',201819,5,2018,7,19,201805),('2018-05-08',201819,5,2018,8,19,201805),('2018-05-09',201819,5,2018,9,19,201805),('2018-05-10',201819,5,2018,10,19,201805),('2018-05-11',201819,5,2018,11,19,201805),('2018-05-12',201819,5,2018,12,19,201805),('2018-05-13',201820,5,2018,13,20,201805),('2018-05-14',201820,5,2018,14,20,201805),('2018-05-15',201820,5,2018,15,20,201805),('2018-05-16',201820,5,2018,16,20,201805),('2018-05-17',201820,5,2018,17,20,201805),('2018-05-18',201820,5,2018,18,20,201805),('2018-05-19',201820,5,2018,19,20,201805),('2018-05-20',201821,5,2018,20,21,201805),('2018-05-21',201821,5,2018,21,21,201805),('2018-05-22',201821,5,2018,22,21,201805),('2018-05-23',201821,5,2018,23,21,201805),('2018-05-24',201821,5,2018,24,21,201805),('2018-05-25',201821,5,2018,25,21,201805),('2018-05-26',201821,5,2018,26,21,201805),('2018-05-27',201822,5,2018,27,22,201805),('2018-05-28',201822,5,2018,28,22,201805),('2018-05-29',201822,5,2018,29,22,201805),('2018-05-30',201822,5,2018,30,22,201805),('2018-05-31',201822,5,2018,31,22,201805),('2018-06-01',201822,6,2018,1,22,201806),('2018-06-02',201822,6,2018,2,22,201806),('2018-06-03',201823,6,2018,3,23,201806),('2018-06-04',201823,6,2018,4,23,201806),('2018-06-05',201823,6,2018,5,23,201806),('2018-06-06',201823,6,2018,6,23,201806),('2018-06-07',201823,6,2018,7,23,201806),('2018-06-08',201823,6,2018,8,23,201806),('2018-06-09',201823,6,2018,9,23,201806),('2018-06-10',201824,6,2018,10,24,201806),('2018-06-11',201824,6,2018,11,24,201806),('2018-06-12',201824,6,2018,12,24,201806),('2018-06-13',201824,6,2018,13,24,201806),('2018-06-14',201824,6,2018,14,24,201806),('2018-06-15',201824,6,2018,15,24,201806),('2018-06-16',201824,6,2018,16,24,201806),('2018-06-17',201825,6,2018,17,25,201806),('2018-06-18',201825,6,2018,18,25,201806),('2018-06-19',201825,6,2018,19,25,201806),('2018-06-20',201825,6,2018,20,25,201806),('2018-06-21',201825,6,2018,21,25,201806),('2018-06-22',201825,6,2018,22,25,201806),('2018-06-23',201825,6,2018,23,25,201806),('2018-06-24',201826,6,2018,24,26,201806),('2018-06-25',201826,6,2018,25,26,201806),('2018-06-26',201826,6,2018,26,26,201806),('2018-06-27',201826,6,2018,27,26,201806),('2018-06-28',201826,6,2018,28,26,201806),('2018-06-29',201826,6,2018,29,26,201806),('2018-06-30',201826,6,2018,30,26,201806),('2018-07-01',201827,7,2018,1,27,201807),('2018-07-02',201827,7,2018,2,27,201807),('2018-07-03',201827,7,2018,3,27,201807),('2018-07-04',201827,7,2018,4,27,201807),('2018-07-05',201827,7,2018,5,27,201807),('2018-07-06',201827,7,2018,6,27,201807),('2018-07-07',201827,7,2018,7,27,201807),('2018-07-08',201828,7,2018,8,28,201807),('2018-07-09',201828,7,2018,9,28,201807),('2018-07-10',201828,7,2018,10,28,201807),('2018-07-11',201828,7,2018,11,28,201807),('2018-07-12',201828,7,2018,12,28,201807),('2018-07-13',201828,7,2018,13,28,201807),('2018-07-14',201828,7,2018,14,28,201807),('2018-07-15',201829,7,2018,15,29,201807),('2018-07-16',201829,7,2018,16,29,201807),('2018-07-17',201829,7,2018,17,29,201807),('2018-07-18',201829,7,2018,18,29,201807),('2018-07-19',201829,7,2018,19,29,201807),('2018-07-20',201829,7,2018,20,29,201807),('2018-07-21',201829,7,2018,21,29,201807),('2018-07-22',201830,7,2018,22,30,201807),('2018-07-23',201830,7,2018,23,30,201807),('2018-07-24',201830,7,2018,24,30,201807),('2018-07-25',201830,7,2018,25,30,201807),('2018-07-26',201830,7,2018,26,30,201807),('2018-07-27',201830,7,2018,27,30,201807),('2018-07-28',201830,7,2018,28,30,201807),('2018-07-29',201831,7,2018,29,31,201807),('2018-07-30',201831,7,2018,30,31,201807),('2018-07-31',201831,7,2018,31,31,201807),('2018-08-01',201831,8,2018,1,31,201808),('2018-08-02',201831,8,2018,2,31,201808),('2018-08-03',201831,8,2018,3,31,201808),('2018-08-04',201831,8,2018,4,31,201808),('2018-08-05',201832,8,2018,5,32,201808),('2018-08-06',201832,8,2018,6,32,201808),('2018-08-07',201832,8,2018,7,32,201808),('2018-08-08',201832,8,2018,8,32,201808),('2018-08-09',201832,8,2018,9,32,201808),('2018-08-10',201832,8,2018,10,32,201808),('2018-08-11',201832,8,2018,11,32,201808),('2018-08-12',201833,8,2018,12,33,201808),('2018-08-13',201833,8,2018,13,33,201808),('2018-08-14',201833,8,2018,14,33,201808),('2018-08-15',201833,8,2018,15,33,201808),('2018-08-16',201833,8,2018,16,33,201808),('2018-08-17',201833,8,2018,17,33,201808),('2018-08-18',201833,8,2018,18,33,201808),('2018-08-19',201834,8,2018,19,34,201808),('2018-08-20',201834,8,2018,20,34,201808),('2018-08-21',201834,8,2018,21,34,201808),('2018-08-22',201834,8,2018,22,34,201808),('2018-08-23',201834,8,2018,23,34,201808),('2018-08-24',201834,8,2018,24,34,201808),('2018-08-25',201834,8,2018,25,34,201808),('2018-08-26',201835,8,2018,26,35,201808),('2018-08-27',201835,8,2018,27,35,201808),('2018-08-28',201835,8,2018,28,35,201808),('2018-08-29',201835,8,2018,29,35,201808),('2018-08-30',201835,8,2018,30,35,201808),('2018-08-31',201835,8,2018,31,35,201808),('2018-09-01',201835,9,2018,1,35,201809),('2018-09-02',201836,9,2018,2,36,201809),('2018-09-03',201836,9,2018,3,36,201809),('2018-09-04',201836,9,2018,4,36,201809),('2018-09-05',201836,9,2018,5,36,201809),('2018-09-06',201836,9,2018,6,36,201809),('2018-09-07',201836,9,2018,7,36,201809),('2018-09-08',201836,9,2018,8,36,201809),('2018-09-09',201837,9,2018,9,37,201809),('2018-09-10',201837,9,2018,10,37,201809),('2018-09-11',201837,9,2018,11,37,201809),('2018-09-12',201837,9,2018,12,37,201809),('2018-09-13',201837,9,2018,13,37,201809),('2018-09-14',201837,9,2018,14,37,201809),('2018-09-15',201837,9,2018,15,37,201809),('2018-09-16',201838,9,2018,16,38,201809),('2018-09-17',201838,9,2018,17,38,201809),('2018-09-18',201838,9,2018,18,38,201809),('2018-09-19',201838,9,2018,19,38,201809),('2018-09-20',201838,9,2018,20,38,201809),('2018-09-21',201838,9,2018,21,38,201809),('2018-09-22',201838,9,2018,22,38,201809),('2018-09-23',201839,9,2018,23,39,201809),('2018-09-24',201839,9,2018,24,39,201809),('2018-09-25',201839,9,2018,25,39,201809),('2018-09-26',201839,9,2018,26,39,201809),('2018-09-27',201839,9,2018,27,39,201809),('2018-09-28',201839,9,2018,28,39,201809),('2018-09-29',201839,9,2018,29,39,201809),('2018-09-30',201840,9,2018,30,40,201809),('2018-10-01',201840,10,2018,1,40,201810),('2018-10-02',201840,10,2018,2,40,201810),('2018-10-03',201840,10,2018,3,40,201810),('2018-10-04',201840,10,2018,4,40,201810),('2018-10-05',201840,10,2018,5,40,201810),('2018-10-06',201840,10,2018,6,40,201810),('2018-10-07',201841,10,2018,7,41,201810),('2018-10-08',201841,10,2018,8,41,201810),('2018-10-09',201841,10,2018,9,41,201810),('2018-10-10',201841,10,2018,10,41,201810),('2018-10-11',201841,10,2018,11,41,201810),('2018-10-12',201841,10,2018,12,41,201810),('2018-10-13',201841,10,2018,13,41,201810),('2018-10-14',201842,10,2018,14,42,201810),('2018-10-15',201842,10,2018,15,42,201810),('2018-10-16',201842,10,2018,16,42,201810),('2018-10-17',201842,10,2018,17,42,201810),('2018-10-18',201842,10,2018,18,42,201810),('2018-10-19',201842,10,2018,19,42,201810),('2018-10-20',201842,10,2018,20,42,201810),('2018-10-21',201843,10,2018,21,43,201810),('2018-10-22',201843,10,2018,22,43,201810),('2018-10-23',201843,10,2018,23,43,201810),('2018-10-24',201843,10,2018,24,43,201810),('2018-10-25',201843,10,2018,25,43,201810),('2018-10-26',201843,10,2018,26,43,201810),('2018-10-27',201843,10,2018,27,43,201810),('2018-10-28',201844,10,2018,28,44,201810),('2018-10-29',201844,10,2018,29,44,201810),('2018-10-30',201844,10,2018,30,44,201810),('2018-10-31',201844,10,2018,31,44,201810),('2018-11-01',201844,11,2018,1,44,201811),('2018-11-02',201844,11,2018,2,44,201811),('2018-11-03',201844,11,2018,3,44,201811),('2018-11-04',201845,11,2018,4,45,201811),('2018-11-05',201845,11,2018,5,45,201811),('2018-11-06',201845,11,2018,6,45,201811),('2018-11-07',201845,11,2018,7,45,201811),('2018-11-08',201845,11,2018,8,45,201811),('2018-11-09',201845,11,2018,9,45,201811),('2018-11-10',201845,11,2018,10,45,201811),('2018-11-11',201846,11,2018,11,46,201811),('2018-11-12',201846,11,2018,12,46,201811),('2018-11-13',201846,11,2018,13,46,201811),('2018-11-14',201846,11,2018,14,46,201811),('2018-11-15',201846,11,2018,15,46,201811),('2018-11-16',201846,11,2018,16,46,201811),('2018-11-17',201846,11,2018,17,46,201811),('2018-11-18',201847,11,2018,18,47,201811),('2018-11-19',201847,11,2018,19,47,201811),('2018-11-20',201847,11,2018,20,47,201811),('2018-11-21',201847,11,2018,21,47,201811),('2018-11-22',201847,11,2018,22,47,201811),('2018-11-23',201847,11,2018,23,47,201811),('2018-11-24',201847,11,2018,24,47,201811),('2018-11-25',201848,11,2018,25,48,201811),('2018-11-26',201848,11,2018,26,48,201811),('2018-11-27',201848,11,2018,27,48,201811),('2018-11-28',201848,11,2018,28,48,201811),('2018-11-29',201848,11,2018,29,48,201811),('2018-11-30',201848,11,2018,30,48,201811),('2018-12-01',201848,12,2018,1,48,201812),('2018-12-02',201849,12,2018,2,49,201812),('2018-12-03',201849,12,2018,3,49,201812),('2018-12-04',201849,12,2018,4,49,201812),('2018-12-05',201849,12,2018,5,49,201812),('2018-12-06',201849,12,2018,6,49,201812),('2018-12-07',201849,12,2018,7,49,201812),('2018-12-08',201849,12,2018,8,49,201812),('2018-12-09',201850,12,2018,9,50,201812),('2018-12-10',201850,12,2018,10,50,201812),('2018-12-11',201850,12,2018,11,50,201812),('2018-12-12',201850,12,2018,12,50,201812),('2018-12-13',201850,12,2018,13,50,201812),('2018-12-14',201850,12,2018,14,50,201812),('2018-12-15',201850,12,2018,15,50,201812),('2018-12-16',201851,12,2018,16,51,201812),('2018-12-17',201851,12,2018,17,51,201812),('2018-12-18',201851,12,2018,18,51,201812),('2018-12-19',201851,12,2018,19,51,201812),('2018-12-20',201851,12,2018,20,51,201812),('2018-12-21',201851,12,2018,21,51,201812),('2018-12-22',201851,12,2018,22,51,201812),('2018-12-23',201852,12,2018,23,52,201812),('2018-12-24',201852,12,2018,24,52,201812),('2018-12-25',201852,12,2018,25,52,201812),('2018-12-26',201852,12,2018,26,52,201812),('2018-12-27',201852,12,2018,27,52,201812),('2018-12-28',201852,12,2018,28,52,201812),('2018-12-29',201852,12,2018,29,52,201812),('2018-12-30',201901,1,2019,30,1,201812),('2018-12-31',201901,1,2019,31,1,201812),('2019-01-01',201901,1,2019,1,1,201901),('2019-01-02',201901,1,2019,2,1,201901),('2019-01-03',201901,1,2019,3,1,201901),('2019-01-04',201901,1,2019,4,1,201901),('2019-01-05',201901,1,2019,5,1,201901),('2019-01-06',201902,1,2019,6,2,201901),('2019-01-07',201902,1,2019,7,2,201901),('2019-01-08',201902,1,2019,8,2,201901),('2019-01-09',201902,1,2019,9,2,201901),('2019-01-10',201902,1,2019,10,2,201901),('2019-01-11',201902,1,2019,11,2,201901),('2019-01-12',201902,1,2019,12,2,201901),('2019-01-13',201903,1,2019,13,3,201901),('2019-01-14',201903,1,2019,14,3,201901),('2019-01-15',201903,1,2019,15,3,201901),('2019-01-16',201903,1,2019,16,3,201901),('2019-01-17',201903,1,2019,17,3,201901),('2019-01-18',201903,1,2019,18,3,201901),('2019-01-19',201903,1,2019,19,3,201901),('2019-01-20',201904,1,2019,20,4,201901),('2019-01-21',201904,1,2019,21,4,201901),('2019-01-22',201904,1,2019,22,4,201901),('2019-01-23',201904,1,2019,23,4,201901),('2019-01-24',201904,1,2019,24,4,201901),('2019-01-25',201904,1,2019,25,4,201901),('2019-01-26',201904,1,2019,26,4,201901),('2019-01-27',201905,1,2019,27,5,201901),('2019-01-28',201905,1,2019,28,5,201901),('2019-01-29',201905,1,2019,29,5,201901),('2019-01-30',201905,1,2019,30,5,201901),('2019-01-31',201905,1,2019,31,5,201901),('2019-02-01',201905,2,2019,1,5,201902),('2019-02-02',201905,2,2019,2,5,201902),('2019-02-03',201906,2,2019,3,6,201902),('2019-02-04',201906,2,2019,4,6,201902),('2019-02-05',201906,2,2019,5,6,201902),('2019-02-06',201906,2,2019,6,6,201902),('2019-02-07',201906,2,2019,7,6,201902),('2019-02-08',201906,2,2019,8,6,201902),('2019-02-09',201906,2,2019,9,6,201902),('2019-02-10',201907,2,2019,10,7,201902),('2019-02-11',201907,2,2019,11,7,201902),('2019-02-12',201907,2,2019,12,7,201902),('2019-02-13',201907,2,2019,13,7,201902),('2019-02-14',201907,2,2019,14,7,201902),('2019-02-15',201907,2,2019,15,7,201902),('2019-02-16',201907,2,2019,16,7,201902),('2019-02-17',201908,2,2019,17,8,201902),('2019-02-18',201908,2,2019,18,8,201902),('2019-02-19',201908,2,2019,19,8,201902),('2019-02-20',201908,2,2019,20,8,201902),('2019-02-21',201908,2,2019,21,8,201902),('2019-02-22',201908,2,2019,22,8,201902),('2019-02-23',201908,2,2019,23,8,201902),('2019-02-24',201909,2,2019,24,9,201902),('2019-02-25',201909,2,2019,25,9,201902),('2019-02-26',201909,2,2019,26,9,201902),('2019-02-27',201909,2,2019,27,9,201902),('2019-02-28',201909,2,2019,28,9,201902),('2019-03-01',201909,3,2019,1,9,201903),('2019-03-02',201909,3,2019,2,9,201903),('2019-03-03',201910,3,2019,3,10,201903),('2019-03-04',201910,3,2019,4,10,201903),('2019-03-05',201910,3,2019,5,10,201903),('2019-03-06',201910,3,2019,6,10,201903),('2019-03-07',201910,3,2019,7,10,201903),('2019-03-08',201910,3,2019,8,10,201903),('2019-03-09',201910,3,2019,9,10,201903),('2019-03-10',201911,3,2019,10,11,201903),('2019-03-11',201911,3,2019,11,11,201903),('2019-03-12',201911,3,2019,12,11,201903),('2019-03-13',201911,3,2019,13,11,201903),('2019-03-14',201911,3,2019,14,11,201903),('2019-03-15',201911,3,2019,15,11,201903),('2019-03-16',201911,3,2019,16,11,201903),('2019-03-17',201912,3,2019,17,12,201903),('2019-03-18',201912,3,2019,18,12,201903),('2019-03-19',201912,3,2019,19,12,201903),('2019-03-20',201912,3,2019,20,12,201903),('2019-03-21',201912,3,2019,21,12,201903),('2019-03-22',201912,3,2019,22,12,201903),('2019-03-23',201912,3,2019,23,12,201903),('2019-03-24',201913,3,2019,24,13,201903),('2019-03-25',201913,3,2019,25,13,201903),('2019-03-26',201913,3,2019,26,13,201903),('2019-03-27',201913,3,2019,27,13,201903),('2019-03-28',201913,3,2019,28,13,201903),('2019-03-29',201913,3,2019,29,13,201903),('2019-03-30',201913,3,2019,30,13,201903),('2019-03-31',201914,3,2019,31,14,201903),('2019-04-01',201914,4,2019,1,14,201904),('2019-04-02',201914,4,2019,2,14,201904),('2019-04-03',201914,4,2019,3,14,201904),('2019-04-04',201914,4,2019,4,14,201904),('2019-04-05',201914,4,2019,5,14,201904),('2019-04-06',201914,4,2019,6,14,201904),('2019-04-07',201915,4,2019,7,15,201904),('2019-04-08',201915,4,2019,8,15,201904),('2019-04-09',201915,4,2019,9,15,201904),('2019-04-10',201915,4,2019,10,15,201904),('2019-04-11',201915,4,2019,11,15,201904),('2019-04-12',201915,4,2019,12,15,201904),('2019-04-13',201915,4,2019,13,15,201904),('2019-04-14',201916,4,2019,14,16,201904),('2019-04-15',201916,4,2019,15,16,201904),('2019-04-16',201916,4,2019,16,16,201904),('2019-04-17',201916,4,2019,17,16,201904),('2019-04-18',201916,4,2019,18,16,201904),('2019-04-19',201916,4,2019,19,16,201904),('2019-04-20',201916,4,2019,20,16,201904),('2019-04-21',201917,4,2019,21,17,201904),('2019-04-22',201917,4,2019,22,17,201904),('2019-04-23',201917,4,2019,23,17,201904),('2019-04-24',201917,4,2019,24,17,201904),('2019-04-25',201917,4,2019,25,17,201904),('2019-04-26',201917,4,2019,26,17,201904),('2019-04-27',201917,4,2019,27,17,201904),('2019-04-28',201918,4,2019,28,18,201904),('2019-04-29',201918,4,2019,29,18,201904),('2019-04-30',201918,4,2019,30,18,201904),('2019-05-01',201918,5,2019,1,18,201905),('2019-05-02',201918,5,2019,2,18,201905),('2019-05-03',201918,5,2019,3,18,201905),('2019-05-04',201918,5,2019,4,18,201905),('2019-05-05',201919,5,2019,5,19,201905),('2019-05-06',201919,5,2019,6,19,201905),('2019-05-07',201919,5,2019,7,19,201905),('2019-05-08',201919,5,2019,8,19,201905),('2019-05-09',201919,5,2019,9,19,201905),('2019-05-10',201919,5,2019,10,19,201905),('2019-05-11',201919,5,2019,11,19,201905),('2019-05-12',201920,5,2019,12,20,201905),('2019-05-13',201920,5,2019,13,20,201905),('2019-05-14',201920,5,2019,14,20,201905),('2019-05-15',201920,5,2019,15,20,201905),('2019-05-16',201920,5,2019,16,20,201905),('2019-05-17',201920,5,2019,17,20,201905),('2019-05-18',201920,5,2019,18,20,201905),('2019-05-19',201921,5,2019,19,21,201905),('2019-05-20',201921,5,2019,20,21,201905),('2019-05-21',201921,5,2019,21,21,201905),('2019-05-22',201921,5,2019,22,21,201905),('2019-05-23',201921,5,2019,23,21,201905),('2019-05-24',201921,5,2019,24,21,201905),('2019-05-25',201921,5,2019,25,21,201905),('2019-05-26',201922,5,2019,26,22,201905),('2019-05-27',201922,5,2019,27,22,201905),('2019-05-28',201922,5,2019,28,22,201905),('2019-05-29',201922,5,2019,29,22,201905),('2019-05-30',201922,5,2019,30,22,201905),('2019-05-31',201922,5,2019,31,22,201905),('2019-06-01',201922,6,2019,1,22,201906),('2019-06-02',201923,6,2019,2,23,201906),('2019-06-03',201923,6,2019,3,23,201906),('2019-06-04',201923,6,2019,4,23,201906),('2019-06-05',201923,6,2019,5,23,201906),('2019-06-06',201923,6,2019,6,23,201906),('2019-06-07',201923,6,2019,7,23,201906),('2019-06-08',201923,6,2019,8,23,201906),('2019-06-09',201924,6,2019,9,24,201906),('2019-06-10',201924,6,2019,10,24,201906),('2019-06-11',201924,6,2019,11,24,201906),('2019-06-12',201924,6,2019,12,24,201906),('2019-06-13',201924,6,2019,13,24,201906),('2019-06-14',201924,6,2019,14,24,201906),('2019-06-15',201924,6,2019,15,24,201906),('2019-06-16',201925,6,2019,16,25,201906),('2019-06-17',201925,6,2019,17,25,201906),('2019-06-18',201925,6,2019,18,25,201906),('2019-06-19',201925,6,2019,19,25,201906),('2019-06-20',201925,6,2019,20,25,201906),('2019-06-21',201925,6,2019,21,25,201906),('2019-06-22',201925,6,2019,22,25,201906),('2019-06-23',201926,6,2019,23,26,201906),('2019-06-24',201926,6,2019,24,26,201906),('2019-06-25',201926,6,2019,25,26,201906),('2019-06-26',201926,6,2019,26,26,201906),('2019-06-27',201926,6,2019,27,26,201906),('2019-06-28',201926,6,2019,28,26,201906),('2019-06-29',201926,6,2019,29,26,201906),('2019-06-30',201927,6,2019,30,27,201906),('2019-07-01',201927,7,2019,1,27,201907),('2019-07-02',201927,7,2019,2,27,201907),('2019-07-03',201927,7,2019,3,27,201907),('2019-07-04',201927,7,2019,4,27,201907),('2019-07-05',201927,7,2019,5,27,201907),('2019-07-06',201927,7,2019,6,27,201907),('2019-07-07',201928,7,2019,7,28,201907),('2019-07-08',201928,7,2019,8,28,201907),('2019-07-09',201928,7,2019,9,28,201907),('2019-07-10',201928,7,2019,10,28,201907),('2019-07-11',201928,7,2019,11,28,201907),('2019-07-12',201928,7,2019,12,28,201907),('2019-07-13',201928,7,2019,13,28,201907),('2019-07-14',201929,7,2019,14,29,201907),('2019-07-15',201929,7,2019,15,29,201907),('2019-07-16',201929,7,2019,16,29,201907),('2019-07-17',201929,7,2019,17,29,201907),('2019-07-18',201929,7,2019,18,29,201907),('2019-07-19',201929,7,2019,19,29,201907),('2019-07-20',201929,7,2019,20,29,201907),('2019-07-21',201930,7,2019,21,30,201907),('2019-07-22',201930,7,2019,22,30,201907),('2019-07-23',201930,7,2019,23,30,201907),('2019-07-24',201930,7,2019,24,30,201907),('2019-07-25',201930,7,2019,25,30,201907),('2019-07-26',201930,7,2019,26,30,201907),('2019-07-27',201930,7,2019,27,30,201907),('2019-07-28',201931,7,2019,28,31,201907),('2019-07-29',201931,7,2019,29,31,201907),('2019-07-30',201931,7,2019,30,31,201907),('2019-07-31',201931,7,2019,31,31,201907),('2019-08-01',201931,8,2019,1,31,201908),('2019-08-02',201931,8,2019,2,31,201908),('2019-08-03',201931,8,2019,3,31,201908),('2019-08-04',201932,8,2019,4,32,201908),('2019-08-05',201932,8,2019,5,32,201908),('2019-08-06',201932,8,2019,6,32,201908),('2019-08-07',201932,8,2019,7,32,201908),('2019-08-08',201932,8,2019,8,32,201908),('2019-08-09',201932,8,2019,9,32,201908),('2019-08-10',201932,8,2019,10,32,201908),('2019-08-11',201933,8,2019,11,33,201908),('2019-08-12',201933,8,2019,12,33,201908),('2019-08-13',201933,8,2019,13,33,201908),('2019-08-14',201933,8,2019,14,33,201908),('2019-08-15',201933,8,2019,15,33,201908),('2019-08-16',201933,8,2019,16,33,201908),('2019-08-17',201933,8,2019,17,33,201908),('2019-08-18',201934,8,2019,18,34,201908),('2019-08-19',201934,8,2019,19,34,201908),('2019-08-20',201934,8,2019,20,34,201908),('2019-08-21',201934,8,2019,21,34,201908),('2019-08-22',201934,8,2019,22,34,201908),('2019-08-23',201934,8,2019,23,34,201908),('2019-08-24',201934,8,2019,24,34,201908),('2019-08-25',201935,8,2019,25,35,201908),('2019-08-26',201935,8,2019,26,35,201908),('2019-08-27',201935,8,2019,27,35,201908),('2019-08-28',201935,8,2019,28,35,201908),('2019-08-29',201935,8,2019,29,35,201908),('2019-08-30',201935,8,2019,30,35,201908),('2019-08-31',201935,8,2019,31,35,201908),('2019-09-01',201936,9,2019,1,36,201909),('2019-09-02',201936,9,2019,2,36,201909),('2019-09-03',201936,9,2019,3,36,201909),('2019-09-04',201936,9,2019,4,36,201909),('2019-09-05',201936,9,2019,5,36,201909),('2019-09-06',201936,9,2019,6,36,201909),('2019-09-07',201936,9,2019,7,36,201909),('2019-09-08',201937,9,2019,8,37,201909),('2019-09-09',201937,9,2019,9,37,201909),('2019-09-10',201937,9,2019,10,37,201909),('2019-09-11',201937,9,2019,11,37,201909),('2019-09-12',201937,9,2019,12,37,201909),('2019-09-13',201937,9,2019,13,37,201909),('2019-09-14',201937,9,2019,14,37,201909),('2019-09-15',201938,9,2019,15,38,201909),('2019-09-16',201938,9,2019,16,38,201909),('2019-09-17',201938,9,2019,17,38,201909),('2019-09-18',201938,9,2019,18,38,201909),('2019-09-19',201938,9,2019,19,38,201909),('2019-09-20',201938,9,2019,20,38,201909),('2019-09-21',201938,9,2019,21,38,201909),('2019-09-22',201939,9,2019,22,39,201909),('2019-09-23',201939,9,2019,23,39,201909),('2019-09-24',201939,9,2019,24,39,201909),('2019-09-25',201939,9,2019,25,39,201909),('2019-09-26',201939,9,2019,26,39,201909),('2019-09-27',201939,9,2019,27,39,201909),('2019-09-28',201939,9,2019,28,39,201909),('2019-09-29',201940,9,2019,29,40,201909),('2019-09-30',201940,9,2019,30,40,201909),('2019-10-01',201940,10,2019,1,40,201910),('2019-10-02',201940,10,2019,2,40,201910),('2019-10-03',201940,10,2019,3,40,201910),('2019-10-04',201940,10,2019,4,40,201910),('2019-10-05',201940,10,2019,5,40,201910),('2019-10-06',201941,10,2019,6,41,201910),('2019-10-07',201941,10,2019,7,41,201910),('2019-10-08',201941,10,2019,8,41,201910),('2019-10-09',201941,10,2019,9,41,201910),('2019-10-10',201941,10,2019,10,41,201910),('2019-10-11',201941,10,2019,11,41,201910),('2019-10-12',201941,10,2019,12,41,201910),('2019-10-13',201942,10,2019,13,42,201910),('2019-10-14',201942,10,2019,14,42,201910),('2019-10-15',201942,10,2019,15,42,201910),('2019-10-16',201942,10,2019,16,42,201910),('2019-10-17',201942,10,2019,17,42,201910),('2019-10-18',201942,10,2019,18,42,201910),('2019-10-19',201942,10,2019,19,42,201910),('2019-10-20',201943,10,2019,20,43,201910),('2019-10-21',201943,10,2019,21,43,201910),('2019-10-22',201943,10,2019,22,43,201910),('2019-10-23',201943,10,2019,23,43,201910),('2019-10-24',201943,10,2019,24,43,201910),('2019-10-25',201943,10,2019,25,43,201910),('2019-10-26',201943,10,2019,26,43,201910),('2019-10-27',201944,10,2019,27,44,201910),('2019-10-28',201944,10,2019,28,44,201910),('2019-10-29',201944,10,2019,29,44,201910),('2019-10-30',201944,10,2019,30,44,201910),('2019-10-31',201944,10,2019,31,44,201910),('2019-11-01',201944,11,2019,1,44,201911),('2019-11-02',201944,11,2019,2,44,201911),('2019-11-03',201945,11,2019,3,45,201911),('2019-11-04',201945,11,2019,4,45,201911),('2019-11-05',201945,11,2019,5,45,201911),('2019-11-06',201945,11,2019,6,45,201911),('2019-11-07',201945,11,2019,7,45,201911),('2019-11-08',201945,11,2019,8,45,201911),('2019-11-09',201945,11,2019,9,45,201911),('2019-11-10',201946,11,2019,10,46,201911),('2019-11-11',201946,11,2019,11,46,201911),('2019-11-12',201946,11,2019,12,46,201911),('2019-11-13',201946,11,2019,13,46,201911),('2019-11-14',201946,11,2019,14,46,201911),('2019-11-15',201946,11,2019,15,46,201911),('2019-11-16',201946,11,2019,16,46,201911),('2019-11-17',201947,11,2019,17,47,201911),('2019-11-18',201947,11,2019,18,47,201911),('2019-11-19',201947,11,2019,19,47,201911),('2019-11-20',201947,11,2019,20,47,201911),('2019-11-21',201947,11,2019,21,47,201911),('2019-11-22',201947,11,2019,22,47,201911),('2019-11-23',201947,11,2019,23,47,201911),('2019-11-24',201948,11,2019,24,48,201911),('2019-11-25',201948,11,2019,25,48,201911),('2019-11-26',201948,11,2019,26,48,201911),('2019-11-27',201948,11,2019,27,48,201911),('2019-11-28',201948,11,2019,28,48,201911),('2019-11-29',201948,11,2019,29,48,201911),('2019-11-30',201948,11,2019,30,48,201911),('2019-12-01',201949,12,2019,1,49,201912),('2019-12-02',201949,12,2019,2,49,201912),('2019-12-03',201949,12,2019,3,49,201912),('2019-12-04',201949,12,2019,4,49,201912),('2019-12-05',201949,12,2019,5,49,201912),('2019-12-06',201949,12,2019,6,49,201912),('2019-12-07',201949,12,2019,7,49,201912),('2019-12-08',201950,12,2019,8,50,201912),('2019-12-09',201950,12,2019,9,50,201912),('2019-12-10',201950,12,2019,10,50,201912),('2019-12-11',201950,12,2019,11,50,201912),('2019-12-12',201950,12,2019,12,50,201912),('2019-12-13',201950,12,2019,13,50,201912),('2019-12-14',201950,12,2019,14,50,201912),('2019-12-15',201951,12,2019,15,51,201912),('2019-12-16',201951,12,2019,16,51,201912),('2019-12-17',201951,12,2019,17,51,201912),('2019-12-18',201951,12,2019,18,51,201912),('2019-12-19',201951,12,2019,19,51,201912),('2019-12-20',201951,12,2019,20,51,201912),('2019-12-21',201951,12,2019,21,51,201912),('2019-12-22',201952,12,2019,22,52,201912),('2019-12-23',201952,12,2019,23,52,201912),('2019-12-24',201952,12,2019,24,52,201912),('2019-12-25',201952,12,2019,25,52,201912),('2019-12-26',201952,12,2019,26,52,201912),('2019-12-27',201952,12,2019,27,52,201912),('2019-12-28',201952,12,2019,28,52,201912),('2019-12-29',202001,12,2020,29,1,201912),('2019-12-30',201901,12,2020,30,1,201912),('2019-12-31',201901,12,2019,31,52,201912),('2020-01-01',202001,1,2020,1,1,202001),('2020-01-02',202001,1,2020,2,1,202001),('2020-01-03',202001,1,2020,3,1,202001),('2020-01-04',202001,1,2020,4,1,202001),('2020-01-05',202002,1,2020,5,2,202001),('2020-01-06',202002,1,2020,6,2,202001),('2020-01-07',202002,1,2020,7,2,202001),('2020-01-08',202002,1,2020,8,2,202001),('2020-01-09',202002,1,2020,9,2,202001),('2020-01-10',202002,1,2020,10,2,202001),('2020-01-11',202002,1,2020,11,2,202001),('2020-01-12',202003,1,2020,12,3,202001),('2020-01-13',202003,1,2020,13,3,202001),('2020-01-14',202003,1,2020,14,3,202001),('2020-01-15',202003,1,2020,15,3,202001),('2020-01-16',202003,1,2020,16,3,202001),('2020-01-17',202003,1,2020,17,3,202001),('2020-01-18',202003,1,2020,18,3,202001),('2020-01-19',202004,1,2020,19,4,202001),('2020-01-20',202004,1,2020,20,4,202001),('2020-01-21',202004,1,2020,21,4,202001),('2020-01-22',202004,1,2020,22,4,202001),('2020-01-23',202004,1,2020,23,4,202001),('2020-01-24',202004,1,2020,24,4,202001),('2020-01-25',202004,1,2020,25,4,202001),('2020-01-26',202005,1,2020,26,5,202001),('2020-01-27',202005,1,2020,27,5,202001),('2020-01-28',202005,1,2020,28,5,202001),('2020-01-29',202005,1,2020,29,5,202001),('2020-01-30',202005,1,2020,30,5,202001),('2020-01-31',202005,1,2020,31,5,202001),('2020-02-01',202005,2,2020,1,5,202002),('2020-02-02',202006,2,2020,2,6,202002),('2020-02-03',202006,2,2020,3,6,202002),('2020-02-04',202006,2,2020,4,6,202002),('2020-02-05',202006,2,2020,5,6,202002),('2020-02-06',202006,2,2020,6,6,202002),('2020-02-07',202006,2,2020,7,6,202002),('2020-02-08',202006,2,2020,8,6,202002),('2020-02-09',202007,2,2020,9,7,202002),('2020-02-10',202007,2,2020,10,7,202002),('2020-02-11',202007,2,2020,11,7,202002),('2020-02-12',202007,2,2020,12,7,202002),('2020-02-13',202007,2,2020,13,7,202002),('2020-02-14',202007,2,2020,14,7,202002),('2020-02-15',202007,2,2020,15,7,202002),('2020-02-16',202008,2,2020,16,8,202002),('2020-02-17',202008,2,2020,17,8,202002),('2020-02-18',202008,2,2020,18,8,202002),('2020-02-19',202008,2,2020,19,8,202002),('2020-02-20',202008,2,2020,20,8,202002),('2020-02-21',202008,2,2020,21,8,202002),('2020-02-22',202008,2,2020,22,8,202002),('2020-02-23',202009,2,2020,23,9,202002),('2020-02-24',202009,2,2020,24,9,202002),('2020-02-25',202009,2,2020,25,9,202002),('2020-02-26',202009,2,2020,26,9,202002),('2020-02-27',202009,2,2020,27,9,202002),('2020-02-28',202009,2,2020,28,9,202002),('2020-02-29',202009,2,2020,29,9,202002),('2020-03-01',202010,3,2020,1,10,202003),('2020-03-02',202010,3,2020,2,10,202003),('2020-03-03',202010,3,2020,3,10,202003),('2020-03-04',202010,3,2020,4,10,202003),('2020-03-05',202010,3,2020,5,10,202003),('2020-03-06',202010,3,2020,6,10,202003),('2020-03-07',202010,3,2020,7,10,202003),('2020-03-08',202011,3,2020,8,11,202003),('2020-03-09',202011,3,2020,9,11,202003),('2020-03-10',202011,3,2020,10,11,202003),('2020-03-11',202011,3,2020,11,11,202003),('2020-03-12',202011,3,2020,12,11,202003),('2020-03-13',202011,3,2020,13,11,202003),('2020-03-14',202011,3,2020,14,11,202003),('2020-03-15',202012,3,2020,15,12,202003),('2020-03-16',202012,3,2020,16,12,202003),('2020-03-17',202012,3,2020,17,12,202003),('2020-03-18',202012,3,2020,18,12,202003),('2020-03-19',202012,3,2020,19,12,202003),('2020-03-20',202012,3,2020,20,12,202003),('2020-03-21',202012,3,2020,21,12,202003),('2020-03-22',202013,3,2020,22,13,202003),('2020-03-23',202013,3,2020,23,13,202003),('2020-03-24',202013,3,2020,24,13,202003),('2020-03-25',202013,3,2020,25,13,202003),('2020-03-26',202013,3,2020,26,13,202003),('2020-03-27',202013,3,2020,27,13,202003),('2020-03-28',202013,3,2020,28,13,202003),('2020-03-29',202014,3,2020,29,14,202003),('2020-03-30',202014,3,2020,30,14,202003),('2020-03-31',202014,3,2020,31,14,202003),('2020-04-01',202014,4,2020,1,14,202004),('2020-04-02',202014,4,2020,2,14,202004),('2020-04-03',202014,4,2020,3,14,202004),('2020-04-04',202014,4,2020,4,14,202004),('2020-04-05',202015,4,2020,5,15,202004),('2020-04-06',202015,4,2020,6,15,202004),('2020-04-07',202015,4,2020,7,15,202004),('2020-04-08',202015,4,2020,8,15,202004),('2020-04-09',202015,4,2020,9,15,202004),('2020-04-10',202015,4,2020,10,15,202004),('2020-04-11',202015,4,2020,11,15,202004),('2020-04-12',202016,4,2020,12,16,202004),('2020-04-13',202016,4,2020,13,16,202004),('2020-04-14',202016,4,2020,14,16,202004),('2020-04-15',202016,4,2020,15,16,202004),('2020-04-16',202016,4,2020,16,16,202004),('2020-04-17',202016,4,2020,17,16,202004),('2020-04-18',202016,4,2020,18,16,202004),('2020-04-19',202017,4,2020,19,17,202004),('2020-04-20',202017,4,2020,20,17,202004),('2020-04-21',202017,4,2020,21,17,202004),('2020-04-22',202017,4,2020,22,17,202004),('2020-04-23',202017,4,2020,23,17,202004),('2020-04-24',202017,4,2020,24,17,202004),('2020-04-25',202017,4,2020,25,17,202004),('2020-04-26',202018,4,2020,26,18,202004),('2020-04-27',202018,4,2020,27,18,202004),('2020-04-28',202018,4,2020,28,18,202004),('2020-04-29',202018,4,2020,29,18,202004),('2020-04-30',202018,4,2020,30,18,202004),('2020-05-01',202018,5,2020,1,18,202005),('2020-05-02',202018,5,2020,2,18,202005),('2020-05-03',202019,5,2020,3,19,202005),('2020-05-04',202019,5,2020,4,19,202005),('2020-05-05',202019,5,2020,5,19,202005),('2020-05-06',202019,5,2020,6,19,202005),('2020-05-07',202019,5,2020,7,19,202005),('2020-05-08',202019,5,2020,8,19,202005),('2020-05-09',202019,5,2020,9,19,202005),('2020-05-10',202020,5,2020,10,20,202005),('2020-05-11',202020,5,2020,11,20,202005),('2020-05-12',202020,5,2020,12,20,202005),('2020-05-13',202020,5,2020,13,20,202005),('2020-05-14',202020,5,2020,14,20,202005),('2020-05-15',202020,5,2020,15,20,202005),('2020-05-16',202020,5,2020,16,20,202005),('2020-05-17',202021,5,2020,17,21,202005),('2020-05-18',202021,5,2020,18,21,202005),('2020-05-19',202021,5,2020,19,21,202005),('2020-05-20',202021,5,2020,20,21,202005),('2020-05-21',202021,5,2020,21,21,202005),('2020-05-22',202021,5,2020,22,21,202005),('2020-05-23',202021,5,2020,23,21,202005),('2020-05-24',202022,5,2020,24,22,202005),('2020-05-25',202022,5,2020,25,22,202005),('2020-05-26',202022,5,2020,26,22,202005),('2020-05-27',202022,5,2020,27,22,202005),('2020-05-28',202022,5,2020,28,22,202005),('2020-05-29',202022,5,2020,29,22,202005),('2020-05-30',202022,5,2020,30,22,202005),('2020-05-31',202023,5,2020,31,23,202005),('2020-06-01',202023,6,2020,1,23,202006),('2020-06-02',202023,6,2020,2,23,202006),('2020-06-03',202023,6,2020,3,23,202006),('2020-06-04',202023,6,2020,4,23,202006),('2020-06-05',202023,6,2020,5,23,202006),('2020-06-06',202023,6,2020,6,23,202006),('2020-06-07',202024,6,2020,7,24,202006),('2020-06-08',202024,6,2020,8,24,202006),('2020-06-09',202024,6,2020,9,24,202006),('2020-06-10',202024,6,2020,10,24,202006),('2020-06-11',202024,6,2020,11,24,202006),('2020-06-12',202024,6,2020,12,24,202006),('2020-06-13',202024,6,2020,13,24,202006),('2020-06-14',202025,6,2020,14,25,202006),('2020-06-15',202025,6,2020,15,25,202006),('2020-06-16',202025,6,2020,16,25,202006),('2020-06-17',202025,6,2020,17,25,202006),('2020-06-18',202025,6,2020,18,25,202006),('2020-06-19',202025,6,2020,19,25,202006),('2020-06-20',202025,6,2020,20,25,202006),('2020-06-21',202026,6,2020,21,26,202006),('2020-06-22',202026,6,2020,22,26,202006),('2020-06-23',202026,6,2020,23,26,202006),('2020-06-24',202026,6,2020,24,26,202006),('2020-06-25',202026,6,2020,25,26,202006),('2020-06-26',202026,6,2020,26,26,202006),('2020-06-27',202026,6,2020,27,26,202006),('2020-06-28',202027,6,2020,28,27,202006),('2020-06-29',202027,6,2020,29,27,202006),('2020-06-30',202027,6,2020,30,27,202006),('2020-07-01',202027,7,2020,1,27,202007),('2020-07-02',202027,7,2020,2,27,202007),('2020-07-03',202027,7,2020,3,27,202007),('2020-07-04',202027,7,2020,4,27,202007),('2020-07-05',202028,7,2020,5,28,202007),('2020-07-06',202028,7,2020,6,28,202007),('2020-07-07',202028,7,2020,7,28,202007),('2020-07-08',202028,7,2020,8,28,202007),('2020-07-09',202028,7,2020,9,28,202007),('2020-07-10',202028,7,2020,10,28,202007),('2020-07-11',202028,7,2020,11,28,202007),('2020-07-12',202029,7,2020,12,29,202007),('2020-07-13',202029,7,2020,13,29,202007),('2020-07-14',202029,7,2020,14,29,202007),('2020-07-15',202029,7,2020,15,29,202007),('2020-07-16',202029,7,2020,16,29,202007),('2020-07-17',202029,7,2020,17,29,202007),('2020-07-18',202029,7,2020,18,29,202007),('2020-07-19',202030,7,2020,19,30,202007),('2020-07-20',202030,7,2020,20,30,202007),('2020-07-21',202030,7,2020,21,30,202007),('2020-07-22',202030,7,2020,22,30,202007),('2020-07-23',202030,7,2020,23,30,202007),('2020-07-24',202030,7,2020,24,30,202007),('2020-07-25',202030,7,2020,25,30,202007),('2020-07-26',202031,7,2020,26,31,202007),('2020-07-27',202031,7,2020,27,31,202007),('2020-07-28',202031,7,2020,28,31,202007),('2020-07-29',202031,7,2020,29,31,202007),('2020-07-30',202031,7,2020,30,31,202007),('2020-07-31',202031,7,2020,31,31,202007),('2020-08-01',202031,8,2020,1,31,202008),('2020-08-02',202032,8,2020,2,32,202008),('2020-08-03',202032,8,2020,3,32,202008),('2020-08-04',202032,8,2020,4,32,202008),('2020-08-05',202032,8,2020,5,32,202008),('2020-08-06',202032,8,2020,6,32,202008),('2020-08-07',202032,8,2020,7,32,202008),('2020-08-08',202032,8,2020,8,32,202008),('2020-08-09',202033,8,2020,9,33,202008),('2020-08-10',202033,8,2020,10,33,202008),('2020-08-11',202033,8,2020,11,33,202008),('2020-08-12',202033,8,2020,12,33,202008),('2020-08-13',202033,8,2020,13,33,202008),('2020-08-14',202033,8,2020,14,33,202008),('2020-08-15',202033,8,2020,15,33,202008),('2020-08-16',202034,8,2020,16,34,202008),('2020-08-17',202034,8,2020,17,34,202008),('2020-08-18',202034,8,2020,18,34,202008),('2020-08-19',202034,8,2020,19,34,202008),('2020-08-20',202034,8,2020,20,34,202008),('2020-08-21',202034,8,2020,21,34,202008),('2020-08-22',202034,8,2020,22,34,202008),('2020-08-23',202035,8,2020,23,35,202008),('2020-08-24',202035,8,2020,24,35,202008),('2020-08-25',202035,8,2020,25,35,202008),('2020-08-26',202035,8,2020,26,35,202008),('2020-08-27',202035,8,2020,27,35,202008),('2020-08-28',202035,8,2020,28,35,202008),('2020-08-29',202035,8,2020,29,35,202008),('2020-08-30',202036,8,2020,30,36,202008),('2020-08-31',202036,8,2020,31,36,202008),('2020-09-01',202036,9,2020,1,36,202009),('2020-09-02',202036,9,2020,2,36,202009),('2020-09-03',202036,9,2020,3,36,202009),('2020-09-04',202036,9,2020,4,36,202009),('2020-09-05',202036,9,2020,5,36,202009),('2020-09-06',202037,9,2020,6,37,202009),('2020-09-07',202037,9,2020,7,37,202009),('2020-09-08',202037,9,2020,8,37,202009),('2020-09-09',202037,9,2020,9,37,202009),('2020-09-10',202037,9,2020,10,37,202009),('2020-09-11',202037,9,2020,11,37,202009),('2020-09-12',202037,9,2020,12,37,202009),('2020-09-13',202038,9,2020,13,38,202009),('2020-09-14',202038,9,2020,14,38,202009),('2020-09-15',202038,9,2020,15,38,202009),('2020-09-16',202038,9,2020,16,38,202009),('2020-09-17',202038,9,2020,17,38,202009),('2020-09-18',202038,9,2020,18,38,202009),('2020-09-19',202038,9,2020,19,38,202009),('2020-09-20',202039,9,2020,20,39,202009),('2020-09-21',202039,9,2020,21,39,202009),('2020-09-22',202039,9,2020,22,39,202009),('2020-09-23',202039,9,2020,23,39,202009),('2020-09-24',202039,9,2020,24,39,202009),('2020-09-25',202039,9,2020,25,39,202009),('2020-09-26',202039,9,2020,26,39,202009),('2020-09-27',202040,9,2020,27,40,202009),('2020-09-28',202040,9,2020,28,40,202009),('2020-09-29',202040,9,2020,29,40,202009),('2020-09-30',202040,9,2020,30,40,202009),('2020-10-01',202040,10,2020,1,40,202010),('2020-10-02',202040,10,2020,2,40,202010),('2020-10-03',202040,10,2020,3,40,202010),('2020-10-04',202041,10,2020,4,41,202010),('2020-10-05',202041,10,2020,5,41,202010),('2020-10-06',202041,10,2020,6,41,202010),('2020-10-07',202041,10,2020,7,41,202010),('2020-10-08',202041,10,2020,8,41,202010),('2020-10-09',202041,10,2020,9,41,202010),('2020-10-10',202041,10,2020,10,41,202010),('2020-10-11',202042,10,2020,11,42,202010),('2020-10-12',202042,10,2020,12,42,202010),('2020-10-13',202042,10,2020,13,42,202010),('2020-10-14',202042,10,2020,14,42,202010),('2020-10-15',202042,10,2020,15,42,202010),('2020-10-16',202042,10,2020,16,42,202010),('2020-10-17',202042,10,2020,17,42,202010),('2020-10-18',202043,10,2020,18,43,202010),('2020-10-19',202043,10,2020,19,43,202010),('2020-10-20',202043,10,2020,20,43,202010),('2020-10-21',202043,10,2020,21,43,202010),('2020-10-22',202043,10,2020,22,43,202010),('2020-10-23',202043,10,2020,23,43,202010),('2020-10-24',202043,10,2020,24,43,202010),('2020-10-25',202044,10,2020,25,44,202010),('2020-10-26',202044,10,2020,26,44,202010),('2020-10-27',202044,10,2020,27,44,202010),('2020-10-28',202044,10,2020,28,44,202010),('2020-10-29',202044,10,2020,29,44,202010),('2020-10-30',202044,10,2020,30,44,202010),('2020-10-31',202044,10,2020,31,44,202010),('2020-11-01',202045,11,2020,1,45,202011),('2020-11-02',202045,11,2020,2,45,202011),('2020-11-03',202045,11,2020,3,45,202011),('2020-11-04',202045,11,2020,4,45,202011),('2020-11-05',202045,11,2020,5,45,202011),('2020-11-06',202045,11,2020,6,45,202011),('2020-11-07',202045,11,2020,7,45,202011),('2020-11-08',202046,11,2020,8,46,202011),('2020-11-09',202046,11,2020,9,46,202011),('2020-11-10',202046,11,2020,10,46,202011),('2020-11-11',202046,11,2020,11,46,202011),('2020-11-12',202046,11,2020,12,46,202011),('2020-11-13',202046,11,2020,13,46,202011),('2020-11-14',202046,11,2020,14,46,202011),('2020-11-15',202047,11,2020,15,47,202011),('2020-11-16',202047,11,2020,16,47,202011),('2020-11-17',202047,11,2020,17,47,202011),('2020-11-18',202047,11,2020,18,47,202011),('2020-11-19',202047,11,2020,19,47,202011),('2020-11-20',202047,11,2020,20,47,202011),('2020-11-21',202047,11,2020,21,47,202011),('2020-11-22',202048,11,2020,22,48,202011),('2020-11-23',202048,11,2020,23,48,202011),('2020-11-24',202048,11,2020,24,48,202011),('2020-11-25',202048,11,2020,25,48,202011),('2020-11-26',202048,11,2020,26,48,202011),('2020-11-27',202048,11,2020,27,48,202011),('2020-11-28',202048,11,2020,28,48,202011),('2020-11-29',202049,11,2020,29,49,202011),('2020-11-30',202049,11,2020,30,49,202011),('2020-12-01',202049,12,2020,1,49,202012),('2020-12-02',202049,12,2020,2,49,202012),('2020-12-03',202049,12,2020,3,49,202012),('2020-12-04',202049,12,2020,4,49,202012),('2020-12-05',202049,12,2020,5,49,202012),('2020-12-06',202050,12,2020,6,50,202012),('2020-12-07',202050,12,2020,7,50,202012),('2020-12-08',202050,12,2020,8,50,202012),('2020-12-09',202050,12,2020,9,50,202012),('2020-12-10',202050,12,2020,10,50,202012),('2020-12-11',202050,12,2020,11,50,202012),('2020-12-12',202050,12,2020,12,50,202012),('2020-12-13',202051,12,2020,13,51,202012),('2020-12-14',202051,12,2020,14,51,202012),('2020-12-15',202051,12,2020,15,51,202012),('2020-12-16',202051,12,2020,16,51,202012),('2020-12-17',202051,12,2020,17,51,202012),('2020-12-18',202051,12,2020,18,51,202012),('2020-12-19',202051,12,2020,19,51,202012),('2020-12-20',202052,12,2020,20,52,202012),('2020-12-21',202052,12,2020,21,52,202012),('2020-12-22',202052,12,2020,22,52,202012),('2020-12-23',202052,12,2020,23,52,202012),('2020-12-24',202052,12,2020,24,52,202012),('2020-12-25',202052,12,2020,25,52,202012),('2020-12-26',202052,12,2020,26,52,202012),('2020-12-27',202053,12,2020,27,53,202012),('2020-12-28',202053,12,2020,28,53,202012),('2020-12-29',202053,12,2020,29,53,202012),('2020-12-30',202053,12,2020,30,53,202012),('2020-12-31',202053,12,2020,31,53,202012),('2021-01-01',202153,1,2021,1,53,202101),('2021-01-02',202153,1,2021,2,53,202101),('2021-01-03',202154,1,2021,3,1,202101),('2021-01-04',202101,1,2021,4,1,202101),('2021-01-05',202101,1,2021,5,1,202101),('2021-01-06',202101,1,2021,6,1,202101),('2021-01-07',202101,1,2021,7,1,202101),('2021-01-08',202101,1,2021,8,1,202101),('2021-01-09',202101,1,2021,9,1,202101),('2021-01-10',202102,1,2021,10,2,202101),('2021-01-11',202102,1,2021,11,2,202101),('2021-01-12',202102,1,2021,12,2,202101),('2021-01-13',202102,1,2021,13,2,202101),('2021-01-14',202102,1,2021,14,2,202101),('2021-01-15',202102,1,2021,15,2,202101),('2021-01-16',202102,1,2021,16,2,202101),('2021-01-17',202103,1,2021,17,3,202101),('2021-01-18',202103,1,2021,18,3,202101),('2021-01-19',202103,1,2021,19,3,202101),('2021-01-20',202103,1,2021,20,3,202101),('2021-01-21',202103,1,2021,21,3,202101),('2021-01-22',202103,1,2021,22,3,202101),('2021-01-23',202103,1,2021,23,3,202101),('2021-01-24',202104,1,2021,24,4,202101),('2021-01-25',202104,1,2021,25,4,202101),('2021-01-26',202104,1,2021,26,4,202101),('2021-01-27',202104,1,2021,27,4,202101),('2021-01-28',202104,1,2021,28,4,202101),('2021-01-29',202104,1,2021,29,4,202101),('2021-01-30',202104,1,2021,30,4,202101),('2021-01-31',202105,1,2021,31,5,202101),('2021-02-01',202105,2,2021,1,5,202102),('2021-02-02',202105,2,2021,2,5,202102),('2021-02-03',202105,2,2021,3,5,202102),('2021-02-04',202105,2,2021,4,5,202102),('2021-02-05',202105,2,2021,5,5,202102),('2021-02-06',202105,2,2021,6,5,202102),('2021-02-07',202106,2,2021,7,6,202102),('2021-02-08',202106,2,2021,8,6,202102),('2021-02-09',202106,2,2021,9,6,202102),('2021-02-10',202106,2,2021,10,6,202102),('2021-02-11',202106,2,2021,11,6,202102),('2021-02-12',202106,2,2021,12,6,202102),('2021-02-13',202106,2,2021,13,6,202102),('2021-02-14',202107,2,2021,14,7,202102),('2021-02-15',202107,2,2021,15,7,202102),('2021-02-16',202107,2,2021,16,7,202102),('2021-02-17',202107,2,2021,17,7,202102),('2021-02-18',202107,2,2021,18,7,202102),('2021-02-19',202107,2,2021,19,7,202102),('2021-02-20',202107,2,2021,20,7,202102),('2021-02-21',202108,2,2021,21,8,202102),('2021-02-22',202108,2,2021,22,8,202102),('2021-02-23',202108,2,2021,23,8,202102),('2021-02-24',202108,2,2021,24,8,202102),('2021-02-25',202108,2,2021,25,8,202102),('2021-02-26',202108,2,2021,26,8,202102),('2021-02-27',202108,2,2021,27,8,202102),('2021-02-28',202109,2,2021,28,9,202102),('2021-03-01',202109,3,2021,1,9,202103),('2021-03-02',202109,3,2021,2,9,202103),('2021-03-03',202109,3,2021,3,9,202103),('2021-03-04',202109,3,2021,4,9,202103),('2021-03-05',202109,3,2021,5,9,202103),('2021-03-06',202109,3,2021,6,9,202103),('2021-03-07',202110,3,2021,7,10,202103),('2021-03-08',202110,3,2021,8,10,202103),('2021-03-09',202110,3,2021,9,10,202103),('2021-03-10',202110,3,2021,10,10,202103),('2021-03-11',202110,3,2021,11,10,202103),('2021-03-12',202110,3,2021,12,10,202103),('2021-03-13',202110,3,2021,13,10,202103),('2021-03-14',202111,3,2021,14,11,202103),('2021-03-15',202111,3,2021,15,11,202103),('2021-03-16',202111,3,2021,16,11,202103),('2021-03-17',202111,3,2021,17,11,202103),('2021-03-18',202111,3,2021,18,11,202103),('2021-03-19',202111,3,2021,19,11,202103),('2021-03-20',202111,3,2021,20,11,202103),('2021-03-21',202112,3,2021,21,12,202103),('2021-03-22',202112,3,2021,22,12,202103),('2021-03-23',202112,3,2021,23,12,202103),('2021-03-24',202112,3,2021,24,12,202103),('2021-03-25',202112,3,2021,25,12,202103),('2021-03-26',202112,3,2021,26,12,202103),('2021-03-27',202112,3,2021,27,12,202103),('2021-03-28',202113,3,2021,28,13,202103),('2021-03-29',202113,3,2021,29,13,202103),('2021-03-30',202113,3,2021,30,13,202103),('2021-03-31',202113,3,2021,31,13,202103),('2021-04-01',202113,4,2021,1,13,202104),('2021-04-02',202113,4,2021,2,13,202104),('2021-04-03',202113,4,2021,3,13,202104),('2021-04-04',202114,4,2021,4,14,202104),('2021-04-05',202114,4,2021,5,14,202104),('2021-04-06',202114,4,2021,6,14,202104),('2021-04-07',202114,4,2021,7,14,202104),('2021-04-08',202114,4,2021,8,14,202104),('2021-04-09',202114,4,2021,9,14,202104),('2021-04-10',202114,4,2021,10,14,202104),('2021-04-11',202115,4,2021,11,15,202104),('2021-04-12',202115,4,2021,12,15,202104),('2021-04-13',202115,4,2021,13,15,202104),('2021-04-14',202115,4,2021,14,15,202104),('2021-04-15',202115,4,2021,15,15,202104),('2021-04-16',202115,4,2021,16,15,202104),('2021-04-17',202115,4,2021,17,15,202104),('2021-04-18',202116,4,2021,18,16,202104),('2021-04-19',202116,4,2021,19,16,202104),('2021-04-20',202116,4,2021,20,16,202104),('2021-04-21',202116,4,2021,21,16,202104),('2021-04-22',202116,4,2021,22,16,202104),('2021-04-23',202116,4,2021,23,16,202104),('2021-04-24',202116,4,2021,24,16,202104),('2021-04-25',202117,4,2021,25,17,202104),('2021-04-26',202117,4,2021,26,17,202104),('2021-04-27',202117,4,2021,27,17,202104),('2021-04-28',202117,4,2021,28,17,202104),('2021-04-29',202117,4,2021,29,17,202104),('2021-04-30',202117,4,2021,30,17,202104),('2021-05-01',202117,5,2021,1,17,202105),('2021-05-02',202118,5,2021,2,18,202105),('2021-05-03',202118,5,2021,3,18,202105),('2021-05-04',202118,5,2021,4,18,202105),('2021-05-05',202118,5,2021,5,18,202105),('2021-05-06',202118,5,2021,6,18,202105),('2021-05-07',202118,5,2021,7,18,202105),('2021-05-08',202118,5,2021,8,18,202105),('2021-05-09',202119,5,2021,9,19,202105),('2021-05-10',202119,5,2021,10,19,202105),('2021-05-11',202119,5,2021,11,19,202105),('2021-05-12',202119,5,2021,12,19,202105),('2021-05-13',202119,5,2021,13,19,202105),('2021-05-14',202119,5,2021,14,19,202105),('2021-05-15',202119,5,2021,15,19,202105),('2021-05-16',202120,5,2021,16,20,202105),('2021-05-17',202120,5,2021,17,20,202105),('2021-05-18',202120,5,2021,18,20,202105),('2021-05-19',202120,5,2021,19,20,202105),('2021-05-20',202120,5,2021,20,20,202105),('2021-05-21',202120,5,2021,21,20,202105),('2021-05-22',202120,5,2021,22,20,202105),('2021-05-23',202121,5,2021,23,21,202105),('2021-05-24',202121,5,2021,24,21,202105),('2021-05-25',202121,5,2021,25,21,202105),('2021-05-26',202121,5,2021,26,21,202105),('2021-05-27',202121,5,2021,27,21,202105),('2021-05-28',202121,5,2021,28,21,202105),('2021-05-29',202121,5,2021,29,21,202105),('2021-05-30',202122,5,2021,30,22,202105),('2021-05-31',202122,5,2021,31,22,202105),('2021-06-01',202122,6,2021,1,22,202106),('2021-06-02',202122,6,2021,2,22,202106),('2021-06-03',202122,6,2021,3,22,202106),('2021-06-04',202122,6,2021,4,22,202106),('2021-06-05',202122,6,2021,5,22,202106),('2021-06-06',202123,6,2021,6,23,202106),('2021-06-07',202123,6,2021,7,23,202106),('2021-06-08',202123,6,2021,8,23,202106),('2021-06-09',202123,6,2021,9,23,202106),('2021-06-10',202123,6,2021,10,23,202106),('2021-06-11',202123,6,2021,11,23,202106),('2021-06-12',202123,6,2021,12,23,202106),('2021-06-13',202124,6,2021,13,24,202106),('2021-06-14',202124,6,2021,14,24,202106),('2021-06-15',202124,6,2021,15,24,202106),('2021-06-16',202124,6,2021,16,24,202106),('2021-06-17',202124,6,2021,17,24,202106),('2021-06-18',202124,6,2021,18,24,202106),('2021-06-19',202124,6,2021,19,24,202106),('2021-06-20',202125,6,2021,20,25,202106),('2021-06-21',202125,6,2021,21,25,202106),('2021-06-22',202125,6,2021,22,25,202106),('2021-06-23',202125,6,2021,23,25,202106),('2021-06-24',202125,6,2021,24,25,202106),('2021-06-25',202125,6,2021,25,25,202106),('2021-06-26',202125,6,2021,26,25,202106),('2021-06-27',202126,6,2021,27,26,202106),('2021-06-28',202126,6,2021,28,26,202106),('2021-06-29',202126,6,2021,29,26,202106),('2021-06-30',202126,6,2021,30,26,202106),('2021-07-01',202126,7,2021,1,26,202107),('2021-07-02',202126,7,2021,2,26,202107),('2021-07-03',202126,7,2021,3,26,202107),('2021-07-04',202127,7,2021,4,27,202107),('2021-07-05',202127,7,2021,5,27,202107),('2021-07-06',202127,7,2021,6,27,202107),('2021-07-07',202127,7,2021,7,27,202107),('2021-07-08',202127,7,2021,8,27,202107),('2021-07-09',202127,7,2021,9,27,202107),('2021-07-10',202127,7,2021,10,27,202107),('2021-07-11',202128,7,2021,11,28,202107),('2021-07-12',202128,7,2021,12,28,202107),('2021-07-13',202128,7,2021,13,28,202107),('2021-07-14',202128,7,2021,14,28,202107),('2021-07-15',202128,7,2021,15,28,202107),('2021-07-16',202128,7,2021,16,28,202107),('2021-07-17',202128,7,2021,17,28,202107),('2021-07-18',202129,7,2021,18,29,202107),('2021-07-19',202129,7,2021,19,29,202107),('2021-07-20',202129,7,2021,20,29,202107),('2021-07-21',202129,7,2021,21,29,202107),('2021-07-22',202129,7,2021,22,29,202107),('2021-07-23',202129,7,2021,23,29,202107),('2021-07-24',202129,7,2021,24,29,202107),('2021-07-25',202130,7,2021,25,30,202107),('2021-07-26',202130,7,2021,26,30,202107),('2021-07-27',202130,7,2021,27,30,202107),('2021-07-28',202130,7,2021,28,30,202107),('2021-07-29',202130,7,2021,29,30,202107),('2021-07-30',202130,7,2021,30,30,202107),('2021-07-31',202130,7,2021,31,30,202107),('2021-08-01',202131,8,2021,1,31,202108),('2021-08-02',202131,8,2021,2,31,202108),('2021-08-03',202131,8,2021,3,31,202108),('2021-08-04',202131,8,2021,4,31,202108),('2021-08-05',202131,8,2021,5,31,202108),('2021-08-06',202131,8,2021,6,31,202108),('2021-08-07',202131,8,2021,7,31,202108),('2021-08-08',202132,8,2021,8,32,202108),('2021-08-09',202132,8,2021,9,32,202108),('2021-08-10',202132,8,2021,10,32,202108),('2021-08-11',202132,8,2021,11,32,202108),('2021-08-12',202132,8,2021,12,32,202108),('2021-08-13',202132,8,2021,13,32,202108),('2021-08-14',202132,8,2021,14,32,202108),('2021-08-15',202133,8,2021,15,33,202108),('2021-08-16',202133,8,2021,16,33,202108),('2021-08-17',202133,8,2021,17,33,202108),('2021-08-18',202133,8,2021,18,33,202108),('2021-08-19',202133,8,2021,19,33,202108),('2021-08-20',202133,8,2021,20,33,202108),('2021-08-21',202133,8,2021,21,33,202108),('2021-08-22',202134,8,2021,22,34,202108),('2021-08-23',202134,8,2021,23,34,202108),('2021-08-24',202134,8,2021,24,34,202108),('2021-08-25',202134,8,2021,25,34,202108),('2021-08-26',202134,8,2021,26,34,202108),('2021-08-27',202134,8,2021,27,34,202108),('2021-08-28',202134,8,2021,28,34,202108),('2021-08-29',202135,8,2021,29,35,202108),('2021-08-30',202135,8,2021,30,35,202108),('2021-08-31',202135,8,2021,31,35,202108),('2021-09-01',202135,9,2021,1,35,202109),('2021-09-02',202135,9,2021,2,35,202109),('2021-09-03',202135,9,2021,3,35,202109),('2021-09-04',202135,9,2021,4,35,202109),('2021-09-05',202136,9,2021,5,36,202109),('2021-09-06',202136,9,2021,6,36,202109),('2021-09-07',202136,9,2021,7,36,202109),('2021-09-08',202136,9,2021,8,36,202109),('2021-09-09',202136,9,2021,9,36,202109),('2021-09-10',202136,9,2021,10,36,202109),('2021-09-11',202136,9,2021,11,36,202109),('2021-09-12',202137,9,2021,12,37,202109),('2021-09-13',202137,9,2021,13,37,202109),('2021-09-14',202137,9,2021,14,37,202109),('2021-09-15',202137,9,2021,15,37,202109),('2021-09-16',202137,9,2021,16,37,202109),('2021-09-17',202137,9,2021,17,37,202109),('2021-09-18',202137,9,2021,18,37,202109),('2021-09-19',202138,9,2021,19,38,202109),('2021-09-20',202138,9,2021,20,38,202109),('2021-09-21',202138,9,2021,21,38,202109),('2021-09-22',202138,9,2021,22,38,202109),('2021-09-23',202138,9,2021,23,38,202109),('2021-09-24',202138,9,2021,24,38,202109),('2021-09-25',202138,9,2021,25,38,202109),('2021-09-26',202139,9,2021,26,39,202109),('2021-09-27',202139,9,2021,27,39,202109),('2021-09-28',202139,9,2021,28,39,202109),('2021-09-29',202139,9,2021,29,39,202109),('2021-09-30',202139,9,2021,30,39,202109),('2021-10-01',202139,10,2021,1,39,202110),('2021-10-02',202139,10,2021,2,39,202110),('2021-10-03',202140,10,2021,3,40,202110),('2021-10-04',202140,10,2021,4,40,202110),('2021-10-05',202140,10,2021,5,40,202110),('2021-10-06',202140,10,2021,6,40,202110),('2021-10-07',202140,10,2021,7,40,202110),('2021-10-08',202140,10,2021,8,40,202110),('2021-10-09',202140,10,2021,9,40,202110),('2021-10-10',202141,10,2021,10,41,202110),('2021-10-11',202141,10,2021,11,41,202110),('2021-10-12',202141,10,2021,12,41,202110),('2021-10-13',202141,10,2021,13,41,202110),('2021-10-14',202141,10,2021,14,41,202110),('2021-10-15',202141,10,2021,15,41,202110),('2021-10-16',202141,10,2021,16,41,202110),('2021-10-17',202142,10,2021,17,42,202110),('2021-10-18',202142,10,2021,18,42,202110),('2021-10-19',202142,10,2021,19,42,202110),('2021-10-20',202142,10,2021,20,42,202110),('2021-10-21',202142,10,2021,21,42,202110),('2021-10-22',202142,10,2021,22,42,202110),('2021-10-23',202142,10,2021,23,42,202110),('2021-10-24',202143,10,2021,24,43,202110),('2021-10-25',202143,10,2021,25,43,202110),('2021-10-26',202143,10,2021,26,43,202110),('2021-10-27',202143,10,2021,27,43,202110),('2021-10-28',202143,10,2021,28,43,202110),('2021-10-29',202143,10,2021,29,43,202110),('2021-10-30',202143,10,2021,30,43,202110),('2021-10-31',202144,10,2021,31,44,202110),('2021-11-01',202144,11,2021,1,44,202111),('2021-11-02',202144,11,2021,2,44,202111),('2021-11-03',202144,11,2021,3,44,202111),('2021-11-04',202144,11,2021,4,44,202111),('2021-11-05',202144,11,2021,5,44,202111),('2021-11-06',202144,11,2021,6,44,202111),('2021-11-07',202145,11,2021,7,45,202111),('2021-11-08',202145,11,2021,8,45,202111),('2021-11-09',202145,11,2021,9,45,202111),('2021-11-10',202145,11,2021,10,45,202111),('2021-11-11',202145,11,2021,11,45,202111),('2021-11-12',202145,11,2021,12,45,202111),('2021-11-13',202145,11,2021,13,45,202111),('2021-11-14',202146,11,2021,14,46,202111),('2021-11-15',202146,11,2021,15,46,202111),('2021-11-16',202146,11,2021,16,46,202111),('2021-11-17',202146,11,2021,17,46,202111),('2021-11-18',202146,11,2021,18,46,202111),('2021-11-19',202146,11,2021,19,46,202111),('2021-11-20',202146,11,2021,20,46,202111),('2021-11-21',202147,11,2021,21,47,202111),('2021-11-22',202147,11,2021,22,47,202111),('2021-11-23',202147,11,2021,23,47,202111),('2021-11-24',202147,11,2021,24,47,202111),('2021-11-25',202147,11,2021,25,47,202111),('2021-11-26',202147,11,2021,26,47,202111),('2021-11-27',202147,11,2021,27,47,202111),('2021-11-28',202148,11,2021,28,48,202111),('2021-11-29',202148,11,2021,29,48,202111),('2021-11-30',202148,11,2021,30,48,202111),('2021-12-01',202148,12,2021,1,48,202112),('2021-12-02',202148,12,2021,2,48,202112),('2021-12-03',202148,12,2021,3,48,202112),('2021-12-04',202148,12,2021,4,48,202112),('2021-12-05',202149,12,2021,5,49,202112),('2021-12-06',202149,12,2021,6,49,202112),('2021-12-07',202149,12,2021,7,49,202112),('2021-12-08',202149,12,2021,8,49,202112),('2021-12-09',202149,12,2021,9,49,202112),('2021-12-10',202149,12,2021,10,49,202112),('2021-12-11',202149,12,2021,11,49,202112),('2021-12-12',202150,12,2021,12,50,202112),('2021-12-13',202150,12,2021,13,50,202112),('2021-12-14',202150,12,2021,14,50,202112),('2021-12-15',202150,12,2021,15,50,202112),('2021-12-16',202150,12,2021,16,50,202112),('2021-12-17',202150,12,2021,17,50,202112),('2021-12-18',202150,12,2021,18,50,202112),('2021-12-19',202151,12,2021,19,51,202112),('2021-12-20',202151,12,2021,20,51,202112),('2021-12-21',202151,12,2021,21,51,202112),('2021-12-22',202151,12,2021,22,51,202112),('2021-12-23',202151,12,2021,23,51,202112),('2021-12-24',202151,12,2021,24,51,202112),('2021-12-25',202151,12,2021,25,51,202112),('2021-12-26',202152,12,2021,26,52,202112),('2021-12-27',202152,12,2021,27,52,202112),('2021-12-28',202152,12,2021,28,52,202112),('2021-12-29',202152,12,2021,29,52,202112),('2021-12-30',202152,12,2021,30,52,202112),('2021-12-31',202152,12,2021,31,52,202112),('2022-01-01',202252,1,2022,1,52,202201),('2022-01-02',202253,1,2022,2,1,202201),('2022-01-03',202201,1,2022,3,1,202201),('2022-01-04',202201,1,2022,4,1,202201),('2022-01-05',202201,1,2022,5,1,202201),('2022-01-06',202201,1,2022,6,1,202201),('2022-01-07',202201,1,2022,7,1,202201),('2022-01-08',202201,1,2022,8,1,202201),('2022-01-09',202202,1,2022,9,2,202201),('2022-01-10',202202,1,2022,10,2,202201),('2022-01-11',202202,1,2022,11,2,202201),('2022-01-12',202202,1,2022,12,2,202201),('2022-01-13',202202,1,2022,13,2,202201),('2022-01-14',202202,1,2022,14,2,202201),('2022-01-15',202202,1,2022,15,2,202201),('2022-01-16',202203,1,2022,16,3,202201),('2022-01-17',202203,1,2022,17,3,202201),('2022-01-18',202203,1,2022,18,3,202201),('2022-01-19',202203,1,2022,19,3,202201),('2022-01-20',202203,1,2022,20,3,202201),('2022-01-21',202203,1,2022,21,3,202201),('2022-01-22',202203,1,2022,22,3,202201),('2022-01-23',202204,1,2022,23,4,202201),('2022-01-24',202204,1,2022,24,4,202201),('2022-01-25',202204,1,2022,25,4,202201),('2022-01-26',202204,1,2022,26,4,202201),('2022-01-27',202204,1,2022,27,4,202201),('2022-01-28',202204,1,2022,28,4,202201),('2022-01-29',202204,1,2022,29,4,202201),('2022-01-30',202205,1,2022,30,5,202201),('2022-01-31',202205,1,2022,31,5,202201),('2022-02-01',202205,2,2022,1,5,202202),('2022-02-02',202205,2,2022,2,5,202202),('2022-02-03',202205,2,2022,3,5,202202),('2022-02-04',202205,2,2022,4,5,202202),('2022-02-05',202205,2,2022,5,5,202202),('2022-02-06',202206,2,2022,6,6,202202),('2022-02-07',202206,2,2022,7,6,202202),('2022-02-08',202206,2,2022,8,6,202202),('2022-02-09',202206,2,2022,9,6,202202),('2022-02-10',202206,2,2022,10,6,202202),('2022-02-11',202206,2,2022,11,6,202202),('2022-02-12',202206,2,2022,12,6,202202),('2022-02-13',202207,2,2022,13,7,202202),('2022-02-14',202207,2,2022,14,7,202202),('2022-02-15',202207,2,2022,15,7,202202),('2022-02-16',202207,2,2022,16,7,202202),('2022-02-17',202207,2,2022,17,7,202202),('2022-02-18',202207,2,2022,18,7,202202),('2022-02-19',202207,2,2022,19,7,202202),('2022-02-20',202208,2,2022,20,8,202202),('2022-02-21',202208,2,2022,21,8,202202),('2022-02-22',202208,2,2022,22,8,202202),('2022-02-23',202208,2,2022,23,8,202202),('2022-02-24',202208,2,2022,24,8,202202),('2022-02-25',202208,2,2022,25,8,202202),('2022-02-26',202208,2,2022,26,8,202202),('2022-02-27',202209,2,2022,27,9,202202),('2022-02-28',202209,2,2022,28,9,202202),('2022-03-01',202209,3,2022,1,9,202203),('2022-03-02',202209,3,2022,2,9,202203),('2022-03-03',202209,3,2022,3,9,202203),('2022-03-04',202209,3,2022,4,9,202203),('2022-03-05',202209,3,2022,5,9,202203),('2022-03-06',202210,3,2022,6,10,202203),('2022-03-07',202210,3,2022,7,10,202203),('2022-03-08',202210,3,2022,8,10,202203),('2022-03-09',202210,3,2022,9,10,202203),('2022-03-10',202210,3,2022,10,10,202203),('2022-03-11',202210,3,2022,11,10,202203),('2022-03-12',202210,3,2022,12,10,202203),('2022-03-13',202211,3,2022,13,11,202203),('2022-03-14',202211,3,2022,14,11,202203),('2022-03-15',202211,3,2022,15,11,202203),('2022-03-16',202211,3,2022,16,11,202203),('2022-03-17',202211,3,2022,17,11,202203),('2022-03-18',202211,3,2022,18,11,202203),('2022-03-19',202211,3,2022,19,11,202203),('2022-03-20',202212,3,2022,20,12,202203),('2022-03-21',202212,3,2022,21,12,202203),('2022-03-22',202212,3,2022,22,12,202203),('2022-03-23',202212,3,2022,23,12,202203),('2022-03-24',202212,3,2022,24,12,202203),('2022-03-25',202212,3,2022,25,12,202203),('2022-03-26',202212,3,2022,26,12,202203),('2022-03-27',202213,3,2022,27,13,202203),('2022-03-28',202213,3,2022,28,13,202203),('2022-03-29',202213,3,2022,29,13,202203),('2022-03-30',202213,3,2022,30,13,202203),('2022-03-31',202213,3,2022,31,13,202203),('2022-04-01',202213,4,2022,1,13,202204),('2022-04-02',202213,4,2022,2,13,202204),('2022-04-03',202214,4,2022,3,14,202204),('2022-04-04',202214,4,2022,4,14,202204),('2022-04-05',202214,4,2022,5,14,202204),('2022-04-06',202214,4,2022,6,14,202204),('2022-04-07',202214,4,2022,7,14,202204),('2022-04-08',202214,4,2022,8,14,202204),('2022-04-09',202214,4,2022,9,14,202204),('2022-04-10',202215,4,2022,10,15,202204),('2022-04-11',202215,4,2022,11,15,202204),('2022-04-12',202215,4,2022,12,15,202204),('2022-04-13',202215,4,2022,13,15,202204),('2022-04-14',202215,4,2022,14,15,202204),('2022-04-15',202215,4,2022,15,15,202204),('2022-04-16',202215,4,2022,16,15,202204),('2022-04-17',202216,4,2022,17,16,202204),('2022-04-18',202216,4,2022,18,16,202204),('2022-04-19',202216,4,2022,19,16,202204),('2022-04-20',202216,4,2022,20,16,202204),('2022-04-21',202216,4,2022,21,16,202204),('2022-04-22',202216,4,2022,22,16,202204),('2022-04-23',202216,4,2022,23,16,202204),('2022-04-24',202217,4,2022,24,17,202204),('2022-04-25',202217,4,2022,25,17,202204),('2022-04-26',202217,4,2022,26,17,202204),('2022-04-27',202217,4,2022,27,17,202204),('2022-04-28',202217,4,2022,28,17,202204),('2022-04-29',202217,4,2022,29,17,202204),('2022-04-30',202217,4,2022,30,17,202204),('2022-05-01',202218,5,2022,1,18,202205),('2022-05-02',202218,5,2022,2,18,202205),('2022-05-03',202218,5,2022,3,18,202205),('2022-05-04',202218,5,2022,4,18,202205),('2022-05-05',202218,5,2022,5,18,202205),('2022-05-06',202218,5,2022,6,18,202205),('2022-05-07',202218,5,2022,7,18,202205),('2022-05-08',202219,5,2022,8,19,202205),('2022-05-09',202219,5,2022,9,19,202205),('2022-05-10',202219,5,2022,10,19,202205),('2022-05-11',202219,5,2022,11,19,202205),('2022-05-12',202219,5,2022,12,19,202205),('2022-05-13',202219,5,2022,13,19,202205),('2022-05-14',202219,5,2022,14,19,202205),('2022-05-15',202220,5,2022,15,20,202205),('2022-05-16',202220,5,2022,16,20,202205),('2022-05-17',202220,5,2022,17,20,202205),('2022-05-18',202220,5,2022,18,20,202205),('2022-05-19',202220,5,2022,19,20,202205),('2022-05-20',202220,5,2022,20,20,202205),('2022-05-21',202220,5,2022,21,20,202205),('2022-05-22',202221,5,2022,22,21,202205),('2022-05-23',202221,5,2022,23,21,202205),('2022-05-24',202221,5,2022,24,21,202205),('2022-05-25',202221,5,2022,25,21,202205),('2022-05-26',202221,5,2022,26,21,202205),('2022-05-27',202221,5,2022,27,21,202205),('2022-05-28',202221,5,2022,28,21,202205),('2022-05-29',202222,5,2022,29,22,202205),('2022-05-30',202222,5,2022,30,22,202205),('2022-05-31',202222,5,2022,31,22,202205),('2022-06-01',202222,6,2022,1,22,202206),('2022-06-02',202222,6,2022,2,22,202206),('2022-06-03',202222,6,2022,3,22,202206),('2022-06-04',202222,6,2022,4,22,202206),('2022-06-05',202223,6,2022,5,23,202206),('2022-06-06',202223,6,2022,6,23,202206),('2022-06-07',202223,6,2022,7,23,202206),('2022-06-08',202223,6,2022,8,23,202206),('2022-06-09',202223,6,2022,9,23,202206),('2022-06-10',202223,6,2022,10,23,202206),('2022-06-11',202223,6,2022,11,23,202206),('2022-06-12',202224,6,2022,12,24,202206),('2022-06-13',202224,6,2022,13,24,202206),('2022-06-14',202224,6,2022,14,24,202206),('2022-06-15',202224,6,2022,15,24,202206),('2022-06-16',202224,6,2022,16,24,202206),('2022-06-17',202224,6,2022,17,24,202206),('2022-06-18',202224,6,2022,18,24,202206),('2022-06-19',202225,6,2022,19,25,202206),('2022-06-20',202225,6,2022,20,25,202206),('2022-06-21',202225,6,2022,21,25,202206),('2022-06-22',202225,6,2022,22,25,202206),('2022-06-23',202225,6,2022,23,25,202206),('2022-06-24',202225,6,2022,24,25,202206),('2022-06-25',202225,6,2022,25,25,202206),('2022-06-26',202226,6,2022,26,26,202206),('2022-06-27',202226,6,2022,27,26,202206),('2022-06-28',202226,6,2022,28,26,202206),('2022-06-29',202226,6,2022,29,26,202206),('2022-06-30',202226,6,2022,30,26,202206),('2022-07-01',202226,7,2022,1,26,202207),('2022-07-02',202226,7,2022,2,26,202207),('2022-07-03',202227,7,2022,3,27,202207),('2022-07-04',202227,7,2022,4,27,202207),('2022-07-05',202227,7,2022,5,27,202207),('2022-07-06',202227,7,2022,6,27,202207),('2022-07-07',202227,7,2022,7,27,202207),('2022-07-08',202227,7,2022,8,27,202207),('2022-07-09',202227,7,2022,9,27,202207),('2022-07-10',202228,7,2022,10,28,202207),('2022-07-11',202228,7,2022,11,28,202207),('2022-07-12',202228,7,2022,12,28,202207),('2022-07-13',202228,7,2022,13,28,202207),('2022-07-14',202228,7,2022,14,28,202207),('2022-07-15',202228,7,2022,15,28,202207),('2022-07-16',202228,7,2022,16,28,202207),('2022-07-17',202229,7,2022,17,29,202207),('2022-07-18',202229,7,2022,18,29,202207),('2022-07-19',202229,7,2022,19,29,202207),('2022-07-20',202229,7,2022,20,29,202207),('2022-07-21',202229,7,2022,21,29,202207),('2022-07-22',202229,7,2022,22,29,202207),('2022-07-23',202229,7,2022,23,29,202207),('2022-07-24',202230,7,2022,24,30,202207),('2022-07-25',202230,7,2022,25,30,202207),('2022-07-26',202230,7,2022,26,30,202207),('2022-07-27',202230,7,2022,27,30,202207),('2022-07-28',202230,7,2022,28,30,202207),('2022-07-29',202230,7,2022,29,30,202207),('2022-07-30',202230,7,2022,30,30,202207),('2022-07-31',202231,7,2022,31,31,202207),('2022-08-01',202231,8,2022,1,31,202208),('2022-08-02',202231,8,2022,2,31,202208),('2022-08-03',202231,8,2022,3,31,202208),('2022-08-04',202231,8,2022,4,31,202208),('2022-08-05',202231,8,2022,5,31,202208),('2022-08-06',202231,8,2022,6,31,202208),('2022-08-07',202232,8,2022,7,32,202208),('2022-08-08',202232,8,2022,8,32,202208),('2022-08-09',202232,8,2022,9,32,202208),('2022-08-10',202232,8,2022,10,32,202208),('2022-08-11',202232,8,2022,11,32,202208),('2022-08-12',202232,8,2022,12,32,202208),('2022-08-13',202232,8,2022,13,32,202208),('2022-08-14',202233,8,2022,14,33,202208),('2022-08-15',202233,8,2022,15,33,202208),('2022-08-16',202233,8,2022,16,33,202208),('2022-08-17',202233,8,2022,17,33,202208),('2022-08-18',202233,8,2022,18,33,202208),('2022-08-19',202233,8,2022,19,33,202208),('2022-08-20',202233,8,2022,20,33,202208),('2022-08-21',202234,8,2022,21,34,202208),('2022-08-22',202234,8,2022,22,34,202208),('2022-08-23',202234,8,2022,23,34,202208),('2022-08-24',202234,8,2022,24,34,202208),('2022-08-25',202234,8,2022,25,34,202208),('2022-08-26',202234,8,2022,26,34,202208),('2022-08-27',202234,8,2022,27,34,202208),('2022-08-28',202235,8,2022,28,35,202208),('2022-08-29',202235,8,2022,29,35,202208),('2022-08-30',202235,8,2022,30,35,202208),('2022-08-31',202235,8,2022,31,35,202208),('2022-09-01',202235,9,2022,1,35,202209),('2022-09-02',202235,9,2022,2,35,202209),('2022-09-03',202235,9,2022,3,35,202209),('2022-09-04',202236,9,2022,4,36,202209),('2022-09-05',202236,9,2022,5,36,202209),('2022-09-06',202236,9,2022,6,36,202209),('2022-09-07',202236,9,2022,7,36,202209),('2022-09-08',202236,9,2022,8,36,202209),('2022-09-09',202236,9,2022,9,36,202209),('2022-09-10',202236,9,2022,10,36,202209),('2022-09-11',202237,9,2022,11,37,202209),('2022-09-12',202237,9,2022,12,37,202209),('2022-09-13',202237,9,2022,13,37,202209),('2022-09-14',202237,9,2022,14,37,202209),('2022-09-15',202237,9,2022,15,37,202209),('2022-09-16',202237,9,2022,16,37,202209),('2022-09-17',202237,9,2022,17,37,202209),('2022-09-18',202238,9,2022,18,38,202209),('2022-09-19',202238,9,2022,19,38,202209),('2022-09-20',202238,9,2022,20,38,202209),('2022-09-21',202238,9,2022,21,38,202209),('2022-09-22',202238,9,2022,22,38,202209),('2022-09-23',202238,9,2022,23,38,202209),('2022-09-24',202238,9,2022,24,38,202209),('2022-09-25',202239,9,2022,25,39,202209),('2022-09-26',202239,9,2022,26,39,202209),('2022-09-27',202239,9,2022,27,39,202209),('2022-09-28',202239,9,2022,28,39,202209),('2022-09-29',202239,9,2022,29,39,202209),('2022-09-30',202239,9,2022,30,39,202209),('2022-10-01',202239,10,2022,1,39,202210),('2022-10-02',202240,10,2022,2,40,202210),('2022-10-03',202240,10,2022,3,40,202210),('2022-10-04',202240,10,2022,4,40,202210),('2022-10-05',202240,10,2022,5,40,202210),('2022-10-06',202240,10,2022,6,40,202210),('2022-10-07',202240,10,2022,7,40,202210),('2022-10-08',202240,10,2022,8,40,202210),('2022-10-09',202241,10,2022,9,41,202210),('2022-10-10',202241,10,2022,10,41,202210),('2022-10-11',202241,10,2022,11,41,202210),('2022-10-12',202241,10,2022,12,41,202210),('2022-10-13',202241,10,2022,13,41,202210),('2022-10-14',202241,10,2022,14,41,202210),('2022-10-15',202241,10,2022,15,41,202210),('2022-10-16',202242,10,2022,16,42,202210),('2022-10-17',202242,10,2022,17,42,202210),('2022-10-18',202242,10,2022,18,42,202210),('2022-10-19',202242,10,2022,19,42,202210),('2022-10-20',202242,10,2022,20,42,202210),('2022-10-21',202242,10,2022,21,42,202210),('2022-10-22',202242,10,2022,22,42,202210),('2022-10-23',202243,10,2022,23,43,202210),('2022-10-24',202243,10,2022,24,43,202210),('2022-10-25',202243,10,2022,25,43,202210),('2022-10-26',202243,10,2022,26,43,202210),('2022-10-27',202243,10,2022,27,43,202210),('2022-10-28',202243,10,2022,28,43,202210),('2022-10-29',202243,10,2022,29,43,202210),('2022-10-30',202244,10,2022,30,44,202210),('2022-10-31',202244,10,2022,31,44,202210),('2022-11-01',202244,11,2022,1,44,202211),('2022-11-02',202244,11,2022,2,44,202211),('2022-11-03',202244,11,2022,3,44,202211),('2022-11-04',202244,11,2022,4,44,202211),('2022-11-05',202244,11,2022,5,44,202211),('2022-11-06',202245,11,2022,6,45,202211),('2022-11-07',202245,11,2022,7,45,202211),('2022-11-08',202245,11,2022,8,45,202211),('2022-11-09',202245,11,2022,9,45,202211),('2022-11-10',202245,11,2022,10,45,202211),('2022-11-11',202245,11,2022,11,45,202211),('2022-11-12',202245,11,2022,12,45,202211),('2022-11-13',202246,11,2022,13,46,202211),('2022-11-14',202246,11,2022,14,46,202211),('2022-11-15',202246,11,2022,15,46,202211),('2022-11-16',202246,11,2022,16,46,202211),('2022-11-17',202246,11,2022,17,46,202211),('2022-11-18',202246,11,2022,18,46,202211),('2022-11-19',202246,11,2022,19,46,202211),('2022-11-20',202247,11,2022,20,47,202211),('2022-11-21',202247,11,2022,21,47,202211),('2022-11-22',202247,11,2022,22,47,202211),('2022-11-23',202247,11,2022,23,47,202211),('2022-11-24',202247,11,2022,24,47,202211),('2022-11-25',202247,11,2022,25,47,202211),('2022-11-26',202247,11,2022,26,47,202211),('2022-11-27',202248,11,2022,27,48,202211),('2022-11-28',202248,11,2022,28,48,202211),('2022-11-29',202248,11,2022,29,48,202211),('2022-11-30',202248,11,2022,30,48,202211),('2022-12-01',202248,12,2022,1,48,202212),('2022-12-02',202248,12,2022,2,48,202212),('2022-12-03',202248,12,2022,3,48,202212),('2022-12-04',202249,12,2022,4,49,202212),('2022-12-05',202249,12,2022,5,49,202212),('2022-12-06',202249,12,2022,6,49,202212),('2022-12-07',202249,12,2022,7,49,202212),('2022-12-08',202249,12,2022,8,49,202212),('2022-12-09',202249,12,2022,9,49,202212),('2022-12-10',202249,12,2022,10,49,202212),('2022-12-11',202250,12,2022,11,50,202212),('2022-12-12',202250,12,2022,12,50,202212),('2022-12-13',202250,12,2022,13,50,202212),('2022-12-14',202250,12,2022,14,50,202212),('2022-12-15',202250,12,2022,15,50,202212),('2022-12-16',202250,12,2022,16,50,202212),('2022-12-17',202250,12,2022,17,50,202212),('2022-12-18',202251,12,2022,18,51,202212),('2022-12-19',202251,12,2022,19,51,202212),('2022-12-20',202251,12,2022,20,51,202212),('2022-12-21',202251,12,2022,21,51,202212),('2022-12-22',202251,12,2022,22,51,202212),('2022-12-23',202251,12,2022,23,51,202212),('2022-12-24',202251,12,2022,24,51,202212),('2022-12-25',202252,12,2022,25,52,202212),('2022-12-26',202252,12,2022,26,52,202212),('2022-12-27',202252,12,2022,27,52,202212),('2022-12-28',202252,12,2022,28,52,202212),('2022-12-29',202252,12,2022,29,52,202212),('2022-12-30',202252,12,2022,30,52,202212),('2022-12-31',202252,12,2022,31,52,202212),('2023-01-01',202353,1,2023,1,1,202301),('2023-01-02',202301,1,2023,2,1,202301),('2023-01-03',202301,1,2023,3,1,202301),('2023-01-04',202301,1,2023,4,1,202301),('2023-01-05',202301,1,2023,5,1,202301),('2023-01-06',202301,1,2023,6,1,202301),('2023-01-07',202301,1,2023,7,1,202301),('2023-01-08',202302,1,2023,8,2,202301),('2023-01-09',202302,1,2023,9,2,202301),('2023-01-10',202302,1,2023,10,2,202301),('2023-01-11',202302,1,2023,11,2,202301),('2023-01-12',202302,1,2023,12,2,202301),('2023-01-13',202302,1,2023,13,2,202301),('2023-01-14',202302,1,2023,14,2,202301),('2023-01-15',202303,1,2023,15,3,202301),('2023-01-16',202303,1,2023,16,3,202301),('2023-01-17',202303,1,2023,17,3,202301),('2023-01-18',202303,1,2023,18,3,202301),('2023-01-19',202303,1,2023,19,3,202301),('2023-01-20',202303,1,2023,20,3,202301),('2023-01-21',202303,1,2023,21,3,202301),('2023-01-22',202304,1,2023,22,4,202301),('2023-01-23',202304,1,2023,23,4,202301),('2023-01-24',202304,1,2023,24,4,202301),('2023-01-25',202304,1,2023,25,4,202301),('2023-01-26',202304,1,2023,26,4,202301),('2023-01-27',202304,1,2023,27,4,202301),('2023-01-28',202304,1,2023,28,4,202301),('2023-01-29',202305,1,2023,29,5,202301),('2023-01-30',202305,1,2023,30,5,202301),('2023-01-31',202305,1,2023,31,5,202301),('2023-02-01',202305,2,2023,1,5,202302),('2023-02-02',202305,2,2023,2,5,202302),('2023-02-03',202305,2,2023,3,5,202302),('2023-02-04',202305,2,2023,4,5,202302),('2023-02-05',202306,2,2023,5,6,202302),('2023-02-06',202306,2,2023,6,6,202302),('2023-02-07',202306,2,2023,7,6,202302),('2023-02-08',202306,2,2023,8,6,202302),('2023-02-09',202306,2,2023,9,6,202302),('2023-02-10',202306,2,2023,10,6,202302),('2023-02-11',202306,2,2023,11,6,202302),('2023-02-12',202307,2,2023,12,7,202302),('2023-02-13',202307,2,2023,13,7,202302),('2023-02-14',202307,2,2023,14,7,202302),('2023-02-15',202307,2,2023,15,7,202302),('2023-02-16',202307,2,2023,16,7,202302),('2023-02-17',202307,2,2023,17,7,202302),('2023-02-18',202307,2,2023,18,7,202302),('2023-02-19',202308,2,2023,19,8,202302),('2023-02-20',202308,2,2023,20,8,202302),('2023-02-21',202308,2,2023,21,8,202302),('2023-02-22',202308,2,2023,22,8,202302),('2023-02-23',202308,2,2023,23,8,202302),('2023-02-24',202308,2,2023,24,8,202302),('2023-02-25',202308,2,2023,25,8,202302),('2023-02-26',202309,2,2023,26,9,202302),('2023-02-27',202309,2,2023,27,9,202302),('2023-02-28',202309,2,2023,28,9,202302),('2023-03-01',202309,3,2023,1,9,202303),('2023-03-02',202309,3,2023,2,9,202303),('2023-03-03',202309,3,2023,3,9,202303),('2023-03-04',202309,3,2023,4,9,202303),('2023-03-05',202310,3,2023,5,10,202303),('2023-03-06',202310,3,2023,6,10,202303),('2023-03-07',202310,3,2023,7,10,202303),('2023-03-08',202310,3,2023,8,10,202303),('2023-03-09',202310,3,2023,9,10,202303),('2023-03-10',202310,3,2023,10,10,202303),('2023-03-11',202310,3,2023,11,10,202303),('2023-03-12',202311,3,2023,12,11,202303),('2023-03-13',202311,3,2023,13,11,202303),('2023-03-14',202311,3,2023,14,11,202303),('2023-03-15',202311,3,2023,15,11,202303),('2023-03-16',202311,3,2023,16,11,202303),('2023-03-17',202311,3,2023,17,11,202303),('2023-03-18',202311,3,2023,18,11,202303),('2023-03-19',202312,3,2023,19,12,202303),('2023-03-20',202312,3,2023,20,12,202303),('2023-03-21',202312,3,2023,21,12,202303),('2023-03-22',202312,3,2023,22,12,202303),('2023-03-23',202312,3,2023,23,12,202303),('2023-03-24',202312,3,2023,24,12,202303),('2023-03-25',202312,3,2023,25,12,202303),('2023-03-26',202313,3,2023,26,13,202303),('2023-03-27',202313,3,2023,27,13,202303),('2023-03-28',202313,3,2023,28,13,202303),('2023-03-29',202313,3,2023,29,13,202303),('2023-03-30',202313,3,2023,30,13,202303),('2023-03-31',202313,3,2023,31,13,202303),('2023-04-01',202313,4,2023,1,13,202304),('2023-04-02',202314,4,2023,2,14,202304),('2023-04-03',202314,4,2023,3,14,202304),('2023-04-04',202314,4,2023,4,14,202304),('2023-04-05',202314,4,2023,5,14,202304),('2023-04-06',202314,4,2023,6,14,202304),('2023-04-07',202314,4,2023,7,14,202304),('2023-04-08',202314,4,2023,8,14,202304),('2023-04-09',202315,4,2023,9,15,202304),('2023-04-10',202315,4,2023,10,15,202304),('2023-04-11',202315,4,2023,11,15,202304),('2023-04-12',202315,4,2023,12,15,202304),('2023-04-13',202315,4,2023,13,15,202304),('2023-04-14',202315,4,2023,14,15,202304),('2023-04-15',202315,4,2023,15,15,202304),('2023-04-16',202316,4,2023,16,16,202304),('2023-04-17',202316,4,2023,17,16,202304),('2023-04-18',202316,4,2023,18,16,202304),('2023-04-19',202316,4,2023,19,16,202304),('2023-04-20',202316,4,2023,20,16,202304),('2023-04-21',202316,4,2023,21,16,202304),('2023-04-22',202316,4,2023,22,16,202304),('2023-04-23',202317,4,2023,23,17,202304),('2023-04-24',202317,4,2023,24,17,202304),('2023-04-25',202317,4,2023,25,17,202304),('2023-04-26',202317,4,2023,26,17,202304),('2023-04-27',202317,4,2023,27,17,202304),('2023-04-28',202317,4,2023,28,17,202304),('2023-04-29',202317,4,2023,29,17,202304),('2023-04-30',202318,4,2023,30,18,202304),('2023-05-01',202318,5,2023,1,18,202305),('2023-05-02',202318,5,2023,2,18,202305),('2023-05-03',202318,5,2023,3,18,202305),('2023-05-04',202318,5,2023,4,18,202305),('2023-05-05',202318,5,2023,5,18,202305),('2023-05-06',202318,5,2023,6,18,202305),('2023-05-07',202319,5,2023,7,19,202305),('2023-05-08',202319,5,2023,8,19,202305),('2023-05-09',202319,5,2023,9,19,202305),('2023-05-10',202319,5,2023,10,19,202305),('2023-05-11',202319,5,2023,11,19,202305),('2023-05-12',202319,5,2023,12,19,202305),('2023-05-13',202319,5,2023,13,19,202305),('2023-05-14',202320,5,2023,14,20,202305),('2023-05-15',202320,5,2023,15,20,202305),('2023-05-16',202320,5,2023,16,20,202305),('2023-05-17',202320,5,2023,17,20,202305),('2023-05-18',202320,5,2023,18,20,202305),('2023-05-19',202320,5,2023,19,20,202305),('2023-05-20',202320,5,2023,20,20,202305),('2023-05-21',202321,5,2023,21,21,202305),('2023-05-22',202321,5,2023,22,21,202305),('2023-05-23',202321,5,2023,23,21,202305),('2023-05-24',202321,5,2023,24,21,202305),('2023-05-25',202321,5,2023,25,21,202305),('2023-05-26',202321,5,2023,26,21,202305),('2023-05-27',202321,5,2023,27,21,202305),('2023-05-28',202322,5,2023,28,22,202305),('2023-05-29',202322,5,2023,29,22,202305),('2023-05-30',202322,5,2023,30,22,202305),('2023-05-31',202322,5,2023,31,22,202305),('2023-06-01',202322,6,2023,1,22,202306),('2023-06-02',202322,6,2023,2,22,202306),('2023-06-03',202322,6,2023,3,22,202306),('2023-06-04',202323,6,2023,4,23,202306),('2023-06-05',202323,6,2023,5,23,202306),('2023-06-06',202323,6,2023,6,23,202306),('2023-06-07',202323,6,2023,7,23,202306),('2023-06-08',202323,6,2023,8,23,202306),('2023-06-09',202323,6,2023,9,23,202306),('2023-06-10',202323,6,2023,10,23,202306),('2023-06-11',202324,6,2023,11,24,202306),('2023-06-12',202324,6,2023,12,24,202306),('2023-06-13',202324,6,2023,13,24,202306),('2023-06-14',202324,6,2023,14,24,202306),('2023-06-15',202324,6,2023,15,24,202306),('2023-06-16',202324,6,2023,16,24,202306),('2023-06-17',202324,6,2023,17,24,202306),('2023-06-18',202325,6,2023,18,25,202306),('2023-06-19',202325,6,2023,19,25,202306),('2023-06-20',202325,6,2023,20,25,202306),('2023-06-21',202325,6,2023,21,25,202306),('2023-06-22',202325,6,2023,22,25,202306),('2023-06-23',202325,6,2023,23,25,202306),('2023-06-24',202325,6,2023,24,25,202306),('2023-06-25',202326,6,2023,25,26,202306),('2023-06-26',202326,6,2023,26,26,202306),('2023-06-27',202326,6,2023,27,26,202306),('2023-06-28',202326,6,2023,28,26,202306),('2023-06-29',202326,6,2023,29,26,202306),('2023-06-30',202326,6,2023,30,26,202306),('2023-07-01',202326,7,2023,1,26,202307),('2023-07-02',202327,7,2023,2,27,202307),('2023-07-03',202327,7,2023,3,27,202307),('2023-07-04',202327,7,2023,4,27,202307),('2023-07-05',202327,7,2023,5,27,202307),('2023-07-06',202327,7,2023,6,27,202307),('2023-07-07',202327,7,2023,7,27,202307),('2023-07-08',202327,7,2023,8,27,202307),('2023-07-09',202328,7,2023,9,28,202307),('2023-07-10',202328,7,2023,10,28,202307),('2023-07-11',202328,7,2023,11,28,202307),('2023-07-12',202328,7,2023,12,28,202307),('2023-07-13',202328,7,2023,13,28,202307),('2023-07-14',202328,7,2023,14,28,202307),('2023-07-15',202328,7,2023,15,28,202307),('2023-07-16',202329,7,2023,16,29,202307),('2023-07-17',202329,7,2023,17,29,202307),('2023-07-18',202329,7,2023,18,29,202307),('2023-07-19',202329,7,2023,19,29,202307),('2023-07-20',202329,7,2023,20,29,202307),('2023-07-21',202329,7,2023,21,29,202307),('2023-07-22',202329,7,2023,22,29,202307),('2023-07-23',202330,7,2023,23,30,202307),('2023-07-24',202330,7,2023,24,30,202307),('2023-07-25',202330,7,2023,25,30,202307),('2023-07-26',202330,7,2023,26,30,202307),('2023-07-27',202330,7,2023,27,30,202307),('2023-07-28',202330,7,2023,28,30,202307),('2023-07-29',202330,7,2023,29,30,202307),('2023-07-30',202331,7,2023,30,31,202307),('2023-07-31',202331,7,2023,31,31,202307),('2023-08-01',202331,8,2023,1,31,202308),('2023-08-02',202331,8,2023,2,31,202308),('2023-08-03',202331,8,2023,3,31,202308),('2023-08-04',202331,8,2023,4,31,202308),('2023-08-05',202331,8,2023,5,31,202308),('2023-08-06',202332,8,2023,6,32,202308),('2023-08-07',202332,8,2023,7,32,202308),('2023-08-08',202332,8,2023,8,32,202308),('2023-08-09',202332,8,2023,9,32,202308),('2023-08-10',202332,8,2023,10,32,202308),('2023-08-11',202332,8,2023,11,32,202308),('2023-08-12',202332,8,2023,12,32,202308),('2023-08-13',202333,8,2023,13,33,202308),('2023-08-14',202333,8,2023,14,33,202308),('2023-08-15',202333,8,2023,15,33,202308),('2023-08-16',202333,8,2023,16,33,202308),('2023-08-17',202333,8,2023,17,33,202308),('2023-08-18',202333,8,2023,18,33,202308),('2023-08-19',202333,8,2023,19,33,202308),('2023-08-20',202334,8,2023,20,34,202308),('2023-08-21',202334,8,2023,21,34,202308),('2023-08-22',202334,8,2023,22,34,202308),('2023-08-23',202334,8,2023,23,34,202308),('2023-08-24',202334,8,2023,24,34,202308),('2023-08-25',202334,8,2023,25,34,202308),('2023-08-26',202334,8,2023,26,34,202308),('2023-08-27',202335,8,2023,27,35,202308),('2023-08-28',202335,8,2023,28,35,202308),('2023-08-29',202335,8,2023,29,35,202308),('2023-08-30',202335,8,2023,30,35,202308),('2023-08-31',202335,8,2023,31,35,202308),('2023-09-01',202335,9,2023,1,35,202309),('2023-09-02',202335,9,2023,2,35,202309),('2023-09-03',202336,9,2023,3,36,202309),('2023-09-04',202336,9,2023,4,36,202309),('2023-09-05',202336,9,2023,5,36,202309),('2023-09-06',202336,9,2023,6,36,202309),('2023-09-07',202336,9,2023,7,36,202309),('2023-09-08',202336,9,2023,8,36,202309),('2023-09-09',202336,9,2023,9,36,202309),('2023-09-10',202337,9,2023,10,37,202309),('2023-09-11',202337,9,2023,11,37,202309),('2023-09-12',202337,9,2023,12,37,202309),('2023-09-13',202337,9,2023,13,37,202309),('2023-09-14',202337,9,2023,14,37,202309),('2023-09-15',202337,9,2023,15,37,202309),('2023-09-16',202337,9,2023,16,37,202309),('2023-09-17',202338,9,2023,17,38,202309),('2023-09-18',202338,9,2023,18,38,202309),('2023-09-19',202338,9,2023,19,38,202309),('2023-09-20',202338,9,2023,20,38,202309),('2023-09-21',202338,9,2023,21,38,202309),('2023-09-22',202338,9,2023,22,38,202309),('2023-09-23',202338,9,2023,23,38,202309),('2023-09-24',202339,9,2023,24,39,202309),('2023-09-25',202339,9,2023,25,39,202309),('2023-09-26',202339,9,2023,26,39,202309),('2023-09-27',202339,9,2023,27,39,202309),('2023-09-28',202339,9,2023,28,39,202309),('2023-09-29',202339,9,2023,29,39,202309),('2023-09-30',202339,9,2023,30,39,202309),('2023-10-01',202340,10,2023,1,40,202310),('2023-10-02',202340,10,2023,2,40,202310),('2023-10-03',202340,10,2023,3,40,202310),('2023-10-04',202340,10,2023,4,40,202310),('2023-10-05',202340,10,2023,5,40,202310),('2023-10-06',202340,10,2023,6,40,202310),('2023-10-07',202340,10,2023,7,40,202310),('2023-10-08',202341,10,2023,8,41,202310),('2023-10-09',202341,10,2023,9,41,202310),('2023-10-10',202341,10,2023,10,41,202310),('2023-10-11',202341,10,2023,11,41,202310),('2023-10-12',202341,10,2023,12,41,202310),('2023-10-13',202341,10,2023,13,41,202310),('2023-10-14',202341,10,2023,14,41,202310),('2023-10-15',202342,10,2023,15,42,202310),('2023-10-16',202342,10,2023,16,42,202310),('2023-10-17',202342,10,2023,17,42,202310),('2023-10-18',202342,10,2023,18,42,202310),('2023-10-19',202342,10,2023,19,42,202310),('2023-10-20',202342,10,2023,20,42,202310),('2023-10-21',202342,10,2023,21,42,202310),('2023-10-22',202343,10,2023,22,43,202310),('2023-10-23',202343,10,2023,23,43,202310),('2023-10-24',202343,10,2023,24,43,202310),('2023-10-25',202343,10,2023,25,43,202310),('2023-10-26',202343,10,2023,26,43,202310),('2023-10-27',202343,10,2023,27,43,202310),('2023-10-28',202343,10,2023,28,43,202310),('2023-10-29',202344,10,2023,29,44,202310),('2023-10-30',202344,10,2023,30,44,202310),('2023-10-31',202344,10,2023,31,44,202310),('2023-11-01',202344,11,2023,1,44,202311),('2023-11-02',202344,11,2023,2,44,202311),('2023-11-03',202344,11,2023,3,44,202311),('2023-11-04',202344,11,2023,4,44,202311),('2023-11-05',202345,11,2023,5,45,202311),('2023-11-06',202345,11,2023,6,45,202311),('2023-11-07',202345,11,2023,7,45,202311),('2023-11-08',202345,11,2023,8,45,202311),('2023-11-09',202345,11,2023,9,45,202311),('2023-11-10',202345,11,2023,10,45,202311),('2023-11-11',202345,11,2023,11,45,202311),('2023-11-12',202346,11,2023,12,46,202311),('2023-11-13',202346,11,2023,13,46,202311),('2023-11-14',202346,11,2023,14,46,202311),('2023-11-15',202346,11,2023,15,46,202311),('2023-11-16',202346,11,2023,16,46,202311),('2023-11-17',202346,11,2023,17,46,202311),('2023-11-18',202346,11,2023,18,46,202311),('2023-11-19',202347,11,2023,19,47,202311),('2023-11-20',202347,11,2023,20,47,202311),('2023-11-21',202347,11,2023,21,47,202311),('2023-11-22',202347,11,2023,22,47,202311),('2023-11-23',202347,11,2023,23,47,202311),('2023-11-24',202347,11,2023,24,47,202311),('2023-11-25',202347,11,2023,25,47,202311),('2023-11-26',202348,11,2023,26,48,202311),('2023-11-27',202348,11,2023,27,48,202311),('2023-11-28',202348,11,2023,28,48,202311),('2023-11-29',202348,11,2023,29,48,202311),('2023-11-30',202348,11,2023,30,48,202311),('2023-12-01',202348,12,2023,1,48,202312),('2023-12-02',202348,12,2023,2,48,202312),('2023-12-03',202349,12,2023,3,49,202312),('2023-12-04',202349,12,2023,4,49,202312),('2023-12-05',202349,12,2023,5,49,202312),('2023-12-06',202349,12,2023,6,49,202312),('2023-12-07',202349,12,2023,7,49,202312),('2023-12-08',202349,12,2023,8,49,202312),('2023-12-09',202349,12,2023,9,49,202312),('2023-12-10',202350,12,2023,10,50,202312),('2023-12-11',202350,12,2023,11,50,202312),('2023-12-12',202350,12,2023,12,50,202312),('2023-12-13',202350,12,2023,13,50,202312),('2023-12-14',202350,12,2023,14,50,202312),('2023-12-15',202350,12,2023,15,50,202312),('2023-12-16',202350,12,2023,16,50,202312),('2023-12-17',202351,12,2023,17,51,202312),('2023-12-18',202351,12,2023,18,51,202312),('2023-12-19',202351,12,2023,19,51,202312),('2023-12-20',202351,12,2023,20,51,202312),('2023-12-21',202351,12,2023,21,51,202312),('2023-12-22',202351,12,2023,22,51,202312),('2023-12-23',202351,12,2023,23,51,202312),('2023-12-24',202352,12,2023,24,52,202312),('2023-12-25',202352,12,2023,25,52,202312),('2023-12-26',202352,12,2023,26,52,202312),('2023-12-27',202352,12,2023,27,52,202312),('2023-12-28',202352,12,2023,28,52,202312),('2023-12-29',202352,12,2023,29,52,202312),('2023-12-30',202352,12,2023,30,52,202312),('2023-12-31',202353,12,2023,31,1,202312),('2024-01-01',202401,1,2024,1,1,202401),('2024-01-02',202401,1,2024,2,1,202401),('2024-01-03',202401,1,2024,3,1,202401),('2024-01-04',202401,1,2024,4,1,202401),('2024-01-05',202401,1,2024,5,1,202401),('2024-01-06',202401,1,2024,6,1,202401),('2024-01-07',202402,1,2024,7,2,202401),('2024-01-08',202402,1,2024,8,2,202401),('2024-01-09',202402,1,2024,9,2,202401),('2024-01-10',202402,1,2024,10,2,202401),('2024-01-11',202402,1,2024,11,2,202401),('2024-01-12',202402,1,2024,12,2,202401),('2024-01-13',202402,1,2024,13,2,202401),('2024-01-14',202403,1,2024,14,3,202401),('2024-01-15',202403,1,2024,15,3,202401),('2024-01-16',202403,1,2024,16,3,202401),('2024-01-17',202403,1,2024,17,3,202401),('2024-01-18',202403,1,2024,18,3,202401),('2024-01-19',202403,1,2024,19,3,202401),('2024-01-20',202403,1,2024,20,3,202401),('2024-01-21',202404,1,2024,21,4,202401),('2024-01-22',202404,1,2024,22,4,202401),('2024-01-23',202404,1,2024,23,4,202401),('2024-01-24',202404,1,2024,24,4,202401),('2024-01-25',202404,1,2024,25,4,202401),('2024-01-26',202404,1,2024,26,4,202401),('2024-01-27',202404,1,2024,27,4,202401),('2024-01-28',202405,1,2024,28,5,202401),('2024-01-29',202405,1,2024,29,5,202401),('2024-01-30',202405,1,2024,30,5,202401),('2024-01-31',202405,1,2024,31,5,202401),('2024-02-01',202405,2,2024,1,5,202402),('2024-02-02',202405,2,2024,2,5,202402),('2024-02-03',202405,2,2024,3,5,202402),('2024-02-04',202406,2,2024,4,6,202402),('2024-02-05',202406,2,2024,5,6,202402),('2024-02-06',202406,2,2024,6,6,202402),('2024-02-07',202406,2,2024,7,6,202402),('2024-02-08',202406,2,2024,8,6,202402),('2024-02-09',202406,2,2024,9,6,202402),('2024-02-10',202406,2,2024,10,6,202402),('2024-02-11',202407,2,2024,11,7,202402),('2024-02-12',202407,2,2024,12,7,202402),('2024-02-13',202407,2,2024,13,7,202402),('2024-02-14',202407,2,2024,14,7,202402),('2024-02-15',202407,2,2024,15,7,202402),('2024-02-16',202407,2,2024,16,7,202402),('2024-02-17',202407,2,2024,17,7,202402),('2024-02-18',202408,2,2024,18,8,202402),('2024-02-19',202408,2,2024,19,8,202402),('2024-02-20',202408,2,2024,20,8,202402),('2024-02-21',202408,2,2024,21,8,202402),('2024-02-22',202408,2,2024,22,8,202402),('2024-02-23',202408,2,2024,23,8,202402),('2024-02-24',202408,2,2024,24,8,202402),('2024-02-25',202409,2,2024,25,9,202402),('2024-02-26',202409,2,2024,26,9,202402),('2024-02-27',202409,2,2024,27,9,202402),('2024-02-28',202409,2,2024,28,9,202402),('2024-02-29',202409,2,2024,29,9,202402),('2024-03-01',202409,3,2024,1,9,202403),('2024-03-02',202409,3,2024,2,9,202403),('2024-03-03',202410,3,2024,3,10,202403),('2024-03-04',202410,3,2024,4,10,202403),('2024-03-05',202410,3,2024,5,10,202403),('2024-03-06',202410,3,2024,6,10,202403),('2024-03-07',202410,3,2024,7,10,202403),('2024-03-08',202410,3,2024,8,10,202403),('2024-03-09',202410,3,2024,9,10,202403),('2024-03-10',202411,3,2024,10,11,202403),('2024-03-11',202411,3,2024,11,11,202403),('2024-03-12',202411,3,2024,12,11,202403),('2024-03-13',202411,3,2024,13,11,202403),('2024-03-14',202411,3,2024,14,11,202403),('2024-03-15',202411,3,2024,15,11,202403),('2024-03-16',202411,3,2024,16,11,202403),('2024-03-17',202412,3,2024,17,12,202403),('2024-03-18',202412,3,2024,18,12,202403),('2024-03-19',202412,3,2024,19,12,202403),('2024-03-20',202412,3,2024,20,12,202403),('2024-03-21',202412,3,2024,21,12,202403),('2024-03-22',202412,3,2024,22,12,202403),('2024-03-23',202412,3,2024,23,12,202403),('2024-03-24',202413,3,2024,24,13,202403),('2024-03-25',202413,3,2024,25,13,202403),('2024-03-26',202413,3,2024,26,13,202403),('2024-03-27',202413,3,2024,27,13,202403),('2024-03-28',202413,3,2024,28,13,202403),('2024-03-29',202413,3,2024,29,13,202403),('2024-03-30',202413,3,2024,30,13,202403),('2024-03-31',202414,3,2024,31,14,202403),('2024-04-01',202414,4,2024,1,14,202404),('2024-04-02',202414,4,2024,2,14,202404),('2024-04-03',202414,4,2024,3,14,202404),('2024-04-04',202414,4,2024,4,14,202404),('2024-04-05',202414,4,2024,5,14,202404),('2024-04-06',202414,4,2024,6,14,202404),('2024-04-07',202415,4,2024,7,15,202404),('2024-04-08',202415,4,2024,8,15,202404),('2024-04-09',202415,4,2024,9,15,202404),('2024-04-10',202415,4,2024,10,15,202404),('2024-04-11',202415,4,2024,11,15,202404),('2024-04-12',202415,4,2024,12,15,202404),('2024-04-13',202415,4,2024,13,15,202404),('2024-04-14',202416,4,2024,14,16,202404),('2024-04-15',202416,4,2024,15,16,202404),('2024-04-16',202416,4,2024,16,16,202404),('2024-04-17',202416,4,2024,17,16,202404),('2024-04-18',202416,4,2024,18,16,202404),('2024-04-19',202416,4,2024,19,16,202404),('2024-04-20',202416,4,2024,20,16,202404),('2024-04-21',202417,4,2024,21,17,202404),('2024-04-22',202417,4,2024,22,17,202404),('2024-04-23',202417,4,2024,23,17,202404),('2024-04-24',202417,4,2024,24,17,202404),('2024-04-25',202417,4,2024,25,17,202404),('2024-04-26',202417,4,2024,26,17,202404),('2024-04-27',202417,4,2024,27,17,202404),('2024-04-28',202418,4,2024,28,18,202404),('2024-04-29',202418,4,2024,29,18,202404),('2024-04-30',202418,4,2024,30,18,202404),('2024-05-01',202418,5,2024,1,18,202405),('2024-05-02',202418,5,2024,2,18,202405),('2024-05-03',202418,5,2024,3,18,202405),('2024-05-04',202418,5,2024,4,18,202405),('2024-05-05',202419,5,2024,5,19,202405),('2024-05-06',202419,5,2024,6,19,202405),('2024-05-07',202419,5,2024,7,19,202405),('2024-05-08',202419,5,2024,8,19,202405),('2024-05-09',202419,5,2024,9,19,202405),('2024-05-10',202419,5,2024,10,19,202405),('2024-05-11',202419,5,2024,11,19,202405),('2024-05-12',202420,5,2024,12,20,202405),('2024-05-13',202420,5,2024,13,20,202405),('2024-05-14',202420,5,2024,14,20,202405),('2024-05-15',202420,5,2024,15,20,202405),('2024-05-16',202420,5,2024,16,20,202405),('2024-05-17',202420,5,2024,17,20,202405),('2024-05-18',202420,5,2024,18,20,202405),('2024-05-19',202421,5,2024,19,21,202405),('2024-05-20',202421,5,2024,20,21,202405),('2024-05-21',202421,5,2024,21,21,202405),('2024-05-22',202421,5,2024,22,21,202405),('2024-05-23',202421,5,2024,23,21,202405),('2024-05-24',202421,5,2024,24,21,202405),('2024-05-25',202421,5,2024,25,21,202405),('2024-05-26',202422,5,2024,26,22,202405),('2024-05-27',202422,5,2024,27,22,202405),('2024-05-28',202422,5,2024,28,22,202405),('2024-05-29',202422,5,2024,29,22,202405),('2024-05-30',202422,5,2024,30,22,202405),('2024-05-31',202422,5,2024,31,22,202405),('2024-06-01',202422,6,2024,1,22,202406),('2024-06-02',202423,6,2024,2,23,202406),('2024-06-03',202423,6,2024,3,23,202406),('2024-06-04',202423,6,2024,4,23,202406),('2024-06-05',202423,6,2024,5,23,202406),('2024-06-06',202423,6,2024,6,23,202406),('2024-06-07',202423,6,2024,7,23,202406),('2024-06-08',202423,6,2024,8,23,202406),('2024-06-09',202424,6,2024,9,24,202406),('2024-06-10',202424,6,2024,10,24,202406),('2024-06-11',202424,6,2024,11,24,202406),('2024-06-12',202424,6,2024,12,24,202406),('2024-06-13',202424,6,2024,13,24,202406),('2024-06-14',202424,6,2024,14,24,202406),('2024-06-15',202424,6,2024,15,24,202406),('2024-06-16',202425,6,2024,16,25,202406),('2024-06-17',202425,6,2024,17,25,202406),('2024-06-18',202425,6,2024,18,25,202406),('2024-06-19',202425,6,2024,19,25,202406),('2024-06-20',202425,6,2024,20,25,202406),('2024-06-21',202425,6,2024,21,25,202406),('2024-06-22',202425,6,2024,22,25,202406),('2024-06-23',202426,6,2024,23,26,202406),('2024-06-24',202426,6,2024,24,26,202406),('2024-06-25',202426,6,2024,25,26,202406),('2024-06-26',202426,6,2024,26,26,202406),('2024-06-27',202426,6,2024,27,26,202406),('2024-06-28',202426,6,2024,28,26,202406),('2024-06-29',202426,6,2024,29,26,202406),('2024-06-30',202427,6,2024,30,27,202406),('2024-07-01',202427,7,2024,1,27,202407),('2024-07-02',202427,7,2024,2,27,202407),('2024-07-03',202427,7,2024,3,27,202407),('2024-07-04',202427,7,2024,4,27,202407),('2024-07-05',202427,7,2024,5,27,202407),('2024-07-06',202427,7,2024,6,27,202407),('2024-07-07',202428,7,2024,7,28,202407),('2024-07-08',202428,7,2024,8,28,202407),('2024-07-09',202428,7,2024,9,28,202407),('2024-07-10',202428,7,2024,10,28,202407),('2024-07-11',202428,7,2024,11,28,202407),('2024-07-12',202428,7,2024,12,28,202407),('2024-07-13',202428,7,2024,13,28,202407),('2024-07-14',202429,7,2024,14,29,202407),('2024-07-15',202429,7,2024,15,29,202407),('2024-07-16',202429,7,2024,16,29,202407),('2024-07-17',202429,7,2024,17,29,202407),('2024-07-18',202429,7,2024,18,29,202407),('2024-07-19',202429,7,2024,19,29,202407),('2024-07-20',202429,7,2024,20,29,202407),('2024-07-21',202430,7,2024,21,30,202407),('2024-07-22',202430,7,2024,22,30,202407),('2024-07-23',202430,7,2024,23,30,202407),('2024-07-24',202430,7,2024,24,30,202407),('2024-07-25',202430,7,2024,25,30,202407),('2024-07-26',202430,7,2024,26,30,202407),('2024-07-27',202430,7,2024,27,30,202407),('2024-07-28',202431,7,2024,28,31,202407),('2024-07-29',202431,7,2024,29,31,202407),('2024-07-30',202431,7,2024,30,31,202407),('2024-07-31',202431,7,2024,31,31,202407),('2024-08-01',202431,8,2024,1,31,202408),('2024-08-02',202431,8,2024,2,31,202408),('2024-08-03',202431,8,2024,3,31,202408),('2024-08-04',202432,8,2024,4,32,202408),('2024-08-05',202432,8,2024,5,32,202408),('2024-08-06',202432,8,2024,6,32,202408),('2024-08-07',202432,8,2024,7,32,202408),('2024-08-08',202432,8,2024,8,32,202408),('2024-08-09',202432,8,2024,9,32,202408),('2024-08-10',202432,8,2024,10,32,202408),('2024-08-11',202433,8,2024,11,33,202408),('2024-08-12',202433,8,2024,12,33,202408),('2024-08-13',202433,8,2024,13,33,202408),('2024-08-14',202433,8,2024,14,33,202408),('2024-08-15',202433,8,2024,15,33,202408),('2024-08-16',202433,8,2024,16,33,202408),('2024-08-17',202433,8,2024,17,33,202408),('2024-08-18',202434,8,2024,18,34,202408),('2024-08-19',202434,8,2024,19,34,202408),('2024-08-20',202434,8,2024,20,34,202408),('2024-08-21',202434,8,2024,21,34,202408),('2024-08-22',202434,8,2024,22,34,202408),('2024-08-23',202434,8,2024,23,34,202408),('2024-08-24',202434,8,2024,24,34,202408),('2024-08-25',202435,8,2024,25,35,202408),('2024-08-26',202435,8,2024,26,35,202408),('2024-08-27',202435,8,2024,27,35,202408),('2024-08-28',202435,8,2024,28,35,202408),('2024-08-29',202435,8,2024,29,35,202408),('2024-08-30',202435,8,2024,30,35,202408),('2024-08-31',202435,8,2024,31,35,202408),('2024-09-01',202436,9,2024,1,36,202409),('2024-09-02',202436,9,2024,2,36,202409),('2024-09-03',202436,9,2024,3,36,202409),('2024-09-04',202436,9,2024,4,36,202409),('2024-09-05',202436,9,2024,5,36,202409),('2024-09-06',202436,9,2024,6,36,202409),('2024-09-07',202436,9,2024,7,36,202409),('2024-09-08',202437,9,2024,8,37,202409),('2024-09-09',202437,9,2024,9,37,202409),('2024-09-10',202437,9,2024,10,37,202409),('2024-09-11',202437,9,2024,11,37,202409),('2024-09-12',202437,9,2024,12,37,202409),('2024-09-13',202437,9,2024,13,37,202409),('2024-09-14',202437,9,2024,14,37,202409),('2024-09-15',202438,9,2024,15,38,202409),('2024-09-16',202438,9,2024,16,38,202409),('2024-09-17',202438,9,2024,17,38,202409),('2024-09-18',202438,9,2024,18,38,202409),('2024-09-19',202438,9,2024,19,38,202409),('2024-09-20',202438,9,2024,20,38,202409),('2024-09-21',202438,9,2024,21,38,202409),('2024-09-22',202439,9,2024,22,39,202409),('2024-09-23',202439,9,2024,23,39,202409),('2024-09-24',202439,9,2024,24,39,202409),('2024-09-25',202439,9,2024,25,39,202409),('2024-09-26',202439,9,2024,26,39,202409),('2024-09-27',202439,9,2024,27,39,202409),('2024-09-28',202439,9,2024,28,39,202409),('2024-09-29',202440,9,2024,29,40,202409),('2024-09-30',202440,9,2024,30,40,202409),('2024-10-01',202440,10,2024,1,40,202410),('2024-10-02',202440,10,2024,2,40,202410),('2024-10-03',202440,10,2024,3,40,202410),('2024-10-04',202440,10,2024,4,40,202410),('2024-10-05',202440,10,2024,5,40,202410),('2024-10-06',202441,10,2024,6,41,202410),('2024-10-07',202441,10,2024,7,41,202410),('2024-10-08',202441,10,2024,8,41,202410),('2024-10-09',202441,10,2024,9,41,202410),('2024-10-10',202441,10,2024,10,41,202410),('2024-10-11',202441,10,2024,11,41,202410),('2024-10-12',202441,10,2024,12,41,202410),('2024-10-13',202442,10,2024,13,42,202410),('2024-10-14',202442,10,2024,14,42,202410),('2024-10-15',202442,10,2024,15,42,202410),('2024-10-16',202442,10,2024,16,42,202410),('2024-10-17',202442,10,2024,17,42,202410),('2024-10-18',202442,10,2024,18,42,202410),('2024-10-19',202442,10,2024,19,42,202410),('2024-10-20',202443,10,2024,20,43,202410),('2024-10-21',202443,10,2024,21,43,202410),('2024-10-22',202443,10,2024,22,43,202410),('2024-10-23',202443,10,2024,23,43,202410),('2024-10-24',202443,10,2024,24,43,202410),('2024-10-25',202443,10,2024,25,43,202410),('2024-10-26',202443,10,2024,26,43,202410),('2024-10-27',202444,10,2024,27,44,202410),('2024-10-28',202444,10,2024,28,44,202410),('2024-10-29',202444,10,2024,29,44,202410),('2024-10-30',202444,10,2024,30,44,202410),('2024-10-31',202444,10,2024,31,44,202410),('2024-11-01',202444,11,2024,1,44,202411),('2024-11-02',202444,11,2024,2,44,202411),('2024-11-03',202445,11,2024,3,45,202411),('2024-11-04',202445,11,2024,4,45,202411),('2024-11-05',202445,11,2024,5,45,202411),('2024-11-06',202445,11,2024,6,45,202411),('2024-11-07',202445,11,2024,7,45,202411),('2024-11-08',202445,11,2024,8,45,202411),('2024-11-09',202445,11,2024,9,45,202411),('2024-11-10',202446,11,2024,10,46,202411),('2024-11-11',202446,11,2024,11,46,202411),('2024-11-12',202446,11,2024,12,46,202411),('2024-11-13',202446,11,2024,13,46,202411),('2024-11-14',202446,11,2024,14,46,202411),('2024-11-15',202446,11,2024,15,46,202411),('2024-11-16',202446,11,2024,16,46,202411),('2024-11-17',202447,11,2024,17,47,202411),('2024-11-18',202447,11,2024,18,47,202411),('2024-11-19',202447,11,2024,19,47,202411),('2024-11-20',202447,11,2024,20,47,202411),('2024-11-21',202447,11,2024,21,47,202411),('2024-11-22',202447,11,2024,22,47,202411),('2024-11-23',202447,11,2024,23,47,202411),('2024-11-24',202448,11,2024,24,48,202411),('2024-11-25',202448,11,2024,25,48,202411),('2024-11-26',202448,11,2024,26,48,202411),('2024-11-27',202448,11,2024,27,48,202411),('2024-11-28',202448,11,2024,28,48,202411),('2024-11-29',202448,11,2024,29,48,202411),('2024-11-30',202448,11,2024,30,48,202411),('2024-12-01',202449,12,2024,1,49,202412),('2024-12-02',202449,12,2024,2,49,202412),('2024-12-03',202449,12,2024,3,49,202412),('2024-12-04',202449,12,2024,4,49,202412),('2024-12-05',202449,12,2024,5,49,202412),('2024-12-06',202449,12,2024,6,49,202412),('2024-12-07',202449,12,2024,7,49,202412),('2024-12-08',202450,12,2024,8,50,202412),('2024-12-09',202450,12,2024,9,50,202412),('2024-12-10',202450,12,2024,10,50,202412),('2024-12-11',202450,12,2024,11,50,202412),('2024-12-12',202450,12,2024,12,50,202412),('2024-12-13',202450,12,2024,13,50,202412),('2024-12-14',202450,12,2024,14,50,202412),('2024-12-15',202451,12,2024,15,51,202412),('2024-12-16',202451,12,2024,16,51,202412),('2024-12-17',202451,12,2024,17,51,202412),('2024-12-18',202451,12,2024,18,51,202412),('2024-12-19',202451,12,2024,19,51,202412),('2024-12-20',202451,12,2024,20,51,202412),('2024-12-21',202451,12,2024,21,51,202412),('2024-12-22',202452,12,2024,22,52,202412),('2024-12-23',202452,12,2024,23,52,202412),('2024-12-24',202452,12,2024,24,52,202412),('2024-12-25',202452,12,2024,25,52,202412),('2024-12-26',202452,12,2024,26,52,202412),('2024-12-27',202452,12,2024,27,52,202412),('2024-12-28',202452,12,2024,28,52,202412),('2024-12-29',202453,12,2024,29,1,202412),('2024-12-30',202401,12,2024,30,1,202412),('2024-12-31',202401,12,2024,31,1,202412),('2025-01-01',202501,1,2025,1,1,202501),('2025-01-02',202501,1,2025,2,1,202501),('2025-01-03',202501,1,2025,3,1,202501),('2025-01-04',202501,1,2025,4,1,202501),('2025-01-05',202502,1,2025,5,2,202501),('2025-01-06',202502,1,2025,6,2,202501),('2025-01-07',202502,1,2025,7,2,202501),('2025-01-08',202502,1,2025,8,2,202501),('2025-01-09',202502,1,2025,9,2,202501),('2025-01-10',202502,1,2025,10,2,202501),('2025-01-11',202502,1,2025,11,2,202501),('2025-01-12',202503,1,2025,12,3,202501),('2025-01-13',202503,1,2025,13,3,202501),('2025-01-14',202503,1,2025,14,3,202501),('2025-01-15',202503,1,2025,15,3,202501),('2025-01-16',202503,1,2025,16,3,202501),('2025-01-17',202503,1,2025,17,3,202501),('2025-01-18',202503,1,2025,18,3,202501),('2025-01-19',202504,1,2025,19,4,202501),('2025-01-20',202504,1,2025,20,4,202501),('2025-01-21',202504,1,2025,21,4,202501),('2025-01-22',202504,1,2025,22,4,202501),('2025-01-23',202504,1,2025,23,4,202501),('2025-01-24',202504,1,2025,24,4,202501),('2025-01-25',202504,1,2025,25,4,202501),('2025-01-26',202505,1,2025,26,5,202501),('2025-01-27',202505,1,2025,27,5,202501),('2025-01-28',202505,1,2025,28,5,202501),('2025-01-29',202505,1,2025,29,5,202501),('2025-01-30',202505,1,2025,30,5,202501),('2025-01-31',202505,1,2025,31,5,202501),('2025-02-01',202505,2,2025,1,5,202502),('2025-02-02',202506,2,2025,2,6,202502),('2025-02-03',202506,2,2025,3,6,202502),('2025-02-04',202506,2,2025,4,6,202502),('2025-02-05',202506,2,2025,5,6,202502),('2025-02-06',202506,2,2025,6,6,202502),('2025-02-07',202506,2,2025,7,6,202502),('2025-02-08',202506,2,2025,8,6,202502),('2025-02-09',202507,2,2025,9,7,202502),('2025-02-10',202507,2,2025,10,7,202502),('2025-02-11',202507,2,2025,11,7,202502),('2025-02-12',202507,2,2025,12,7,202502),('2025-02-13',202507,2,2025,13,7,202502),('2025-02-14',202507,2,2025,14,7,202502),('2025-02-15',202507,2,2025,15,7,202502),('2025-02-16',202508,2,2025,16,8,202502),('2025-02-17',202508,2,2025,17,8,202502),('2025-02-18',202508,2,2025,18,8,202502),('2025-02-19',202508,2,2025,19,8,202502),('2025-02-20',202508,2,2025,20,8,202502),('2025-02-21',202508,2,2025,21,8,202502),('2025-02-22',202508,2,2025,22,8,202502),('2025-02-23',202509,2,2025,23,9,202502),('2025-02-24',202509,2,2025,24,9,202502),('2025-02-25',202509,2,2025,25,9,202502),('2025-02-26',202509,2,2025,26,9,202502),('2025-02-27',202509,2,2025,27,9,202502),('2025-02-28',202509,2,2025,28,9,202502),('2025-03-01',202509,3,2025,1,9,202503),('2025-03-02',202510,3,2025,2,10,202503),('2025-03-03',202510,3,2025,3,10,202503),('2025-03-04',202510,3,2025,4,10,202503),('2025-03-05',202510,3,2025,5,10,202503),('2025-03-06',202510,3,2025,6,10,202503),('2025-03-07',202510,3,2025,7,10,202503),('2025-03-08',202510,3,2025,8,10,202503),('2025-03-09',202511,3,2025,9,11,202503),('2025-03-10',202511,3,2025,10,11,202503),('2025-03-11',202511,3,2025,11,11,202503),('2025-03-12',202511,3,2025,12,11,202503),('2025-03-13',202511,3,2025,13,11,202503),('2025-03-14',202511,3,2025,14,11,202503),('2025-03-15',202511,3,2025,15,11,202503),('2025-03-16',202512,3,2025,16,12,202503),('2025-03-17',202512,3,2025,17,12,202503),('2025-03-18',202512,3,2025,18,12,202503),('2025-03-19',202512,3,2025,19,12,202503),('2025-03-20',202512,3,2025,20,12,202503),('2025-03-21',202512,3,2025,21,12,202503),('2025-03-22',202512,3,2025,22,12,202503),('2025-03-23',202513,3,2025,23,13,202503),('2025-03-24',202513,3,2025,24,13,202503),('2025-03-25',202513,3,2025,25,13,202503),('2025-03-26',202513,3,2025,26,13,202503),('2025-03-27',202513,3,2025,27,13,202503),('2025-03-28',202513,3,2025,28,13,202503),('2025-03-29',202513,3,2025,29,13,202503),('2025-03-30',202514,3,2025,30,14,202503),('2025-03-31',202514,3,2025,31,14,202503),('2025-04-01',202514,4,2025,1,14,202504),('2025-04-02',202514,4,2025,2,14,202504),('2025-04-03',202514,4,2025,3,14,202504),('2025-04-04',202514,4,2025,4,14,202504),('2025-04-05',202514,4,2025,5,14,202504),('2025-04-06',202515,4,2025,6,15,202504),('2025-04-07',202515,4,2025,7,15,202504),('2025-04-08',202515,4,2025,8,15,202504),('2025-04-09',202515,4,2025,9,15,202504),('2025-04-10',202515,4,2025,10,15,202504),('2025-04-11',202515,4,2025,11,15,202504),('2025-04-12',202515,4,2025,12,15,202504),('2025-04-13',202516,4,2025,13,16,202504),('2025-04-14',202516,4,2025,14,16,202504),('2025-04-15',202516,4,2025,15,16,202504),('2025-04-16',202516,4,2025,16,16,202504),('2025-04-17',202516,4,2025,17,16,202504),('2025-04-18',202516,4,2025,18,16,202504),('2025-04-19',202516,4,2025,19,16,202504),('2025-04-20',202517,4,2025,20,17,202504),('2025-04-21',202517,4,2025,21,17,202504),('2025-04-22',202517,4,2025,22,17,202504),('2025-04-23',202517,4,2025,23,17,202504),('2025-04-24',202517,4,2025,24,17,202504),('2025-04-25',202517,4,2025,25,17,202504),('2025-04-26',202517,4,2025,26,17,202504),('2025-04-27',202518,4,2025,27,18,202504),('2025-04-28',202518,4,2025,28,18,202504),('2025-04-29',202518,4,2025,29,18,202504),('2025-04-30',202518,4,2025,30,18,202504),('2025-05-01',202518,5,2025,1,18,202505),('2025-05-02',202518,5,2025,2,18,202505),('2025-05-03',202518,5,2025,3,18,202505),('2025-05-04',202519,5,2025,4,19,202505),('2025-05-05',202519,5,2025,5,19,202505),('2025-05-06',202519,5,2025,6,19,202505),('2025-05-07',202519,5,2025,7,19,202505),('2025-05-08',202519,5,2025,8,19,202505),('2025-05-09',202519,5,2025,9,19,202505),('2025-05-10',202519,5,2025,10,19,202505),('2025-05-11',202520,5,2025,11,20,202505),('2025-05-12',202520,5,2025,12,20,202505),('2025-05-13',202520,5,2025,13,20,202505),('2025-05-14',202520,5,2025,14,20,202505),('2025-05-15',202520,5,2025,15,20,202505),('2025-05-16',202520,5,2025,16,20,202505),('2025-05-17',202520,5,2025,17,20,202505),('2025-05-18',202521,5,2025,18,21,202505),('2025-05-19',202521,5,2025,19,21,202505),('2025-05-20',202521,5,2025,20,21,202505),('2025-05-21',202521,5,2025,21,21,202505),('2025-05-22',202521,5,2025,22,21,202505),('2025-05-23',202521,5,2025,23,21,202505),('2025-05-24',202521,5,2025,24,21,202505),('2025-05-25',202522,5,2025,25,22,202505),('2025-05-26',202522,5,2025,26,22,202505),('2025-05-27',202522,5,2025,27,22,202505),('2025-05-28',202522,5,2025,28,22,202505),('2025-05-29',202522,5,2025,29,22,202505),('2025-05-30',202522,5,2025,30,22,202505),('2025-05-31',202522,5,2025,31,22,202505),('2025-06-01',202523,6,2025,1,23,202506),('2025-06-02',202523,6,2025,2,23,202506),('2025-06-03',202523,6,2025,3,23,202506),('2025-06-04',202523,6,2025,4,23,202506),('2025-06-05',202523,6,2025,5,23,202506),('2025-06-06',202523,6,2025,6,23,202506),('2025-06-07',202523,6,2025,7,23,202506),('2025-06-08',202524,6,2025,8,24,202506),('2025-06-09',202524,6,2025,9,24,202506),('2025-06-10',202524,6,2025,10,24,202506),('2025-06-11',202524,6,2025,11,24,202506),('2025-06-12',202524,6,2025,12,24,202506),('2025-06-13',202524,6,2025,13,24,202506),('2025-06-14',202524,6,2025,14,24,202506),('2025-06-15',202525,6,2025,15,25,202506),('2025-06-16',202525,6,2025,16,25,202506),('2025-06-17',202525,6,2025,17,25,202506),('2025-06-18',202525,6,2025,18,25,202506),('2025-06-19',202525,6,2025,19,25,202506),('2025-06-20',202525,6,2025,20,25,202506),('2025-06-21',202525,6,2025,21,25,202506),('2025-06-22',202526,6,2025,22,26,202506),('2025-06-23',202526,6,2025,23,26,202506),('2025-06-24',202526,6,2025,24,26,202506),('2025-06-25',202526,6,2025,25,26,202506),('2025-06-26',202526,6,2025,26,26,202506),('2025-06-27',202526,6,2025,27,26,202506),('2025-06-28',202526,6,2025,28,26,202506),('2025-06-29',202527,6,2025,29,27,202506),('2025-06-30',202527,6,2025,30,27,202506),('2025-07-01',202527,7,2025,1,27,202507),('2025-07-02',202527,7,2025,2,27,202507),('2025-07-03',202527,7,2025,3,27,202507),('2025-07-04',202527,7,2025,4,27,202507),('2025-07-05',202527,7,2025,5,27,202507),('2025-07-06',202528,7,2025,6,28,202507),('2025-07-07',202528,7,2025,7,28,202507),('2025-07-08',202528,7,2025,8,28,202507),('2025-07-09',202528,7,2025,9,28,202507),('2025-07-10',202528,7,2025,10,28,202507),('2025-07-11',202528,7,2025,11,28,202507),('2025-07-12',202528,7,2025,12,28,202507),('2025-07-13',202529,7,2025,13,29,202507),('2025-07-14',202529,7,2025,14,29,202507),('2025-07-15',202529,7,2025,15,29,202507),('2025-07-16',202529,7,2025,16,29,202507),('2025-07-17',202529,7,2025,17,29,202507),('2025-07-18',202529,7,2025,18,29,202507),('2025-07-19',202529,7,2025,19,29,202507),('2025-07-20',202530,7,2025,20,30,202507),('2025-07-21',202530,7,2025,21,30,202507),('2025-07-22',202530,7,2025,22,30,202507),('2025-07-23',202530,7,2025,23,30,202507),('2025-07-24',202530,7,2025,24,30,202507),('2025-07-25',202530,7,2025,25,30,202507),('2025-07-26',202530,7,2025,26,30,202507),('2025-07-27',202531,7,2025,27,31,202507),('2025-07-28',202531,7,2025,28,31,202507),('2025-07-29',202531,7,2025,29,31,202507),('2025-07-30',202531,7,2025,30,31,202507),('2025-07-31',202531,7,2025,31,31,202507),('2025-08-01',202531,8,2025,1,31,202508),('2025-08-02',202531,8,2025,2,31,202508),('2025-08-03',202532,8,2025,3,32,202508),('2025-08-04',202532,8,2025,4,32,202508),('2025-08-05',202532,8,2025,5,32,202508),('2025-08-06',202532,8,2025,6,32,202508),('2025-08-07',202532,8,2025,7,32,202508),('2025-08-08',202532,8,2025,8,32,202508),('2025-08-09',202532,8,2025,9,32,202508),('2025-08-10',202533,8,2025,10,33,202508),('2025-08-11',202533,8,2025,11,33,202508),('2025-08-12',202533,8,2025,12,33,202508),('2025-08-13',202533,8,2025,13,33,202508),('2025-08-14',202533,8,2025,14,33,202508),('2025-08-15',202533,8,2025,15,33,202508),('2025-08-16',202533,8,2025,16,33,202508),('2025-08-17',202534,8,2025,17,34,202508),('2025-08-18',202534,8,2025,18,34,202508),('2025-08-19',202534,8,2025,19,34,202508),('2025-08-20',202534,8,2025,20,34,202508),('2025-08-21',202534,8,2025,21,34,202508),('2025-08-22',202534,8,2025,22,34,202508),('2025-08-23',202534,8,2025,23,34,202508),('2025-08-24',202535,8,2025,24,35,202508),('2025-08-25',202535,8,2025,25,35,202508),('2025-08-26',202535,8,2025,26,35,202508),('2025-08-27',202535,8,2025,27,35,202508),('2025-08-28',202535,8,2025,28,35,202508),('2025-08-29',202535,8,2025,29,35,202508),('2025-08-30',202535,8,2025,30,35,202508),('2025-08-31',202536,8,2025,31,36,202508),('2025-09-01',202536,9,2025,1,36,202509),('2025-09-02',202536,9,2025,2,36,202509),('2025-09-03',202536,9,2025,3,36,202509),('2025-09-04',202536,9,2025,4,36,202509),('2025-09-05',202536,9,2025,5,36,202509),('2025-09-06',202536,9,2025,6,36,202509),('2025-09-07',202537,9,2025,7,37,202509),('2025-09-08',202537,9,2025,8,37,202509),('2025-09-09',202537,9,2025,9,37,202509),('2025-09-10',202537,9,2025,10,37,202509),('2025-09-11',202537,9,2025,11,37,202509),('2025-09-12',202537,9,2025,12,37,202509),('2025-09-13',202537,9,2025,13,37,202509),('2025-09-14',202538,9,2025,14,38,202509),('2025-09-15',202538,9,2025,15,38,202509),('2025-09-16',202538,9,2025,16,38,202509),('2025-09-17',202538,9,2025,17,38,202509),('2025-09-18',202538,9,2025,18,38,202509),('2025-09-19',202538,9,2025,19,38,202509),('2025-09-20',202538,9,2025,20,38,202509),('2025-09-21',202539,9,2025,21,39,202509),('2025-09-22',202539,9,2025,22,39,202509),('2025-09-23',202539,9,2025,23,39,202509),('2025-09-24',202539,9,2025,24,39,202509),('2025-09-25',202539,9,2025,25,39,202509),('2025-09-26',202539,9,2025,26,39,202509),('2025-09-27',202539,9,2025,27,39,202509),('2025-09-28',202540,9,2025,28,40,202509),('2025-09-29',202540,9,2025,29,40,202509),('2025-09-30',202540,9,2025,30,40,202509),('2025-10-01',202540,10,2025,1,40,202510),('2025-10-02',202540,10,2025,2,40,202510),('2025-10-03',202540,10,2025,3,40,202510),('2025-10-04',202540,10,2025,4,40,202510),('2025-10-05',202541,10,2025,5,41,202510),('2025-10-06',202541,10,2025,6,41,202510),('2025-10-07',202541,10,2025,7,41,202510),('2025-10-08',202541,10,2025,8,41,202510),('2025-10-09',202541,10,2025,9,41,202510),('2025-10-10',202541,10,2025,10,41,202510),('2025-10-11',202541,10,2025,11,41,202510),('2025-10-12',202542,10,2025,12,42,202510),('2025-10-13',202542,10,2025,13,42,202510),('2025-10-14',202542,10,2025,14,42,202510),('2025-10-15',202542,10,2025,15,42,202510),('2025-10-16',202542,10,2025,16,42,202510),('2025-10-17',202542,10,2025,17,42,202510),('2025-10-18',202542,10,2025,18,42,202510),('2025-10-19',202543,10,2025,19,43,202510),('2025-10-20',202543,10,2025,20,43,202510),('2025-10-21',202543,10,2025,21,43,202510),('2025-10-22',202543,10,2025,22,43,202510),('2025-10-23',202543,10,2025,23,43,202510),('2025-10-24',202543,10,2025,24,43,202510),('2025-10-25',202543,10,2025,25,43,202510),('2025-10-26',202544,10,2025,26,44,202510),('2025-10-27',202544,10,2025,27,44,202510),('2025-10-28',202544,10,2025,28,44,202510),('2025-10-29',202544,10,2025,29,44,202510),('2025-10-30',202544,10,2025,30,44,202510),('2025-10-31',202544,10,2025,31,44,202510),('2025-11-01',202544,11,2025,1,44,202511),('2025-11-02',202545,11,2025,2,45,202511),('2025-11-03',202545,11,2025,3,45,202511),('2025-11-04',202545,11,2025,4,45,202511),('2025-11-05',202545,11,2025,5,45,202511),('2025-11-06',202545,11,2025,6,45,202511),('2025-11-07',202545,11,2025,7,45,202511),('2025-11-08',202545,11,2025,8,45,202511),('2025-11-09',202546,11,2025,9,46,202511),('2025-11-10',202546,11,2025,10,46,202511),('2025-11-11',202546,11,2025,11,46,202511),('2025-11-12',202546,11,2025,12,46,202511),('2025-11-13',202546,11,2025,13,46,202511),('2025-11-14',202546,11,2025,14,46,202511),('2025-11-15',202546,11,2025,15,46,202511),('2025-11-16',202547,11,2025,16,47,202511),('2025-11-17',202547,11,2025,17,47,202511),('2025-11-18',202547,11,2025,18,47,202511),('2025-11-19',202547,11,2025,19,47,202511),('2025-11-20',202547,11,2025,20,47,202511),('2025-11-21',202547,11,2025,21,47,202511),('2025-11-22',202547,11,2025,22,47,202511),('2025-11-23',202548,11,2025,23,48,202511),('2025-11-24',202548,11,2025,24,48,202511),('2025-11-25',202548,11,2025,25,48,202511),('2025-11-26',202548,11,2025,26,48,202511),('2025-11-27',202548,11,2025,27,48,202511),('2025-11-28',202548,11,2025,28,48,202511),('2025-11-29',202548,11,2025,29,48,202511),('2025-11-30',202549,11,2025,30,49,202511),('2025-12-01',202549,12,2025,1,49,202512),('2025-12-02',202549,12,2025,2,49,202512),('2025-12-03',202549,12,2025,3,49,202512),('2025-12-04',202549,12,2025,4,49,202512),('2025-12-05',202549,12,2025,5,49,202512),('2025-12-06',202549,12,2025,6,49,202512),('2025-12-07',202550,12,2025,7,50,202512),('2025-12-08',202550,12,2025,8,50,202512),('2025-12-09',202550,12,2025,9,50,202512),('2025-12-10',202550,12,2025,10,50,202512),('2025-12-11',202550,12,2025,11,50,202512),('2025-12-12',202550,12,2025,12,50,202512),('2025-12-13',202550,12,2025,13,50,202512),('2025-12-14',202551,12,2025,14,51,202512),('2025-12-15',202551,12,2025,15,51,202512),('2025-12-16',202551,12,2025,16,51,202512),('2025-12-17',202551,12,2025,17,51,202512),('2025-12-18',202551,12,2025,18,51,202512),('2025-12-19',202551,12,2025,19,51,202512),('2025-12-20',202551,12,2025,20,51,202512),('2025-12-21',202552,12,2025,21,52,202512),('2025-12-22',202552,12,2025,22,52,202512),('2025-12-23',202552,12,2025,23,52,202512),('2025-12-24',202552,12,2025,24,52,202512),('2025-12-25',202552,12,2025,25,52,202512),('2025-12-26',202552,12,2025,26,52,202512),('2025-12-27',202552,12,2025,27,52,202512),('2025-12-28',202553,12,2025,28,53,202512),('2025-12-29',202501,12,2025,29,53,202512),('2025-12-30',202501,12,2025,30,53,202512),('2025-12-31',202501,12,2025,31,53,202512),('2026-01-01',202601,1,2026,1,53,202601),('2026-01-02',202601,1,2026,2,53,202601),('2026-01-03',202601,1,2026,3,53,202601),('2026-01-04',202602,1,2026,4,1,202601),('2026-01-05',202602,1,2026,5,1,202601),('2026-01-06',202602,1,2026,6,1,202601),('2026-01-07',202602,1,2026,7,1,202601),('2026-01-08',202602,1,2026,8,1,202601),('2026-01-09',202602,1,2026,9,1,202601),('2026-01-10',202602,1,2026,10,1,202601),('2026-01-11',202603,1,2026,11,2,202601),('2026-01-12',202603,1,2026,12,2,202601),('2026-01-13',202603,1,2026,13,2,202601),('2026-01-14',202603,1,2026,14,2,202601),('2026-01-15',202603,1,2026,15,2,202601),('2026-01-16',202603,1,2026,16,2,202601),('2026-01-17',202603,1,2026,17,2,202601),('2026-01-18',202604,1,2026,18,3,202601),('2026-01-19',202604,1,2026,19,3,202601),('2026-01-20',202604,1,2026,20,3,202601),('2026-01-21',202604,1,2026,21,3,202601),('2026-01-22',202604,1,2026,22,3,202601),('2026-01-23',202604,1,2026,23,3,202601),('2026-01-24',202604,1,2026,24,3,202601),('2026-01-25',202605,1,2026,25,4,202601),('2026-01-26',202605,1,2026,26,4,202601),('2026-01-27',202605,1,2026,27,4,202601),('2026-01-28',202605,1,2026,28,4,202601),('2026-01-29',202605,1,2026,29,4,202601),('2026-01-30',202605,1,2026,30,4,202601),('2026-01-31',202605,1,2026,31,4,202601),('2026-02-01',202606,2,2026,1,5,202602),('2026-02-02',202606,2,2026,2,5,202602),('2026-02-03',202606,2,2026,3,5,202602),('2026-02-04',202606,2,2026,4,5,202602),('2026-02-05',202606,2,2026,5,5,202602),('2026-02-06',202606,2,2026,6,5,202602),('2026-02-07',202606,2,2026,7,5,202602),('2026-02-08',202607,2,2026,8,6,202602),('2026-02-09',202607,2,2026,9,6,202602),('2026-02-10',202607,2,2026,10,6,202602),('2026-02-11',202607,2,2026,11,6,202602),('2026-02-12',202607,2,2026,12,6,202602),('2026-02-13',202607,2,2026,13,6,202602),('2026-02-14',202607,2,2026,14,6,202602),('2026-02-15',202608,2,2026,15,7,202602),('2026-02-16',202608,2,2026,16,7,202602),('2026-02-17',202608,2,2026,17,7,202602),('2026-02-18',202608,2,2026,18,7,202602),('2026-02-19',202608,2,2026,19,7,202602),('2026-02-20',202608,2,2026,20,7,202602),('2026-02-21',202608,2,2026,21,7,202602),('2026-02-22',202609,2,2026,22,8,202602),('2026-02-23',202609,2,2026,23,8,202602),('2026-02-24',202609,2,2026,24,8,202602),('2026-02-25',202609,2,2026,25,8,202602),('2026-02-26',202609,2,2026,26,8,202602),('2026-02-27',202609,2,2026,27,8,202602),('2026-02-28',202609,2,2026,28,8,202602),('2026-03-01',202610,3,2026,1,9,202603),('2026-03-02',202610,3,2026,2,9,202603),('2026-03-03',202610,3,2026,3,9,202603),('2026-03-04',202610,3,2026,4,9,202603),('2026-03-05',202610,3,2026,5,9,202603),('2026-03-06',202610,3,2026,6,9,202603),('2026-03-07',202610,3,2026,7,9,202603),('2026-03-08',202611,3,2026,8,10,202603),('2026-03-09',202611,3,2026,9,10,202603),('2026-03-10',202611,3,2026,10,10,202603),('2026-03-11',202611,3,2026,11,10,202603),('2026-03-12',202611,3,2026,12,10,202603),('2026-03-13',202611,3,2026,13,10,202603),('2026-03-14',202611,3,2026,14,10,202603),('2026-03-15',202612,3,2026,15,11,202603),('2026-03-16',202612,3,2026,16,11,202603),('2026-03-17',202612,3,2026,17,11,202603),('2026-03-18',202612,3,2026,18,11,202603),('2026-03-19',202612,3,2026,19,11,202603),('2026-03-20',202612,3,2026,20,11,202603),('2026-03-21',202612,3,2026,21,11,202603),('2026-03-22',202613,3,2026,22,12,202603),('2026-03-23',202613,3,2026,23,12,202603),('2026-03-24',202613,3,2026,24,12,202603),('2026-03-25',202613,3,2026,25,12,202603),('2026-03-26',202613,3,2026,26,12,202603),('2026-03-27',202613,3,2026,27,12,202603),('2026-03-28',202613,3,2026,28,12,202603),('2026-03-29',202614,3,2026,29,13,202603),('2026-03-30',202614,3,2026,30,13,202603),('2026-03-31',202614,3,2026,31,13,202603),('2026-04-01',202614,4,2026,1,13,202604),('2026-04-02',202614,4,2026,2,13,202604),('2026-04-03',202614,4,2026,3,13,202604),('2026-04-04',202614,4,2026,4,13,202604),('2026-04-05',202615,4,2026,5,14,202604),('2026-04-06',202615,4,2026,6,14,202604),('2026-04-07',202615,4,2026,7,14,202604),('2026-04-08',202615,4,2026,8,14,202604),('2026-04-09',202615,4,2026,9,14,202604),('2026-04-10',202615,4,2026,10,14,202604),('2026-04-11',202615,4,2026,11,14,202604),('2026-04-12',202616,4,2026,12,15,202604),('2026-04-13',202616,4,2026,13,15,202604),('2026-04-14',202616,4,2026,14,15,202604),('2026-04-15',202616,4,2026,15,15,202604),('2026-04-16',202616,4,2026,16,15,202604),('2026-04-17',202616,4,2026,17,15,202604),('2026-04-18',202616,4,2026,18,15,202604),('2026-04-19',202617,4,2026,19,16,202604),('2026-04-20',202617,4,2026,20,16,202604),('2026-04-21',202617,4,2026,21,16,202604),('2026-04-22',202617,4,2026,22,16,202604),('2026-04-23',202617,4,2026,23,16,202604),('2026-04-24',202617,4,2026,24,16,202604),('2026-04-25',202617,4,2026,25,16,202604),('2026-04-26',202618,4,2026,26,17,202604),('2026-04-27',202618,4,2026,27,17,202604),('2026-04-28',202618,4,2026,28,17,202604),('2026-04-29',202618,4,2026,29,17,202604),('2026-04-30',202618,4,2026,30,17,202604),('2026-05-01',202618,5,2026,1,17,202605),('2026-05-02',202618,5,2026,2,17,202605),('2026-05-03',202619,5,2026,3,18,202605),('2026-05-04',202619,5,2026,4,18,202605),('2026-05-05',202619,5,2026,5,18,202605),('2026-05-06',202619,5,2026,6,18,202605),('2026-05-07',202619,5,2026,7,18,202605),('2026-05-08',202619,5,2026,8,18,202605),('2026-05-09',202619,5,2026,9,18,202605),('2026-05-10',202620,5,2026,10,19,202605),('2026-05-11',202620,5,2026,11,19,202605),('2026-05-12',202620,5,2026,12,19,202605),('2026-05-13',202620,5,2026,13,19,202605),('2026-05-14',202620,5,2026,14,19,202605),('2026-05-15',202620,5,2026,15,19,202605),('2026-05-16',202620,5,2026,16,19,202605),('2026-05-17',202621,5,2026,17,20,202605),('2026-05-18',202621,5,2026,18,20,202605),('2026-05-19',202621,5,2026,19,20,202605),('2026-05-20',202621,5,2026,20,20,202605),('2026-05-21',202621,5,2026,21,20,202605),('2026-05-22',202621,5,2026,22,20,202605),('2026-05-23',202621,5,2026,23,20,202605),('2026-05-24',202622,5,2026,24,21,202605),('2026-05-25',202622,5,2026,25,21,202605),('2026-05-26',202622,5,2026,26,21,202605),('2026-05-27',202622,5,2026,27,21,202605),('2026-05-28',202622,5,2026,28,21,202605),('2026-05-29',202622,5,2026,29,21,202605),('2026-05-30',202622,5,2026,30,21,202605),('2026-05-31',202623,5,2026,31,22,202605),('2026-06-01',202623,6,2026,1,22,202606),('2026-06-02',202623,6,2026,2,22,202606),('2026-06-03',202623,6,2026,3,22,202606),('2026-06-04',202623,6,2026,4,22,202606),('2026-06-05',202623,6,2026,5,22,202606),('2026-06-06',202623,6,2026,6,22,202606),('2026-06-07',202624,6,2026,7,23,202606),('2026-06-08',202624,6,2026,8,23,202606),('2026-06-09',202624,6,2026,9,23,202606),('2026-06-10',202624,6,2026,10,23,202606),('2026-06-11',202624,6,2026,11,23,202606),('2026-06-12',202624,6,2026,12,23,202606),('2026-06-13',202624,6,2026,13,23,202606),('2026-06-14',202625,6,2026,14,24,202606),('2026-06-15',202625,6,2026,15,24,202606),('2026-06-16',202625,6,2026,16,24,202606),('2026-06-17',202625,6,2026,17,24,202606),('2026-06-18',202625,6,2026,18,24,202606),('2026-06-19',202625,6,2026,19,24,202606),('2026-06-20',202625,6,2026,20,24,202606),('2026-06-21',202626,6,2026,21,25,202606),('2026-06-22',202626,6,2026,22,25,202606),('2026-06-23',202626,6,2026,23,25,202606),('2026-06-24',202626,6,2026,24,25,202606),('2026-06-25',202626,6,2026,25,25,202606),('2026-06-26',202626,6,2026,26,25,202606),('2026-06-27',202626,6,2026,27,25,202606),('2026-06-28',202627,6,2026,28,26,202606),('2026-06-29',202627,6,2026,29,26,202606),('2026-06-30',202627,6,2026,30,26,202606),('2026-07-01',202627,7,2026,1,26,202607),('2026-07-02',202627,7,2026,2,26,202607),('2026-07-03',202627,7,2026,3,26,202607),('2026-07-04',202627,7,2026,4,26,202607),('2026-07-05',202628,7,2026,5,27,202607),('2026-07-06',202628,7,2026,6,27,202607),('2026-07-07',202628,7,2026,7,27,202607),('2026-07-08',202628,7,2026,8,27,202607),('2026-07-09',202628,7,2026,9,27,202607),('2026-07-10',202628,7,2026,10,27,202607),('2026-07-11',202628,7,2026,11,27,202607),('2026-07-12',202629,7,2026,12,28,202607),('2026-07-13',202629,7,2026,13,28,202607),('2026-07-14',202629,7,2026,14,28,202607),('2026-07-15',202629,7,2026,15,28,202607),('2026-07-16',202629,7,2026,16,28,202607),('2026-07-17',202629,7,2026,17,28,202607),('2026-07-18',202629,7,2026,18,28,202607),('2026-07-19',202630,7,2026,19,29,202607),('2026-07-20',202630,7,2026,20,29,202607),('2026-07-21',202630,7,2026,21,29,202607),('2026-07-22',202630,7,2026,22,29,202607),('2026-07-23',202630,7,2026,23,29,202607),('2026-07-24',202630,7,2026,24,29,202607),('2026-07-25',202630,7,2026,25,29,202607),('2026-07-26',202631,7,2026,26,30,202607),('2026-07-27',202631,7,2026,27,30,202607),('2026-07-28',202631,7,2026,28,30,202607),('2026-07-29',202631,7,2026,29,30,202607),('2026-07-30',202631,7,2026,30,30,202607),('2026-07-31',202631,7,2026,31,30,202607),('2026-08-01',202631,8,2026,1,30,202608),('2026-08-02',202632,8,2026,2,31,202608),('2026-08-03',202632,8,2026,3,31,202608),('2026-08-04',202632,8,2026,4,31,202608),('2026-08-05',202632,8,2026,5,31,202608),('2026-08-06',202632,8,2026,6,31,202608),('2026-08-07',202632,8,2026,7,31,202608),('2026-08-08',202632,8,2026,8,31,202608),('2026-08-09',202633,8,2026,9,32,202608),('2026-08-10',202633,8,2026,10,32,202608),('2026-08-11',202633,8,2026,11,32,202608),('2026-08-12',202633,8,2026,12,32,202608),('2026-08-13',202633,8,2026,13,32,202608),('2026-08-14',202633,8,2026,14,32,202608),('2026-08-15',202633,8,2026,15,32,202608),('2026-08-16',202634,8,2026,16,33,202608),('2026-08-17',202634,8,2026,17,33,202608),('2026-08-18',202634,8,2026,18,33,202608),('2026-08-19',202634,8,2026,19,33,202608),('2026-08-20',202634,8,2026,20,33,202608),('2026-08-21',202634,8,2026,21,33,202608),('2026-08-22',202634,8,2026,22,33,202608),('2026-08-23',202635,8,2026,23,34,202608),('2026-08-24',202635,8,2026,24,34,202608),('2026-08-25',202635,8,2026,25,34,202608),('2026-08-26',202635,8,2026,26,34,202608),('2026-08-27',202635,8,2026,27,34,202608),('2026-08-28',202635,8,2026,28,34,202608),('2026-08-29',202635,8,2026,29,34,202608),('2026-08-30',202636,8,2026,30,35,202608),('2026-08-31',202636,8,2026,31,35,202608),('2026-09-01',202636,9,2026,1,35,202609),('2026-09-02',202636,9,2026,2,35,202609),('2026-09-03',202636,9,2026,3,35,202609),('2026-09-04',202636,9,2026,4,35,202609),('2026-09-05',202636,9,2026,5,35,202609),('2026-09-06',202637,9,2026,6,36,202609),('2026-09-07',202637,9,2026,7,36,202609),('2026-09-08',202637,9,2026,8,36,202609),('2026-09-09',202637,9,2026,9,36,202609),('2026-09-10',202637,9,2026,10,36,202609),('2026-09-11',202637,9,2026,11,36,202609),('2026-09-12',202637,9,2026,12,36,202609),('2026-09-13',202638,9,2026,13,37,202609),('2026-09-14',202638,9,2026,14,37,202609),('2026-09-15',202638,9,2026,15,37,202609),('2026-09-16',202638,9,2026,16,37,202609),('2026-09-17',202638,9,2026,17,37,202609),('2026-09-18',202638,9,2026,18,37,202609),('2026-09-19',202638,9,2026,19,37,202609),('2026-09-20',202639,9,2026,20,38,202609),('2026-09-21',202639,9,2026,21,38,202609),('2026-09-22',202639,9,2026,22,38,202609),('2026-09-23',202639,9,2026,23,38,202609),('2026-09-24',202639,9,2026,24,38,202609),('2026-09-25',202639,9,2026,25,38,202609),('2026-09-26',202639,9,2026,26,38,202609),('2026-09-27',202640,9,2026,27,39,202609),('2026-09-28',202640,9,2026,28,39,202609),('2026-09-29',202640,9,2026,29,39,202609),('2026-09-30',202640,9,2026,30,39,202609),('2026-10-01',202640,10,2026,1,39,202610),('2026-10-02',202640,10,2026,2,39,202610),('2026-10-03',202640,10,2026,3,39,202610),('2026-10-04',202641,10,2026,4,40,202610),('2026-10-05',202641,10,2026,5,40,202610),('2026-10-06',202641,10,2026,6,40,202610),('2026-10-07',202641,10,2026,7,40,202610),('2026-10-08',202641,10,2026,8,40,202610),('2026-10-09',202641,10,2026,9,40,202610),('2026-10-10',202641,10,2026,10,40,202610),('2026-10-11',202642,10,2026,11,41,202610),('2026-10-12',202642,10,2026,12,41,202610),('2026-10-13',202642,10,2026,13,41,202610),('2026-10-14',202642,10,2026,14,41,202610),('2026-10-15',202642,10,2026,15,41,202610),('2026-10-16',202642,10,2026,16,41,202610),('2026-10-17',202642,10,2026,17,41,202610),('2026-10-18',202643,10,2026,18,42,202610),('2026-10-19',202643,10,2026,19,42,202610),('2026-10-20',202643,10,2026,20,42,202610),('2026-10-21',202643,10,2026,21,42,202610),('2026-10-22',202643,10,2026,22,42,202610),('2026-10-23',202643,10,2026,23,42,202610),('2026-10-24',202643,10,2026,24,42,202610),('2026-10-25',202644,10,2026,25,43,202610),('2026-10-26',202644,10,2026,26,43,202610),('2026-10-27',202644,10,2026,27,43,202610),('2026-10-28',202644,10,2026,28,43,202610),('2026-10-29',202644,10,2026,29,43,202610),('2026-10-30',202644,10,2026,30,43,202610),('2026-10-31',202644,10,2026,31,43,202610),('2026-11-01',202645,11,2026,1,44,202611),('2026-11-02',202645,11,2026,2,44,202611),('2026-11-03',202645,11,2026,3,44,202611),('2026-11-04',202645,11,2026,4,44,202611),('2026-11-05',202645,11,2026,5,44,202611),('2026-11-06',202645,11,2026,6,44,202611),('2026-11-07',202645,11,2026,7,44,202611),('2026-11-08',202646,11,2026,8,45,202611),('2026-11-09',202646,11,2026,9,45,202611),('2026-11-10',202646,11,2026,10,45,202611),('2026-11-11',202646,11,2026,11,45,202611),('2026-11-12',202646,11,2026,12,45,202611),('2026-11-13',202646,11,2026,13,45,202611),('2026-11-14',202646,11,2026,14,45,202611),('2026-11-15',202647,11,2026,15,46,202611),('2026-11-16',202647,11,2026,16,46,202611),('2026-11-17',202647,11,2026,17,46,202611),('2026-11-18',202647,11,2026,18,46,202611),('2026-11-19',202647,11,2026,19,46,202611),('2026-11-20',202647,11,2026,20,46,202611),('2026-11-21',202647,11,2026,21,46,202611),('2026-11-22',202648,11,2026,22,47,202611),('2026-11-23',202648,11,2026,23,47,202611),('2026-11-24',202648,11,2026,24,47,202611),('2026-11-25',202648,11,2026,25,47,202611),('2026-11-26',202648,11,2026,26,47,202611),('2026-11-27',202648,11,2026,27,47,202611),('2026-11-28',202648,11,2026,28,47,202611),('2026-11-29',202649,11,2026,29,48,202611),('2026-11-30',202649,11,2026,30,48,202611),('2026-12-01',202649,12,2026,1,48,202612),('2026-12-02',202649,12,2026,2,48,202612),('2026-12-03',202649,12,2026,3,48,202612),('2026-12-04',202649,12,2026,4,48,202612),('2026-12-05',202649,12,2026,5,48,202612),('2026-12-06',202650,12,2026,6,49,202612),('2026-12-07',202650,12,2026,7,49,202612),('2026-12-08',202650,12,2026,8,49,202612),('2026-12-09',202650,12,2026,9,49,202612),('2026-12-10',202650,12,2026,10,49,202612),('2026-12-11',202650,12,2026,11,49,202612),('2026-12-12',202650,12,2026,12,49,202612),('2026-12-13',202651,12,2026,13,50,202612),('2026-12-14',202651,12,2026,14,50,202612),('2026-12-15',202651,12,2026,15,50,202612),('2026-12-16',202651,12,2026,16,50,202612),('2026-12-17',202651,12,2026,17,50,202612),('2026-12-18',202651,12,2026,18,50,202612),('2026-12-19',202651,12,2026,19,50,202612),('2026-12-20',202652,12,2026,20,51,202612),('2026-12-21',202652,12,2026,21,51,202612),('2026-12-22',202652,12,2026,22,51,202612),('2026-12-23',202652,12,2026,23,51,202612),('2026-12-24',202652,12,2026,24,51,202612),('2026-12-25',202652,12,2026,25,51,202612),('2026-12-26',202652,12,2026,26,51,202612),('2026-12-27',202653,12,2026,27,52,202612),('2026-12-28',202653,12,2026,28,52,202612),('2026-12-29',202653,12,2026,29,52,202612),('2026-12-30',202653,12,2026,30,52,202612),('2026-12-31',202653,12,2026,31,52,202612),('2027-01-01',202753,1,2027,1,52,202701),('2027-01-02',202753,1,2027,2,52,202701),('2027-01-03',202754,1,2027,3,1,202701),('2027-01-04',202701,1,2027,4,1,202701),('2027-01-05',202701,1,2027,5,1,202701),('2027-01-06',202701,1,2027,6,1,202701),('2027-01-07',202701,1,2027,7,1,202701),('2027-01-08',202701,1,2027,8,1,202701),('2027-01-09',202701,1,2027,9,1,202701),('2027-01-10',202702,1,2027,10,2,202701),('2027-01-11',202702,1,2027,11,2,202701),('2027-01-12',202702,1,2027,12,2,202701),('2027-01-13',202702,1,2027,13,2,202701),('2027-01-14',202702,1,2027,14,2,202701),('2027-01-15',202702,1,2027,15,2,202701),('2027-01-16',202702,1,2027,16,2,202701),('2027-01-17',202703,1,2027,17,3,202701),('2027-01-18',202703,1,2027,18,3,202701),('2027-01-19',202703,1,2027,19,3,202701),('2027-01-20',202703,1,2027,20,3,202701),('2027-01-21',202703,1,2027,21,3,202701),('2027-01-22',202703,1,2027,22,3,202701),('2027-01-23',202703,1,2027,23,3,202701),('2027-01-24',202704,1,2027,24,4,202701),('2027-01-25',202704,1,2027,25,4,202701),('2027-01-26',202704,1,2027,26,4,202701),('2027-01-27',202704,1,2027,27,4,202701),('2027-01-28',202704,1,2027,28,4,202701),('2027-01-29',202704,1,2027,29,4,202701),('2027-01-30',202704,1,2027,30,4,202701),('2027-01-31',202705,1,2027,31,5,202701),('2027-02-01',202705,2,2027,1,5,202702),('2027-02-02',202705,2,2027,2,5,202702),('2027-02-03',202705,2,2027,3,5,202702),('2027-02-04',202705,2,2027,4,5,202702),('2027-02-05',202705,2,2027,5,5,202702),('2027-02-06',202705,2,2027,6,5,202702),('2027-02-07',202706,2,2027,7,6,202702),('2027-02-08',202706,2,2027,8,6,202702),('2027-02-09',202706,2,2027,9,6,202702),('2027-02-10',202706,2,2027,10,6,202702),('2027-02-11',202706,2,2027,11,6,202702),('2027-02-12',202706,2,2027,12,6,202702),('2027-02-13',202706,2,2027,13,6,202702),('2027-02-14',202707,2,2027,14,7,202702),('2027-02-15',202707,2,2027,15,7,202702),('2027-02-16',202707,2,2027,16,7,202702),('2027-02-17',202707,2,2027,17,7,202702),('2027-02-18',202707,2,2027,18,7,202702),('2027-02-19',202707,2,2027,19,7,202702),('2027-02-20',202707,2,2027,20,7,202702),('2027-02-21',202708,2,2027,21,8,202702),('2027-02-22',202708,2,2027,22,8,202702),('2027-02-23',202708,2,2027,23,8,202702),('2027-02-24',202708,2,2027,24,8,202702),('2027-02-25',202708,2,2027,25,8,202702),('2027-02-26',202708,2,2027,26,8,202702),('2027-02-27',202708,2,2027,27,8,202702),('2027-02-28',202709,2,2027,28,9,202702),('2027-03-01',202709,3,2027,1,9,202703),('2027-03-02',202709,3,2027,2,9,202703),('2027-03-03',202709,3,2027,3,9,202703),('2027-03-04',202709,3,2027,4,9,202703),('2027-03-05',202709,3,2027,5,9,202703),('2027-03-06',202709,3,2027,6,9,202703),('2027-03-07',202710,3,2027,7,10,202703),('2027-03-08',202710,3,2027,8,10,202703),('2027-03-09',202710,3,2027,9,10,202703),('2027-03-10',202710,3,2027,10,10,202703),('2027-03-11',202710,3,2027,11,10,202703),('2027-03-12',202710,3,2027,12,10,202703),('2027-03-13',202710,3,2027,13,10,202703),('2027-03-14',202711,3,2027,14,11,202703),('2027-03-15',202711,3,2027,15,11,202703),('2027-03-16',202711,3,2027,16,11,202703),('2027-03-17',202711,3,2027,17,11,202703),('2027-03-18',202711,3,2027,18,11,202703),('2027-03-19',202711,3,2027,19,11,202703),('2027-03-20',202711,3,2027,20,11,202703),('2027-03-21',202712,3,2027,21,12,202703),('2027-03-22',202712,3,2027,22,12,202703),('2027-03-23',202712,3,2027,23,12,202703),('2027-03-24',202712,3,2027,24,12,202703),('2027-03-25',202712,3,2027,25,12,202703),('2027-03-26',202712,3,2027,26,12,202703),('2027-03-27',202712,3,2027,27,12,202703),('2027-03-28',202713,3,2027,28,13,202703),('2027-03-29',202713,3,2027,29,13,202703),('2027-03-30',202713,3,2027,30,13,202703),('2027-03-31',202713,3,2027,31,13,202703),('2027-04-01',202713,4,2027,1,13,202704),('2027-04-02',202713,4,2027,2,13,202704),('2027-04-03',202713,4,2027,3,13,202704),('2027-04-04',202714,4,2027,4,14,202704),('2027-04-05',202714,4,2027,5,14,202704),('2027-04-06',202714,4,2027,6,14,202704),('2027-04-07',202714,4,2027,7,14,202704),('2027-04-08',202714,4,2027,8,14,202704),('2027-04-09',202714,4,2027,9,14,202704),('2027-04-10',202714,4,2027,10,14,202704),('2027-04-11',202715,4,2027,11,15,202704),('2027-04-12',202715,4,2027,12,15,202704),('2027-04-13',202715,4,2027,13,15,202704),('2027-04-14',202715,4,2027,14,15,202704),('2027-04-15',202715,4,2027,15,15,202704),('2027-04-16',202715,4,2027,16,15,202704),('2027-04-17',202715,4,2027,17,15,202704),('2027-04-18',202716,4,2027,18,16,202704),('2027-04-19',202716,4,2027,19,16,202704),('2027-04-20',202716,4,2027,20,16,202704),('2027-04-21',202716,4,2027,21,16,202704),('2027-04-22',202716,4,2027,22,16,202704),('2027-04-23',202716,4,2027,23,16,202704),('2027-04-24',202716,4,2027,24,16,202704),('2027-04-25',202717,4,2027,25,17,202704),('2027-04-26',202717,4,2027,26,17,202704),('2027-04-27',202717,4,2027,27,17,202704),('2027-04-28',202717,4,2027,28,17,202704),('2027-04-29',202717,4,2027,29,17,202704),('2027-04-30',202717,4,2027,30,17,202704),('2027-05-01',202717,5,2027,1,17,202705),('2027-05-02',202718,5,2027,2,18,202705),('2027-05-03',202718,5,2027,3,18,202705),('2027-05-04',202718,5,2027,4,18,202705),('2027-05-05',202718,5,2027,5,18,202705),('2027-05-06',202718,5,2027,6,18,202705),('2027-05-07',202718,5,2027,7,18,202705),('2027-05-08',202718,5,2027,8,18,202705),('2027-05-09',202719,5,2027,9,19,202705),('2027-05-10',202719,5,2027,10,19,202705),('2027-05-11',202719,5,2027,11,19,202705),('2027-05-12',202719,5,2027,12,19,202705),('2027-05-13',202719,5,2027,13,19,202705),('2027-05-14',202719,5,2027,14,19,202705),('2027-05-15',202719,5,2027,15,19,202705),('2027-05-16',202720,5,2027,16,20,202705),('2027-05-17',202720,5,2027,17,20,202705),('2027-05-18',202720,5,2027,18,20,202705),('2027-05-19',202720,5,2027,19,20,202705),('2027-05-20',202720,5,2027,20,20,202705),('2027-05-21',202720,5,2027,21,20,202705),('2027-05-22',202720,5,2027,22,20,202705),('2027-05-23',202721,5,2027,23,21,202705),('2027-05-24',202721,5,2027,24,21,202705),('2027-05-25',202721,5,2027,25,21,202705),('2027-05-26',202721,5,2027,26,21,202705),('2027-05-27',202721,5,2027,27,21,202705),('2027-05-28',202721,5,2027,28,21,202705),('2027-05-29',202721,5,2027,29,21,202705),('2027-05-30',202722,5,2027,30,22,202705),('2027-05-31',202722,5,2027,31,22,202705),('2027-06-01',202722,6,2027,1,22,202706),('2027-06-02',202722,6,2027,2,22,202706),('2027-06-03',202722,6,2027,3,22,202706),('2027-06-04',202722,6,2027,4,22,202706),('2027-06-05',202722,6,2027,5,22,202706),('2027-06-06',202723,6,2027,6,23,202706),('2027-06-07',202723,6,2027,7,23,202706),('2027-06-08',202723,6,2027,8,23,202706),('2027-06-09',202723,6,2027,9,23,202706),('2027-06-10',202723,6,2027,10,23,202706),('2027-06-11',202723,6,2027,11,23,202706),('2027-06-12',202723,6,2027,12,23,202706),('2027-06-13',202724,6,2027,13,24,202706),('2027-06-14',202724,6,2027,14,24,202706),('2027-06-15',202724,6,2027,15,24,202706),('2027-06-16',202724,6,2027,16,24,202706),('2027-06-17',202724,6,2027,17,24,202706),('2027-06-18',202724,6,2027,18,24,202706),('2027-06-19',202724,6,2027,19,24,202706),('2027-06-20',202725,6,2027,20,25,202706),('2027-06-21',202725,6,2027,21,25,202706),('2027-06-22',202725,6,2027,22,25,202706),('2027-06-23',202725,6,2027,23,25,202706),('2027-06-24',202725,6,2027,24,25,202706),('2027-06-25',202725,6,2027,25,25,202706),('2027-06-26',202725,6,2027,26,25,202706),('2027-06-27',202726,6,2027,27,26,202706),('2027-06-28',202726,6,2027,28,26,202706),('2027-06-29',202726,6,2027,29,26,202706),('2027-06-30',202726,6,2027,30,26,202706),('2027-07-01',202726,7,2027,1,26,202707),('2027-07-02',202726,7,2027,2,26,202707),('2027-07-03',202726,7,2027,3,26,202707),('2027-07-04',202727,7,2027,4,27,202707),('2027-07-05',202727,7,2027,5,27,202707),('2027-07-06',202727,7,2027,6,27,202707),('2027-07-07',202727,7,2027,7,27,202707),('2027-07-08',202727,7,2027,8,27,202707),('2027-07-09',202727,7,2027,9,27,202707),('2027-07-10',202727,7,2027,10,27,202707),('2027-07-11',202728,7,2027,11,28,202707),('2027-07-12',202728,7,2027,12,28,202707),('2027-07-13',202728,7,2027,13,28,202707),('2027-07-14',202728,7,2027,14,28,202707),('2027-07-15',202728,7,2027,15,28,202707),('2027-07-16',202728,7,2027,16,28,202707),('2027-07-17',202728,7,2027,17,28,202707),('2027-07-18',202729,7,2027,18,29,202707),('2027-07-19',202729,7,2027,19,29,202707),('2027-07-20',202729,7,2027,20,29,202707),('2027-07-21',202729,7,2027,21,29,202707),('2027-07-22',202729,7,2027,22,29,202707),('2027-07-23',202729,7,2027,23,29,202707),('2027-07-24',202729,7,2027,24,29,202707),('2027-07-25',202730,7,2027,25,30,202707),('2027-07-26',202730,7,2027,26,30,202707),('2027-07-27',202730,7,2027,27,30,202707),('2027-07-28',202730,7,2027,28,30,202707),('2027-07-29',202730,7,2027,29,30,202707),('2027-07-30',202730,7,2027,30,30,202707),('2027-07-31',202730,7,2027,31,30,202707),('2027-08-01',202731,8,2027,1,31,202708),('2027-08-02',202731,8,2027,2,31,202708),('2027-08-03',202731,8,2027,3,31,202708),('2027-08-04',202731,8,2027,4,31,202708),('2027-08-05',202731,8,2027,5,31,202708),('2027-08-06',202731,8,2027,6,31,202708),('2027-08-07',202731,8,2027,7,31,202708),('2027-08-08',202732,8,2027,8,32,202708),('2027-08-09',202732,8,2027,9,32,202708),('2027-08-10',202732,8,2027,10,32,202708),('2027-08-11',202732,8,2027,11,32,202708),('2027-08-12',202732,8,2027,12,32,202708),('2027-08-13',202732,8,2027,13,32,202708),('2027-08-14',202732,8,2027,14,32,202708),('2027-08-15',202733,8,2027,15,33,202708),('2027-08-16',202733,8,2027,16,33,202708),('2027-08-17',202733,8,2027,17,33,202708),('2027-08-18',202733,8,2027,18,33,202708),('2027-08-19',202733,8,2027,19,33,202708),('2027-08-20',202733,8,2027,20,33,202708),('2027-08-21',202733,8,2027,21,33,202708),('2027-08-22',202734,8,2027,22,34,202708),('2027-08-23',202734,8,2027,23,34,202708),('2027-08-24',202734,8,2027,24,34,202708),('2027-08-25',202734,8,2027,25,34,202708),('2027-08-26',202734,8,2027,26,34,202708),('2027-08-27',202734,8,2027,27,34,202708),('2027-08-28',202734,8,2027,28,34,202708),('2027-08-29',202735,8,2027,29,35,202708),('2027-08-30',202735,8,2027,30,35,202708),('2027-08-31',202735,8,2027,31,35,202708),('2027-09-01',202735,9,2027,1,35,202709),('2027-09-02',202735,9,2027,2,35,202709),('2027-09-03',202735,9,2027,3,35,202709),('2027-09-04',202735,9,2027,4,35,202709),('2027-09-05',202736,9,2027,5,36,202709),('2027-09-06',202736,9,2027,6,36,202709),('2027-09-07',202736,9,2027,7,36,202709),('2027-09-08',202736,9,2027,8,36,202709),('2027-09-09',202736,9,2027,9,36,202709),('2027-09-10',202736,9,2027,10,36,202709),('2027-09-11',202736,9,2027,11,36,202709),('2027-09-12',202737,9,2027,12,37,202709),('2027-09-13',202737,9,2027,13,37,202709),('2027-09-14',202737,9,2027,14,37,202709),('2027-09-15',202737,9,2027,15,37,202709),('2027-09-16',202737,9,2027,16,37,202709),('2027-09-17',202737,9,2027,17,37,202709),('2027-09-18',202737,9,2027,18,37,202709),('2027-09-19',202738,9,2027,19,38,202709),('2027-09-20',202738,9,2027,20,38,202709),('2027-09-21',202738,9,2027,21,38,202709),('2027-09-22',202738,9,2027,22,38,202709),('2027-09-23',202738,9,2027,23,38,202709),('2027-09-24',202738,9,2027,24,38,202709),('2027-09-25',202738,9,2027,25,38,202709),('2027-09-26',202739,9,2027,26,39,202709),('2027-09-27',202739,9,2027,27,39,202709),('2027-09-28',202739,9,2027,28,39,202709),('2027-09-29',202739,9,2027,29,39,202709),('2027-09-30',202739,9,2027,30,39,202709),('2027-10-01',202739,10,2027,1,39,202710),('2027-10-02',202739,10,2027,2,39,202710),('2027-10-03',202740,10,2027,3,40,202710),('2027-10-04',202740,10,2027,4,40,202710),('2027-10-05',202740,10,2027,5,40,202710),('2027-10-06',202740,10,2027,6,40,202710),('2027-10-07',202740,10,2027,7,40,202710),('2027-10-08',202740,10,2027,8,40,202710),('2027-10-09',202740,10,2027,9,40,202710),('2027-10-10',202741,10,2027,10,41,202710),('2027-10-11',202741,10,2027,11,41,202710),('2027-10-12',202741,10,2027,12,41,202710),('2027-10-13',202741,10,2027,13,41,202710),('2027-10-14',202741,10,2027,14,41,202710),('2027-10-15',202741,10,2027,15,41,202710),('2027-10-16',202741,10,2027,16,41,202710),('2027-10-17',202742,10,2027,17,42,202710),('2027-10-18',202742,10,2027,18,42,202710),('2027-10-19',202742,10,2027,19,42,202710),('2027-10-20',202742,10,2027,20,42,202710),('2027-10-21',202742,10,2027,21,42,202710),('2027-10-22',202742,10,2027,22,42,202710),('2027-10-23',202742,10,2027,23,42,202710),('2027-10-24',202743,10,2027,24,43,202710),('2027-10-25',202743,10,2027,25,43,202710),('2027-10-26',202743,10,2027,26,43,202710),('2027-10-27',202743,10,2027,27,43,202710),('2027-10-28',202743,10,2027,28,43,202710),('2027-10-29',202743,10,2027,29,43,202710),('2027-10-30',202743,10,2027,30,43,202710),('2027-10-31',202744,10,2027,31,44,202710),('2027-11-01',202744,11,2027,1,44,202711),('2027-11-02',202744,11,2027,2,44,202711),('2027-11-03',202744,11,2027,3,44,202711),('2027-11-04',202744,11,2027,4,44,202711),('2027-11-05',202744,11,2027,5,44,202711),('2027-11-06',202744,11,2027,6,44,202711),('2027-11-07',202745,11,2027,7,45,202711),('2027-11-08',202745,11,2027,8,45,202711),('2027-11-09',202745,11,2027,9,45,202711),('2027-11-10',202745,11,2027,10,45,202711),('2027-11-11',202745,11,2027,11,45,202711),('2027-11-12',202745,11,2027,12,45,202711),('2027-11-13',202745,11,2027,13,45,202711),('2027-11-14',202746,11,2027,14,46,202711),('2027-11-15',202746,11,2027,15,46,202711),('2027-11-16',202746,11,2027,16,46,202711),('2027-11-17',202746,11,2027,17,46,202711),('2027-11-18',202746,11,2027,18,46,202711),('2027-11-19',202746,11,2027,19,46,202711),('2027-11-20',202746,11,2027,20,46,202711),('2027-11-21',202747,11,2027,21,47,202711),('2027-11-22',202747,11,2027,22,47,202711),('2027-11-23',202747,11,2027,23,47,202711),('2027-11-24',202747,11,2027,24,47,202711),('2027-11-25',202747,11,2027,25,47,202711),('2027-11-26',202747,11,2027,26,47,202711),('2027-11-27',202747,11,2027,27,47,202711),('2027-11-28',202748,11,2027,28,48,202711),('2027-11-29',202748,11,2027,29,48,202711),('2027-11-30',202748,11,2027,30,48,202711),('2027-12-01',202748,12,2027,1,48,202712),('2027-12-02',202748,12,2027,2,48,202712),('2027-12-03',202748,12,2027,3,48,202712),('2027-12-04',202748,12,2027,4,48,202712),('2027-12-05',202749,12,2027,5,49,202712),('2027-12-06',202749,12,2027,6,49,202712),('2027-12-07',202749,12,2027,7,49,202712),('2027-12-08',202749,12,2027,8,49,202712),('2027-12-09',202749,12,2027,9,49,202712),('2027-12-10',202749,12,2027,10,49,202712),('2027-12-11',202749,12,2027,11,49,202712),('2027-12-12',202750,12,2027,12,50,202712),('2027-12-13',202750,12,2027,13,50,202712),('2027-12-14',202750,12,2027,14,50,202712),('2027-12-15',202750,12,2027,15,50,202712),('2027-12-16',202750,12,2027,16,50,202712),('2027-12-17',202750,12,2027,17,50,202712),('2027-12-18',202750,12,2027,18,50,202712),('2027-12-19',202751,12,2027,19,51,202712),('2027-12-20',202751,12,2027,20,51,202712),('2027-12-21',202751,12,2027,21,51,202712),('2027-12-22',202751,12,2027,22,51,202712),('2027-12-23',202751,12,2027,23,51,202712),('2027-12-24',202751,12,2027,24,51,202712),('2027-12-25',202751,12,2027,25,51,202712),('2027-12-26',202752,12,2027,26,52,202712),('2027-12-27',202752,12,2027,27,52,202712),('2027-12-28',202752,12,2027,28,52,202712),('2027-12-29',202752,12,2027,29,52,202712),('2027-12-30',202752,12,2027,30,52,202712),('2027-12-31',202752,12,2027,31,52,202712),('2028-01-01',202852,1,2028,1,52,202801),('2028-01-02',202853,1,2028,2,1,202801),('2028-01-03',202801,1,2028,3,1,202801),('2028-01-04',202801,1,2028,4,1,202801),('2028-01-05',202801,1,2028,5,1,202801),('2028-01-06',202801,1,2028,6,1,202801),('2028-01-07',202801,1,2028,7,1,202801),('2028-01-08',202801,1,2028,8,1,202801),('2028-01-09',202802,1,2028,9,2,202801),('2028-01-10',202802,1,2028,10,2,202801),('2028-01-11',202802,1,2028,11,2,202801),('2028-01-12',202802,1,2028,12,2,202801),('2028-01-13',202802,1,2028,13,2,202801),('2028-01-14',202802,1,2028,14,2,202801),('2028-01-15',202802,1,2028,15,2,202801),('2028-01-16',202803,1,2028,16,3,202801),('2028-01-17',202803,1,2028,17,3,202801),('2028-01-18',202803,1,2028,18,3,202801),('2028-01-19',202803,1,2028,19,3,202801),('2028-01-20',202803,1,2028,20,3,202801),('2028-01-21',202803,1,2028,21,3,202801),('2028-01-22',202803,1,2028,22,3,202801),('2028-01-23',202804,1,2028,23,4,202801),('2028-01-24',202804,1,2028,24,4,202801),('2028-01-25',202804,1,2028,25,4,202801),('2028-01-26',202804,1,2028,26,4,202801),('2028-01-27',202804,1,2028,27,4,202801),('2028-01-28',202804,1,2028,28,4,202801),('2028-01-29',202804,1,2028,29,4,202801),('2028-01-30',202805,1,2028,30,5,202801),('2028-01-31',202805,1,2028,31,5,202801),('2028-02-01',202805,2,2028,1,5,202802),('2028-02-02',202805,2,2028,2,5,202802),('2028-02-03',202805,2,2028,3,5,202802),('2028-02-04',202805,2,2028,4,5,202802),('2028-02-05',202805,2,2028,5,5,202802),('2028-02-06',202806,2,2028,6,6,202802),('2028-02-07',202806,2,2028,7,6,202802),('2028-02-08',202806,2,2028,8,6,202802),('2028-02-09',202806,2,2028,9,6,202802),('2028-02-10',202806,2,2028,10,6,202802),('2028-02-11',202806,2,2028,11,6,202802),('2028-02-12',202806,2,2028,12,6,202802),('2028-02-13',202807,2,2028,13,7,202802),('2028-02-14',202807,2,2028,14,7,202802),('2028-02-15',202807,2,2028,15,7,202802),('2028-02-16',202807,2,2028,16,7,202802),('2028-02-17',202807,2,2028,17,7,202802),('2028-02-18',202807,2,2028,18,7,202802),('2028-02-19',202807,2,2028,19,7,202802),('2028-02-20',202808,2,2028,20,8,202802),('2028-02-21',202808,2,2028,21,8,202802),('2028-02-22',202808,2,2028,22,8,202802),('2028-02-23',202808,2,2028,23,8,202802),('2028-02-24',202808,2,2028,24,8,202802),('2028-02-25',202808,2,2028,25,8,202802),('2028-02-26',202808,2,2028,26,8,202802),('2028-02-27',202809,2,2028,27,9,202802),('2028-02-28',202809,2,2028,28,9,202802),('2028-02-29',202809,2,2028,29,9,202802),('2028-03-01',202809,3,2028,1,9,202803),('2028-03-02',202809,3,2028,2,9,202803),('2028-03-03',202809,3,2028,3,9,202803),('2028-03-04',202809,3,2028,4,9,202803),('2028-03-05',202810,3,2028,5,10,202803),('2028-03-06',202810,3,2028,6,10,202803),('2028-03-07',202810,3,2028,7,10,202803),('2028-03-08',202810,3,2028,8,10,202803),('2028-03-09',202810,3,2028,9,10,202803),('2028-03-10',202810,3,2028,10,10,202803),('2028-03-11',202810,3,2028,11,10,202803),('2028-03-12',202811,3,2028,12,11,202803),('2028-03-13',202811,3,2028,13,11,202803),('2028-03-14',202811,3,2028,14,11,202803),('2028-03-15',202811,3,2028,15,11,202803),('2028-03-16',202811,3,2028,16,11,202803),('2028-03-17',202811,3,2028,17,11,202803),('2028-03-18',202811,3,2028,18,11,202803),('2028-03-19',202812,3,2028,19,12,202803),('2028-03-20',202812,3,2028,20,12,202803),('2028-03-21',202812,3,2028,21,12,202803),('2028-03-22',202812,3,2028,22,12,202803),('2028-03-23',202812,3,2028,23,12,202803),('2028-03-24',202812,3,2028,24,12,202803),('2028-03-25',202812,3,2028,25,12,202803),('2028-03-26',202813,3,2028,26,13,202803),('2028-03-27',202813,3,2028,27,13,202803),('2028-03-28',202813,3,2028,28,13,202803),('2028-03-29',202813,3,2028,29,13,202803),('2028-03-30',202813,3,2028,30,13,202803),('2028-03-31',202813,3,2028,31,13,202803),('2028-04-01',202813,4,2028,1,13,202804),('2028-04-02',202814,4,2028,2,14,202804),('2028-04-03',202814,4,2028,3,14,202804),('2028-04-04',202814,4,2028,4,14,202804),('2028-04-05',202814,4,2028,5,14,202804),('2028-04-06',202814,4,2028,6,14,202804),('2028-04-07',202814,4,2028,7,14,202804),('2028-04-08',202814,4,2028,8,14,202804),('2028-04-09',202815,4,2028,9,15,202804),('2028-04-10',202815,4,2028,10,15,202804),('2028-04-11',202815,4,2028,11,15,202804),('2028-04-12',202815,4,2028,12,15,202804),('2028-04-13',202815,4,2028,13,15,202804),('2028-04-14',202815,4,2028,14,15,202804),('2028-04-15',202815,4,2028,15,15,202804),('2028-04-16',202816,4,2028,16,16,202804),('2028-04-17',202816,4,2028,17,16,202804),('2028-04-18',202816,4,2028,18,16,202804),('2028-04-19',202816,4,2028,19,16,202804),('2028-04-20',202816,4,2028,20,16,202804),('2028-04-21',202816,4,2028,21,16,202804),('2028-04-22',202816,4,2028,22,16,202804),('2028-04-23',202817,4,2028,23,17,202804),('2028-04-24',202817,4,2028,24,17,202804),('2028-04-25',202817,4,2028,25,17,202804),('2028-04-26',202817,4,2028,26,17,202804),('2028-04-27',202817,4,2028,27,17,202804),('2028-04-28',202817,4,2028,28,17,202804),('2028-04-29',202817,4,2028,29,17,202804),('2028-04-30',202818,4,2028,30,18,202804),('2028-05-01',202818,5,2028,1,18,202805),('2028-05-02',202818,5,2028,2,18,202805),('2028-05-03',202818,5,2028,3,18,202805),('2028-05-04',202818,5,2028,4,18,202805),('2028-05-05',202818,5,2028,5,18,202805),('2028-05-06',202818,5,2028,6,18,202805),('2028-05-07',202819,5,2028,7,19,202805),('2028-05-08',202819,5,2028,8,19,202805),('2028-05-09',202819,5,2028,9,19,202805),('2028-05-10',202819,5,2028,10,19,202805),('2028-05-11',202819,5,2028,11,19,202805),('2028-05-12',202819,5,2028,12,19,202805),('2028-05-13',202819,5,2028,13,19,202805),('2028-05-14',202820,5,2028,14,20,202805),('2028-05-15',202820,5,2028,15,20,202805),('2028-05-16',202820,5,2028,16,20,202805),('2028-05-17',202820,5,2028,17,20,202805),('2028-05-18',202820,5,2028,18,20,202805),('2028-05-19',202820,5,2028,19,20,202805),('2028-05-20',202820,5,2028,20,20,202805),('2028-05-21',202821,5,2028,21,21,202805),('2028-05-22',202821,5,2028,22,21,202805),('2028-05-23',202821,5,2028,23,21,202805),('2028-05-24',202821,5,2028,24,21,202805),('2028-05-25',202821,5,2028,25,21,202805),('2028-05-26',202821,5,2028,26,21,202805),('2028-05-27',202821,5,2028,27,21,202805),('2028-05-28',202822,5,2028,28,22,202805),('2028-05-29',202822,5,2028,29,22,202805),('2028-05-30',202822,5,2028,30,22,202805),('2028-05-31',202822,5,2028,31,22,202805),('2028-06-01',202822,6,2028,1,22,202806),('2028-06-02',202822,6,2028,2,22,202806),('2028-06-03',202822,6,2028,3,22,202806),('2028-06-04',202823,6,2028,4,23,202806),('2028-06-05',202823,6,2028,5,23,202806),('2028-06-06',202823,6,2028,6,23,202806),('2028-06-07',202823,6,2028,7,23,202806),('2028-06-08',202823,6,2028,8,23,202806),('2028-06-09',202823,6,2028,9,23,202806),('2028-06-10',202823,6,2028,10,23,202806),('2028-06-11',202824,6,2028,11,24,202806),('2028-06-12',202824,6,2028,12,24,202806),('2028-06-13',202824,6,2028,13,24,202806),('2028-06-14',202824,6,2028,14,24,202806),('2028-06-15',202824,6,2028,15,24,202806),('2028-06-16',202824,6,2028,16,24,202806),('2028-06-17',202824,6,2028,17,24,202806),('2028-06-18',202825,6,2028,18,25,202806),('2028-06-19',202825,6,2028,19,25,202806),('2028-06-20',202825,6,2028,20,25,202806),('2028-06-21',202825,6,2028,21,25,202806),('2028-06-22',202825,6,2028,22,25,202806),('2028-06-23',202825,6,2028,23,25,202806),('2028-06-24',202825,6,2028,24,25,202806),('2028-06-25',202826,6,2028,25,26,202806),('2028-06-26',202826,6,2028,26,26,202806),('2028-06-27',202826,6,2028,27,26,202806),('2028-06-28',202826,6,2028,28,26,202806),('2028-06-29',202826,6,2028,29,26,202806),('2028-06-30',202826,6,2028,30,26,202806),('2028-07-01',202826,7,2028,1,26,202807),('2028-07-02',202827,7,2028,2,27,202807),('2028-07-03',202827,7,2028,3,27,202807),('2028-07-04',202827,7,2028,4,27,202807),('2028-07-05',202827,7,2028,5,27,202807),('2028-07-06',202827,7,2028,6,27,202807),('2028-07-07',202827,7,2028,7,27,202807),('2028-07-08',202827,7,2028,8,27,202807),('2028-07-09',202828,7,2028,9,28,202807),('2028-07-10',202828,7,2028,10,28,202807),('2028-07-11',202828,7,2028,11,28,202807),('2028-07-12',202828,7,2028,12,28,202807),('2028-07-13',202828,7,2028,13,28,202807),('2028-07-14',202828,7,2028,14,28,202807),('2028-07-15',202828,7,2028,15,28,202807),('2028-07-16',202829,7,2028,16,29,202807),('2028-07-17',202829,7,2028,17,29,202807),('2028-07-18',202829,7,2028,18,29,202807),('2028-07-19',202829,7,2028,19,29,202807),('2028-07-20',202829,7,2028,20,29,202807),('2028-07-21',202829,7,2028,21,29,202807),('2028-07-22',202829,7,2028,22,29,202807),('2028-07-23',202830,7,2028,23,30,202807),('2028-07-24',202830,7,2028,24,30,202807),('2028-07-25',202830,7,2028,25,30,202807),('2028-07-26',202830,7,2028,26,30,202807),('2028-07-27',202830,7,2028,27,30,202807),('2028-07-28',202830,7,2028,28,30,202807),('2028-07-29',202830,7,2028,29,30,202807),('2028-07-30',202831,7,2028,30,31,202807),('2028-07-31',202831,7,2028,31,31,202807),('2028-08-01',202831,8,2028,1,31,202808),('2028-08-02',202831,8,2028,2,31,202808),('2028-08-03',202831,8,2028,3,31,202808),('2028-08-04',202831,8,2028,4,31,202808),('2028-08-05',202831,8,2028,5,31,202808),('2028-08-06',202832,8,2028,6,32,202808),('2028-08-07',202832,8,2028,7,32,202808),('2028-08-08',202832,8,2028,8,32,202808),('2028-08-09',202832,8,2028,9,32,202808),('2028-08-10',202832,8,2028,10,32,202808),('2028-08-11',202832,8,2028,11,32,202808),('2028-08-12',202832,8,2028,12,32,202808),('2028-08-13',202833,8,2028,13,33,202808),('2028-08-14',202833,8,2028,14,33,202808),('2028-08-15',202833,8,2028,15,33,202808),('2028-08-16',202833,8,2028,16,33,202808),('2028-08-17',202833,8,2028,17,33,202808),('2028-08-18',202833,8,2028,18,33,202808),('2028-08-19',202833,8,2028,19,33,202808),('2028-08-20',202834,8,2028,20,34,202808),('2028-08-21',202834,8,2028,21,34,202808),('2028-08-22',202834,8,2028,22,34,202808),('2028-08-23',202834,8,2028,23,34,202808),('2028-08-24',202834,8,2028,24,34,202808),('2028-08-25',202834,8,2028,25,34,202808),('2028-08-26',202834,8,2028,26,34,202808),('2028-08-27',202835,8,2028,27,35,202808),('2028-08-28',202835,8,2028,28,35,202808),('2028-08-29',202835,8,2028,29,35,202808),('2028-08-30',202835,8,2028,30,35,202808),('2028-08-31',202835,8,2028,31,35,202808),('2028-09-01',202835,9,2028,1,35,202809),('2028-09-02',202835,9,2028,2,35,202809),('2028-09-03',202836,9,2028,3,36,202809),('2028-09-04',202836,9,2028,4,36,202809),('2028-09-05',202836,9,2028,5,36,202809),('2028-09-06',202836,9,2028,6,36,202809),('2028-09-07',202836,9,2028,7,36,202809),('2028-09-08',202836,9,2028,8,36,202809),('2028-09-09',202836,9,2028,9,36,202809),('2028-09-10',202837,9,2028,10,37,202809),('2028-09-11',202837,9,2028,11,37,202809),('2028-09-12',202837,9,2028,12,37,202809),('2028-09-13',202837,9,2028,13,37,202809),('2028-09-14',202837,9,2028,14,37,202809),('2028-09-15',202837,9,2028,15,37,202809),('2028-09-16',202837,9,2028,16,37,202809),('2028-09-17',202838,9,2028,17,38,202809),('2028-09-18',202838,9,2028,18,38,202809),('2028-09-19',202838,9,2028,19,38,202809),('2028-09-20',202838,9,2028,20,38,202809),('2028-09-21',202838,9,2028,21,38,202809),('2028-09-22',202838,9,2028,22,38,202809),('2028-09-23',202838,9,2028,23,38,202809),('2028-09-24',202839,9,2028,24,39,202809),('2028-09-25',202839,9,2028,25,39,202809),('2028-09-26',202839,9,2028,26,39,202809),('2028-09-27',202839,9,2028,27,39,202809),('2028-09-28',202839,9,2028,28,39,202809),('2028-09-29',202839,9,2028,29,39,202809),('2028-09-30',202839,9,2028,30,39,202809),('2028-10-01',202840,10,2028,1,40,202810),('2028-10-02',202840,10,2028,2,40,202810),('2028-10-03',202840,10,2028,3,40,202810),('2028-10-04',202840,10,2028,4,40,202810),('2028-10-05',202840,10,2028,5,40,202810),('2028-10-06',202840,10,2028,6,40,202810),('2028-10-07',202840,10,2028,7,40,202810),('2028-10-08',202841,10,2028,8,41,202810),('2028-10-09',202841,10,2028,9,41,202810),('2028-10-10',202841,10,2028,10,41,202810),('2028-10-11',202841,10,2028,11,41,202810),('2028-10-12',202841,10,2028,12,41,202810),('2028-10-13',202841,10,2028,13,41,202810),('2028-10-14',202841,10,2028,14,41,202810),('2028-10-15',202842,10,2028,15,42,202810),('2028-10-16',202842,10,2028,16,42,202810),('2028-10-17',202842,10,2028,17,42,202810),('2028-10-18',202842,10,2028,18,42,202810),('2028-10-19',202842,10,2028,19,42,202810),('2028-10-20',202842,10,2028,20,42,202810),('2028-10-21',202842,10,2028,21,42,202810),('2028-10-22',202843,10,2028,22,43,202810),('2028-10-23',202843,10,2028,23,43,202810),('2028-10-24',202843,10,2028,24,43,202810),('2028-10-25',202843,10,2028,25,43,202810),('2028-10-26',202843,10,2028,26,43,202810),('2028-10-27',202843,10,2028,27,43,202810),('2028-10-28',202843,10,2028,28,43,202810),('2028-10-29',202844,10,2028,29,44,202810),('2028-10-30',202844,10,2028,30,44,202810),('2028-10-31',202844,10,2028,31,44,202810),('2028-11-01',202844,11,2028,1,44,202811),('2028-11-02',202844,11,2028,2,44,202811),('2028-11-03',202844,11,2028,3,44,202811),('2028-11-04',202844,11,2028,4,44,202811),('2028-11-05',202845,11,2028,5,45,202811),('2028-11-06',202845,11,2028,6,45,202811),('2028-11-07',202845,11,2028,7,45,202811),('2028-11-08',202845,11,2028,8,45,202811),('2028-11-09',202845,11,2028,9,45,202811),('2028-11-10',202845,11,2028,10,45,202811),('2028-11-11',202845,11,2028,11,45,202811),('2028-11-12',202846,11,2028,12,46,202811),('2028-11-13',202846,11,2028,13,46,202811),('2028-11-14',202846,11,2028,14,46,202811),('2028-11-15',202846,11,2028,15,46,202811),('2028-11-16',202846,11,2028,16,46,202811),('2028-11-17',202846,11,2028,17,46,202811),('2028-11-18',202846,11,2028,18,46,202811),('2028-11-19',202847,11,2028,19,47,202811),('2028-11-20',202847,11,2028,20,47,202811),('2028-11-21',202847,11,2028,21,47,202811),('2028-11-22',202847,11,2028,22,47,202811),('2028-11-23',202847,11,2028,23,47,202811),('2028-11-24',202847,11,2028,24,47,202811),('2028-11-25',202847,11,2028,25,47,202811),('2028-11-26',202848,11,2028,26,48,202811),('2028-11-27',202848,11,2028,27,48,202811),('2028-11-28',202848,11,2028,28,48,202811),('2028-11-29',202848,11,2028,29,48,202811),('2028-11-30',202848,11,2028,30,48,202811),('2028-12-01',202848,12,2028,1,48,202812),('2028-12-02',202848,12,2028,2,48,202812),('2028-12-03',202849,12,2028,3,49,202812),('2028-12-04',202849,12,2028,4,49,202812),('2028-12-05',202849,12,2028,5,49,202812),('2028-12-06',202849,12,2028,6,49,202812),('2028-12-07',202849,12,2028,7,49,202812),('2028-12-08',202849,12,2028,8,49,202812),('2028-12-09',202849,12,2028,9,49,202812),('2028-12-10',202850,12,2028,10,50,202812),('2028-12-11',202850,12,2028,11,50,202812),('2028-12-12',202850,12,2028,12,50,202812),('2028-12-13',202850,12,2028,13,50,202812),('2028-12-14',202850,12,2028,14,50,202812),('2028-12-15',202850,12,2028,15,50,202812),('2028-12-16',202850,12,2028,16,50,202812),('2028-12-17',202851,12,2028,17,51,202812),('2028-12-18',202851,12,2028,18,51,202812),('2028-12-19',202851,12,2028,19,51,202812),('2028-12-20',202851,12,2028,20,51,202812),('2028-12-21',202851,12,2028,21,51,202812),('2028-12-22',202851,12,2028,22,51,202812),('2028-12-23',202851,12,2028,23,51,202812),('2028-12-24',202852,12,2028,24,52,202812),('2028-12-25',202852,12,2028,25,52,202812),('2028-12-26',202852,12,2028,26,52,202812),('2028-12-27',202852,12,2028,27,52,202812),('2028-12-28',202852,12,2028,28,52,202812),('2028-12-29',202852,12,2028,29,52,202812),('2028-12-30',202852,12,2028,30,52,202812),('2028-12-31',202853,12,2028,31,1,202812),('2029-01-01',202901,1,2029,1,1,202901),('2029-01-02',202901,1,2029,2,1,202901),('2029-01-03',202901,1,2029,3,1,202901),('2029-01-04',202901,1,2029,4,1,202901),('2029-01-05',202901,1,2029,5,1,202901),('2029-01-06',202901,1,2029,6,1,202901),('2029-01-07',202902,1,2029,7,2,202901),('2029-01-08',202902,1,2029,8,2,202901),('2029-01-09',202902,1,2029,9,2,202901),('2029-01-10',202902,1,2029,10,2,202901),('2029-01-11',202902,1,2029,11,2,202901),('2029-01-12',202902,1,2029,12,2,202901),('2029-01-13',202902,1,2029,13,2,202901),('2029-01-14',202903,1,2029,14,3,202901),('2029-01-15',202903,1,2029,15,3,202901),('2029-01-16',202903,1,2029,16,3,202901),('2029-01-17',202903,1,2029,17,3,202901),('2029-01-18',202903,1,2029,18,3,202901),('2029-01-19',202903,1,2029,19,3,202901),('2029-01-20',202903,1,2029,20,3,202901),('2029-01-21',202904,1,2029,21,4,202901),('2029-01-22',202904,1,2029,22,4,202901),('2029-01-23',202904,1,2029,23,4,202901),('2029-01-24',202904,1,2029,24,4,202901),('2029-01-25',202904,1,2029,25,4,202901),('2029-01-26',202904,1,2029,26,4,202901),('2029-01-27',202904,1,2029,27,4,202901),('2029-01-28',202905,1,2029,28,5,202901),('2029-01-29',202905,1,2029,29,5,202901),('2029-01-30',202905,1,2029,30,5,202901),('2029-01-31',202905,1,2029,31,5,202901),('2029-02-01',202905,2,2029,1,5,202902),('2029-02-02',202905,2,2029,2,5,202902),('2029-02-03',202905,2,2029,3,5,202902),('2029-02-04',202906,2,2029,4,6,202902),('2029-02-05',202906,2,2029,5,6,202902),('2029-02-06',202906,2,2029,6,6,202902),('2029-02-07',202906,2,2029,7,6,202902),('2029-02-08',202906,2,2029,8,6,202902),('2029-02-09',202906,2,2029,9,6,202902),('2029-02-10',202906,2,2029,10,6,202902),('2029-02-11',202907,2,2029,11,7,202902),('2029-02-12',202907,2,2029,12,7,202902),('2029-02-13',202907,2,2029,13,7,202902),('2029-02-14',202907,2,2029,14,7,202902),('2029-02-15',202907,2,2029,15,7,202902),('2029-02-16',202907,2,2029,16,7,202902),('2029-02-17',202907,2,2029,17,7,202902),('2029-02-18',202908,2,2029,18,8,202902),('2029-02-19',202908,2,2029,19,8,202902),('2029-02-20',202908,2,2029,20,8,202902),('2029-02-21',202908,2,2029,21,8,202902),('2029-02-22',202908,2,2029,22,8,202902),('2029-02-23',202908,2,2029,23,8,202902),('2029-02-24',202908,2,2029,24,8,202902),('2029-02-25',202909,2,2029,25,9,202902),('2029-02-26',202909,2,2029,26,9,202902),('2029-02-27',202909,2,2029,27,9,202902),('2029-02-28',202909,2,2029,28,9,202902),('2029-03-01',202909,3,2029,1,9,202903),('2029-03-02',202909,3,2029,2,9,202903),('2029-03-03',202909,3,2029,3,9,202903),('2029-03-04',202910,3,2029,4,10,202903),('2029-03-05',202910,3,2029,5,10,202903),('2029-03-06',202910,3,2029,6,10,202903),('2029-03-07',202910,3,2029,7,10,202903),('2029-03-08',202910,3,2029,8,10,202903),('2029-03-09',202910,3,2029,9,10,202903),('2029-03-10',202910,3,2029,10,10,202903),('2029-03-11',202911,3,2029,11,11,202903),('2029-03-12',202911,3,2029,12,11,202903),('2029-03-13',202911,3,2029,13,11,202903),('2029-03-14',202911,3,2029,14,11,202903),('2029-03-15',202911,3,2029,15,11,202903),('2029-03-16',202911,3,2029,16,11,202903),('2029-03-17',202911,3,2029,17,11,202903),('2029-03-18',202912,3,2029,18,12,202903),('2029-03-19',202912,3,2029,19,12,202903),('2029-03-20',202912,3,2029,20,12,202903),('2029-03-21',202912,3,2029,21,12,202903),('2029-03-22',202912,3,2029,22,12,202903),('2029-03-23',202912,3,2029,23,12,202903),('2029-03-24',202912,3,2029,24,12,202903),('2029-03-25',202913,3,2029,25,13,202903),('2029-03-26',202913,3,2029,26,13,202903),('2029-03-27',202913,3,2029,27,13,202903),('2029-03-28',202913,3,2029,28,13,202903),('2029-03-29',202913,3,2029,29,13,202903),('2029-03-30',202913,3,2029,30,13,202903),('2029-03-31',202913,3,2029,31,13,202903),('2029-04-01',202914,4,2029,1,14,202904),('2029-04-02',202914,4,2029,2,14,202904),('2029-04-03',202914,4,2029,3,14,202904),('2029-04-04',202914,4,2029,4,14,202904),('2029-04-05',202914,4,2029,5,14,202904),('2029-04-06',202914,4,2029,6,14,202904),('2029-04-07',202914,4,2029,7,14,202904),('2029-04-08',202915,4,2029,8,15,202904),('2029-04-09',202915,4,2029,9,15,202904),('2029-04-10',202915,4,2029,10,15,202904),('2029-04-11',202915,4,2029,11,15,202904),('2029-04-12',202915,4,2029,12,15,202904),('2029-04-13',202915,4,2029,13,15,202904),('2029-04-14',202915,4,2029,14,15,202904),('2029-04-15',202916,4,2029,15,16,202904),('2029-04-16',202916,4,2029,16,16,202904),('2029-04-17',202916,4,2029,17,16,202904),('2029-04-18',202916,4,2029,18,16,202904),('2029-04-19',202916,4,2029,19,16,202904),('2029-04-20',202916,4,2029,20,16,202904),('2029-04-21',202916,4,2029,21,16,202904),('2029-04-22',202917,4,2029,22,17,202904),('2029-04-23',202917,4,2029,23,17,202904),('2029-04-24',202917,4,2029,24,17,202904),('2029-04-25',202917,4,2029,25,17,202904),('2029-04-26',202917,4,2029,26,17,202904),('2029-04-27',202917,4,2029,27,17,202904),('2029-04-28',202917,4,2029,28,17,202904),('2029-04-29',202918,4,2029,29,18,202904),('2029-04-30',202918,4,2029,30,18,202904),('2029-05-01',202918,5,2029,1,18,202905),('2029-05-02',202918,5,2029,2,18,202905),('2029-05-03',202918,5,2029,3,18,202905),('2029-05-04',202918,5,2029,4,18,202905),('2029-05-05',202918,5,2029,5,18,202905),('2029-05-06',202919,5,2029,6,19,202905),('2029-05-07',202919,5,2029,7,19,202905),('2029-05-08',202919,5,2029,8,19,202905),('2029-05-09',202919,5,2029,9,19,202905),('2029-05-10',202919,5,2029,10,19,202905),('2029-05-11',202919,5,2029,11,19,202905),('2029-05-12',202919,5,2029,12,19,202905),('2029-05-13',202920,5,2029,13,20,202905),('2029-05-14',202920,5,2029,14,20,202905),('2029-05-15',202920,5,2029,15,20,202905),('2029-05-16',202920,5,2029,16,20,202905),('2029-05-17',202920,5,2029,17,20,202905),('2029-05-18',202920,5,2029,18,20,202905),('2029-05-19',202920,5,2029,19,20,202905),('2029-05-20',202921,5,2029,20,21,202905),('2029-05-21',202921,5,2029,21,21,202905),('2029-05-22',202921,5,2029,22,21,202905),('2029-05-23',202921,5,2029,23,21,202905),('2029-05-24',202921,5,2029,24,21,202905),('2029-05-25',202921,5,2029,25,21,202905),('2029-05-26',202921,5,2029,26,21,202905),('2029-05-27',202922,5,2029,27,22,202905),('2029-05-28',202922,5,2029,28,22,202905),('2029-05-29',202922,5,2029,29,22,202905),('2029-05-30',202922,5,2029,30,22,202905),('2029-05-31',202922,5,2029,31,22,202905),('2029-06-01',202922,6,2029,1,22,202906),('2029-06-02',202922,6,2029,2,22,202906),('2029-06-03',202923,6,2029,3,23,202906),('2029-06-04',202923,6,2029,4,23,202906),('2029-06-05',202923,6,2029,5,23,202906),('2029-06-06',202923,6,2029,6,23,202906),('2029-06-07',202923,6,2029,7,23,202906),('2029-06-08',202923,6,2029,8,23,202906),('2029-06-09',202923,6,2029,9,23,202906),('2029-06-10',202924,6,2029,10,24,202906),('2029-06-11',202924,6,2029,11,24,202906),('2029-06-12',202924,6,2029,12,24,202906),('2029-06-13',202924,6,2029,13,24,202906),('2029-06-14',202924,6,2029,14,24,202906),('2029-06-15',202924,6,2029,15,24,202906),('2029-06-16',202924,6,2029,16,24,202906),('2029-06-17',202925,6,2029,17,25,202906),('2029-06-18',202925,6,2029,18,25,202906),('2029-06-19',202925,6,2029,19,25,202906),('2029-06-20',202925,6,2029,20,25,202906),('2029-06-21',202925,6,2029,21,25,202906),('2029-06-22',202925,6,2029,22,25,202906),('2029-06-23',202925,6,2029,23,25,202906),('2029-06-24',202926,6,2029,24,26,202906),('2029-06-25',202926,6,2029,25,26,202906),('2029-06-26',202926,6,2029,26,26,202906),('2029-06-27',202926,6,2029,27,26,202906),('2029-06-28',202926,6,2029,28,26,202906),('2029-06-29',202926,6,2029,29,26,202906),('2029-06-30',202926,6,2029,30,26,202906),('2029-07-01',202927,7,2029,1,27,202907),('2029-07-02',202927,7,2029,2,27,202907),('2029-07-03',202927,7,2029,3,27,202907),('2029-07-04',202927,7,2029,4,27,202907),('2029-07-05',202927,7,2029,5,27,202907),('2029-07-06',202927,7,2029,6,27,202907),('2029-07-07',202927,7,2029,7,27,202907),('2029-07-08',202928,7,2029,8,28,202907),('2029-07-09',202928,7,2029,9,28,202907),('2029-07-10',202928,7,2029,10,28,202907),('2029-07-11',202928,7,2029,11,28,202907),('2029-07-12',202928,7,2029,12,28,202907),('2029-07-13',202928,7,2029,13,28,202907),('2029-07-14',202928,7,2029,14,28,202907),('2029-07-15',202929,7,2029,15,29,202907),('2029-07-16',202929,7,2029,16,29,202907),('2029-07-17',202929,7,2029,17,29,202907),('2029-07-18',202929,7,2029,18,29,202907),('2029-07-19',202929,7,2029,19,29,202907),('2029-07-20',202929,7,2029,20,29,202907),('2029-07-21',202929,7,2029,21,29,202907),('2029-07-22',202930,7,2029,22,30,202907),('2029-07-23',202930,7,2029,23,30,202907),('2029-07-24',202930,7,2029,24,30,202907),('2029-07-25',202930,7,2029,25,30,202907),('2029-07-26',202930,7,2029,26,30,202907),('2029-07-27',202930,7,2029,27,30,202907),('2029-07-28',202930,7,2029,28,30,202907),('2029-07-29',202931,7,2029,29,31,202907),('2029-07-30',202931,7,2029,30,31,202907),('2029-07-31',202931,7,2029,31,31,202907),('2029-08-01',202931,8,2029,1,31,202908),('2029-08-02',202931,8,2029,2,31,202908),('2029-08-03',202931,8,2029,3,31,202908),('2029-08-04',202931,8,2029,4,31,202908),('2029-08-05',202932,8,2029,5,32,202908),('2029-08-06',202932,8,2029,6,32,202908),('2029-08-07',202932,8,2029,7,32,202908),('2029-08-08',202932,8,2029,8,32,202908),('2029-08-09',202932,8,2029,9,32,202908),('2029-08-10',202932,8,2029,10,32,202908),('2029-08-11',202932,8,2029,11,32,202908),('2029-08-12',202933,8,2029,12,33,202908),('2029-08-13',202933,8,2029,13,33,202908),('2029-08-14',202933,8,2029,14,33,202908),('2029-08-15',202933,8,2029,15,33,202908),('2029-08-16',202933,8,2029,16,33,202908),('2029-08-17',202933,8,2029,17,33,202908),('2029-08-18',202933,8,2029,18,33,202908),('2029-08-19',202934,8,2029,19,34,202908),('2029-08-20',202934,8,2029,20,34,202908),('2029-08-21',202934,8,2029,21,34,202908),('2029-08-22',202934,8,2029,22,34,202908),('2029-08-23',202934,8,2029,23,34,202908),('2029-08-24',202934,8,2029,24,34,202908),('2029-08-25',202934,8,2029,25,34,202908),('2029-08-26',202935,8,2029,26,35,202908),('2029-08-27',202935,8,2029,27,35,202908),('2029-08-28',202935,8,2029,28,35,202908),('2029-08-29',202935,8,2029,29,35,202908),('2029-08-30',202935,8,2029,30,35,202908),('2029-08-31',202935,8,2029,31,35,202908),('2029-09-01',202935,9,2029,1,35,202909),('2029-09-02',202936,9,2029,2,36,202909),('2029-09-03',202936,9,2029,3,36,202909),('2029-09-04',202936,9,2029,4,36,202909),('2029-09-05',202936,9,2029,5,36,202909),('2029-09-06',202936,9,2029,6,36,202909),('2029-09-07',202936,9,2029,7,36,202909),('2029-09-08',202936,9,2029,8,36,202909),('2029-09-09',202937,9,2029,9,37,202909),('2029-09-10',202937,9,2029,10,37,202909),('2029-09-11',202937,9,2029,11,37,202909),('2029-09-12',202937,9,2029,12,37,202909),('2029-09-13',202937,9,2029,13,37,202909),('2029-09-14',202937,9,2029,14,37,202909),('2029-09-15',202937,9,2029,15,37,202909),('2029-09-16',202938,9,2029,16,38,202909),('2029-09-17',202938,9,2029,17,38,202909),('2029-09-18',202938,9,2029,18,38,202909),('2029-09-19',202938,9,2029,19,38,202909),('2029-09-20',202938,9,2029,20,38,202909),('2029-09-21',202938,9,2029,21,38,202909),('2029-09-22',202938,9,2029,22,38,202909),('2029-09-23',202939,9,2029,23,39,202909),('2029-09-24',202939,9,2029,24,39,202909),('2029-09-25',202939,9,2029,25,39,202909),('2029-09-26',202939,9,2029,26,39,202909),('2029-09-27',202939,9,2029,27,39,202909),('2029-09-28',202939,9,2029,28,39,202909),('2029-09-29',202939,9,2029,29,39,202909),('2029-09-30',202940,9,2029,30,40,202909),('2029-10-01',202940,10,2029,1,40,202910),('2029-10-02',202940,10,2029,2,40,202910),('2029-10-03',202940,10,2029,3,40,202910),('2029-10-04',202940,10,2029,4,40,202910),('2029-10-05',202940,10,2029,5,40,202910),('2029-10-06',202940,10,2029,6,40,202910),('2029-10-07',202941,10,2029,7,41,202910),('2029-10-08',202941,10,2029,8,41,202910),('2029-10-09',202941,10,2029,9,41,202910),('2029-10-10',202941,10,2029,10,41,202910),('2029-10-11',202941,10,2029,11,41,202910),('2029-10-12',202941,10,2029,12,41,202910),('2029-10-13',202941,10,2029,13,41,202910),('2029-10-14',202942,10,2029,14,42,202910),('2029-10-15',202942,10,2029,15,42,202910),('2029-10-16',202942,10,2029,16,42,202910),('2029-10-17',202942,10,2029,17,42,202910),('2029-10-18',202942,10,2029,18,42,202910),('2029-10-19',202942,10,2029,19,42,202910),('2029-10-20',202942,10,2029,20,42,202910),('2029-10-21',202943,10,2029,21,43,202910),('2029-10-22',202943,10,2029,22,43,202910),('2029-10-23',202943,10,2029,23,43,202910),('2029-10-24',202943,10,2029,24,43,202910),('2029-10-25',202943,10,2029,25,43,202910),('2029-10-26',202943,10,2029,26,43,202910),('2029-10-27',202943,10,2029,27,43,202910),('2029-10-28',202944,10,2029,28,44,202910),('2029-10-29',202944,10,2029,29,44,202910),('2029-10-30',202944,10,2029,30,44,202910),('2029-10-31',202944,10,2029,31,44,202910),('2029-11-01',202944,11,2029,1,44,202911),('2029-11-02',202944,11,2029,2,44,202911),('2029-11-03',202944,11,2029,3,44,202911),('2029-11-04',202945,11,2029,4,45,202911),('2029-11-05',202945,11,2029,5,45,202911),('2029-11-06',202945,11,2029,6,45,202911),('2029-11-07',202945,11,2029,7,45,202911),('2029-11-08',202945,11,2029,8,45,202911),('2029-11-09',202945,11,2029,9,45,202911),('2029-11-10',202945,11,2029,10,45,202911),('2029-11-11',202946,11,2029,11,46,202911),('2029-11-12',202946,11,2029,12,46,202911),('2029-11-13',202946,11,2029,13,46,202911),('2029-11-14',202946,11,2029,14,46,202911),('2029-11-15',202946,11,2029,15,46,202911),('2029-11-16',202946,11,2029,16,46,202911),('2029-11-17',202946,11,2029,17,46,202911),('2029-11-18',202947,11,2029,18,47,202911),('2029-11-19',202947,11,2029,19,47,202911),('2029-11-20',202947,11,2029,20,47,202911),('2029-11-21',202947,11,2029,21,47,202911),('2029-11-22',202947,11,2029,22,47,202911),('2029-11-23',202947,11,2029,23,47,202911),('2029-11-24',202947,11,2029,24,47,202911),('2029-11-25',202948,11,2029,25,48,202911),('2029-11-26',202948,11,2029,26,48,202911),('2029-11-27',202948,11,2029,27,48,202911),('2029-11-28',202948,11,2029,28,48,202911),('2029-11-29',202948,11,2029,29,48,202911),('2029-11-30',202948,11,2029,30,48,202911),('2029-12-01',202948,12,2029,1,48,202912),('2029-12-02',202949,12,2029,2,49,202912),('2029-12-03',202949,12,2029,3,49,202912),('2029-12-04',202949,12,2029,4,49,202912),('2029-12-05',202949,12,2029,5,49,202912),('2029-12-06',202949,12,2029,6,49,202912),('2029-12-07',202949,12,2029,7,49,202912),('2029-12-08',202949,12,2029,8,49,202912),('2029-12-09',202950,12,2029,9,50,202912),('2029-12-10',202950,12,2029,10,50,202912),('2029-12-11',202950,12,2029,11,50,202912),('2029-12-12',202950,12,2029,12,50,202912),('2029-12-13',202950,12,2029,13,50,202912),('2029-12-14',202950,12,2029,14,50,202912),('2029-12-15',202950,12,2029,15,50,202912),('2029-12-16',202951,12,2029,16,51,202912),('2029-12-17',202951,12,2029,17,51,202912),('2029-12-18',202951,12,2029,18,51,202912),('2029-12-19',202951,12,2029,19,51,202912),('2029-12-20',202951,12,2029,20,51,202912),('2029-12-21',202951,12,2029,21,51,202912),('2029-12-22',202951,12,2029,22,51,202912),('2029-12-23',202952,12,2029,23,52,202912),('2029-12-24',202952,12,2029,24,52,202912),('2029-12-25',202952,12,2029,25,52,202912),('2029-12-26',202952,12,2029,26,52,202912),('2029-12-27',202952,12,2029,27,52,202912),('2029-12-28',202952,12,2029,28,52,202912),('2029-12-29',202952,12,2029,29,52,202912),('2029-12-30',202953,12,2029,30,1,202912),('2029-12-31',202901,12,2029,31,1,202912),('2030-01-01',203001,1,2030,1,1,203001),('2030-01-02',203001,1,2030,2,1,203001),('2030-01-03',203001,1,2030,3,1,203001),('2030-01-04',203001,1,2030,4,1,203001),('2030-01-05',203001,1,2030,5,1,203001),('2030-01-06',203002,1,2030,6,2,203001),('2030-01-07',203002,1,2030,7,2,203001),('2030-01-08',203002,1,2030,8,2,203001),('2030-01-09',203002,1,2030,9,2,203001),('2030-01-10',203002,1,2030,10,2,203001),('2030-01-11',203002,1,2030,11,2,203001),('2030-01-12',203002,1,2030,12,2,203001),('2030-01-13',203003,1,2030,13,3,203001),('2030-01-14',203003,1,2030,14,3,203001),('2030-01-15',203003,1,2030,15,3,203001),('2030-01-16',203003,1,2030,16,3,203001),('2030-01-17',203003,1,2030,17,3,203001),('2030-01-18',203003,1,2030,18,3,203001),('2030-01-19',203003,1,2030,19,3,203001),('2030-01-20',203004,1,2030,20,4,203001),('2030-01-21',203004,1,2030,21,4,203001),('2030-01-22',203004,1,2030,22,4,203001),('2030-01-23',203004,1,2030,23,4,203001),('2030-01-24',203004,1,2030,24,4,203001),('2030-01-25',203004,1,2030,25,4,203001),('2030-01-26',203004,1,2030,26,4,203001),('2030-01-27',203005,1,2030,27,5,203001),('2030-01-28',203005,1,2030,28,5,203001),('2030-01-29',203005,1,2030,29,5,203001),('2030-01-30',203005,1,2030,30,5,203001),('2030-01-31',203005,1,2030,31,5,203001),('2030-02-01',203005,2,2030,1,5,203002),('2030-02-02',203005,2,2030,2,5,203002),('2030-02-03',203006,2,2030,3,6,203002),('2030-02-04',203006,2,2030,4,6,203002),('2030-02-05',203006,2,2030,5,6,203002),('2030-02-06',203006,2,2030,6,6,203002),('2030-02-07',203006,2,2030,7,6,203002),('2030-02-08',203006,2,2030,8,6,203002),('2030-02-09',203006,2,2030,9,6,203002),('2030-02-10',203007,2,2030,10,7,203002),('2030-02-11',203007,2,2030,11,7,203002),('2030-02-12',203007,2,2030,12,7,203002),('2030-02-13',203007,2,2030,13,7,203002),('2030-02-14',203007,2,2030,14,7,203002),('2030-02-15',203007,2,2030,15,7,203002),('2030-02-16',203007,2,2030,16,7,203002),('2030-02-17',203008,2,2030,17,8,203002),('2030-02-18',203008,2,2030,18,8,203002),('2030-02-19',203008,2,2030,19,8,203002),('2030-02-20',203008,2,2030,20,8,203002),('2030-02-21',203008,2,2030,21,8,203002),('2030-02-22',203008,2,2030,22,8,203002),('2030-02-23',203008,2,2030,23,8,203002),('2030-02-24',203009,2,2030,24,9,203002),('2030-02-25',203009,2,2030,25,9,203002),('2030-02-26',203009,2,2030,26,9,203002),('2030-02-27',203009,2,2030,27,9,203002),('2030-02-28',203009,2,2030,28,9,203002),('2030-03-01',203009,3,2030,1,9,203003),('2030-03-02',203009,3,2030,2,9,203003),('2030-03-03',203010,3,2030,3,10,203003),('2030-03-04',203010,3,2030,4,10,203003),('2030-03-05',203010,3,2030,5,10,203003),('2030-03-06',203010,3,2030,6,10,203003),('2030-03-07',203010,3,2030,7,10,203003),('2030-03-08',203010,3,2030,8,10,203003),('2030-03-09',203010,3,2030,9,10,203003),('2030-03-10',203011,3,2030,10,11,203003),('2030-03-11',203011,3,2030,11,11,203003),('2030-03-12',203011,3,2030,12,11,203003),('2030-03-13',203011,3,2030,13,11,203003),('2030-03-14',203011,3,2030,14,11,203003),('2030-03-15',203011,3,2030,15,11,203003),('2030-03-16',203011,3,2030,16,11,203003),('2030-03-17',203012,3,2030,17,12,203003),('2030-03-18',203012,3,2030,18,12,203003),('2030-03-19',203012,3,2030,19,12,203003),('2030-03-20',203012,3,2030,20,12,203003),('2030-03-21',203012,3,2030,21,12,203003),('2030-03-22',203012,3,2030,22,12,203003),('2030-03-23',203012,3,2030,23,12,203003),('2030-03-24',203013,3,2030,24,13,203003),('2030-03-25',203013,3,2030,25,13,203003),('2030-03-26',203013,3,2030,26,13,203003),('2030-03-27',203013,3,2030,27,13,203003),('2030-03-28',203013,3,2030,28,13,203003),('2030-03-29',203013,3,2030,29,13,203003),('2030-03-30',203013,3,2030,30,13,203003),('2030-03-31',203014,3,2030,31,14,203003),('2030-04-01',203014,4,2030,1,14,203004),('2030-04-02',203014,4,2030,2,14,203004),('2030-04-03',203014,4,2030,3,14,203004),('2030-04-04',203014,4,2030,4,14,203004),('2030-04-05',203014,4,2030,5,14,203004),('2030-04-06',203014,4,2030,6,14,203004),('2030-04-07',203015,4,2030,7,15,203004),('2030-04-08',203015,4,2030,8,15,203004),('2030-04-09',203015,4,2030,9,15,203004),('2030-04-10',203015,4,2030,10,15,203004),('2030-04-11',203015,4,2030,11,15,203004),('2030-04-12',203015,4,2030,12,15,203004),('2030-04-13',203015,4,2030,13,15,203004),('2030-04-14',203016,4,2030,14,16,203004),('2030-04-15',203016,4,2030,15,16,203004),('2030-04-16',203016,4,2030,16,16,203004),('2030-04-17',203016,4,2030,17,16,203004),('2030-04-18',203016,4,2030,18,16,203004),('2030-04-19',203016,4,2030,19,16,203004),('2030-04-20',203016,4,2030,20,16,203004),('2030-04-21',203017,4,2030,21,17,203004),('2030-04-22',203017,4,2030,22,17,203004),('2030-04-23',203017,4,2030,23,17,203004),('2030-04-24',203017,4,2030,24,17,203004),('2030-04-25',203017,4,2030,25,17,203004),('2030-04-26',203017,4,2030,26,17,203004),('2030-04-27',203017,4,2030,27,17,203004),('2030-04-28',203018,4,2030,28,18,203004),('2030-04-29',203018,4,2030,29,18,203004),('2030-04-30',203018,4,2030,30,18,203004),('2030-05-01',203018,5,2030,1,18,203005),('2030-05-02',203018,5,2030,2,18,203005),('2030-05-03',203018,5,2030,3,18,203005),('2030-05-04',203018,5,2030,4,18,203005),('2030-05-05',203019,5,2030,5,19,203005),('2030-05-06',203019,5,2030,6,19,203005),('2030-05-07',203019,5,2030,7,19,203005),('2030-05-08',203019,5,2030,8,19,203005),('2030-05-09',203019,5,2030,9,19,203005),('2030-05-10',203019,5,2030,10,19,203005),('2030-05-11',203019,5,2030,11,19,203005),('2030-05-12',203020,5,2030,12,20,203005),('2030-05-13',203020,5,2030,13,20,203005),('2030-05-14',203020,5,2030,14,20,203005),('2030-05-15',203020,5,2030,15,20,203005),('2030-05-16',203020,5,2030,16,20,203005),('2030-05-17',203020,5,2030,17,20,203005),('2030-05-18',203020,5,2030,18,20,203005),('2030-05-19',203021,5,2030,19,21,203005),('2030-05-20',203021,5,2030,20,21,203005),('2030-05-21',203021,5,2030,21,21,203005),('2030-05-22',203021,5,2030,22,21,203005),('2030-05-23',203021,5,2030,23,21,203005),('2030-05-24',203021,5,2030,24,21,203005),('2030-05-25',203021,5,2030,25,21,203005),('2030-05-26',203022,5,2030,26,22,203005),('2030-05-27',203022,5,2030,27,22,203005),('2030-05-28',203022,5,2030,28,22,203005),('2030-05-29',203022,5,2030,29,22,203005),('2030-05-30',203022,5,2030,30,22,203005),('2030-05-31',203022,5,2030,31,22,203005),('2030-06-01',203022,6,2030,1,22,203006),('2030-06-02',203023,6,2030,2,23,203006),('2030-06-03',203023,6,2030,3,23,203006),('2030-06-04',203023,6,2030,4,23,203006),('2030-06-05',203023,6,2030,5,23,203006),('2030-06-06',203023,6,2030,6,23,203006),('2030-06-07',203023,6,2030,7,23,203006),('2030-06-08',203023,6,2030,8,23,203006),('2030-06-09',203024,6,2030,9,24,203006),('2030-06-10',203024,6,2030,10,24,203006),('2030-06-11',203024,6,2030,11,24,203006),('2030-06-12',203024,6,2030,12,24,203006),('2030-06-13',203024,6,2030,13,24,203006),('2030-06-14',203024,6,2030,14,24,203006),('2030-06-15',203024,6,2030,15,24,203006),('2030-06-16',203025,6,2030,16,25,203006),('2030-06-17',203025,6,2030,17,25,203006),('2030-06-18',203025,6,2030,18,25,203006),('2030-06-19',203025,6,2030,19,25,203006),('2030-06-20',203025,6,2030,20,25,203006),('2030-06-21',203025,6,2030,21,25,203006),('2030-06-22',203025,6,2030,22,25,203006),('2030-06-23',203026,6,2030,23,26,203006),('2030-06-24',203026,6,2030,24,26,203006),('2030-06-25',203026,6,2030,25,26,203006),('2030-06-26',203026,6,2030,26,26,203006),('2030-06-27',203026,6,2030,27,26,203006),('2030-06-28',203026,6,2030,28,26,203006),('2030-06-29',203026,6,2030,29,26,203006),('2030-06-30',203027,6,2030,30,27,203006),('2030-07-01',203027,7,2030,1,27,203007),('2030-07-02',203027,7,2030,2,27,203007),('2030-07-03',203027,7,2030,3,27,203007),('2030-07-04',203027,7,2030,4,27,203007),('2030-07-05',203027,7,2030,5,27,203007),('2030-07-06',203027,7,2030,6,27,203007),('2030-07-07',203028,7,2030,7,28,203007),('2030-07-08',203028,7,2030,8,28,203007),('2030-07-09',203028,7,2030,9,28,203007),('2030-07-10',203028,7,2030,10,28,203007),('2030-07-11',203028,7,2030,11,28,203007),('2030-07-12',203028,7,2030,12,28,203007),('2030-07-13',203028,7,2030,13,28,203007),('2030-07-14',203029,7,2030,14,29,203007),('2030-07-15',203029,7,2030,15,29,203007),('2030-07-16',203029,7,2030,16,29,203007),('2030-07-17',203029,7,2030,17,29,203007),('2030-07-18',203029,7,2030,18,29,203007),('2030-07-19',203029,7,2030,19,29,203007),('2030-07-20',203029,7,2030,20,29,203007),('2030-07-21',203030,7,2030,21,30,203007),('2030-07-22',203030,7,2030,22,30,203007),('2030-07-23',203030,7,2030,23,30,203007),('2030-07-24',203030,7,2030,24,30,203007),('2030-07-25',203030,7,2030,25,30,203007),('2030-07-26',203030,7,2030,26,30,203007),('2030-07-27',203030,7,2030,27,30,203007),('2030-07-28',203031,7,2030,28,31,203007),('2030-07-29',203031,7,2030,29,31,203007),('2030-07-30',203031,7,2030,30,31,203007),('2030-07-31',203031,7,2030,31,31,203007),('2030-08-01',203031,8,2030,1,31,203008),('2030-08-02',203031,8,2030,2,31,203008),('2030-08-03',203031,8,2030,3,31,203008),('2030-08-04',203032,8,2030,4,32,203008),('2030-08-05',203032,8,2030,5,32,203008),('2030-08-06',203032,8,2030,6,32,203008),('2030-08-07',203032,8,2030,7,32,203008),('2030-08-08',203032,8,2030,8,32,203008),('2030-08-09',203032,8,2030,9,32,203008),('2030-08-10',203032,8,2030,10,32,203008),('2030-08-11',203033,8,2030,11,33,203008),('2030-08-12',203033,8,2030,12,33,203008),('2030-08-13',203033,8,2030,13,33,203008),('2030-08-14',203033,8,2030,14,33,203008),('2030-08-15',203033,8,2030,15,33,203008),('2030-08-16',203033,8,2030,16,33,203008),('2030-08-17',203033,8,2030,17,33,203008),('2030-08-18',203034,8,2030,18,34,203008),('2030-08-19',203034,8,2030,19,34,203008),('2030-08-20',203034,8,2030,20,34,203008),('2030-08-21',203034,8,2030,21,34,203008),('2030-08-22',203034,8,2030,22,34,203008),('2030-08-23',203034,8,2030,23,34,203008),('2030-08-24',203034,8,2030,24,34,203008),('2030-08-25',203035,8,2030,25,35,203008),('2030-08-26',203035,8,2030,26,35,203008),('2030-08-27',203035,8,2030,27,35,203008),('2030-08-28',203035,8,2030,28,35,203008),('2030-08-29',203035,8,2030,29,35,203008),('2030-08-30',203035,8,2030,30,35,203008),('2030-08-31',203035,8,2030,31,35,203008),('2030-09-01',203036,9,2030,1,36,203009),('2030-09-02',203036,9,2030,2,36,203009),('2030-09-03',203036,9,2030,3,36,203009),('2030-09-04',203036,9,2030,4,36,203009),('2030-09-05',203036,9,2030,5,36,203009),('2030-09-06',203036,9,2030,6,36,203009),('2030-09-07',203036,9,2030,7,36,203009),('2030-09-08',203037,9,2030,8,37,203009),('2030-09-09',203037,9,2030,9,37,203009),('2030-09-10',203037,9,2030,10,37,203009),('2030-09-11',203037,9,2030,11,37,203009),('2030-09-12',203037,9,2030,12,37,203009),('2030-09-13',203037,9,2030,13,37,203009),('2030-09-14',203037,9,2030,14,37,203009),('2030-09-15',203038,9,2030,15,38,203009),('2030-09-16',203038,9,2030,16,38,203009),('2030-09-17',203038,9,2030,17,38,203009),('2030-09-18',203038,9,2030,18,38,203009),('2030-09-19',203038,9,2030,19,38,203009),('2030-09-20',203038,9,2030,20,38,203009),('2030-09-21',203038,9,2030,21,38,203009),('2030-09-22',203039,9,2030,22,39,203009),('2030-09-23',203039,9,2030,23,39,203009),('2030-09-24',203039,9,2030,24,39,203009),('2030-09-25',203039,9,2030,25,39,203009),('2030-09-26',203039,9,2030,26,39,203009),('2030-09-27',203039,9,2030,27,39,203009),('2030-09-28',203039,9,2030,28,39,203009),('2030-09-29',203040,9,2030,29,40,203009),('2030-09-30',203040,9,2030,30,40,203009),('2030-10-01',203040,10,2030,1,40,203010),('2030-10-02',203040,10,2030,2,40,203010),('2030-10-03',203040,10,2030,3,40,203010),('2030-10-04',203040,10,2030,4,40,203010),('2030-10-05',203040,10,2030,5,40,203010),('2030-10-06',203041,10,2030,6,41,203010),('2030-10-07',203041,10,2030,7,41,203010),('2030-10-08',203041,10,2030,8,41,203010),('2030-10-09',203041,10,2030,9,41,203010),('2030-10-10',203041,10,2030,10,41,203010),('2030-10-11',203041,10,2030,11,41,203010),('2030-10-12',203041,10,2030,12,41,203010),('2030-10-13',203042,10,2030,13,42,203010),('2030-10-14',203042,10,2030,14,42,203010),('2030-10-15',203042,10,2030,15,42,203010),('2030-10-16',203042,10,2030,16,42,203010),('2030-10-17',203042,10,2030,17,42,203010),('2030-10-18',203042,10,2030,18,42,203010),('2030-10-19',203042,10,2030,19,42,203010),('2030-10-20',203043,10,2030,20,43,203010),('2030-10-21',203043,10,2030,21,43,203010),('2030-10-22',203043,10,2030,22,43,203010),('2030-10-23',203043,10,2030,23,43,203010),('2030-10-24',203043,10,2030,24,43,203010),('2030-10-25',203043,10,2030,25,43,203010),('2030-10-26',203043,10,2030,26,43,203010),('2030-10-27',203044,10,2030,27,44,203010),('2030-10-28',203044,10,2030,28,44,203010),('2030-10-29',203044,10,2030,29,44,203010),('2030-10-30',203044,10,2030,30,44,203010),('2030-10-31',203044,10,2030,31,44,203010),('2030-11-01',203044,11,2030,1,44,203011),('2030-11-02',203044,11,2030,2,44,203011),('2030-11-03',203045,11,2030,3,45,203011),('2030-11-04',203045,11,2030,4,45,203011),('2030-11-05',203045,11,2030,5,45,203011),('2030-11-06',203045,11,2030,6,45,203011),('2030-11-07',203045,11,2030,7,45,203011),('2030-11-08',203045,11,2030,8,45,203011),('2030-11-09',203045,11,2030,9,45,203011),('2030-11-10',203046,11,2030,10,46,203011),('2030-11-11',203046,11,2030,11,46,203011),('2030-11-12',203046,11,2030,12,46,203011),('2030-11-13',203046,11,2030,13,46,203011),('2030-11-14',203046,11,2030,14,46,203011),('2030-11-15',203046,11,2030,15,46,203011),('2030-11-16',203046,11,2030,16,46,203011),('2030-11-17',203047,11,2030,17,47,203011),('2030-11-18',203047,11,2030,18,47,203011),('2030-11-19',203047,11,2030,19,47,203011),('2030-11-20',203047,11,2030,20,47,203011),('2030-11-21',203047,11,2030,21,47,203011),('2030-11-22',203047,11,2030,22,47,203011),('2030-11-23',203047,11,2030,23,47,203011),('2030-11-24',203048,11,2030,24,48,203011),('2030-11-25',203048,11,2030,25,48,203011),('2030-11-26',203048,11,2030,26,48,203011),('2030-11-27',203048,11,2030,27,48,203011),('2030-11-28',203048,11,2030,28,48,203011),('2030-11-29',203048,11,2030,29,48,203011),('2030-11-30',203048,11,2030,30,48,203011),('2030-12-01',203049,12,2030,1,49,203012),('2030-12-02',203049,12,2030,2,49,203012),('2030-12-03',203049,12,2030,3,49,203012),('2030-12-04',203049,12,2030,4,49,203012),('2030-12-05',203049,12,2030,5,49,203012),('2030-12-06',203049,12,2030,6,49,203012),('2030-12-07',203049,12,2030,7,49,203012),('2030-12-08',203050,12,2030,8,50,203012),('2030-12-09',203050,12,2030,9,50,203012),('2030-12-10',203050,12,2030,10,50,203012),('2030-12-11',203050,12,2030,11,50,203012),('2030-12-12',203050,12,2030,12,50,203012),('2030-12-13',203050,12,2030,13,50,203012),('2030-12-14',203050,12,2030,14,50,203012),('2030-12-15',203051,12,2030,15,51,203012),('2030-12-16',203051,12,2030,16,51,203012),('2030-12-17',203051,12,2030,17,51,203012),('2030-12-18',203051,12,2030,18,51,203012),('2030-12-19',203051,12,2030,19,51,203012),('2030-12-20',203051,12,2030,20,51,203012),('2030-12-21',203051,12,2030,21,51,203012),('2030-12-22',203052,12,2030,22,52,203012),('2030-12-23',203052,12,2030,23,52,203012),('2030-12-24',203052,12,2030,24,52,203012),('2030-12-25',203052,12,2030,25,52,203012),('2030-12-26',203052,12,2030,26,52,203012),('2030-12-27',203052,12,2030,27,52,203012),('2030-12-28',203052,12,2030,28,52,203012),('2030-12-29',203053,12,2030,29,1,203012),('2030-12-30',203001,12,2030,30,1,203012),('2030-12-31',203001,12,2030,31,1,203012),('2031-01-01',203101,1,2031,1,1,203101),('2031-01-02',203101,1,2031,2,1,203101),('2031-01-03',203101,1,2031,3,1,203101),('2031-01-04',203101,1,2031,4,1,203101),('2031-01-05',203102,1,2031,5,2,203101),('2031-01-06',203102,1,2031,6,2,203101),('2031-01-07',203102,1,2031,7,2,203101),('2031-01-08',203102,1,2031,8,2,203101),('2031-01-09',203102,1,2031,9,2,203101),('2031-01-10',203102,1,2031,10,2,203101),('2031-01-11',203102,1,2031,11,2,203101),('2031-01-12',203103,1,2031,12,3,203101),('2031-01-13',203103,1,2031,13,3,203101),('2031-01-14',203103,1,2031,14,3,203101),('2031-01-15',203103,1,2031,15,3,203101),('2031-01-16',203103,1,2031,16,3,203101),('2031-01-17',203103,1,2031,17,3,203101),('2031-01-18',203103,1,2031,18,3,203101),('2031-01-19',203104,1,2031,19,4,203101),('2031-01-20',203104,1,2031,20,4,203101),('2031-01-21',203104,1,2031,21,4,203101),('2031-01-22',203104,1,2031,22,4,203101),('2031-01-23',203104,1,2031,23,4,203101),('2031-01-24',203104,1,2031,24,4,203101),('2031-01-25',203104,1,2031,25,4,203101),('2031-01-26',203105,1,2031,26,5,203101),('2031-01-27',203105,1,2031,27,5,203101),('2031-01-28',203105,1,2031,28,5,203101),('2031-01-29',203105,1,2031,29,5,203101),('2031-01-30',203105,1,2031,30,5,203101),('2031-01-31',203105,1,2031,31,5,203101),('2031-02-01',203105,2,2031,1,5,203102),('2031-02-02',203106,2,2031,2,6,203102),('2031-02-03',203106,2,2031,3,6,203102),('2031-02-04',203106,2,2031,4,6,203102),('2031-02-05',203106,2,2031,5,6,203102),('2031-02-06',203106,2,2031,6,6,203102),('2031-02-07',203106,2,2031,7,6,203102),('2031-02-08',203106,2,2031,8,6,203102),('2031-02-09',203107,2,2031,9,7,203102),('2031-02-10',203107,2,2031,10,7,203102),('2031-02-11',203107,2,2031,11,7,203102),('2031-02-12',203107,2,2031,12,7,203102),('2031-02-13',203107,2,2031,13,7,203102),('2031-02-14',203107,2,2031,14,7,203102),('2031-02-15',203107,2,2031,15,7,203102),('2031-02-16',203108,2,2031,16,8,203102),('2031-02-17',203108,2,2031,17,8,203102),('2031-02-18',203108,2,2031,18,8,203102),('2031-02-19',203108,2,2031,19,8,203102),('2031-02-20',203108,2,2031,20,8,203102),('2031-02-21',203108,2,2031,21,8,203102),('2031-02-22',203108,2,2031,22,8,203102),('2031-02-23',203109,2,2031,23,9,203102),('2031-02-24',203109,2,2031,24,9,203102),('2031-02-25',203109,2,2031,25,9,203102),('2031-02-26',203109,2,2031,26,9,203102),('2031-02-27',203109,2,2031,27,9,203102),('2031-02-28',203109,2,2031,28,9,203102),('2031-03-01',203109,3,2031,1,9,203103),('2031-03-02',203110,3,2031,2,10,203103),('2031-03-03',203110,3,2031,3,10,203103),('2031-03-04',203110,3,2031,4,10,203103),('2031-03-05',203110,3,2031,5,10,203103),('2031-03-06',203110,3,2031,6,10,203103),('2031-03-07',203110,3,2031,7,10,203103),('2031-03-08',203110,3,2031,8,10,203103),('2031-03-09',203111,3,2031,9,11,203103),('2031-03-10',203111,3,2031,10,11,203103),('2031-03-11',203111,3,2031,11,11,203103),('2031-03-12',203111,3,2031,12,11,203103),('2031-03-13',203111,3,2031,13,11,203103),('2031-03-14',203111,3,2031,14,11,203103),('2031-03-15',203111,3,2031,15,11,203103),('2031-03-16',203112,3,2031,16,12,203103),('2031-03-17',203112,3,2031,17,12,203103),('2031-03-18',203112,3,2031,18,12,203103),('2031-03-19',203112,3,2031,19,12,203103),('2031-03-20',203112,3,2031,20,12,203103),('2031-03-21',203112,3,2031,21,12,203103),('2031-03-22',203112,3,2031,22,12,203103),('2031-03-23',203113,3,2031,23,13,203103),('2031-03-24',203113,3,2031,24,13,203103),('2031-03-25',203113,3,2031,25,13,203103),('2031-03-26',203113,3,2031,26,13,203103),('2031-03-27',203113,3,2031,27,13,203103),('2031-03-28',203113,3,2031,28,13,203103),('2031-03-29',203113,3,2031,29,13,203103),('2031-03-30',203114,3,2031,30,14,203103),('2031-03-31',203114,3,2031,31,14,203103),('2031-04-01',203114,4,2031,1,14,203104),('2031-04-02',203114,4,2031,2,14,203104),('2031-04-03',203114,4,2031,3,14,203104),('2031-04-04',203114,4,2031,4,14,203104),('2031-04-05',203114,4,2031,5,14,203104),('2031-04-06',203115,4,2031,6,15,203104),('2031-04-07',203115,4,2031,7,15,203104),('2031-04-08',203115,4,2031,8,15,203104),('2031-04-09',203115,4,2031,9,15,203104),('2031-04-10',203115,4,2031,10,15,203104),('2031-04-11',203115,4,2031,11,15,203104),('2031-04-12',203115,4,2031,12,15,203104),('2031-04-13',203116,4,2031,13,16,203104),('2031-04-14',203116,4,2031,14,16,203104),('2031-04-15',203116,4,2031,15,16,203104),('2031-04-16',203116,4,2031,16,16,203104),('2031-04-17',203116,4,2031,17,16,203104),('2031-04-18',203116,4,2031,18,16,203104),('2031-04-19',203116,4,2031,19,16,203104),('2031-04-20',203117,4,2031,20,17,203104),('2031-04-21',203117,4,2031,21,17,203104),('2031-04-22',203117,4,2031,22,17,203104),('2031-04-23',203117,4,2031,23,17,203104),('2031-04-24',203117,4,2031,24,17,203104),('2031-04-25',203117,4,2031,25,17,203104),('2031-04-26',203117,4,2031,26,17,203104),('2031-04-27',203118,4,2031,27,18,203104),('2031-04-28',203118,4,2031,28,18,203104),('2031-04-29',203118,4,2031,29,18,203104),('2031-04-30',203118,4,2031,30,18,203104),('2031-05-01',203118,5,2031,1,18,203105),('2031-05-02',203118,5,2031,2,18,203105),('2031-05-03',203118,5,2031,3,18,203105),('2031-05-04',203119,5,2031,4,19,203105),('2031-05-05',203119,5,2031,5,19,203105),('2031-05-06',203119,5,2031,6,19,203105),('2031-05-07',203119,5,2031,7,19,203105),('2031-05-08',203119,5,2031,8,19,203105),('2031-05-09',203119,5,2031,9,19,203105),('2031-05-10',203119,5,2031,10,19,203105),('2031-05-11',203120,5,2031,11,20,203105),('2031-05-12',203120,5,2031,12,20,203105),('2031-05-13',203120,5,2031,13,20,203105),('2031-05-14',203120,5,2031,14,20,203105),('2031-05-15',203120,5,2031,15,20,203105),('2031-05-16',203120,5,2031,16,20,203105),('2031-05-17',203120,5,2031,17,20,203105),('2031-05-18',203121,5,2031,18,21,203105),('2031-05-19',203121,5,2031,19,21,203105),('2031-05-20',203121,5,2031,20,21,203105),('2031-05-21',203121,5,2031,21,21,203105),('2031-05-22',203121,5,2031,22,21,203105),('2031-05-23',203121,5,2031,23,21,203105),('2031-05-24',203121,5,2031,24,21,203105),('2031-05-25',203122,5,2031,25,22,203105),('2031-05-26',203122,5,2031,26,22,203105),('2031-05-27',203122,5,2031,27,22,203105),('2031-05-28',203122,5,2031,28,22,203105),('2031-05-29',203122,5,2031,29,22,203105),('2031-05-30',203122,5,2031,30,22,203105),('2031-05-31',203122,5,2031,31,22,203105),('2031-06-01',203123,6,2031,1,23,203106),('2031-06-02',203123,6,2031,2,23,203106),('2031-06-03',203123,6,2031,3,23,203106),('2031-06-04',203123,6,2031,4,23,203106),('2031-06-05',203123,6,2031,5,23,203106),('2031-06-06',203123,6,2031,6,23,203106),('2031-06-07',203123,6,2031,7,23,203106),('2031-06-08',203124,6,2031,8,24,203106),('2031-06-09',203124,6,2031,9,24,203106),('2031-06-10',203124,6,2031,10,24,203106),('2031-06-11',203124,6,2031,11,24,203106),('2031-06-12',203124,6,2031,12,24,203106),('2031-06-13',203124,6,2031,13,24,203106),('2031-06-14',203124,6,2031,14,24,203106),('2031-06-15',203125,6,2031,15,25,203106),('2031-06-16',203125,6,2031,16,25,203106),('2031-06-17',203125,6,2031,17,25,203106),('2031-06-18',203125,6,2031,18,25,203106),('2031-06-19',203125,6,2031,19,25,203106),('2031-06-20',203125,6,2031,20,25,203106),('2031-06-21',203125,6,2031,21,25,203106),('2031-06-22',203126,6,2031,22,26,203106),('2031-06-23',203126,6,2031,23,26,203106),('2031-06-24',203126,6,2031,24,26,203106),('2031-06-25',203126,6,2031,25,26,203106),('2031-06-26',203126,6,2031,26,26,203106),('2031-06-27',203126,6,2031,27,26,203106),('2031-06-28',203126,6,2031,28,26,203106),('2031-06-29',203127,6,2031,29,27,203106),('2031-06-30',203127,6,2031,30,27,203106),('2031-07-01',203127,7,2031,1,27,203107),('2031-07-02',203127,7,2031,2,27,203107),('2031-07-03',203127,7,2031,3,27,203107),('2031-07-04',203127,7,2031,4,27,203107),('2031-07-05',203127,7,2031,5,27,203107),('2031-07-06',203128,7,2031,6,28,203107),('2031-07-07',203128,7,2031,7,28,203107),('2031-07-08',203128,7,2031,8,28,203107),('2031-07-09',203128,7,2031,9,28,203107),('2031-07-10',203128,7,2031,10,28,203107),('2031-07-11',203128,7,2031,11,28,203107),('2031-07-12',203128,7,2031,12,28,203107),('2031-07-13',203129,7,2031,13,29,203107),('2031-07-14',203129,7,2031,14,29,203107),('2031-07-15',203129,7,2031,15,29,203107),('2031-07-16',203129,7,2031,16,29,203107),('2031-07-17',203129,7,2031,17,29,203107),('2031-07-18',203129,7,2031,18,29,203107),('2031-07-19',203129,7,2031,19,29,203107),('2031-07-20',203130,7,2031,20,30,203107),('2031-07-21',203130,7,2031,21,30,203107),('2031-07-22',203130,7,2031,22,30,203107),('2031-07-23',203130,7,2031,23,30,203107),('2031-07-24',203130,7,2031,24,30,203107),('2031-07-25',203130,7,2031,25,30,203107),('2031-07-26',203130,7,2031,26,30,203107),('2031-07-27',203131,7,2031,27,31,203107),('2031-07-28',203131,7,2031,28,31,203107),('2031-07-29',203131,7,2031,29,31,203107),('2031-07-30',203131,7,2031,30,31,203107),('2031-07-31',203131,7,2031,31,31,203107),('2031-08-01',203131,8,2031,1,31,203108),('2031-08-02',203131,8,2031,2,31,203108),('2031-08-03',203132,8,2031,3,32,203108),('2031-08-04',203132,8,2031,4,32,203108),('2031-08-05',203132,8,2031,5,32,203108),('2031-08-06',203132,8,2031,6,32,203108),('2031-08-07',203132,8,2031,7,32,203108),('2031-08-08',203132,8,2031,8,32,203108),('2031-08-09',203132,8,2031,9,32,203108),('2031-08-10',203133,8,2031,10,33,203108),('2031-08-11',203133,8,2031,11,33,203108),('2031-08-12',203133,8,2031,12,33,203108),('2031-08-13',203133,8,2031,13,33,203108),('2031-08-14',203133,8,2031,14,33,203108),('2031-08-15',203133,8,2031,15,33,203108),('2031-08-16',203133,8,2031,16,33,203108),('2031-08-17',203134,8,2031,17,34,203108),('2031-08-18',203134,8,2031,18,34,203108),('2031-08-19',203134,8,2031,19,34,203108),('2031-08-20',203134,8,2031,20,34,203108),('2031-08-21',203134,8,2031,21,34,203108),('2031-08-22',203134,8,2031,22,34,203108),('2031-08-23',203134,8,2031,23,34,203108),('2031-08-24',203135,8,2031,24,35,203108),('2031-08-25',203135,8,2031,25,35,203108),('2031-08-26',203135,8,2031,26,35,203108),('2031-08-27',203135,8,2031,27,35,203108),('2031-08-28',203135,8,2031,28,35,203108),('2031-08-29',203135,8,2031,29,35,203108),('2031-08-30',203135,8,2031,30,35,203108),('2031-08-31',203136,8,2031,31,36,203108),('2031-09-01',203136,9,2031,1,36,203109),('2031-09-02',203136,9,2031,2,36,203109),('2031-09-03',203136,9,2031,3,36,203109),('2031-09-04',203136,9,2031,4,36,203109),('2031-09-05',203136,9,2031,5,36,203109),('2031-09-06',203136,9,2031,6,36,203109),('2031-09-07',203137,9,2031,7,37,203109),('2031-09-08',203137,9,2031,8,37,203109),('2031-09-09',203137,9,2031,9,37,203109),('2031-09-10',203137,9,2031,10,37,203109),('2031-09-11',203137,9,2031,11,37,203109),('2031-09-12',203137,9,2031,12,37,203109),('2031-09-13',203137,9,2031,13,37,203109),('2031-09-14',203138,9,2031,14,38,203109),('2031-09-15',203138,9,2031,15,38,203109),('2031-09-16',203138,9,2031,16,38,203109),('2031-09-17',203138,9,2031,17,38,203109),('2031-09-18',203138,9,2031,18,38,203109),('2031-09-19',203138,9,2031,19,38,203109),('2031-09-20',203138,9,2031,20,38,203109),('2031-09-21',203139,9,2031,21,39,203109),('2031-09-22',203139,9,2031,22,39,203109),('2031-09-23',203139,9,2031,23,39,203109),('2031-09-24',203139,9,2031,24,39,203109),('2031-09-25',203139,9,2031,25,39,203109),('2031-09-26',203139,9,2031,26,39,203109),('2031-09-27',203139,9,2031,27,39,203109),('2031-09-28',203140,9,2031,28,40,203109),('2031-09-29',203140,9,2031,29,40,203109),('2031-09-30',203140,9,2031,30,40,203109),('2031-10-01',203140,10,2031,1,40,203110),('2031-10-02',203140,10,2031,2,40,203110),('2031-10-03',203140,10,2031,3,40,203110),('2031-10-04',203140,10,2031,4,40,203110),('2031-10-05',203141,10,2031,5,41,203110),('2031-10-06',203141,10,2031,6,41,203110),('2031-10-07',203141,10,2031,7,41,203110),('2031-10-08',203141,10,2031,8,41,203110),('2031-10-09',203141,10,2031,9,41,203110),('2031-10-10',203141,10,2031,10,41,203110),('2031-10-11',203141,10,2031,11,41,203110),('2031-10-12',203142,10,2031,12,42,203110),('2031-10-13',203142,10,2031,13,42,203110),('2031-10-14',203142,10,2031,14,42,203110),('2031-10-15',203142,10,2031,15,42,203110),('2031-10-16',203142,10,2031,16,42,203110),('2031-10-17',203142,10,2031,17,42,203110),('2031-10-18',203142,10,2031,18,42,203110),('2031-10-19',203143,10,2031,19,43,203110),('2031-10-20',203143,10,2031,20,43,203110),('2031-10-21',203143,10,2031,21,43,203110),('2031-10-22',203143,10,2031,22,43,203110),('2031-10-23',203143,10,2031,23,43,203110),('2031-10-24',203143,10,2031,24,43,203110),('2031-10-25',203143,10,2031,25,43,203110),('2031-10-26',203144,10,2031,26,44,203110),('2031-10-27',203144,10,2031,27,44,203110),('2031-10-28',203144,10,2031,28,44,203110),('2031-10-29',203144,10,2031,29,44,203110),('2031-10-30',203144,10,2031,30,44,203110),('2031-10-31',203144,10,2031,31,44,203110),('2031-11-01',203144,11,2031,1,44,203111),('2031-11-02',203145,11,2031,2,45,203111),('2031-11-03',203145,11,2031,3,45,203111),('2031-11-04',203145,11,2031,4,45,203111),('2031-11-05',203145,11,2031,5,45,203111),('2031-11-06',203145,11,2031,6,45,203111),('2031-11-07',203145,11,2031,7,45,203111),('2031-11-08',203145,11,2031,8,45,203111),('2031-11-09',203146,11,2031,9,46,203111),('2031-11-10',203146,11,2031,10,46,203111),('2031-11-11',203146,11,2031,11,46,203111),('2031-11-12',203146,11,2031,12,46,203111),('2031-11-13',203146,11,2031,13,46,203111),('2031-11-14',203146,11,2031,14,46,203111),('2031-11-15',203146,11,2031,15,46,203111),('2031-11-16',203147,11,2031,16,47,203111),('2031-11-17',203147,11,2031,17,47,203111),('2031-11-18',203147,11,2031,18,47,203111),('2031-11-19',203147,11,2031,19,47,203111),('2031-11-20',203147,11,2031,20,47,203111),('2031-11-21',203147,11,2031,21,47,203111),('2031-11-22',203147,11,2031,22,47,203111),('2031-11-23',203148,11,2031,23,48,203111),('2031-11-24',203148,11,2031,24,48,203111),('2031-11-25',203148,11,2031,25,48,203111),('2031-11-26',203148,11,2031,26,48,203111),('2031-11-27',203148,11,2031,27,48,203111),('2031-11-28',203148,11,2031,28,48,203111),('2031-11-29',203148,11,2031,29,48,203111),('2031-11-30',203149,11,2031,30,49,203111),('2031-12-01',203149,12,2031,1,49,203112),('2031-12-02',203149,12,2031,2,49,203112),('2031-12-03',203149,12,2031,3,49,203112),('2031-12-04',203149,12,2031,4,49,203112),('2031-12-05',203149,12,2031,5,49,203112),('2031-12-06',203149,12,2031,6,49,203112),('2031-12-07',203150,12,2031,7,50,203112),('2031-12-08',203150,12,2031,8,50,203112),('2031-12-09',203150,12,2031,9,50,203112),('2031-12-10',203150,12,2031,10,50,203112),('2031-12-11',203150,12,2031,11,50,203112),('2031-12-12',203150,12,2031,12,50,203112),('2031-12-13',203150,12,2031,13,50,203112),('2031-12-14',203151,12,2031,14,51,203112),('2031-12-15',203151,12,2031,15,51,203112),('2031-12-16',203151,12,2031,16,51,203112),('2031-12-17',203151,12,2031,17,51,203112),('2031-12-18',203151,12,2031,18,51,203112),('2031-12-19',203151,12,2031,19,51,203112),('2031-12-20',203151,12,2031,20,51,203112),('2031-12-21',203152,12,2031,21,52,203112),('2031-12-22',203152,12,2031,22,52,203112),('2031-12-23',203152,12,2031,23,52,203112),('2031-12-24',203152,12,2031,24,52,203112),('2031-12-25',203152,12,2031,25,52,203112),('2031-12-26',203152,12,2031,26,52,203112),('2031-12-27',203152,12,2031,27,52,203112),('2031-12-28',203153,12,2031,28,53,203112),('2031-12-29',203101,12,2031,29,53,203112),('2031-12-30',203101,12,2031,30,53,203112),('2031-12-31',203101,12,2031,31,53,203112),('2032-01-01',203201,1,2032,1,53,203201),('2032-01-02',203201,1,2032,2,53,203201),('2032-01-03',203201,1,2032,3,53,203201),('2032-01-04',203202,1,2032,4,1,203201),('2032-01-05',203202,1,2032,5,1,203201),('2032-01-06',203202,1,2032,6,1,203201),('2032-01-07',203202,1,2032,7,1,203201),('2032-01-08',203202,1,2032,8,1,203201),('2032-01-09',203202,1,2032,9,1,203201),('2032-01-10',203202,1,2032,10,1,203201),('2032-01-11',203203,1,2032,11,2,203201),('2032-01-12',203203,1,2032,12,2,203201),('2032-01-13',203203,1,2032,13,2,203201),('2032-01-14',203203,1,2032,14,2,203201),('2032-01-15',203203,1,2032,15,2,203201),('2032-01-16',203203,1,2032,16,2,203201),('2032-01-17',203203,1,2032,17,2,203201),('2032-01-18',203204,1,2032,18,3,203201),('2032-01-19',203204,1,2032,19,3,203201),('2032-01-20',203204,1,2032,20,3,203201),('2032-01-21',203204,1,2032,21,3,203201),('2032-01-22',203204,1,2032,22,3,203201),('2032-01-23',203204,1,2032,23,3,203201),('2032-01-24',203204,1,2032,24,3,203201),('2032-01-25',203205,1,2032,25,4,203201),('2032-01-26',203205,1,2032,26,4,203201),('2032-01-27',203205,1,2032,27,4,203201),('2032-01-28',203205,1,2032,28,4,203201),('2032-01-29',203205,1,2032,29,4,203201),('2032-01-30',203205,1,2032,30,4,203201),('2032-01-31',203205,1,2032,31,4,203201),('2032-02-01',203206,2,2032,1,5,203202),('2032-02-02',203206,2,2032,2,5,203202),('2032-02-03',203206,2,2032,3,5,203202),('2032-02-04',203206,2,2032,4,5,203202),('2032-02-05',203206,2,2032,5,5,203202),('2032-02-06',203206,2,2032,6,5,203202),('2032-02-07',203206,2,2032,7,5,203202),('2032-02-08',203207,2,2032,8,6,203202),('2032-02-09',203207,2,2032,9,6,203202),('2032-02-10',203207,2,2032,10,6,203202),('2032-02-11',203207,2,2032,11,6,203202),('2032-02-12',203207,2,2032,12,6,203202),('2032-02-13',203207,2,2032,13,6,203202),('2032-02-14',203207,2,2032,14,6,203202),('2032-02-15',203208,2,2032,15,7,203202),('2032-02-16',203208,2,2032,16,7,203202),('2032-02-17',203208,2,2032,17,7,203202),('2032-02-18',203208,2,2032,18,7,203202),('2032-02-19',203208,2,2032,19,7,203202),('2032-02-20',203208,2,2032,20,7,203202),('2032-02-21',203208,2,2032,21,7,203202),('2032-02-22',203209,2,2032,22,8,203202),('2032-02-23',203209,2,2032,23,8,203202),('2032-02-24',203209,2,2032,24,8,203202),('2032-02-25',203209,2,2032,25,8,203202),('2032-02-26',203209,2,2032,26,8,203202),('2032-02-27',203209,2,2032,27,8,203202),('2032-02-28',203209,2,2032,28,8,203202),('2032-02-29',203210,2,2032,29,9,203202),('2032-03-01',203210,3,2032,1,9,203203),('2032-03-02',203210,3,2032,2,9,203203),('2032-03-03',203210,3,2032,3,9,203203),('2032-03-04',203210,3,2032,4,9,203203),('2032-03-05',203210,3,2032,5,9,203203),('2032-03-06',203210,3,2032,6,9,203203),('2032-03-07',203211,3,2032,7,10,203203),('2032-03-08',203211,3,2032,8,10,203203),('2032-03-09',203211,3,2032,9,10,203203),('2032-03-10',203211,3,2032,10,10,203203),('2032-03-11',203211,3,2032,11,10,203203),('2032-03-12',203211,3,2032,12,10,203203),('2032-03-13',203211,3,2032,13,10,203203),('2032-03-14',203212,3,2032,14,11,203203),('2032-03-15',203212,3,2032,15,11,203203),('2032-03-16',203212,3,2032,16,11,203203),('2032-03-17',203212,3,2032,17,11,203203),('2032-03-18',203212,3,2032,18,11,203203),('2032-03-19',203212,3,2032,19,11,203203),('2032-03-20',203212,3,2032,20,11,203203),('2032-03-21',203213,3,2032,21,12,203203),('2032-03-22',203213,3,2032,22,12,203203),('2032-03-23',203213,3,2032,23,12,203203),('2032-03-24',203213,3,2032,24,12,203203),('2032-03-25',203213,3,2032,25,12,203203),('2032-03-26',203213,3,2032,26,12,203203),('2032-03-27',203213,3,2032,27,12,203203),('2032-03-28',203214,3,2032,28,13,203203),('2032-03-29',203214,3,2032,29,13,203203),('2032-03-30',203214,3,2032,30,13,203203),('2032-03-31',203214,3,2032,31,13,203203),('2032-04-01',203214,4,2032,1,13,203204),('2032-04-02',203214,4,2032,2,13,203204),('2032-04-03',203214,4,2032,3,13,203204),('2032-04-04',203215,4,2032,4,14,203204),('2032-04-05',203215,4,2032,5,14,203204),('2032-04-06',203215,4,2032,6,14,203204),('2032-04-07',203215,4,2032,7,14,203204),('2032-04-08',203215,4,2032,8,14,203204),('2032-04-09',203215,4,2032,9,14,203204),('2032-04-10',203215,4,2032,10,14,203204),('2032-04-11',203216,4,2032,11,15,203204),('2032-04-12',203216,4,2032,12,15,203204),('2032-04-13',203216,4,2032,13,15,203204),('2032-04-14',203216,4,2032,14,15,203204),('2032-04-15',203216,4,2032,15,15,203204),('2032-04-16',203216,4,2032,16,15,203204),('2032-04-17',203216,4,2032,17,15,203204),('2032-04-18',203217,4,2032,18,16,203204),('2032-04-19',203217,4,2032,19,16,203204),('2032-04-20',203217,4,2032,20,16,203204),('2032-04-21',203217,4,2032,21,16,203204),('2032-04-22',203217,4,2032,22,16,203204),('2032-04-23',203217,4,2032,23,16,203204),('2032-04-24',203217,4,2032,24,16,203204),('2032-04-25',203218,4,2032,25,17,203204),('2032-04-26',203218,4,2032,26,17,203204),('2032-04-27',203218,4,2032,27,17,203204),('2032-04-28',203218,4,2032,28,17,203204),('2032-04-29',203218,4,2032,29,17,203204),('2032-04-30',203218,4,2032,30,17,203204),('2032-05-01',203218,5,2032,1,17,203205),('2032-05-02',203219,5,2032,2,18,203205),('2032-05-03',203219,5,2032,3,18,203205),('2032-05-04',203219,5,2032,4,18,203205),('2032-05-05',203219,5,2032,5,18,203205),('2032-05-06',203219,5,2032,6,18,203205),('2032-05-07',203219,5,2032,7,18,203205),('2032-05-08',203219,5,2032,8,18,203205),('2032-05-09',203220,5,2032,9,19,203205),('2032-05-10',203220,5,2032,10,19,203205),('2032-05-11',203220,5,2032,11,19,203205),('2032-05-12',203220,5,2032,12,19,203205),('2032-05-13',203220,5,2032,13,19,203205),('2032-05-14',203220,5,2032,14,19,203205),('2032-05-15',203220,5,2032,15,19,203205),('2032-05-16',203221,5,2032,16,20,203205),('2032-05-17',203221,5,2032,17,20,203205),('2032-05-18',203221,5,2032,18,20,203205),('2032-05-19',203221,5,2032,19,20,203205),('2032-05-20',203221,5,2032,20,20,203205),('2032-05-21',203221,5,2032,21,20,203205),('2032-05-22',203221,5,2032,22,20,203205),('2032-05-23',203222,5,2032,23,21,203205),('2032-05-24',203222,5,2032,24,21,203205),('2032-05-25',203222,5,2032,25,21,203205),('2032-05-26',203222,5,2032,26,21,203205),('2032-05-27',203222,5,2032,27,21,203205),('2032-05-28',203222,5,2032,28,21,203205),('2032-05-29',203222,5,2032,29,21,203205),('2032-05-30',203223,5,2032,30,22,203205),('2032-05-31',203223,5,2032,31,22,203205),('2032-06-01',203223,6,2032,1,22,203206),('2032-06-02',203223,6,2032,2,22,203206),('2032-06-03',203223,6,2032,3,22,203206),('2032-06-04',203223,6,2032,4,22,203206),('2032-06-05',203223,6,2032,5,22,203206),('2032-06-06',203224,6,2032,6,23,203206),('2032-06-07',203224,6,2032,7,23,203206),('2032-06-08',203224,6,2032,8,23,203206),('2032-06-09',203224,6,2032,9,23,203206),('2032-06-10',203224,6,2032,10,23,203206),('2032-06-11',203224,6,2032,11,23,203206),('2032-06-12',203224,6,2032,12,23,203206),('2032-06-13',203225,6,2032,13,24,203206),('2032-06-14',203225,6,2032,14,24,203206),('2032-06-15',203225,6,2032,15,24,203206),('2032-06-16',203225,6,2032,16,24,203206),('2032-06-17',203225,6,2032,17,24,203206),('2032-06-18',203225,6,2032,18,24,203206),('2032-06-19',203225,6,2032,19,24,203206),('2032-06-20',203226,6,2032,20,25,203206),('2032-06-21',203226,6,2032,21,25,203206),('2032-06-22',203226,6,2032,22,25,203206),('2032-06-23',203226,6,2032,23,25,203206),('2032-06-24',203226,6,2032,24,25,203206),('2032-06-25',203226,6,2032,25,25,203206),('2032-06-26',203226,6,2032,26,25,203206),('2032-06-27',203227,6,2032,27,26,203206),('2032-06-28',203227,6,2032,28,26,203206),('2032-06-29',203227,6,2032,29,26,203206),('2032-06-30',203227,6,2032,30,26,203206),('2032-07-01',203227,7,2032,1,26,203207),('2032-07-02',203227,7,2032,2,26,203207),('2032-07-03',203227,7,2032,3,26,203207),('2032-07-04',203228,7,2032,4,27,203207),('2032-07-05',203228,7,2032,5,27,203207),('2032-07-06',203228,7,2032,6,27,203207),('2032-07-07',203228,7,2032,7,27,203207),('2032-07-08',203228,7,2032,8,27,203207),('2032-07-09',203228,7,2032,9,27,203207),('2032-07-10',203228,7,2032,10,27,203207),('2032-07-11',203229,7,2032,11,28,203207),('2032-07-12',203229,7,2032,12,28,203207),('2032-07-13',203229,7,2032,13,28,203207),('2032-07-14',203229,7,2032,14,28,203207),('2032-07-15',203229,7,2032,15,28,203207),('2032-07-16',203229,7,2032,16,28,203207),('2032-07-17',203229,7,2032,17,28,203207),('2032-07-18',203230,7,2032,18,29,203207),('2032-07-19',203230,7,2032,19,29,203207),('2032-07-20',203230,7,2032,20,29,203207),('2032-07-21',203230,7,2032,21,29,203207),('2032-07-22',203230,7,2032,22,29,203207),('2032-07-23',203230,7,2032,23,29,203207),('2032-07-24',203230,7,2032,24,29,203207),('2032-07-25',203231,7,2032,25,30,203207),('2032-07-26',203231,7,2032,26,30,203207),('2032-07-27',203231,7,2032,27,30,203207),('2032-07-28',203231,7,2032,28,30,203207),('2032-07-29',203231,7,2032,29,30,203207),('2032-07-30',203231,7,2032,30,30,203207),('2032-07-31',203231,7,2032,31,30,203207),('2032-08-01',203232,8,2032,1,31,203208),('2032-08-02',203232,8,2032,2,31,203208),('2032-08-03',203232,8,2032,3,31,203208),('2032-08-04',203232,8,2032,4,31,203208),('2032-08-05',203232,8,2032,5,31,203208),('2032-08-06',203232,8,2032,6,31,203208),('2032-08-07',203232,8,2032,7,31,203208),('2032-08-08',203233,8,2032,8,32,203208),('2032-08-09',203233,8,2032,9,32,203208),('2032-08-10',203233,8,2032,10,32,203208),('2032-08-11',203233,8,2032,11,32,203208),('2032-08-12',203233,8,2032,12,32,203208),('2032-08-13',203233,8,2032,13,32,203208),('2032-08-14',203233,8,2032,14,32,203208),('2032-08-15',203234,8,2032,15,33,203208),('2032-08-16',203234,8,2032,16,33,203208),('2032-08-17',203234,8,2032,17,33,203208),('2032-08-18',203234,8,2032,18,33,203208),('2032-08-19',203234,8,2032,19,33,203208),('2032-08-20',203234,8,2032,20,33,203208),('2032-08-21',203234,8,2032,21,33,203208),('2032-08-22',203235,8,2032,22,34,203208),('2032-08-23',203235,8,2032,23,34,203208),('2032-08-24',203235,8,2032,24,34,203208),('2032-08-25',203235,8,2032,25,34,203208),('2032-08-26',203235,8,2032,26,34,203208),('2032-08-27',203235,8,2032,27,34,203208),('2032-08-28',203235,8,2032,28,34,203208),('2032-08-29',203236,8,2032,29,35,203208),('2032-08-30',203236,8,2032,30,35,203208),('2032-08-31',203236,8,2032,31,35,203208),('2032-09-01',203236,9,2032,1,35,203209),('2032-09-02',203236,9,2032,2,35,203209),('2032-09-03',203236,9,2032,3,35,203209),('2032-09-04',203236,9,2032,4,35,203209),('2032-09-05',203237,9,2032,5,36,203209),('2032-09-06',203237,9,2032,6,36,203209),('2032-09-07',203237,9,2032,7,36,203209),('2032-09-08',203237,9,2032,8,36,203209),('2032-09-09',203237,9,2032,9,36,203209),('2032-09-10',203237,9,2032,10,36,203209),('2032-09-11',203237,9,2032,11,36,203209),('2032-09-12',203238,9,2032,12,37,203209),('2032-09-13',203238,9,2032,13,37,203209),('2032-09-14',203238,9,2032,14,37,203209),('2032-09-15',203238,9,2032,15,37,203209),('2032-09-16',203238,9,2032,16,37,203209),('2032-09-17',203238,9,2032,17,37,203209),('2032-09-18',203238,9,2032,18,37,203209),('2032-09-19',203239,9,2032,19,38,203209),('2032-09-20',203239,9,2032,20,38,203209),('2032-09-21',203239,9,2032,21,38,203209),('2032-09-22',203239,9,2032,22,38,203209),('2032-09-23',203239,9,2032,23,38,203209),('2032-09-24',203239,9,2032,24,38,203209),('2032-09-25',203239,9,2032,25,38,203209),('2032-09-26',203240,9,2032,26,39,203209),('2032-09-27',203240,9,2032,27,39,203209),('2032-09-28',203240,9,2032,28,39,203209),('2032-09-29',203240,9,2032,29,39,203209),('2032-09-30',203240,9,2032,30,39,203209),('2032-10-01',203240,10,2032,1,39,203210),('2032-10-02',203240,10,2032,2,39,203210),('2032-10-03',203241,10,2032,3,40,203210),('2032-10-04',203241,10,2032,4,40,203210),('2032-10-05',203241,10,2032,5,40,203210),('2032-10-06',203241,10,2032,6,40,203210),('2032-10-07',203241,10,2032,7,40,203210),('2032-10-08',203241,10,2032,8,40,203210),('2032-10-09',203241,10,2032,9,40,203210),('2032-10-10',203242,10,2032,10,41,203210),('2032-10-11',203242,10,2032,11,41,203210),('2032-10-12',203242,10,2032,12,41,203210),('2032-10-13',203242,10,2032,13,41,203210),('2032-10-14',203242,10,2032,14,41,203210),('2032-10-15',203242,10,2032,15,41,203210),('2032-10-16',203242,10,2032,16,41,203210),('2032-10-17',203243,10,2032,17,42,203210),('2032-10-18',203243,10,2032,18,42,203210),('2032-10-19',203243,10,2032,19,42,203210),('2032-10-20',203243,10,2032,20,42,203210),('2032-10-21',203243,10,2032,21,42,203210),('2032-10-22',203243,10,2032,22,42,203210),('2032-10-23',203243,10,2032,23,42,203210),('2032-10-24',203244,10,2032,24,43,203210),('2032-10-25',203244,10,2032,25,43,203210),('2032-10-26',203244,10,2032,26,43,203210),('2032-10-27',203244,10,2032,27,43,203210),('2032-10-28',203244,10,2032,28,43,203210),('2032-10-29',203244,10,2032,29,43,203210),('2032-10-30',203244,10,2032,30,43,203210),('2032-10-31',203245,10,2032,31,44,203210),('2032-11-01',203245,11,2032,1,44,203211),('2032-11-02',203245,11,2032,2,44,203211),('2032-11-03',203245,11,2032,3,44,203211),('2032-11-04',203245,11,2032,4,44,203211),('2032-11-05',203245,11,2032,5,44,203211),('2032-11-06',203245,11,2032,6,44,203211),('2032-11-07',203246,11,2032,7,45,203211),('2032-11-08',203246,11,2032,8,45,203211),('2032-11-09',203246,11,2032,9,45,203211),('2032-11-10',203246,11,2032,10,45,203211),('2032-11-11',203246,11,2032,11,45,203211),('2032-11-12',203246,11,2032,12,45,203211),('2032-11-13',203246,11,2032,13,45,203211),('2032-11-14',203247,11,2032,14,46,203211),('2032-11-15',203247,11,2032,15,46,203211),('2032-11-16',203247,11,2032,16,46,203211),('2032-11-17',203247,11,2032,17,46,203211),('2032-11-18',203247,11,2032,18,46,203211),('2032-11-19',203247,11,2032,19,46,203211),('2032-11-20',203247,11,2032,20,46,203211),('2032-11-21',203248,11,2032,21,47,203211),('2032-11-22',203248,11,2032,22,47,203211),('2032-11-23',203248,11,2032,23,47,203211),('2032-11-24',203248,11,2032,24,47,203211),('2032-11-25',203248,11,2032,25,47,203211),('2032-11-26',203248,11,2032,26,47,203211),('2032-11-27',203248,11,2032,27,47,203211),('2032-11-28',203249,11,2032,28,48,203211),('2032-11-29',203249,11,2032,29,48,203211),('2032-11-30',203249,11,2032,30,48,203211),('2032-12-01',203249,12,2032,1,48,203212),('2032-12-02',203249,12,2032,2,48,203212),('2032-12-03',203249,12,2032,3,48,203212),('2032-12-04',203249,12,2032,4,48,203212),('2032-12-05',203250,12,2032,5,49,203212),('2032-12-06',203250,12,2032,6,49,203212),('2032-12-07',203250,12,2032,7,49,203212),('2032-12-08',203250,12,2032,8,49,203212),('2032-12-09',203250,12,2032,9,49,203212),('2032-12-10',203250,12,2032,10,49,203212),('2032-12-11',203250,12,2032,11,49,203212),('2032-12-12',203251,12,2032,12,50,203212),('2032-12-13',203251,12,2032,13,50,203212),('2032-12-14',203251,12,2032,14,50,203212),('2032-12-15',203251,12,2032,15,50,203212),('2032-12-16',203251,12,2032,16,50,203212),('2032-12-17',203251,12,2032,17,50,203212),('2032-12-18',203251,12,2032,18,50,203212),('2032-12-19',203252,12,2032,19,51,203212),('2032-12-20',203252,12,2032,20,51,203212),('2032-12-21',203252,12,2032,21,51,203212),('2032-12-22',203252,12,2032,22,51,203212),('2032-12-23',203252,12,2032,23,51,203212),('2032-12-24',203252,12,2032,24,51,203212),('2032-12-25',203252,12,2032,25,51,203212),('2032-12-26',203253,12,2032,26,52,203212),('2032-12-27',203253,12,2032,27,52,203212),('2032-12-28',203253,12,2032,28,52,203212),('2032-12-29',203253,12,2032,29,52,203212),('2032-12-30',203253,12,2032,30,52,203212),('2032-12-31',203253,12,2032,31,52,203212),('2033-01-01',203353,1,2033,1,52,203301),('2033-01-02',203354,1,2033,2,1,203301),('2033-01-03',203301,1,2033,3,1,203301),('2033-01-04',203301,1,2033,4,1,203301),('2033-01-05',203301,1,2033,5,1,203301),('2033-01-06',203301,1,2033,6,1,203301),('2033-01-07',203301,1,2033,7,1,203301),('2033-01-08',203301,1,2033,8,1,203301),('2033-01-09',203302,1,2033,9,2,203301),('2033-01-10',203302,1,2033,10,2,203301),('2033-01-11',203302,1,2033,11,2,203301),('2033-01-12',203302,1,2033,12,2,203301),('2033-01-13',203302,1,2033,13,2,203301),('2033-01-14',203302,1,2033,14,2,203301),('2033-01-15',203302,1,2033,15,2,203301),('2033-01-16',203303,1,2033,16,3,203301),('2033-01-17',203303,1,2033,17,3,203301),('2033-01-18',203303,1,2033,18,3,203301),('2033-01-19',203303,1,2033,19,3,203301),('2033-01-20',203303,1,2033,20,3,203301),('2033-01-21',203303,1,2033,21,3,203301),('2033-01-22',203303,1,2033,22,3,203301),('2033-01-23',203304,1,2033,23,4,203301),('2033-01-24',203304,1,2033,24,4,203301),('2033-01-25',203304,1,2033,25,4,203301),('2033-01-26',203304,1,2033,26,4,203301),('2033-01-27',203304,1,2033,27,4,203301),('2033-01-28',203304,1,2033,28,4,203301),('2033-01-29',203304,1,2033,29,4,203301),('2033-01-30',203305,1,2033,30,5,203301),('2033-01-31',203305,1,2033,31,5,203301),('2033-02-01',203305,2,2033,1,5,203302),('2033-02-02',203305,2,2033,2,5,203302),('2033-02-03',203305,2,2033,3,5,203302),('2033-02-04',203305,2,2033,4,5,203302),('2033-02-05',203305,2,2033,5,5,203302),('2033-02-06',203306,2,2033,6,6,203302),('2033-02-07',203306,2,2033,7,6,203302),('2033-02-08',203306,2,2033,8,6,203302),('2033-02-09',203306,2,2033,9,6,203302),('2033-02-10',203306,2,2033,10,6,203302),('2033-02-11',203306,2,2033,11,6,203302),('2033-02-12',203306,2,2033,12,6,203302),('2033-02-13',203307,2,2033,13,7,203302),('2033-02-14',203307,2,2033,14,7,203302),('2033-02-15',203307,2,2033,15,7,203302),('2033-02-16',203307,2,2033,16,7,203302),('2033-02-17',203307,2,2033,17,7,203302),('2033-02-18',203307,2,2033,18,7,203302),('2033-02-19',203307,2,2033,19,7,203302),('2033-02-20',203308,2,2033,20,8,203302),('2033-02-21',203308,2,2033,21,8,203302),('2033-02-22',203308,2,2033,22,8,203302),('2033-02-23',203308,2,2033,23,8,203302),('2033-02-24',203308,2,2033,24,8,203302),('2033-02-25',203308,2,2033,25,8,203302),('2033-02-26',203308,2,2033,26,8,203302),('2033-02-27',203309,2,2033,27,9,203302),('2033-02-28',203309,2,2033,28,9,203302),('2033-03-01',203309,3,2033,1,9,203303),('2033-03-02',203309,3,2033,2,9,203303),('2033-03-03',203309,3,2033,3,9,203303),('2033-03-04',203309,3,2033,4,9,203303),('2033-03-05',203309,3,2033,5,9,203303),('2033-03-06',203310,3,2033,6,10,203303),('2033-03-07',203310,3,2033,7,10,203303),('2033-03-08',203310,3,2033,8,10,203303),('2033-03-09',203310,3,2033,9,10,203303),('2033-03-10',203310,3,2033,10,10,203303),('2033-03-11',203310,3,2033,11,10,203303),('2033-03-12',203310,3,2033,12,10,203303),('2033-03-13',203311,3,2033,13,11,203303),('2033-03-14',203311,3,2033,14,11,203303),('2033-03-15',203311,3,2033,15,11,203303),('2033-03-16',203311,3,2033,16,11,203303),('2033-03-17',203311,3,2033,17,11,203303),('2033-03-18',203311,3,2033,18,11,203303),('2033-03-19',203311,3,2033,19,11,203303),('2033-03-20',203312,3,2033,20,12,203303),('2033-03-21',203312,3,2033,21,12,203303),('2033-03-22',203312,3,2033,22,12,203303),('2033-03-23',203312,3,2033,23,12,203303),('2033-03-24',203312,3,2033,24,12,203303),('2033-03-25',203312,3,2033,25,12,203303),('2033-03-26',203312,3,2033,26,12,203303),('2033-03-27',203313,3,2033,27,13,203303),('2033-03-28',203313,3,2033,28,13,203303),('2033-03-29',203313,3,2033,29,13,203303),('2033-03-30',203313,3,2033,30,13,203303),('2033-03-31',203313,3,2033,31,13,203303),('2033-04-01',203313,4,2033,1,13,203304),('2033-04-02',203313,4,2033,2,13,203304),('2033-04-03',203314,4,2033,3,14,203304),('2033-04-04',203314,4,2033,4,14,203304),('2033-04-05',203314,4,2033,5,14,203304),('2033-04-06',203314,4,2033,6,14,203304),('2033-04-07',203314,4,2033,7,14,203304),('2033-04-08',203314,4,2033,8,14,203304),('2033-04-09',203314,4,2033,9,14,203304),('2033-04-10',203315,4,2033,10,15,203304),('2033-04-11',203315,4,2033,11,15,203304),('2033-04-12',203315,4,2033,12,15,203304),('2033-04-13',203315,4,2033,13,15,203304),('2033-04-14',203315,4,2033,14,15,203304),('2033-04-15',203315,4,2033,15,15,203304),('2033-04-16',203315,4,2033,16,15,203304),('2033-04-17',203316,4,2033,17,16,203304),('2033-04-18',203316,4,2033,18,16,203304),('2033-04-19',203316,4,2033,19,16,203304),('2033-04-20',203316,4,2033,20,16,203304),('2033-04-21',203316,4,2033,21,16,203304),('2033-04-22',203316,4,2033,22,16,203304),('2033-04-23',203316,4,2033,23,16,203304),('2033-04-24',203317,4,2033,24,17,203304),('2033-04-25',203317,4,2033,25,17,203304),('2033-04-26',203317,4,2033,26,17,203304),('2033-04-27',203317,4,2033,27,17,203304),('2033-04-28',203317,4,2033,28,17,203304),('2033-04-29',203317,4,2033,29,17,203304),('2033-04-30',203317,4,2033,30,17,203304),('2033-05-01',203318,5,2033,1,18,203305),('2033-05-02',203318,5,2033,2,18,203305),('2033-05-03',203318,5,2033,3,18,203305),('2033-05-04',203318,5,2033,4,18,203305),('2033-05-05',203318,5,2033,5,18,203305),('2033-05-06',203318,5,2033,6,18,203305),('2033-05-07',203318,5,2033,7,18,203305),('2033-05-08',203319,5,2033,8,19,203305),('2033-05-09',203319,5,2033,9,19,203305),('2033-05-10',203319,5,2033,10,19,203305),('2033-05-11',203319,5,2033,11,19,203305),('2033-05-12',203319,5,2033,12,19,203305),('2033-05-13',203319,5,2033,13,19,203305),('2033-05-14',203319,5,2033,14,19,203305),('2033-05-15',203320,5,2033,15,20,203305),('2033-05-16',203320,5,2033,16,20,203305),('2033-05-17',203320,5,2033,17,20,203305),('2033-05-18',203320,5,2033,18,20,203305),('2033-05-19',203320,5,2033,19,20,203305),('2033-05-20',203320,5,2033,20,20,203305),('2033-05-21',203320,5,2033,21,20,203305),('2033-05-22',203321,5,2033,22,21,203305),('2033-05-23',203321,5,2033,23,21,203305),('2033-05-24',203321,5,2033,24,21,203305),('2033-05-25',203321,5,2033,25,21,203305),('2033-05-26',203321,5,2033,26,21,203305),('2033-05-27',203321,5,2033,27,21,203305),('2033-05-28',203321,5,2033,28,21,203305),('2033-05-29',203322,5,2033,29,22,203305),('2033-05-30',203322,5,2033,30,22,203305),('2033-05-31',203322,5,2033,31,22,203305),('2033-06-01',203322,6,2033,1,22,203306),('2033-06-02',203322,6,2033,2,22,203306),('2033-06-03',203322,6,2033,3,22,203306),('2033-06-04',203322,6,2033,4,22,203306),('2033-06-05',203323,6,2033,5,23,203306),('2033-06-06',203323,6,2033,6,23,203306),('2033-06-07',203323,6,2033,7,23,203306),('2033-06-08',203323,6,2033,8,23,203306),('2033-06-09',203323,6,2033,9,23,203306),('2033-06-10',203323,6,2033,10,23,203306),('2033-06-11',203323,6,2033,11,23,203306),('2033-06-12',203324,6,2033,12,24,203306),('2033-06-13',203324,6,2033,13,24,203306),('2033-06-14',203324,6,2033,14,24,203306),('2033-06-15',203324,6,2033,15,24,203306),('2033-06-16',203324,6,2033,16,24,203306),('2033-06-17',203324,6,2033,17,24,203306),('2033-06-18',203324,6,2033,18,24,203306),('2033-06-19',203325,6,2033,19,25,203306),('2033-06-20',203325,6,2033,20,25,203306),('2033-06-21',203325,6,2033,21,25,203306),('2033-06-22',203325,6,2033,22,25,203306),('2033-06-23',203325,6,2033,23,25,203306),('2033-06-24',203325,6,2033,24,25,203306),('2033-06-25',203325,6,2033,25,25,203306),('2033-06-26',203326,6,2033,26,26,203306),('2033-06-27',203326,6,2033,27,26,203306),('2033-06-28',203326,6,2033,28,26,203306),('2033-06-29',203326,6,2033,29,26,203306),('2033-06-30',203326,6,2033,30,26,203306),('2033-07-01',203326,7,2033,1,26,203307),('2033-07-02',203326,7,2033,2,26,203307),('2033-07-03',203327,7,2033,3,27,203307),('2033-07-04',203327,7,2033,4,27,203307),('2033-07-05',203327,7,2033,5,27,203307),('2033-07-06',203327,7,2033,6,27,203307),('2033-07-07',203327,7,2033,7,27,203307),('2033-07-08',203327,7,2033,8,27,203307),('2033-07-09',203327,7,2033,9,27,203307),('2033-07-10',203328,7,2033,10,28,203307),('2033-07-11',203328,7,2033,11,28,203307),('2033-07-12',203328,7,2033,12,28,203307),('2033-07-13',203328,7,2033,13,28,203307),('2033-07-14',203328,7,2033,14,28,203307),('2033-07-15',203328,7,2033,15,28,203307),('2033-07-16',203328,7,2033,16,28,203307),('2033-07-17',203329,7,2033,17,29,203307),('2033-07-18',203329,7,2033,18,29,203307),('2033-07-19',203329,7,2033,19,29,203307),('2033-07-20',203329,7,2033,20,29,203307),('2033-07-21',203329,7,2033,21,29,203307),('2033-07-22',203329,7,2033,22,29,203307),('2033-07-23',203329,7,2033,23,29,203307),('2033-07-24',203330,7,2033,24,30,203307),('2033-07-25',203330,7,2033,25,30,203307),('2033-07-26',203330,7,2033,26,30,203307),('2033-07-27',203330,7,2033,27,30,203307),('2033-07-28',203330,7,2033,28,30,203307),('2033-07-29',203330,7,2033,29,30,203307),('2033-07-30',203330,7,2033,30,30,203307),('2033-07-31',203331,7,2033,31,31,203307),('2033-08-01',203331,8,2033,1,31,203308),('2033-08-02',203331,8,2033,2,31,203308),('2033-08-03',203331,8,2033,3,31,203308),('2033-08-04',203331,8,2033,4,31,203308),('2033-08-05',203331,8,2033,5,31,203308),('2033-08-06',203331,8,2033,6,31,203308),('2033-08-07',203332,8,2033,7,32,203308),('2033-08-08',203332,8,2033,8,32,203308),('2033-08-09',203332,8,2033,9,32,203308),('2033-08-10',203332,8,2033,10,32,203308),('2033-08-11',203332,8,2033,11,32,203308),('2033-08-12',203332,8,2033,12,32,203308),('2033-08-13',203332,8,2033,13,32,203308),('2033-08-14',203333,8,2033,14,33,203308),('2033-08-15',203333,8,2033,15,33,203308),('2033-08-16',203333,8,2033,16,33,203308),('2033-08-17',203333,8,2033,17,33,203308),('2033-08-18',203333,8,2033,18,33,203308),('2033-08-19',203333,8,2033,19,33,203308),('2033-08-20',203333,8,2033,20,33,203308),('2033-08-21',203334,8,2033,21,34,203308),('2033-08-22',203334,8,2033,22,34,203308),('2033-08-23',203334,8,2033,23,34,203308),('2033-08-24',203334,8,2033,24,34,203308),('2033-08-25',203334,8,2033,25,34,203308),('2033-08-26',203334,8,2033,26,34,203308),('2033-08-27',203334,8,2033,27,34,203308),('2033-08-28',203335,8,2033,28,35,203308),('2033-08-29',203335,8,2033,29,35,203308),('2033-08-30',203335,8,2033,30,35,203308),('2033-08-31',203335,8,2033,31,35,203308),('2033-09-01',203335,9,2033,1,35,203309),('2033-09-02',203335,9,2033,2,35,203309),('2033-09-03',203335,9,2033,3,35,203309),('2033-09-04',203336,9,2033,4,36,203309),('2033-09-05',203336,9,2033,5,36,203309),('2033-09-06',203336,9,2033,6,36,203309),('2033-09-07',203336,9,2033,7,36,203309),('2033-09-08',203336,9,2033,8,36,203309),('2033-09-09',203336,9,2033,9,36,203309),('2033-09-10',203336,9,2033,10,36,203309),('2033-09-11',203337,9,2033,11,37,203309),('2033-09-12',203337,9,2033,12,37,203309),('2033-09-13',203337,9,2033,13,37,203309),('2033-09-14',203337,9,2033,14,37,203309),('2033-09-15',203337,9,2033,15,37,203309),('2033-09-16',203337,9,2033,16,37,203309),('2033-09-17',203337,9,2033,17,37,203309),('2033-09-18',203338,9,2033,18,38,203309),('2033-09-19',203338,9,2033,19,38,203309),('2033-09-20',203338,9,2033,20,38,203309),('2033-09-21',203338,9,2033,21,38,203309),('2033-09-22',203338,9,2033,22,38,203309),('2033-09-23',203338,9,2033,23,38,203309),('2033-09-24',203338,9,2033,24,38,203309),('2033-09-25',203339,9,2033,25,39,203309),('2033-09-26',203339,9,2033,26,39,203309),('2033-09-27',203339,9,2033,27,39,203309),('2033-09-28',203339,9,2033,28,39,203309),('2033-09-29',203339,9,2033,29,39,203309),('2033-09-30',203339,9,2033,30,39,203309),('2033-10-01',203339,10,2033,1,39,203310),('2033-10-02',203340,10,2033,2,40,203310),('2033-10-03',203340,10,2033,3,40,203310),('2033-10-04',203340,10,2033,4,40,203310),('2033-10-05',203340,10,2033,5,40,203310),('2033-10-06',203340,10,2033,6,40,203310),('2033-10-07',203340,10,2033,7,40,203310),('2033-10-08',203340,10,2033,8,40,203310),('2033-10-09',203341,10,2033,9,41,203310),('2033-10-10',203341,10,2033,10,41,203310),('2033-10-11',203341,10,2033,11,41,203310),('2033-10-12',203341,10,2033,12,41,203310),('2033-10-13',203341,10,2033,13,41,203310),('2033-10-14',203341,10,2033,14,41,203310),('2033-10-15',203341,10,2033,15,41,203310),('2033-10-16',203342,10,2033,16,42,203310),('2033-10-17',203342,10,2033,17,42,203310),('2033-10-18',203342,10,2033,18,42,203310),('2033-10-19',203342,10,2033,19,42,203310),('2033-10-20',203342,10,2033,20,42,203310),('2033-10-21',203342,10,2033,21,42,203310),('2033-10-22',203342,10,2033,22,42,203310),('2033-10-23',203343,10,2033,23,43,203310),('2033-10-24',203343,10,2033,24,43,203310),('2033-10-25',203343,10,2033,25,43,203310),('2033-10-26',203343,10,2033,26,43,203310),('2033-10-27',203343,10,2033,27,43,203310),('2033-10-28',203343,10,2033,28,43,203310),('2033-10-29',203343,10,2033,29,43,203310),('2033-10-30',203344,10,2033,30,44,203310),('2033-10-31',203344,10,2033,31,44,203310),('2033-11-01',203344,11,2033,1,44,203311),('2033-11-02',203344,11,2033,2,44,203311),('2033-11-03',203344,11,2033,3,44,203311),('2033-11-04',203344,11,2033,4,44,203311),('2033-11-05',203344,11,2033,5,44,203311),('2033-11-06',203345,11,2033,6,45,203311),('2033-11-07',203345,11,2033,7,45,203311),('2033-11-08',203345,11,2033,8,45,203311),('2033-11-09',203345,11,2033,9,45,203311),('2033-11-10',203345,11,2033,10,45,203311),('2033-11-11',203345,11,2033,11,45,203311),('2033-11-12',203345,11,2033,12,45,203311),('2033-11-13',203346,11,2033,13,46,203311),('2033-11-14',203346,11,2033,14,46,203311),('2033-11-15',203346,11,2033,15,46,203311),('2033-11-16',203346,11,2033,16,46,203311),('2033-11-17',203346,11,2033,17,46,203311),('2033-11-18',203346,11,2033,18,46,203311),('2033-11-19',203346,11,2033,19,46,203311),('2033-11-20',203347,11,2033,20,47,203311),('2033-11-21',203347,11,2033,21,47,203311),('2033-11-22',203347,11,2033,22,47,203311),('2033-11-23',203347,11,2033,23,47,203311),('2033-11-24',203347,11,2033,24,47,203311),('2033-11-25',203347,11,2033,25,47,203311),('2033-11-26',203347,11,2033,26,47,203311),('2033-11-27',203348,11,2033,27,48,203311),('2033-11-28',203348,11,2033,28,48,203311),('2033-11-29',203348,11,2033,29,48,203311),('2033-11-30',203348,11,2033,30,48,203311),('2033-12-01',203348,12,2033,1,48,203312),('2033-12-02',203348,12,2033,2,48,203312),('2033-12-03',203348,12,2033,3,48,203312),('2033-12-04',203349,12,2033,4,49,203312),('2033-12-05',203349,12,2033,5,49,203312),('2033-12-06',203349,12,2033,6,49,203312),('2033-12-07',203349,12,2033,7,49,203312),('2033-12-08',203349,12,2033,8,49,203312),('2033-12-09',203349,12,2033,9,49,203312),('2033-12-10',203349,12,2033,10,49,203312),('2033-12-11',203350,12,2033,11,50,203312),('2033-12-12',203350,12,2033,12,50,203312),('2033-12-13',203350,12,2033,13,50,203312),('2033-12-14',203350,12,2033,14,50,203312),('2033-12-15',203350,12,2033,15,50,203312),('2033-12-16',203350,12,2033,16,50,203312),('2033-12-17',203350,12,2033,17,50,203312),('2033-12-18',203351,12,2033,18,51,203312),('2033-12-19',203351,12,2033,19,51,203312),('2033-12-20',203351,12,2033,20,51,203312),('2033-12-21',203351,12,2033,21,51,203312),('2033-12-22',203351,12,2033,22,51,203312),('2033-12-23',203351,12,2033,23,51,203312),('2033-12-24',203351,12,2033,24,51,203312),('2033-12-25',203352,12,2033,25,52,203312),('2033-12-26',203352,12,2033,26,52,203312),('2033-12-27',203352,12,2033,27,52,203312),('2033-12-28',203352,12,2033,28,52,203312),('2033-12-29',203352,12,2033,29,52,203312),('2033-12-30',203352,12,2033,30,52,203312),('2033-12-31',203352,12,2033,31,52,203312),('2034-01-01',203453,1,2034,1,1,203401),('2034-01-02',203401,1,2034,2,1,203401),('2034-01-03',203401,1,2034,3,1,203401),('2034-01-04',203401,1,2034,4,1,203401),('2034-01-05',203401,1,2034,5,1,203401),('2034-01-06',203401,1,2034,6,1,203401),('2034-01-07',203401,1,2034,7,1,203401),('2034-01-08',203402,1,2034,8,2,203401),('2034-01-09',203402,1,2034,9,2,203401),('2034-01-10',203402,1,2034,10,2,203401),('2034-01-11',203402,1,2034,11,2,203401),('2034-01-12',203402,1,2034,12,2,203401),('2034-01-13',203402,1,2034,13,2,203401),('2034-01-14',203402,1,2034,14,2,203401),('2034-01-15',203403,1,2034,15,3,203401),('2034-01-16',203403,1,2034,16,3,203401),('2034-01-17',203403,1,2034,17,3,203401),('2034-01-18',203403,1,2034,18,3,203401),('2034-01-19',203403,1,2034,19,3,203401),('2034-01-20',203403,1,2034,20,3,203401),('2034-01-21',203403,1,2034,21,3,203401),('2034-01-22',203404,1,2034,22,4,203401),('2034-01-23',203404,1,2034,23,4,203401),('2034-01-24',203404,1,2034,24,4,203401),('2034-01-25',203404,1,2034,25,4,203401),('2034-01-26',203404,1,2034,26,4,203401),('2034-01-27',203404,1,2034,27,4,203401),('2034-01-28',203404,1,2034,28,4,203401),('2034-01-29',203405,1,2034,29,5,203401),('2034-01-30',203405,1,2034,30,5,203401),('2034-01-31',203405,1,2034,31,5,203401),('2034-02-01',203405,2,2034,1,5,203402),('2034-02-02',203405,2,2034,2,5,203402),('2034-02-03',203405,2,2034,3,5,203402),('2034-02-04',203405,2,2034,4,5,203402),('2034-02-05',203406,2,2034,5,6,203402),('2034-02-06',203406,2,2034,6,6,203402),('2034-02-07',203406,2,2034,7,6,203402),('2034-02-08',203406,2,2034,8,6,203402),('2034-02-09',203406,2,2034,9,6,203402),('2034-02-10',203406,2,2034,10,6,203402),('2034-02-11',203406,2,2034,11,6,203402),('2034-02-12',203407,2,2034,12,7,203402),('2034-02-13',203407,2,2034,13,7,203402),('2034-02-14',203407,2,2034,14,7,203402),('2034-02-15',203407,2,2034,15,7,203402),('2034-02-16',203407,2,2034,16,7,203402),('2034-02-17',203407,2,2034,17,7,203402),('2034-02-18',203407,2,2034,18,7,203402),('2034-02-19',203408,2,2034,19,8,203402),('2034-02-20',203408,2,2034,20,8,203402),('2034-02-21',203408,2,2034,21,8,203402),('2034-02-22',203408,2,2034,22,8,203402),('2034-02-23',203408,2,2034,23,8,203402),('2034-02-24',203408,2,2034,24,8,203402),('2034-02-25',203408,2,2034,25,8,203402),('2034-02-26',203409,2,2034,26,9,203402),('2034-02-27',203409,2,2034,27,9,203402),('2034-02-28',203409,2,2034,28,9,203402),('2034-03-01',203409,3,2034,1,9,203403),('2034-03-02',203409,3,2034,2,9,203403),('2034-03-03',203409,3,2034,3,9,203403),('2034-03-04',203409,3,2034,4,9,203403),('2034-03-05',203410,3,2034,5,10,203403),('2034-03-06',203410,3,2034,6,10,203403),('2034-03-07',203410,3,2034,7,10,203403),('2034-03-08',203410,3,2034,8,10,203403),('2034-03-09',203410,3,2034,9,10,203403),('2034-03-10',203410,3,2034,10,10,203403),('2034-03-11',203410,3,2034,11,10,203403),('2034-03-12',203411,3,2034,12,11,203403),('2034-03-13',203411,3,2034,13,11,203403),('2034-03-14',203411,3,2034,14,11,203403),('2034-03-15',203411,3,2034,15,11,203403),('2034-03-16',203411,3,2034,16,11,203403),('2034-03-17',203411,3,2034,17,11,203403),('2034-03-18',203411,3,2034,18,11,203403),('2034-03-19',203412,3,2034,19,12,203403),('2034-03-20',203412,3,2034,20,12,203403),('2034-03-21',203412,3,2034,21,12,203403),('2034-03-22',203412,3,2034,22,12,203403),('2034-03-23',203412,3,2034,23,12,203403),('2034-03-24',203412,3,2034,24,12,203403),('2034-03-25',203412,3,2034,25,12,203403),('2034-03-26',203413,3,2034,26,13,203403),('2034-03-27',203413,3,2034,27,13,203403),('2034-03-28',203413,3,2034,28,13,203403),('2034-03-29',203413,3,2034,29,13,203403),('2034-03-30',203413,3,2034,30,13,203403),('2034-03-31',203413,3,2034,31,13,203403),('2034-04-01',203413,4,2034,1,13,203404),('2034-04-02',203414,4,2034,2,14,203404),('2034-04-03',203414,4,2034,3,14,203404),('2034-04-04',203414,4,2034,4,14,203404),('2034-04-05',203414,4,2034,5,14,203404),('2034-04-06',203414,4,2034,6,14,203404),('2034-04-07',203414,4,2034,7,14,203404),('2034-04-08',203414,4,2034,8,14,203404),('2034-04-09',203415,4,2034,9,15,203404),('2034-04-10',203415,4,2034,10,15,203404),('2034-04-11',203415,4,2034,11,15,203404),('2034-04-12',203415,4,2034,12,15,203404),('2034-04-13',203415,4,2034,13,15,203404),('2034-04-14',203415,4,2034,14,15,203404),('2034-04-15',203415,4,2034,15,15,203404),('2034-04-16',203416,4,2034,16,16,203404),('2034-04-17',203416,4,2034,17,16,203404),('2034-04-18',203416,4,2034,18,16,203404),('2034-04-19',203416,4,2034,19,16,203404),('2034-04-20',203416,4,2034,20,16,203404),('2034-04-21',203416,4,2034,21,16,203404),('2034-04-22',203416,4,2034,22,16,203404),('2034-04-23',203417,4,2034,23,17,203404),('2034-04-24',203417,4,2034,24,17,203404),('2034-04-25',203417,4,2034,25,17,203404),('2034-04-26',203417,4,2034,26,17,203404),('2034-04-27',203417,4,2034,27,17,203404),('2034-04-28',203417,4,2034,28,17,203404),('2034-04-29',203417,4,2034,29,17,203404),('2034-04-30',203418,4,2034,30,18,203404),('2034-05-01',203418,5,2034,1,18,203405),('2034-05-02',203418,5,2034,2,18,203405),('2034-05-03',203418,5,2034,3,18,203405),('2034-05-04',203418,5,2034,4,18,203405),('2034-05-05',203418,5,2034,5,18,203405),('2034-05-06',203418,5,2034,6,18,203405),('2034-05-07',203419,5,2034,7,19,203405),('2034-05-08',203419,5,2034,8,19,203405),('2034-05-09',203419,5,2034,9,19,203405),('2034-05-10',203419,5,2034,10,19,203405),('2034-05-11',203419,5,2034,11,19,203405),('2034-05-12',203419,5,2034,12,19,203405),('2034-05-13',203419,5,2034,13,19,203405),('2034-05-14',203420,5,2034,14,20,203405),('2034-05-15',203420,5,2034,15,20,203405),('2034-05-16',203420,5,2034,16,20,203405),('2034-05-17',203420,5,2034,17,20,203405),('2034-05-18',203420,5,2034,18,20,203405),('2034-05-19',203420,5,2034,19,20,203405),('2034-05-20',203420,5,2034,20,20,203405),('2034-05-21',203421,5,2034,21,21,203405),('2034-05-22',203421,5,2034,22,21,203405),('2034-05-23',203421,5,2034,23,21,203405),('2034-05-24',203421,5,2034,24,21,203405),('2034-05-25',203421,5,2034,25,21,203405),('2034-05-26',203421,5,2034,26,21,203405),('2034-05-27',203421,5,2034,27,21,203405),('2034-05-28',203422,5,2034,28,22,203405),('2034-05-29',203422,5,2034,29,22,203405),('2034-05-30',203422,5,2034,30,22,203405),('2034-05-31',203422,5,2034,31,22,203405),('2034-06-01',203422,6,2034,1,22,203406),('2034-06-02',203422,6,2034,2,22,203406),('2034-06-03',203422,6,2034,3,22,203406),('2034-06-04',203423,6,2034,4,23,203406),('2034-06-05',203423,6,2034,5,23,203406),('2034-06-06',203423,6,2034,6,23,203406),('2034-06-07',203423,6,2034,7,23,203406),('2034-06-08',203423,6,2034,8,23,203406),('2034-06-09',203423,6,2034,9,23,203406),('2034-06-10',203423,6,2034,10,23,203406),('2034-06-11',203424,6,2034,11,24,203406),('2034-06-12',203424,6,2034,12,24,203406),('2034-06-13',203424,6,2034,13,24,203406),('2034-06-14',203424,6,2034,14,24,203406),('2034-06-15',203424,6,2034,15,24,203406),('2034-06-16',203424,6,2034,16,24,203406),('2034-06-17',203424,6,2034,17,24,203406),('2034-06-18',203425,6,2034,18,25,203406),('2034-06-19',203425,6,2034,19,25,203406),('2034-06-20',203425,6,2034,20,25,203406),('2034-06-21',203425,6,2034,21,25,203406),('2034-06-22',203425,6,2034,22,25,203406),('2034-06-23',203425,6,2034,23,25,203406),('2034-06-24',203425,6,2034,24,25,203406),('2034-06-25',203426,6,2034,25,26,203406),('2034-06-26',203426,6,2034,26,26,203406),('2034-06-27',203426,6,2034,27,26,203406),('2034-06-28',203426,6,2034,28,26,203406),('2034-06-29',203426,6,2034,29,26,203406),('2034-06-30',203426,6,2034,30,26,203406),('2034-07-01',203426,7,2034,1,26,203407),('2034-07-02',203427,7,2034,2,27,203407),('2034-07-03',203427,7,2034,3,27,203407),('2034-07-04',203427,7,2034,4,27,203407),('2034-07-05',203427,7,2034,5,27,203407),('2034-07-06',203427,7,2034,6,27,203407),('2034-07-07',203427,7,2034,7,27,203407),('2034-07-08',203427,7,2034,8,27,203407),('2034-07-09',203428,7,2034,9,28,203407),('2034-07-10',203428,7,2034,10,28,203407),('2034-07-11',203428,7,2034,11,28,203407),('2034-07-12',203428,7,2034,12,28,203407),('2034-07-13',203428,7,2034,13,28,203407),('2034-07-14',203428,7,2034,14,28,203407),('2034-07-15',203428,7,2034,15,28,203407),('2034-07-16',203429,7,2034,16,29,203407),('2034-07-17',203429,7,2034,17,29,203407),('2034-07-18',203429,7,2034,18,29,203407),('2034-07-19',203429,7,2034,19,29,203407),('2034-07-20',203429,7,2034,20,29,203407),('2034-07-21',203429,7,2034,21,29,203407),('2034-07-22',203429,7,2034,22,29,203407),('2034-07-23',203430,7,2034,23,30,203407),('2034-07-24',203430,7,2034,24,30,203407),('2034-07-25',203430,7,2034,25,30,203407),('2034-07-26',203430,7,2034,26,30,203407),('2034-07-27',203430,7,2034,27,30,203407),('2034-07-28',203430,7,2034,28,30,203407),('2034-07-29',203430,7,2034,29,30,203407),('2034-07-30',203431,7,2034,30,31,203407),('2034-07-31',203431,7,2034,31,31,203407),('2034-08-01',203431,8,2034,1,31,203408),('2034-08-02',203431,8,2034,2,31,203408),('2034-08-03',203431,8,2034,3,31,203408),('2034-08-04',203431,8,2034,4,31,203408),('2034-08-05',203431,8,2034,5,31,203408),('2034-08-06',203432,8,2034,6,32,203408),('2034-08-07',203432,8,2034,7,32,203408),('2034-08-08',203432,8,2034,8,32,203408),('2034-08-09',203432,8,2034,9,32,203408),('2034-08-10',203432,8,2034,10,32,203408),('2034-08-11',203432,8,2034,11,32,203408),('2034-08-12',203432,8,2034,12,32,203408),('2034-08-13',203433,8,2034,13,33,203408),('2034-08-14',203433,8,2034,14,33,203408),('2034-08-15',203433,8,2034,15,33,203408),('2034-08-16',203433,8,2034,16,33,203408),('2034-08-17',203433,8,2034,17,33,203408),('2034-08-18',203433,8,2034,18,33,203408),('2034-08-19',203433,8,2034,19,33,203408),('2034-08-20',203434,8,2034,20,34,203408),('2034-08-21',203434,8,2034,21,34,203408),('2034-08-22',203434,8,2034,22,34,203408),('2034-08-23',203434,8,2034,23,34,203408),('2034-08-24',203434,8,2034,24,34,203408),('2034-08-25',203434,8,2034,25,34,203408),('2034-08-26',203434,8,2034,26,34,203408),('2034-08-27',203435,8,2034,27,35,203408),('2034-08-28',203435,8,2034,28,35,203408),('2034-08-29',203435,8,2034,29,35,203408),('2034-08-30',203435,8,2034,30,35,203408),('2034-08-31',203435,8,2034,31,35,203408),('2034-09-01',203435,9,2034,1,35,203409),('2034-09-02',203435,9,2034,2,35,203409),('2034-09-03',203436,9,2034,3,36,203409),('2034-09-04',203436,9,2034,4,36,203409),('2034-09-05',203436,9,2034,5,36,203409),('2034-09-06',203436,9,2034,6,36,203409),('2034-09-07',203436,9,2034,7,36,203409),('2034-09-08',203436,9,2034,8,36,203409),('2034-09-09',203436,9,2034,9,36,203409),('2034-09-10',203437,9,2034,10,37,203409),('2034-09-11',203437,9,2034,11,37,203409),('2034-09-12',203437,9,2034,12,37,203409),('2034-09-13',203437,9,2034,13,37,203409),('2034-09-14',203437,9,2034,14,37,203409),('2034-09-15',203437,9,2034,15,37,203409),('2034-09-16',203437,9,2034,16,37,203409),('2034-09-17',203438,9,2034,17,38,203409),('2034-09-18',203438,9,2034,18,38,203409),('2034-09-19',203438,9,2034,19,38,203409),('2034-09-20',203438,9,2034,20,38,203409),('2034-09-21',203438,9,2034,21,38,203409),('2034-09-22',203438,9,2034,22,38,203409),('2034-09-23',203438,9,2034,23,38,203409),('2034-09-24',203439,9,2034,24,39,203409),('2034-09-25',203439,9,2034,25,39,203409),('2034-09-26',203439,9,2034,26,39,203409),('2034-09-27',203439,9,2034,27,39,203409),('2034-09-28',203439,9,2034,28,39,203409),('2034-09-29',203439,9,2034,29,39,203409),('2034-09-30',203439,9,2034,30,39,203409),('2034-10-01',203440,10,2034,1,40,203410),('2034-10-02',203440,10,2034,2,40,203410),('2034-10-03',203440,10,2034,3,40,203410),('2034-10-04',203440,10,2034,4,40,203410),('2034-10-05',203440,10,2034,5,40,203410),('2034-10-06',203440,10,2034,6,40,203410),('2034-10-07',203440,10,2034,7,40,203410),('2034-10-08',203441,10,2034,8,41,203410),('2034-10-09',203441,10,2034,9,41,203410),('2034-10-10',203441,10,2034,10,41,203410),('2034-10-11',203441,10,2034,11,41,203410),('2034-10-12',203441,10,2034,12,41,203410),('2034-10-13',203441,10,2034,13,41,203410),('2034-10-14',203441,10,2034,14,41,203410),('2034-10-15',203442,10,2034,15,42,203410),('2034-10-16',203442,10,2034,16,42,203410),('2034-10-17',203442,10,2034,17,42,203410),('2034-10-18',203442,10,2034,18,42,203410),('2034-10-19',203442,10,2034,19,42,203410),('2034-10-20',203442,10,2034,20,42,203410),('2034-10-21',203442,10,2034,21,42,203410),('2034-10-22',203443,10,2034,22,43,203410),('2034-10-23',203443,10,2034,23,43,203410),('2034-10-24',203443,10,2034,24,43,203410),('2034-10-25',203443,10,2034,25,43,203410),('2034-10-26',203443,10,2034,26,43,203410),('2034-10-27',203443,10,2034,27,43,203410),('2034-10-28',203443,10,2034,28,43,203410),('2034-10-29',203444,10,2034,29,44,203410),('2034-10-30',203444,10,2034,30,44,203410),('2034-10-31',203444,10,2034,31,44,203410),('2034-11-01',203444,11,2034,1,44,203411),('2034-11-02',203444,11,2034,2,44,203411),('2034-11-03',203444,11,2034,3,44,203411),('2034-11-04',203444,11,2034,4,44,203411),('2034-11-05',203445,11,2034,5,45,203411),('2034-11-06',203445,11,2034,6,45,203411),('2034-11-07',203445,11,2034,7,45,203411),('2034-11-08',203445,11,2034,8,45,203411),('2034-11-09',203445,11,2034,9,45,203411),('2034-11-10',203445,11,2034,10,45,203411),('2034-11-11',203445,11,2034,11,45,203411),('2034-11-12',203446,11,2034,12,46,203411),('2034-11-13',203446,11,2034,13,46,203411),('2034-11-14',203446,11,2034,14,46,203411),('2034-11-15',203446,11,2034,15,46,203411),('2034-11-16',203446,11,2034,16,46,203411),('2034-11-17',203446,11,2034,17,46,203411),('2034-11-18',203446,11,2034,18,46,203411),('2034-11-19',203447,11,2034,19,47,203411),('2034-11-20',203447,11,2034,20,47,203411),('2034-11-21',203447,11,2034,21,47,203411),('2034-11-22',203447,11,2034,22,47,203411),('2034-11-23',203447,11,2034,23,47,203411),('2034-11-24',203447,11,2034,24,47,203411),('2034-11-25',203447,11,2034,25,47,203411),('2034-11-26',203448,11,2034,26,48,203411),('2034-11-27',203448,11,2034,27,48,203411),('2034-11-28',203448,11,2034,28,48,203411),('2034-11-29',203448,11,2034,29,48,203411),('2034-11-30',203448,11,2034,30,48,203411),('2034-12-01',203448,12,2034,1,48,203412),('2034-12-02',203448,12,2034,2,48,203412),('2034-12-03',203449,12,2034,3,49,203412),('2034-12-04',203449,12,2034,4,49,203412),('2034-12-05',203449,12,2034,5,49,203412),('2034-12-06',203449,12,2034,6,49,203412),('2034-12-07',203449,12,2034,7,49,203412),('2034-12-08',203449,12,2034,8,49,203412),('2034-12-09',203449,12,2034,9,49,203412),('2034-12-10',203450,12,2034,10,50,203412),('2034-12-11',203450,12,2034,11,50,203412),('2034-12-12',203450,12,2034,12,50,203412),('2034-12-13',203450,12,2034,13,50,203412),('2034-12-14',203450,12,2034,14,50,203412),('2034-12-15',203450,12,2034,15,50,203412),('2034-12-16',203450,12,2034,16,50,203412),('2034-12-17',203451,12,2034,17,51,203412),('2034-12-18',203451,12,2034,18,51,203412),('2034-12-19',203451,12,2034,19,51,203412),('2034-12-20',203451,12,2034,20,51,203412),('2034-12-21',203451,12,2034,21,51,203412),('2034-12-22',203451,12,2034,22,51,203412),('2034-12-23',203451,12,2034,23,51,203412),('2034-12-24',203452,12,2034,24,52,203412),('2034-12-25',203452,12,2034,25,52,203412),('2034-12-26',203452,12,2034,26,52,203412),('2034-12-27',203452,12,2034,27,52,203412),('2034-12-28',203452,12,2034,28,52,203412),('2034-12-29',203452,12,2034,29,52,203412),('2034-12-30',203452,12,2034,30,52,203412),('2034-12-31',203453,12,2034,31,1,203412),('2035-01-01',203501,1,2035,1,1,203501),('2035-01-02',203501,1,2035,2,1,203501),('2035-01-03',203501,1,2035,3,1,203501),('2035-01-04',203501,1,2035,4,1,203501),('2035-01-05',203501,1,2035,5,1,203501),('2035-01-06',203501,1,2035,6,1,203501),('2035-01-07',203502,1,2035,7,2,203501),('2035-01-08',203502,1,2035,8,2,203501),('2035-01-09',203502,1,2035,9,2,203501),('2035-01-10',203502,1,2035,10,2,203501),('2035-01-11',203502,1,2035,11,2,203501),('2035-01-12',203502,1,2035,12,2,203501),('2035-01-13',203502,1,2035,13,2,203501),('2035-01-14',203503,1,2035,14,3,203501),('2035-01-15',203503,1,2035,15,3,203501),('2035-01-16',203503,1,2035,16,3,203501),('2035-01-17',203503,1,2035,17,3,203501),('2035-01-18',203503,1,2035,18,3,203501),('2035-01-19',203503,1,2035,19,3,203501),('2035-01-20',203503,1,2035,20,3,203501),('2035-01-21',203504,1,2035,21,4,203501),('2035-01-22',203504,1,2035,22,4,203501),('2035-01-23',203504,1,2035,23,4,203501),('2035-01-24',203504,1,2035,24,4,203501),('2035-01-25',203504,1,2035,25,4,203501),('2035-01-26',203504,1,2035,26,4,203501),('2035-01-27',203504,1,2035,27,4,203501),('2035-01-28',203505,1,2035,28,5,203501),('2035-01-29',203505,1,2035,29,5,203501),('2035-01-30',203505,1,2035,30,5,203501),('2035-01-31',203505,1,2035,31,5,203501),('2035-02-01',203505,2,2035,1,5,203502),('2035-02-02',203505,2,2035,2,5,203502),('2035-02-03',203505,2,2035,3,5,203502),('2035-02-04',203506,2,2035,4,6,203502),('2035-02-05',203506,2,2035,5,6,203502),('2035-02-06',203506,2,2035,6,6,203502),('2035-02-07',203506,2,2035,7,6,203502),('2035-02-08',203506,2,2035,8,6,203502),('2035-02-09',203506,2,2035,9,6,203502),('2035-02-10',203506,2,2035,10,6,203502),('2035-02-11',203507,2,2035,11,7,203502),('2035-02-12',203507,2,2035,12,7,203502),('2035-02-13',203507,2,2035,13,7,203502),('2035-02-14',203507,2,2035,14,7,203502),('2035-02-15',203507,2,2035,15,7,203502),('2035-02-16',203507,2,2035,16,7,203502),('2035-02-17',203507,2,2035,17,7,203502),('2035-02-18',203508,2,2035,18,8,203502),('2035-02-19',203508,2,2035,19,8,203502),('2035-02-20',203508,2,2035,20,8,203502),('2035-02-21',203508,2,2035,21,8,203502),('2035-02-22',203508,2,2035,22,8,203502),('2035-02-23',203508,2,2035,23,8,203502),('2035-02-24',203508,2,2035,24,8,203502),('2035-02-25',203509,2,2035,25,9,203502),('2035-02-26',203509,2,2035,26,9,203502),('2035-02-27',203509,2,2035,27,9,203502),('2035-02-28',203509,2,2035,28,9,203502),('2035-03-01',203509,3,2035,1,9,203503),('2035-03-02',203509,3,2035,2,9,203503),('2035-03-03',203509,3,2035,3,9,203503),('2035-03-04',203510,3,2035,4,10,203503),('2035-03-05',203510,3,2035,5,10,203503),('2035-03-06',203510,3,2035,6,10,203503),('2035-03-07',203510,3,2035,7,10,203503),('2035-03-08',203510,3,2035,8,10,203503),('2035-03-09',203510,3,2035,9,10,203503),('2035-03-10',203510,3,2035,10,10,203503),('2035-03-11',203511,3,2035,11,11,203503),('2035-03-12',203511,3,2035,12,11,203503),('2035-03-13',203511,3,2035,13,11,203503),('2035-03-14',203511,3,2035,14,11,203503),('2035-03-15',203511,3,2035,15,11,203503),('2035-03-16',203511,3,2035,16,11,203503),('2035-03-17',203511,3,2035,17,11,203503),('2035-03-18',203512,3,2035,18,12,203503),('2035-03-19',203512,3,2035,19,12,203503),('2035-03-20',203512,3,2035,20,12,203503),('2035-03-21',203512,3,2035,21,12,203503),('2035-03-22',203512,3,2035,22,12,203503),('2035-03-23',203512,3,2035,23,12,203503),('2035-03-24',203512,3,2035,24,12,203503),('2035-03-25',203513,3,2035,25,13,203503),('2035-03-26',203513,3,2035,26,13,203503),('2035-03-27',203513,3,2035,27,13,203503),('2035-03-28',203513,3,2035,28,13,203503),('2035-03-29',203513,3,2035,29,13,203503),('2035-03-30',203513,3,2035,30,13,203503),('2035-03-31',203513,3,2035,31,13,203503),('2035-04-01',203514,4,2035,1,14,203504),('2035-04-02',203514,4,2035,2,14,203504),('2035-04-03',203514,4,2035,3,14,203504),('2035-04-04',203514,4,2035,4,14,203504),('2035-04-05',203514,4,2035,5,14,203504),('2035-04-06',203514,4,2035,6,14,203504),('2035-04-07',203514,4,2035,7,14,203504),('2035-04-08',203515,4,2035,8,15,203504),('2035-04-09',203515,4,2035,9,15,203504),('2035-04-10',203515,4,2035,10,15,203504),('2035-04-11',203515,4,2035,11,15,203504),('2035-04-12',203515,4,2035,12,15,203504),('2035-04-13',203515,4,2035,13,15,203504),('2035-04-14',203515,4,2035,14,15,203504),('2035-04-15',203516,4,2035,15,16,203504),('2035-04-16',203516,4,2035,16,16,203504),('2035-04-17',203516,4,2035,17,16,203504),('2035-04-18',203516,4,2035,18,16,203504),('2035-04-19',203516,4,2035,19,16,203504),('2035-04-20',203516,4,2035,20,16,203504),('2035-04-21',203516,4,2035,21,16,203504),('2035-04-22',203517,4,2035,22,17,203504),('2035-04-23',203517,4,2035,23,17,203504),('2035-04-24',203517,4,2035,24,17,203504),('2035-04-25',203517,4,2035,25,17,203504),('2035-04-26',203517,4,2035,26,17,203504),('2035-04-27',203517,4,2035,27,17,203504),('2035-04-28',203517,4,2035,28,17,203504),('2035-04-29',203518,4,2035,29,18,203504),('2035-04-30',203518,4,2035,30,18,203504),('2035-05-01',203518,5,2035,1,18,203505),('2035-05-02',203518,5,2035,2,18,203505),('2035-05-03',203518,5,2035,3,18,203505),('2035-05-04',203518,5,2035,4,18,203505),('2035-05-05',203518,5,2035,5,18,203505),('2035-05-06',203519,5,2035,6,19,203505),('2035-05-07',203519,5,2035,7,19,203505),('2035-05-08',203519,5,2035,8,19,203505),('2035-05-09',203519,5,2035,9,19,203505),('2035-05-10',203519,5,2035,10,19,203505),('2035-05-11',203519,5,2035,11,19,203505),('2035-05-12',203519,5,2035,12,19,203505),('2035-05-13',203520,5,2035,13,20,203505),('2035-05-14',203520,5,2035,14,20,203505),('2035-05-15',203520,5,2035,15,20,203505),('2035-05-16',203520,5,2035,16,20,203505),('2035-05-17',203520,5,2035,17,20,203505),('2035-05-18',203520,5,2035,18,20,203505),('2035-05-19',203520,5,2035,19,20,203505),('2035-05-20',203521,5,2035,20,21,203505),('2035-05-21',203521,5,2035,21,21,203505),('2035-05-22',203521,5,2035,22,21,203505),('2035-05-23',203521,5,2035,23,21,203505),('2035-05-24',203521,5,2035,24,21,203505),('2035-05-25',203521,5,2035,25,21,203505),('2035-05-26',203521,5,2035,26,21,203505),('2035-05-27',203522,5,2035,27,22,203505),('2035-05-28',203522,5,2035,28,22,203505),('2035-05-29',203522,5,2035,29,22,203505),('2035-05-30',203522,5,2035,30,22,203505),('2035-05-31',203522,5,2035,31,22,203505),('2035-06-01',203522,6,2035,1,22,203506),('2035-06-02',203522,6,2035,2,22,203506),('2035-06-03',203523,6,2035,3,23,203506),('2035-06-04',203523,6,2035,4,23,203506),('2035-06-05',203523,6,2035,5,23,203506),('2035-06-06',203523,6,2035,6,23,203506),('2035-06-07',203523,6,2035,7,23,203506),('2035-06-08',203523,6,2035,8,23,203506),('2035-06-09',203523,6,2035,9,23,203506),('2035-06-10',203524,6,2035,10,24,203506),('2035-06-11',203524,6,2035,11,24,203506),('2035-06-12',203524,6,2035,12,24,203506),('2035-06-13',203524,6,2035,13,24,203506),('2035-06-14',203524,6,2035,14,24,203506),('2035-06-15',203524,6,2035,15,24,203506),('2035-06-16',203524,6,2035,16,24,203506),('2035-06-17',203525,6,2035,17,25,203506),('2035-06-18',203525,6,2035,18,25,203506),('2035-06-19',203525,6,2035,19,25,203506),('2035-06-20',203525,6,2035,20,25,203506),('2035-06-21',203525,6,2035,21,25,203506),('2035-06-22',203525,6,2035,22,25,203506),('2035-06-23',203525,6,2035,23,25,203506),('2035-06-24',203526,6,2035,24,26,203506),('2035-06-25',203526,6,2035,25,26,203506),('2035-06-26',203526,6,2035,26,26,203506),('2035-06-27',203526,6,2035,27,26,203506),('2035-06-28',203526,6,2035,28,26,203506),('2035-06-29',203526,6,2035,29,26,203506),('2035-06-30',203526,6,2035,30,26,203506),('2035-07-01',203527,7,2035,1,27,203507),('2035-07-02',203527,7,2035,2,27,203507),('2035-07-03',203527,7,2035,3,27,203507),('2035-07-04',203527,7,2035,4,27,203507),('2035-07-05',203527,7,2035,5,27,203507),('2035-07-06',203527,7,2035,6,27,203507),('2035-07-07',203527,7,2035,7,27,203507),('2035-07-08',203528,7,2035,8,28,203507),('2035-07-09',203528,7,2035,9,28,203507),('2035-07-10',203528,7,2035,10,28,203507),('2035-07-11',203528,7,2035,11,28,203507),('2035-07-12',203528,7,2035,12,28,203507),('2035-07-13',203528,7,2035,13,28,203507),('2035-07-14',203528,7,2035,14,28,203507),('2035-07-15',203529,7,2035,15,29,203507),('2035-07-16',203529,7,2035,16,29,203507),('2035-07-17',203529,7,2035,17,29,203507),('2035-07-18',203529,7,2035,18,29,203507),('2035-07-19',203529,7,2035,19,29,203507),('2035-07-20',203529,7,2035,20,29,203507),('2035-07-21',203529,7,2035,21,29,203507),('2035-07-22',203530,7,2035,22,30,203507),('2035-07-23',203530,7,2035,23,30,203507),('2035-07-24',203530,7,2035,24,30,203507),('2035-07-25',203530,7,2035,25,30,203507),('2035-07-26',203530,7,2035,26,30,203507),('2035-07-27',203530,7,2035,27,30,203507),('2035-07-28',203530,7,2035,28,30,203507),('2035-07-29',203531,7,2035,29,31,203507),('2035-07-30',203531,7,2035,30,31,203507),('2035-07-31',203531,7,2035,31,31,203507),('2035-08-01',203531,8,2035,1,31,203508),('2035-08-02',203531,8,2035,2,31,203508),('2035-08-03',203531,8,2035,3,31,203508),('2035-08-04',203531,8,2035,4,31,203508),('2035-08-05',203532,8,2035,5,32,203508),('2035-08-06',203532,8,2035,6,32,203508),('2035-08-07',203532,8,2035,7,32,203508),('2035-08-08',203532,8,2035,8,32,203508),('2035-08-09',203532,8,2035,9,32,203508),('2035-08-10',203532,8,2035,10,32,203508),('2035-08-11',203532,8,2035,11,32,203508),('2035-08-12',203533,8,2035,12,33,203508),('2035-08-13',203533,8,2035,13,33,203508),('2035-08-14',203533,8,2035,14,33,203508),('2035-08-15',203533,8,2035,15,33,203508),('2035-08-16',203533,8,2035,16,33,203508),('2035-08-17',203533,8,2035,17,33,203508),('2035-08-18',203533,8,2035,18,33,203508),('2035-08-19',203534,8,2035,19,34,203508),('2035-08-20',203534,8,2035,20,34,203508),('2035-08-21',203534,8,2035,21,34,203508),('2035-08-22',203534,8,2035,22,34,203508),('2035-08-23',203534,8,2035,23,34,203508),('2035-08-24',203534,8,2035,24,34,203508),('2035-08-25',203534,8,2035,25,34,203508),('2035-08-26',203535,8,2035,26,35,203508),('2035-08-27',203535,8,2035,27,35,203508),('2035-08-28',203535,8,2035,28,35,203508),('2035-08-29',203535,8,2035,29,35,203508),('2035-08-30',203535,8,2035,30,35,203508),('2035-08-31',203535,8,2035,31,35,203508),('2035-09-01',203535,9,2035,1,35,203509),('2035-09-02',203536,9,2035,2,36,203509),('2035-09-03',203536,9,2035,3,36,203509),('2035-09-04',203536,9,2035,4,36,203509),('2035-09-05',203536,9,2035,5,36,203509),('2035-09-06',203536,9,2035,6,36,203509),('2035-09-07',203536,9,2035,7,36,203509),('2035-09-08',203536,9,2035,8,36,203509),('2035-09-09',203537,9,2035,9,37,203509),('2035-09-10',203537,9,2035,10,37,203509),('2035-09-11',203537,9,2035,11,37,203509),('2035-09-12',203537,9,2035,12,37,203509),('2035-09-13',203537,9,2035,13,37,203509),('2035-09-14',203537,9,2035,14,37,203509),('2035-09-15',203537,9,2035,15,37,203509),('2035-09-16',203538,9,2035,16,38,203509),('2035-09-17',203538,9,2035,17,38,203509),('2035-09-18',203538,9,2035,18,38,203509),('2035-09-19',203538,9,2035,19,38,203509),('2035-09-20',203538,9,2035,20,38,203509),('2035-09-21',203538,9,2035,21,38,203509),('2035-09-22',203538,9,2035,22,38,203509),('2035-09-23',203539,9,2035,23,39,203509),('2035-09-24',203539,9,2035,24,39,203509),('2035-09-25',203539,9,2035,25,39,203509),('2035-09-26',203539,9,2035,26,39,203509),('2035-09-27',203539,9,2035,27,39,203509),('2035-09-28',203539,9,2035,28,39,203509),('2035-09-29',203539,9,2035,29,39,203509),('2035-09-30',203540,9,2035,30,40,203509),('2035-10-01',203540,10,2035,1,40,203510),('2035-10-02',203540,10,2035,2,40,203510),('2035-10-03',203540,10,2035,3,40,203510),('2035-10-04',203540,10,2035,4,40,203510),('2035-10-05',203540,10,2035,5,40,203510),('2035-10-06',203540,10,2035,6,40,203510),('2035-10-07',203541,10,2035,7,41,203510),('2035-10-08',203541,10,2035,8,41,203510),('2035-10-09',203541,10,2035,9,41,203510),('2035-10-10',203541,10,2035,10,41,203510),('2035-10-11',203541,10,2035,11,41,203510),('2035-10-12',203541,10,2035,12,41,203510),('2035-10-13',203541,10,2035,13,41,203510),('2035-10-14',203542,10,2035,14,42,203510),('2035-10-15',203542,10,2035,15,42,203510),('2035-10-16',203542,10,2035,16,42,203510),('2035-10-17',203542,10,2035,17,42,203510),('2035-10-18',203542,10,2035,18,42,203510),('2035-10-19',203542,10,2035,19,42,203510),('2035-10-20',203542,10,2035,20,42,203510),('2035-10-21',203543,10,2035,21,43,203510),('2035-10-22',203543,10,2035,22,43,203510),('2035-10-23',203543,10,2035,23,43,203510),('2035-10-24',203543,10,2035,24,43,203510),('2035-10-25',203543,10,2035,25,43,203510),('2035-10-26',203543,10,2035,26,43,203510),('2035-10-27',203543,10,2035,27,43,203510),('2035-10-28',203544,10,2035,28,44,203510),('2035-10-29',203544,10,2035,29,44,203510),('2035-10-30',203544,10,2035,30,44,203510),('2035-10-31',203544,10,2035,31,44,203510),('2035-11-01',203544,11,2035,1,44,203511),('2035-11-02',203544,11,2035,2,44,203511),('2035-11-03',203544,11,2035,3,44,203511),('2035-11-04',203545,11,2035,4,45,203511),('2035-11-05',203545,11,2035,5,45,203511),('2035-11-06',203545,11,2035,6,45,203511),('2035-11-07',203545,11,2035,7,45,203511),('2035-11-08',203545,11,2035,8,45,203511),('2035-11-09',203545,11,2035,9,45,203511),('2035-11-10',203545,11,2035,10,45,203511),('2035-11-11',203546,11,2035,11,46,203511),('2035-11-12',203546,11,2035,12,46,203511),('2035-11-13',203546,11,2035,13,46,203511),('2035-11-14',203546,11,2035,14,46,203511),('2035-11-15',203546,11,2035,15,46,203511),('2035-11-16',203546,11,2035,16,46,203511),('2035-11-17',203546,11,2035,17,46,203511),('2035-11-18',203547,11,2035,18,47,203511),('2035-11-19',203547,11,2035,19,47,203511),('2035-11-20',203547,11,2035,20,47,203511),('2035-11-21',203547,11,2035,21,47,203511),('2035-11-22',203547,11,2035,22,47,203511),('2035-11-23',203547,11,2035,23,47,203511),('2035-11-24',203547,11,2035,24,47,203511),('2035-11-25',203548,11,2035,25,48,203511),('2035-11-26',203548,11,2035,26,48,203511),('2035-11-27',203548,11,2035,27,48,203511),('2035-11-28',203548,11,2035,28,48,203511),('2035-11-29',203548,11,2035,29,48,203511),('2035-11-30',203548,11,2035,30,48,203511),('2035-12-01',203548,12,2035,1,48,203512),('2035-12-02',203549,12,2035,2,49,203512),('2035-12-03',203549,12,2035,3,49,203512),('2035-12-04',203549,12,2035,4,49,203512),('2035-12-05',203549,12,2035,5,49,203512),('2035-12-06',203549,12,2035,6,49,203512),('2035-12-07',203549,12,2035,7,49,203512),('2035-12-08',203549,12,2035,8,49,203512),('2035-12-09',203550,12,2035,9,50,203512),('2035-12-10',203550,12,2035,10,50,203512),('2035-12-11',203550,12,2035,11,50,203512),('2035-12-12',203550,12,2035,12,50,203512),('2035-12-13',203550,12,2035,13,50,203512),('2035-12-14',203550,12,2035,14,50,203512),('2035-12-15',203550,12,2035,15,50,203512),('2035-12-16',203551,12,2035,16,51,203512),('2035-12-17',203551,12,2035,17,51,203512),('2035-12-18',203551,12,2035,18,51,203512),('2035-12-19',203551,12,2035,19,51,203512),('2035-12-20',203551,12,2035,20,51,203512),('2035-12-21',203551,12,2035,21,51,203512),('2035-12-22',203551,12,2035,22,51,203512),('2035-12-23',203552,12,2035,23,52,203512),('2035-12-24',203552,12,2035,24,52,203512),('2035-12-25',203552,12,2035,25,52,203512),('2035-12-26',203552,12,2035,26,52,203512),('2035-12-27',203552,12,2035,27,52,203512),('2035-12-28',203552,12,2035,28,52,203512),('2035-12-29',203552,12,2035,29,52,203512),('2035-12-30',203553,12,2035,30,1,203512),('2035-12-31',203501,12,2035,31,1,203512),('2036-01-01',203601,1,2036,1,1,203601),('2036-01-02',203601,1,2036,2,1,203601),('2036-01-03',203601,1,2036,3,1,203601),('2036-01-04',203601,1,2036,4,1,203601),('2036-01-05',203601,1,2036,5,1,203601),('2036-01-06',203602,1,2036,6,2,203601),('2036-01-07',203602,1,2036,7,2,203601),('2036-01-08',203602,1,2036,8,2,203601),('2036-01-09',203602,1,2036,9,2,203601),('2036-01-10',203602,1,2036,10,2,203601),('2036-01-11',203602,1,2036,11,2,203601),('2036-01-12',203602,1,2036,12,2,203601),('2036-01-13',203603,1,2036,13,3,203601),('2036-01-14',203603,1,2036,14,3,203601),('2036-01-15',203603,1,2036,15,3,203601),('2036-01-16',203603,1,2036,16,3,203601),('2036-01-17',203603,1,2036,17,3,203601),('2036-01-18',203603,1,2036,18,3,203601),('2036-01-19',203603,1,2036,19,3,203601),('2036-01-20',203604,1,2036,20,4,203601),('2036-01-21',203604,1,2036,21,4,203601),('2036-01-22',203604,1,2036,22,4,203601),('2036-01-23',203604,1,2036,23,4,203601),('2036-01-24',203604,1,2036,24,4,203601),('2036-01-25',203604,1,2036,25,4,203601),('2036-01-26',203604,1,2036,26,4,203601),('2036-01-27',203605,1,2036,27,5,203601),('2036-01-28',203605,1,2036,28,5,203601),('2036-01-29',203605,1,2036,29,5,203601),('2036-01-30',203605,1,2036,30,5,203601),('2036-01-31',203605,1,2036,31,5,203601),('2036-02-01',203605,2,2036,1,5,203602),('2036-02-02',203605,2,2036,2,5,203602),('2036-02-03',203606,2,2036,3,6,203602),('2036-02-04',203606,2,2036,4,6,203602),('2036-02-05',203606,2,2036,5,6,203602),('2036-02-06',203606,2,2036,6,6,203602),('2036-02-07',203606,2,2036,7,6,203602),('2036-02-08',203606,2,2036,8,6,203602),('2036-02-09',203606,2,2036,9,6,203602),('2036-02-10',203607,2,2036,10,7,203602),('2036-02-11',203607,2,2036,11,7,203602),('2036-02-12',203607,2,2036,12,7,203602),('2036-02-13',203607,2,2036,13,7,203602),('2036-02-14',203607,2,2036,14,7,203602),('2036-02-15',203607,2,2036,15,7,203602),('2036-02-16',203607,2,2036,16,7,203602),('2036-02-17',203608,2,2036,17,8,203602),('2036-02-18',203608,2,2036,18,8,203602),('2036-02-19',203608,2,2036,19,8,203602),('2036-02-20',203608,2,2036,20,8,203602),('2036-02-21',203608,2,2036,21,8,203602),('2036-02-22',203608,2,2036,22,8,203602),('2036-02-23',203608,2,2036,23,8,203602),('2036-02-24',203609,2,2036,24,9,203602),('2036-02-25',203609,2,2036,25,9,203602),('2036-02-26',203609,2,2036,26,9,203602),('2036-02-27',203609,2,2036,27,9,203602),('2036-02-28',203609,2,2036,28,9,203602),('2036-02-29',203609,2,2036,29,9,203602),('2036-03-01',203609,3,2036,1,9,203603),('2036-03-02',203610,3,2036,2,10,203603),('2036-03-03',203610,3,2036,3,10,203603),('2036-03-04',203610,3,2036,4,10,203603),('2036-03-05',203610,3,2036,5,10,203603),('2036-03-06',203610,3,2036,6,10,203603),('2036-03-07',203610,3,2036,7,10,203603),('2036-03-08',203610,3,2036,8,10,203603),('2036-03-09',203611,3,2036,9,11,203603),('2036-03-10',203611,3,2036,10,11,203603),('2036-03-11',203611,3,2036,11,11,203603),('2036-03-12',203611,3,2036,12,11,203603),('2036-03-13',203611,3,2036,13,11,203603),('2036-03-14',203611,3,2036,14,11,203603),('2036-03-15',203611,3,2036,15,11,203603),('2036-03-16',203612,3,2036,16,12,203603),('2036-03-17',203612,3,2036,17,12,203603),('2036-03-18',203612,3,2036,18,12,203603),('2036-03-19',203612,3,2036,19,12,203603),('2036-03-20',203612,3,2036,20,12,203603),('2036-03-21',203612,3,2036,21,12,203603),('2036-03-22',203612,3,2036,22,12,203603),('2036-03-23',203613,3,2036,23,13,203603),('2036-03-24',203613,3,2036,24,13,203603),('2036-03-25',203613,3,2036,25,13,203603),('2036-03-26',203613,3,2036,26,13,203603),('2036-03-27',203613,3,2036,27,13,203603),('2036-03-28',203613,3,2036,28,13,203603),('2036-03-29',203613,3,2036,29,13,203603),('2036-03-30',203614,3,2036,30,14,203603),('2036-03-31',203614,3,2036,31,14,203603),('2036-04-01',203614,4,2036,1,14,203604),('2036-04-02',203614,4,2036,2,14,203604),('2036-04-03',203614,4,2036,3,14,203604),('2036-04-04',203614,4,2036,4,14,203604),('2036-04-05',203614,4,2036,5,14,203604),('2036-04-06',203615,4,2036,6,15,203604),('2036-04-07',203615,4,2036,7,15,203604),('2036-04-08',203615,4,2036,8,15,203604),('2036-04-09',203615,4,2036,9,15,203604),('2036-04-10',203615,4,2036,10,15,203604),('2036-04-11',203615,4,2036,11,15,203604),('2036-04-12',203615,4,2036,12,15,203604),('2036-04-13',203616,4,2036,13,16,203604),('2036-04-14',203616,4,2036,14,16,203604),('2036-04-15',203616,4,2036,15,16,203604),('2036-04-16',203616,4,2036,16,16,203604),('2036-04-17',203616,4,2036,17,16,203604),('2036-04-18',203616,4,2036,18,16,203604),('2036-04-19',203616,4,2036,19,16,203604),('2036-04-20',203617,4,2036,20,17,203604),('2036-04-21',203617,4,2036,21,17,203604),('2036-04-22',203617,4,2036,22,17,203604),('2036-04-23',203617,4,2036,23,17,203604),('2036-04-24',203617,4,2036,24,17,203604),('2036-04-25',203617,4,2036,25,17,203604),('2036-04-26',203617,4,2036,26,17,203604),('2036-04-27',203618,4,2036,27,18,203604),('2036-04-28',203618,4,2036,28,18,203604),('2036-04-29',203618,4,2036,29,18,203604),('2036-04-30',203618,4,2036,30,18,203604),('2036-05-01',203618,5,2036,1,18,203605),('2036-05-02',203618,5,2036,2,18,203605),('2036-05-03',203618,5,2036,3,18,203605),('2036-05-04',203619,5,2036,4,19,203605),('2036-05-05',203619,5,2036,5,19,203605),('2036-05-06',203619,5,2036,6,19,203605),('2036-05-07',203619,5,2036,7,19,203605),('2036-05-08',203619,5,2036,8,19,203605),('2036-05-09',203619,5,2036,9,19,203605),('2036-05-10',203619,5,2036,10,19,203605),('2036-05-11',203620,5,2036,11,20,203605),('2036-05-12',203620,5,2036,12,20,203605),('2036-05-13',203620,5,2036,13,20,203605),('2036-05-14',203620,5,2036,14,20,203605),('2036-05-15',203620,5,2036,15,20,203605),('2036-05-16',203620,5,2036,16,20,203605),('2036-05-17',203620,5,2036,17,20,203605),('2036-05-18',203621,5,2036,18,21,203605),('2036-05-19',203621,5,2036,19,21,203605),('2036-05-20',203621,5,2036,20,21,203605),('2036-05-21',203621,5,2036,21,21,203605),('2036-05-22',203621,5,2036,22,21,203605),('2036-05-23',203621,5,2036,23,21,203605),('2036-05-24',203621,5,2036,24,21,203605),('2036-05-25',203622,5,2036,25,22,203605),('2036-05-26',203622,5,2036,26,22,203605),('2036-05-27',203622,5,2036,27,22,203605),('2036-05-28',203622,5,2036,28,22,203605),('2036-05-29',203622,5,2036,29,22,203605),('2036-05-30',203622,5,2036,30,22,203605),('2036-05-31',203622,5,2036,31,22,203605),('2036-06-01',203623,6,2036,1,23,203606),('2036-06-02',203623,6,2036,2,23,203606),('2036-06-03',203623,6,2036,3,23,203606),('2036-06-04',203623,6,2036,4,23,203606),('2036-06-05',203623,6,2036,5,23,203606),('2036-06-06',203623,6,2036,6,23,203606),('2036-06-07',203623,6,2036,7,23,203606),('2036-06-08',203624,6,2036,8,24,203606),('2036-06-09',203624,6,2036,9,24,203606),('2036-06-10',203624,6,2036,10,24,203606),('2036-06-11',203624,6,2036,11,24,203606),('2036-06-12',203624,6,2036,12,24,203606),('2036-06-13',203624,6,2036,13,24,203606),('2036-06-14',203624,6,2036,14,24,203606),('2036-06-15',203625,6,2036,15,25,203606),('2036-06-16',203625,6,2036,16,25,203606),('2036-06-17',203625,6,2036,17,25,203606),('2036-06-18',203625,6,2036,18,25,203606),('2036-06-19',203625,6,2036,19,25,203606),('2036-06-20',203625,6,2036,20,25,203606),('2036-06-21',203625,6,2036,21,25,203606),('2036-06-22',203626,6,2036,22,26,203606),('2036-06-23',203626,6,2036,23,26,203606),('2036-06-24',203626,6,2036,24,26,203606),('2036-06-25',203626,6,2036,25,26,203606),('2036-06-26',203626,6,2036,26,26,203606),('2036-06-27',203626,6,2036,27,26,203606),('2036-06-28',203626,6,2036,28,26,203606),('2036-06-29',203627,6,2036,29,27,203606),('2036-06-30',203627,6,2036,30,27,203606),('2036-07-01',203627,7,2036,1,27,203607),('2036-07-02',203627,7,2036,2,27,203607),('2036-07-03',203627,7,2036,3,27,203607),('2036-07-04',203627,7,2036,4,27,203607),('2036-07-05',203627,7,2036,5,27,203607),('2036-07-06',203628,7,2036,6,28,203607),('2036-07-07',203628,7,2036,7,28,203607),('2036-07-08',203628,7,2036,8,28,203607),('2036-07-09',203628,7,2036,9,28,203607),('2036-07-10',203628,7,2036,10,28,203607),('2036-07-11',203628,7,2036,11,28,203607),('2036-07-12',203628,7,2036,12,28,203607),('2036-07-13',203629,7,2036,13,29,203607),('2036-07-14',203629,7,2036,14,29,203607),('2036-07-15',203629,7,2036,15,29,203607),('2036-07-16',203629,7,2036,16,29,203607),('2036-07-17',203629,7,2036,17,29,203607),('2036-07-18',203629,7,2036,18,29,203607),('2036-07-19',203629,7,2036,19,29,203607),('2036-07-20',203630,7,2036,20,30,203607),('2036-07-21',203630,7,2036,21,30,203607),('2036-07-22',203630,7,2036,22,30,203607),('2036-07-23',203630,7,2036,23,30,203607),('2036-07-24',203630,7,2036,24,30,203607),('2036-07-25',203630,7,2036,25,30,203607),('2036-07-26',203630,7,2036,26,30,203607),('2036-07-27',203631,7,2036,27,31,203607),('2036-07-28',203631,7,2036,28,31,203607),('2036-07-29',203631,7,2036,29,31,203607),('2036-07-30',203631,7,2036,30,31,203607),('2036-07-31',203631,7,2036,31,31,203607),('2036-08-01',203631,8,2036,1,31,203608),('2036-08-02',203631,8,2036,2,31,203608),('2036-08-03',203632,8,2036,3,32,203608),('2036-08-04',203632,8,2036,4,32,203608),('2036-08-05',203632,8,2036,5,32,203608),('2036-08-06',203632,8,2036,6,32,203608),('2036-08-07',203632,8,2036,7,32,203608),('2036-08-08',203632,8,2036,8,32,203608),('2036-08-09',203632,8,2036,9,32,203608),('2036-08-10',203633,8,2036,10,33,203608),('2036-08-11',203633,8,2036,11,33,203608),('2036-08-12',203633,8,2036,12,33,203608),('2036-08-13',203633,8,2036,13,33,203608),('2036-08-14',203633,8,2036,14,33,203608),('2036-08-15',203633,8,2036,15,33,203608),('2036-08-16',203633,8,2036,16,33,203608),('2036-08-17',203634,8,2036,17,34,203608),('2036-08-18',203634,8,2036,18,34,203608),('2036-08-19',203634,8,2036,19,34,203608),('2036-08-20',203634,8,2036,20,34,203608),('2036-08-21',203634,8,2036,21,34,203608),('2036-08-22',203634,8,2036,22,34,203608),('2036-08-23',203634,8,2036,23,34,203608),('2036-08-24',203635,8,2036,24,35,203608),('2036-08-25',203635,8,2036,25,35,203608),('2036-08-26',203635,8,2036,26,35,203608),('2036-08-27',203635,8,2036,27,35,203608),('2036-08-28',203635,8,2036,28,35,203608),('2036-08-29',203635,8,2036,29,35,203608),('2036-08-30',203635,8,2036,30,35,203608),('2036-08-31',203636,8,2036,31,36,203608),('2036-09-01',203636,9,2036,1,36,203609),('2036-09-02',203636,9,2036,2,36,203609),('2036-09-03',203636,9,2036,3,36,203609),('2036-09-04',203636,9,2036,4,36,203609),('2036-09-05',203636,9,2036,5,36,203609),('2036-09-06',203636,9,2036,6,36,203609),('2036-09-07',203637,9,2036,7,37,203609),('2036-09-08',203637,9,2036,8,37,203609),('2036-09-09',203637,9,2036,9,37,203609),('2036-09-10',203637,9,2036,10,37,203609),('2036-09-11',203637,9,2036,11,37,203609),('2036-09-12',203637,9,2036,12,37,203609),('2036-09-13',203637,9,2036,13,37,203609),('2036-09-14',203638,9,2036,14,38,203609),('2036-09-15',203638,9,2036,15,38,203609),('2036-09-16',203638,9,2036,16,38,203609),('2036-09-17',203638,9,2036,17,38,203609),('2036-09-18',203638,9,2036,18,38,203609),('2036-09-19',203638,9,2036,19,38,203609),('2036-09-20',203638,9,2036,20,38,203609),('2036-09-21',203639,9,2036,21,39,203609),('2036-09-22',203639,9,2036,22,39,203609),('2036-09-23',203639,9,2036,23,39,203609),('2036-09-24',203639,9,2036,24,39,203609),('2036-09-25',203639,9,2036,25,39,203609),('2036-09-26',203639,9,2036,26,39,203609),('2036-09-27',203639,9,2036,27,39,203609),('2036-09-28',203640,9,2036,28,40,203609),('2036-09-29',203640,9,2036,29,40,203609),('2036-09-30',203640,9,2036,30,40,203609),('2036-10-01',203640,10,2036,1,40,203610),('2036-10-02',203640,10,2036,2,40,203610),('2036-10-03',203640,10,2036,3,40,203610),('2036-10-04',203640,10,2036,4,40,203610),('2036-10-05',203641,10,2036,5,41,203610),('2036-10-06',203641,10,2036,6,41,203610),('2036-10-07',203641,10,2036,7,41,203610),('2036-10-08',203641,10,2036,8,41,203610),('2036-10-09',203641,10,2036,9,41,203610),('2036-10-10',203641,10,2036,10,41,203610),('2036-10-11',203641,10,2036,11,41,203610),('2036-10-12',203642,10,2036,12,42,203610),('2036-10-13',203642,10,2036,13,42,203610),('2036-10-14',203642,10,2036,14,42,203610),('2036-10-15',203642,10,2036,15,42,203610),('2036-10-16',203642,10,2036,16,42,203610),('2036-10-17',203642,10,2036,17,42,203610),('2036-10-18',203642,10,2036,18,42,203610),('2036-10-19',203643,10,2036,19,43,203610),('2036-10-20',203643,10,2036,20,43,203610),('2036-10-21',203643,10,2036,21,43,203610),('2036-10-22',203643,10,2036,22,43,203610),('2036-10-23',203643,10,2036,23,43,203610),('2036-10-24',203643,10,2036,24,43,203610),('2036-10-25',203643,10,2036,25,43,203610),('2036-10-26',203644,10,2036,26,44,203610),('2036-10-27',203644,10,2036,27,44,203610),('2036-10-28',203644,10,2036,28,44,203610),('2036-10-29',203644,10,2036,29,44,203610),('2036-10-30',203644,10,2036,30,44,203610),('2036-10-31',203644,10,2036,31,44,203610),('2036-11-01',203644,11,2036,1,44,203611),('2036-11-02',203645,11,2036,2,45,203611),('2036-11-03',203645,11,2036,3,45,203611),('2036-11-04',203645,11,2036,4,45,203611),('2036-11-05',203645,11,2036,5,45,203611),('2036-11-06',203645,11,2036,6,45,203611),('2036-11-07',203645,11,2036,7,45,203611),('2036-11-08',203645,11,2036,8,45,203611),('2036-11-09',203646,11,2036,9,46,203611),('2036-11-10',203646,11,2036,10,46,203611),('2036-11-11',203646,11,2036,11,46,203611),('2036-11-12',203646,11,2036,12,46,203611),('2036-11-13',203646,11,2036,13,46,203611),('2036-11-14',203646,11,2036,14,46,203611),('2036-11-15',203646,11,2036,15,46,203611),('2036-11-16',203647,11,2036,16,47,203611),('2036-11-17',203647,11,2036,17,47,203611),('2036-11-18',203647,11,2036,18,47,203611),('2036-11-19',203647,11,2036,19,47,203611),('2036-11-20',203647,11,2036,20,47,203611),('2036-11-21',203647,11,2036,21,47,203611),('2036-11-22',203647,11,2036,22,47,203611),('2036-11-23',203648,11,2036,23,48,203611),('2036-11-24',203648,11,2036,24,48,203611),('2036-11-25',203648,11,2036,25,48,203611),('2036-11-26',203648,11,2036,26,48,203611),('2036-11-27',203648,11,2036,27,48,203611),('2036-11-28',203648,11,2036,28,48,203611),('2036-11-29',203648,11,2036,29,48,203611),('2036-11-30',203649,11,2036,30,49,203611),('2036-12-01',203649,12,2036,1,49,203612),('2036-12-02',203649,12,2036,2,49,203612),('2036-12-03',203649,12,2036,3,49,203612),('2036-12-04',203649,12,2036,4,49,203612),('2036-12-05',203649,12,2036,5,49,203612),('2036-12-06',203649,12,2036,6,49,203612),('2036-12-07',203650,12,2036,7,50,203612),('2036-12-08',203650,12,2036,8,50,203612),('2036-12-09',203650,12,2036,9,50,203612),('2036-12-10',203650,12,2036,10,50,203612),('2036-12-11',203650,12,2036,11,50,203612),('2036-12-12',203650,12,2036,12,50,203612),('2036-12-13',203650,12,2036,13,50,203612),('2036-12-14',203651,12,2036,14,51,203612),('2036-12-15',203651,12,2036,15,51,203612),('2036-12-16',203651,12,2036,16,51,203612),('2036-12-17',203651,12,2036,17,51,203612),('2036-12-18',203651,12,2036,18,51,203612),('2036-12-19',203651,12,2036,19,51,203612),('2036-12-20',203651,12,2036,20,51,203612),('2036-12-21',203652,12,2036,21,52,203612),('2036-12-22',203652,12,2036,22,52,203612),('2036-12-23',203652,12,2036,23,52,203612),('2036-12-24',203652,12,2036,24,52,203612),('2036-12-25',203652,12,2036,25,52,203612),('2036-12-26',203652,12,2036,26,52,203612),('2036-12-27',203652,12,2036,27,52,203612),('2036-12-28',203653,12,2036,28,53,203612),('2036-12-29',203601,12,2036,29,53,203612),('2036-12-30',203601,12,2036,30,53,203612); +/*!40000 ALTER TABLE `time` ENABLE KEYS */; +UNLOCK TABLES; + -- -- Dumping data for table `accion_dits` -- @@ -345,7 +365,7 @@ UNLOCK TABLES; LOCK TABLES `department` WRITE; /*!40000 ALTER TABLE `department` DISABLE KEYS */; -INSERT INTO `department` VALUES (1,'VERDNATURA',1,78,1,0,NULL,NULL,NULL,0,0,0,0),(22,'COMPRAS',65,66,NULL,72,596,2,5,0,0,1,0),(23,'CAMARA',41,42,NULL,72,604,2,6,1,0,0,0),(31,'INFORMATICA',11,12,NULL,72,127,3,9,0,0,0,0),(34,'CONTABILIDAD',4,5,NULL,0,NULL,NULL,NULL,0,0,0,0),(35,'FINANZAS',6,7,NULL,0,NULL,NULL,NULL,0,0,0,0),(36,'LABORAL',8,9,NULL,0,NULL,NULL,NULL,0,0,0,0),(37,'PRODUCCION',15,24,NULL,72,230,3,11,0,0,0,0),(38,'SACADO',20,21,NULL,72,230,4,14,1,0,0,0),(39,'ENCAJADO',22,23,NULL,72,230,4,12,1,0,0,0),(41,'ADMINISTRACION',3,10,NULL,72,599,3,8,0,0,0,0),(43,'VENTAS',51,64,NULL,0,NULL,NULL,NULL,0,0,0,0),(44,'GERENCIA',2,25,NULL,72,300,2,7,0,0,0,0),(45,'LOGISTICA',26,37,NULL,72,596,3,19,0,0,0,0),(46,'REPARTO',38,39,NULL,72,659,3,10,0,0,0,0),(48,'ALMACENAJE',40,47,NULL,0,NULL,NULL,NULL,0,0,0,0),(49,'PROPIEDAD',48,75,NULL,72,1008,1,1,0,0,0,0),(52,'CARGA AEREA',27,28,NULL,72,163,4,28,0,0,0,0),(53,'MARKETING Y COMUNICACIÓN',60,61,NULL,72,1238,0,0,0,0,0,0),(54,'ORNAMENTALES',76,77,NULL,72,433,3,21,0,0,0,0),(55,'TALLER NATURAL',68,69,NULL,72,695,2,23,0,0,0,0),(56,'TALLER ARTIFICIAL',70,71,NULL,72,1780,2,24,0,0,0,0),(58,'CAMPOS',73,74,NULL,72,225,2,2,0,0,0,0),(59,'MANTENIMIENTO',49,50,NULL,72,1907,4,16,0,0,0,0),(60,'RECLAMACIONES',58,59,NULL,72,563,3,20,0,0,0,0),(61,'VNH',35,36,NULL,73,1297,3,17,0,0,0,0),(63,'VENTAS FRANCIA',62,63,NULL,72,277,2,27,0,0,0,0),(66,'VERDNAMADRID',31,32,NULL,72,163,3,18,0,0,0,0),(68,'COMPLEMENTOS',43,44,NULL,72,617,3,26,1,0,0,0),(69,'VERDNABARNA',33,34,NULL,74,432,3,22,0,0,0,0),(77,'PALETIZADO',18,19,NULL,72,230,4,15,1,0,0,0),(80,'EQUIPO J VALLES',56,57,NULL,72,693,3,4,0,0,0,0),(86,'LIMPIEZA',13,14,NULL,72,599,0,0,0,0,0,0),(89,'COORDINACION',16,17,NULL,0,NULL,NULL,NULL,1,0,0,0),(90,'TRAILER',29,30,NULL,0,NULL,NULL,NULL,0,0,0,0),(91,'ARTIFICIAL',45,46,NULL,0,NULL,NULL,NULL,1,0,0,0),(92,'EQUIPO SILVERIO',54,55,NULL,0,NULL,NULL,NULL,0,0,0,0),(93,'CONFECCION',67,72,NULL,0,NULL,NULL,NULL,0,0,0,0),(94,'EQUIPO J BROCAL',52,53,NULL,0,NULL,NULL,NULL,0,0,1,0); +INSERT INTO `department` VALUES (1,'VERDNATURA',1,78,763,0,NULL,NULL,NULL,0,0,0,0),(22,'COMPRAS',65,66,NULL,72,596,2,5,0,0,1,0),(23,'CAMARA',41,42,NULL,72,604,2,6,1,0,0,0),(31,'INFORMATICA',11,12,NULL,72,127,3,9,0,0,0,0),(34,'CONTABILIDAD',4,5,NULL,0,NULL,NULL,NULL,0,0,0,0),(35,'FINANZAS',6,7,NULL,0,NULL,NULL,NULL,0,0,0,0),(36,'LABORAL',8,9,NULL,0,NULL,NULL,NULL,0,0,0,0),(37,'PRODUCCION',15,24,NULL,72,230,3,11,0,0,0,0),(38,'SACADO',20,21,NULL,72,230,4,14,1,0,0,0),(39,'ENCAJADO',22,23,NULL,72,230,4,12,1,0,0,0),(41,'ADMINISTRACION',3,10,NULL,72,599,3,8,0,0,0,0),(43,'VENTAS',51,64,NULL,0,NULL,NULL,NULL,0,0,0,0),(44,'GERENCIA',2,25,NULL,72,300,2,7,0,0,0,0),(45,'LOGISTICA',26,37,NULL,72,596,3,19,0,0,0,0),(46,'REPARTO',38,39,NULL,72,659,3,10,0,0,0,0),(48,'ALMACENAJE',40,47,NULL,0,NULL,NULL,NULL,0,0,0,0),(49,'PROPIEDAD',48,75,NULL,72,1008,1,1,0,0,0,0),(52,'CARGA AEREA',27,28,NULL,72,163,4,28,0,0,0,0),(53,'MARKETING Y COMUNICACIÓN',60,61,NULL,72,1238,0,0,0,0,0,0),(54,'ORNAMENTALES',76,77,NULL,72,433,3,21,0,0,0,0),(55,'TALLER NATURAL',68,69,NULL,72,695,2,23,0,0,0,0),(56,'TALLER ARTIFICIAL',70,71,NULL,72,1780,2,24,0,0,0,0),(58,'CAMPOS',73,74,NULL,72,225,2,2,0,0,0,0),(59,'MANTENIMIENTO',49,50,NULL,72,1907,4,16,0,0,0,0),(60,'RECLAMACIONES',58,59,NULL,72,563,3,20,0,0,0,0),(61,'VNH',35,36,NULL,73,1297,3,17,0,0,0,0),(63,'VENTAS FRANCIA',62,63,NULL,72,277,2,27,0,0,0,0),(66,'VERDNAMADRID',31,32,NULL,72,163,3,18,0,0,0,0),(68,'COMPLEMENTOS',43,44,NULL,72,617,3,26,1,0,0,0),(69,'VERDNABARNA',33,34,NULL,74,432,3,22,0,0,0,0),(77,'PALETIZADO',18,19,NULL,72,230,4,15,1,0,0,0),(80,'EQUIPO J VALLES',56,57,NULL,72,693,3,4,0,0,0,0),(86,'LIMPIEZA',13,14,NULL,72,599,0,0,0,0,0,0),(89,'COORDINACION',16,17,NULL,0,NULL,NULL,NULL,1,0,0,0),(90,'TRAILER',29,30,NULL,0,NULL,NULL,NULL,0,0,0,0),(91,'ARTIFICIAL',45,46,NULL,0,NULL,NULL,NULL,1,0,0,0),(92,'EQUIPO SILVERIO',54,55,NULL,0,NULL,NULL,NULL,0,0,0,0),(93,'CONFECCION',67,72,NULL,0,NULL,NULL,NULL,0,0,0,0),(94,'EQUIPO J BROCAL',52,53,NULL,0,NULL,NULL,NULL,0,0,1,0); /*!40000 ALTER TABLE `department` ENABLE KEYS */; UNLOCK TABLES; @@ -368,7 +388,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:05 +-- Dump completed on 2019-11-13 10:04:48 USE `bi`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -403,7 +423,7 @@ UNLOCK TABLES; LOCK TABLES `tarifa_componentes_series` WRITE; /*!40000 ALTER TABLE `tarifa_componentes_series` DISABLE KEYS */; -INSERT INTO `tarifa_componentes_series` VALUES (1,'coste',1,0),(2,'com ventas',1,1),(3,'com compras',1,1),(4,'empresa',1,1),(5,'cliente',0,0),(6,'agencia',0,0),(7,'cartera_comercial',0,1),(8,'cartera_producto',0,1),(9,'maniobra',1,1),(10,'cartera_comprador',0,1),(11,'errores',0,0),(12,'otros',0,0); +INSERT INTO `tarifa_componentes_series` VALUES (1,'coste',1,0),(2,'com ventas',1,1),(3,'com compras',1,1),(4,'empresa',1,1),(5,'cliente',0,0),(6,'agencia',0,0),(7,'cartera_comercial',0,1),(8,'cartera_producto',0,1),(9,'maniobra',1,1),(10,'cartera_comprador',0,1),(11,'errores',0,1),(12,'otros',0,1); /*!40000 ALTER TABLE `tarifa_componentes_series` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -416,7 +436,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:05 +-- Dump completed on 2019-11-13 10:04:48 USE `cache`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -454,7 +474,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:05 +-- Dump completed on 2019-11-13 10:04:48 USE `hedera`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -483,16 +503,6 @@ INSERT INTO `imageCollection` VALUES (1,'catalog','Artículo',3840,2160,'Item',' /*!40000 ALTER TABLE `imageCollection` ENABLE KEYS */; UNLOCK TABLES; --- --- Dumping data for table `tpvConfig` --- - -LOCK TABLES `tpvConfig` WRITE; -/*!40000 ALTER TABLE `tpvConfig` DISABLE KEYS */; -INSERT INTO `tpvConfig` VALUES (1,978,1,0,2000,4,'https://sis.redsys.es/sis/realizarPago',0,'https://sis-t.redsys.es:25443/sis/realizarPago','sq7HjrUOBfKmC576ILgskD5srU870gJ7',NULL); -/*!40000 ALTER TABLE `tpvConfig` ENABLE KEYS */; -UNLOCK TABLES; - -- -- Dumping data for table `tpvError` -- @@ -522,7 +532,7 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:05 +-- Dump completed on 2019-11-13 10:04:48 USE `postgresql`; -- MySQL dump 10.13 Distrib 5.7.27, for Linux (x86_64) -- @@ -547,7 +557,7 @@ USE `postgresql`; LOCK TABLES `calendar_labour_type` WRITE; /*!40000 ALTER TABLE `calendar_labour_type` DISABLE KEYS */; -INSERT INTO `calendar_labour_type` VALUES (1,'Horario general','00:20:00',40),(2,'Horario 35h/semana','00:20:00',35),(3,'Horario 20h/semana','00:00:00',20),(4,'Festivo y Fin de semana','00:00:00',0),(5,'Horario 30h/semana','00:20:00',30),(6,'Horario 25h/semana','00:20:00',25),(7,'Vacaciones trabajadas','00:00:00',0),(8,'Vacaciones','00:00:00',0),(9,'Horario 26h/semana','00:20:00',26),(10,'Horario 28h/semana','00:20:00',28),(11,'Horario 8h/semana','00:00:00',8),(12,'Horario 16h/semana','00:00:00',16),(13,'Horario 32h/semana','00:20:00',32),(14,'Horario 24h/semana','00:20:00',24),(15,'Horario 10h/semana','00:00:00',10),(16,'Horario 27,5h/semana','00:20:00',28),(17,'Horario 13,5h/semana','00:20:00',14),(18,'Horario 31h/semana',NULL,31),(19,'Horario 21,5h/semana',NULL,22),(20,'Horario 34h/semana',NULL,34),(21,'Horario 17h/semana',NULL,17),(22,'Horario 18h/semana',NULL,18),(23,'Horario 37,5 h/semana',NULL,38),(24,'Horario 29 h/semana',NULL,29),(25,'Horario 12h/semana',NULL,12),(26,'Horario 10h/semana',NULL,10),(27,'Horario 15h/semana',NULL,15),(28,'Horario 9h/semana',NULL,9),(29,'Horario 23h/semana',NULL,23),(30,'Horario 21h/semana',NULL,21),(31,'Horario 39h/semana',NULL,39),(32,'Horario 22/semana',NULL,22); +INSERT INTO `calendar_labour_type` VALUES (1,'Horario general','00:20:00',40,0),(2,'Horario 35h/semana','00:20:00',35,1),(3,'Horario 20h/semana','00:00:00',20,1),(4,'Festivo y Fin de semana','00:00:00',0,1),(5,'Horario 30h/semana','00:20:00',30,1),(6,'Horario 25h/semana','00:20:00',25,1),(7,'Vacaciones trabajadas','00:00:00',0,1),(8,'Vacaciones','00:00:00',0,1),(9,'Horario 26h/semana','00:20:00',26,1),(10,'Horario 28h/semana','00:20:00',28,1),(11,'Horario 8h/semana','00:00:00',8,1),(12,'Horario 16h/semana','00:00:00',16,1),(13,'Horario 32h/semana','00:20:00',32,1),(14,'Horario 24h/semana','00:20:00',24,1),(15,'Horario 10h/semana','00:00:00',10,1),(16,'Horario 27,5h/semana','00:20:00',28,1),(17,'Horario 13,5h/semana','00:20:00',14,1),(18,'Horario 31h/semana',NULL,31,1),(19,'Horario 21,5h/semana',NULL,22,1),(20,'Horario 34h/semana',NULL,34,1),(21,'Horario 17h/semana',NULL,17,1),(22,'Horario 18h/semana',NULL,18,1),(23,'Horario 37,5 h/semana',NULL,38,1),(24,'Horario 29 h/semana',NULL,29,1),(25,'Horario 12h/semana',NULL,12,1),(26,'Horario 10h/semana',NULL,10,1),(27,'Horario 15h/semana',NULL,15,1),(28,'Horario 9h/semana',NULL,9,1),(29,'Horario 23h/semana',NULL,23,1),(30,'Horario 21h/semana',NULL,21,1),(31,'Horario 39h/semana',NULL,39,1),(32,'Horario 22/semana',NULL,22,1); /*!40000 ALTER TABLE `calendar_labour_type` ENABLE KEYS */; UNLOCK TABLES; @@ -597,7 +607,7 @@ UNLOCK TABLES; LOCK TABLES `workcenter` WRITE; /*!40000 ALTER TABLE `workcenter` DISABLE KEYS */; -INSERT INTO `workcenter` VALUES (1,'Silla',20,1024,1),(2,'Mercaflor',19,NULL,NULL),(3,'Marjales',26,20007,NULL),(4,'VNH',NULL,NULL,3),(5,'Madrid',28,2851,5),(6,'Vilassar',88,88031,2),(7,'Tenerife',NULL,NULL,10),(8,'Silla-Agrario',26,2,NULL); +INSERT INTO `workcenter` VALUES (1,'Silla',20,1026,1),(2,'Mercaflor',19,NULL,NULL),(3,'Marjales',26,20007,NULL),(4,'VNH',NULL,NULL,3),(5,'Madrid',28,2851,5),(6,'Vilassar',88,88031,2),(7,'Tenerife',NULL,NULL,10),(8,'Silla-Agrario',26,2,NULL); /*!40000 ALTER TABLE `workcenter` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -610,4 +620,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:19:06 +-- Dump completed on 2019-11-13 10:04:48 diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql index b8e8599135..cee62f3179 100644 --- a/db/dump/fixtures.sql +++ b/db/dump/fixtures.sql @@ -1,11 +1,11 @@ ALTER TABLE `vn`.`itemTaxCountry` AUTO_INCREMENT = 1; -ALTER TABLE `vn2008`.`Consignatarios` AUTO_INCREMENT = 1; +ALTER TABLE `vn`.`address` AUTO_INCREMENT = 1; ALTER TABLE `vn`.`zoneGeo` AUTO_INCREMENT = 1; INSERT INTO `vn`.`ticketConfig` (`id`, `scopeDays`) VALUES ('1', '6'); - + INSERT INTO `account`.`mailConfig` (`id`, `domain`) VALUES ('1', 'verdnatura.es'); @@ -14,16 +14,20 @@ INSERT INTO `account`.`user`(`id`,`name`, `nickname`, `password`,`role`,`active` SELECT id, name, CONCAT(name, 'Nick'),MD5('nightmare'), id, 1, CONCAT(name, '@mydomain.com'), 'es' FROM `account`.`role`; -INSERT INTO `vn2008`.`Trabajadores`(`Id_Trabajador`,`CodigoTrabajador`, `Nombre`, `Apellidos`, `user_id`, `boss`) +INSERT INTO `vn`.`worker`(`id`,`code`, `firstName`, `lastName`, `userFk`, `bossFk`) SELECT id,UPPER(LPAD(role, 3, '0')), name, name, id, 9 FROM `vn`.`user`; -UPDATE `vn2008`.`Trabajadores` SET boss = NULL WHERE Id_Trabajador = 20; -UPDATE `vn2008`.`Trabajadores` SET boss = 20 - WHERE Id_Trabajador = 1 OR Id_Trabajador = 9; +UPDATE `vn`.`worker` SET bossFk = NULL WHERE id = 20; +UPDATE `vn`.`worker` SET bossFk = 20 + WHERE id = 1 OR id = 9; -DELETE FROM `vn`.`worker` WHERE name ='customer'; +DELETE FROM `vn`.`worker` WHERE firstName ='customer'; +INSERT INTO `hedera`.`tpvConfig`(`id`, `currency`, `terminal`, `transactionType`, `maxAmount`, `employeeFk`, `testUrl`) + VALUES + (1, 978, 1, 0, 2000, 9, 0); + INSERT INTO `account`.`user`(`id`,`name`,`password`,`role`,`active`,`email`,`lang`) VALUES (101, 'BruceWayne', 'ac754a330530832ba1bf7687f577da91', 2, 1, 'BruceWayne@mydomain.com', 'es'), @@ -39,23 +43,24 @@ INSERT INTO `account`.`user`(`id`,`name`,`password`,`role`,`active`,`email`,`lan (111, 'Missing', 'ac754a330530832ba1bf7687f577da91', 2, 0, NULL, 'es'), (112, 'Trash', 'ac754a330530832ba1bf7687f577da91', 2, 0, NULL, 'es'); -INSERT INTO `vn2008`.`Trabajadores`(`CodigoTrabajador`, `Id_Trabajador`, `Nombre`, `Apellidos`, `user_id`,`boss`) +INSERT INTO `vn`.`worker`(`id`, `code`, `firstName`, `lastName`, `userFk`,`bossFk`) VALUES - ('LGN', 106, 'David Charles', 'Haller', 106, 19), - ('ANT', 107, 'Hank' , 'Pym' , 107, 19), - ('DCX', 110, 'Charles' , 'Xavier', 108, 19), - ('HLK', 109, 'Bruce' , 'Banner', 109, 19), - ('JJJ', 108, 'Jessica' , 'Jones' , 110, 19); + (106, 'LGN', 'David Charles', 'Haller', 106, 19), + (107, 'ANT', 'Hank' , 'Pym' , 107, 19), + (108, 'DCX', 'Charles' , 'Xavier', 108, 19), + (109, 'HLK', 'Bruce' , 'Banner', 109, 19), + (110, 'JJJ', 'Jessica' , 'Jones' , 110, 19); INSERT INTO `vn`.`country`(`id`, `country`, `isUeeMember`, `code`, `currencyFk`, `ibanLength`) VALUES - (1, 'España', 0, 'ES', 1, 22), - (2, 'Italia', 1, 'IT', 1, 25), - (3, 'Alemania', 1, 'DE', 1, 20), - (4, 'Rumania', 1, 'RO', 1, 22), - (5, 'Holanda', 1, 'NL', 1, 16), - (19,'Francia', 1, 'FR', 1, 25), - (30,'Canarias', 1, 'IC', 1, 22); + (1, 'España', 0, 'ES', 1, 24), + (2, 'Italia', 1, 'IT', 1, 27), + (3, 'Alemania', 1, 'DE', 1, 22), + (4, 'Rumania', 1, 'RO', 1, 24), + (5, 'Holanda', 1, 'NL', 1, 18), + (8, 'Portugal', 1, 'PT', 1, 27), + (19,'Francia', 1, 'FR', 1, 27), + (30,'Canarias', 1, 'IC', 1, 24); INSERT INTO `vn`.`warehouse`(`id`, `name`, `isComparative`, `isInventory`, `hasAvailable`, `isManaged`, `hasStowaway`, `hasDms`) VALUES @@ -191,9 +196,9 @@ INSERT INTO `vn`.`client`(`id`,`name`,`fi`,`socialName`,`contact`,`street`,`city VALUES (101, 'Bruce Wayne', '84612325V', 'Batman', 'Alfred', '1007 Mountain Drive, Gotham', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'BruceWayne@mydomain.com', 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, 0, NULL, 0, 0, 18, 0, 1), (102, 'Petter Parker', '87945234L', 'Spider man', 'Aunt May', '20 Ingram Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'PetterParker@mydomain.com', 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, 0, NULL, 0, 0, 18, 0, 1), - (103, 'Clark Kent', '06815934E', 'Super man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'ClarkKent@mydomain.com', NULL, 0, 1234567890, 0, 1, 1, 0, 1, 1, NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1, '0000-00-00', 1, NULL, 1, 1, 1, 0, NULL, 0, 0, 18, 0, 1), + (103, 'Clark Kent', '06815934E', 'Super man', 'lois lane', '344 Clinton Street', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'ClarkKent@mydomain.com', NULL, 0, 1234567890, 0, 1, 1, 0, 19, 1, NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1, '0000-00-00', 1, NULL, 1, 1, 1, 0, NULL, 0, 0, 18, 0, 1), (104, 'Tony Stark', '06089160W', 'Iron man', 'Pepper Potts', '10880 Malibu Point', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'TonyStark@mydomain.com', 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, 0, NULL, 0, 0, 18, 0, 1), - (105, 'Max Eisenhardt', '251628698', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'MaxEisenhardt@mydomain.com', 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, 18, 0, 1), + (105, 'Max Eisenhardt', '251628698', 'Magneto', 'Rogue', 'Unknown Whereabouts', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'MaxEisenhardt@mydomain.com', NULL, 0, 1234567890, 0, 1, 1, 300, 8, 1, NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1, '0000-00-00', 1, NULL, 1, 1, 1, 1, NULL, 0, 0, 18, 0, 1), (106, 'DavidCharlesHaller', '53136686Q', 'Legion', 'Charles Xavier', 'Evil hideout', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'DavidCharlesHaller@mydomain.com', NULL, 0, 1234567890, 0, 1, 1, 300, 1, 0, NULL, 10, 5,CURDATE(), 1, 5, 1, 1, 1, '0000-00-00', 1, NULL, 1, 1, 1, 0, NULL, 0, 0, 19, 0, 1), (107, 'Hank Pym', '09854837G', 'Ant man', 'Hawk', 'Anthill', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'HankPym@mydomain.com', 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, 0, 0, NULL, 0, 0, 19, 0, 1), (108, 'Charles Xavier', '22641921P', 'Professor X', 'Beast', '3800 Victory Pkwy, Cincinnati, OH 45207, USA', 'Silla', 46460, 1111111111, 222222222, 333333333, 1, 'CharlesXavier@mydomain.com', 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, 19, 0, 1), @@ -1456,7 +1461,7 @@ INSERT INTO `vn`.`receipt`(`id`, `invoiceFk`, `amountPaid`, `amountUnpaid`, `pay (1, 'Cobro web', 100.50, 0.00, CURDATE(), 9, 1, 101, CURDATE(), 442, 1), (2, 'Cobro web', 200.50, 0.00, DATE_ADD(CURDATE(), INTERVAL -5 DAY), 9, 1, 101, DATE_ADD(CURDATE(), INTERVAL -5 DAY), 442, 1), (3, 'Cobro en efectivo', 300.00, 100.00, DATE_ADD(CURDATE(), INTERVAL -10 DAY), 9, 1, 102, DATE_ADD(CURDATE(), INTERVAL -10 DAY), 442, 0), - (4, 'Cobro en efectivo', -400.00, -50.00, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 9, 1, 103, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 442, 0); + (4, 'Cobro en efectivo', 400.00, -50.00, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 9, 1, 103, DATE_ADD(CURDATE(), INTERVAL -15 DAY), 442, 0); INSERT INTO `vn2008`.`workerTeam`(`id`, `team`, `user`) VALUES @@ -1467,7 +1472,7 @@ INSERT INTO `vn2008`.`workerTeam`(`id`, `team`, `user`) (5, 3, 103), (6, 3, 104); -INSERT INTO `vn`.`ticketRequest`(`id`, `description`, `requesterFk`, `atenderFk`, `quantity`, `itemFk`, `price`, `isOk`, `saleFk`, `ticketFk`, `created`) +INSERT INTO `vn`.`ticketRequest`(`id`, `description`, `requesterFk`, `attenderFk`, `quantity`, `itemFk`, `price`, `isOk`, `saleFk`, `ticketFk`, `created`) VALUES (1, 'Ranged weapon longbow 2m', 18, 35, 5, 1, 9.10, 1, 1, 1, DATE_ADD(CURDATE(), INTERVAL -15 DAY)), (2, 'Melee weapon combat first 15cm', 18, 35, 10, 2, 1.07, 0, NULL, 1, DATE_ADD(CURDATE(), INTERVAL -15 DAY)), diff --git a/db/dump/structure.sql b/db/dump/structure.sql index 5949652ed0..ca43d8456a 100644 --- a/db/dump/structure.sql +++ b/db/dump/structure.sql @@ -365,7 +365,7 @@ CREATE TABLE `user` ( KEY `nickname` (`nickname`), KEY `lang` (`lang`), CONSTRAINT `user_ibfk_2` FOREIGN KEY (`role`) REFERENCES `role` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=16753 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Global users'; +) ENGINE=InnoDB AUTO_INCREMENT=16839 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 */ ; @@ -1923,7 +1923,7 @@ CREATE TABLE `XDiario_ALL` ( KEY `Cuenta` (`SUBCTA`), KEY `empresa` (`empresa_id`), KEY `Fecha` (`Fecha`) -) ENGINE=InnoDB AUTO_INCREMENT=9887018 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=11674394 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1977,7 +1977,7 @@ CREATE TABLE `analisis_ventas` ( `Importe` double NOT NULL, PRIMARY KEY (`id`), KEY `Año` (`Año`,`Semana`) -) ENGINE=InnoDB AUTO_INCREMENT=103478749 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=109501928 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2380,7 +2380,7 @@ CREATE TABLE `rotacion` ( PRIMARY KEY (`Id_Article`,`warehouse_id`), KEY `warehouse_id_rotacion_idx` (`warehouse_id`), CONSTRAINT `id_article_rotaci` FOREIGN KEY (`Id_Article`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_id_rotaci` FOREIGN KEY (`warehouse_id`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `warehouse_id_rotaci` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`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 */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; @@ -2458,7 +2458,7 @@ CREATE TABLE `rutasBoard` ( KEY `rutasBoard_ix1` (`year`), KEY `rutasBoard_ix2` (`month`), KEY `rutasBoard_ix3` (`warehouse_id`) -) ENGINE=InnoDB AUTO_INCREMENT=182527 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=188316 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5253,7 +5253,7 @@ CREATE TABLE `compradores` ( `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 + CONSTRAINT `comprador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -5269,7 +5269,7 @@ CREATE TABLE `compradores_evolution` ( `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 + CONSTRAINT `evo_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -5416,7 +5416,7 @@ CREATE TABLE `m3` ( `dayName` varchar(12) COLLATE utf8_unicode_ci DEFAULT NULL, `euros` decimal(10,2) DEFAULT '0.00', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=348493 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=362726 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5511,7 +5511,7 @@ CREATE TABLE `mana_spellers` ( `maxRate` decimal(3,2) NOT NULL DEFAULT '0.05', 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 + CONSTRAINT `fk_mana_spellers_Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`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 */ ; @@ -5545,7 +5545,7 @@ DROP TABLE IF EXISTS `mana_spellers_excluded`; CREATE TABLE `mana_spellers_excluded` ( `Id_Trabajador` int(11) NOT NULL, PRIMARY KEY (`Id_Trabajador`), - CONSTRAINT `mana_spellers_excluded_fk1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `mana_spellers_excluded_fk1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Usuarios que tienen que estar excluidos del cálculo del maná'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -5687,8 +5687,8 @@ CREATE TABLE `payMethodClient` ( KEY `FkClientPayMethod_idx` (`clientFk`), KEY `FkDateClientPayMethod` (`dated`,`clientFk`), CONSTRAINT `FkClientPayMethod` FOREIGN KEY (`clientFk`) REFERENCES `vn`.`client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `FkPayMethodClient` FOREIGN KEY (`payMethodFk`) REFERENCES `vn2008`.`pay_met` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=5496925 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; + CONSTRAINT `FkPayMethodClient` FOREIGN KEY (`payMethodFk`) REFERENCES `vn`.`payMethod` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=5715076 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5761,8 +5761,9 @@ CREATE TABLE `productivity` ( `costArtificial` double NOT NULL DEFAULT '0', `m3FV` double NOT NULL DEFAULT '0', `m3PCA` double NOT NULL DEFAULT '0', + `m3Artificial` decimal(10,2) NOT NULL DEFAULT '0.00', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=57558212 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=60211350 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5890,7 +5891,7 @@ CREATE TABLE `vendedores` ( `comisionCedida` decimal(10,2) DEFAULT NULL COMMENT 'comision generada por los clientes que han sido donados. Ver tabla Clientes_cedidos', `comisionNuevos` decimal(10,2) DEFAULT NULL, 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 + CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -5907,7 +5908,7 @@ CREATE TABLE `vendedores_evolution` ( `sales` decimal(10,2) DEFAULT NULL, `month` int(11) NOT NULL, PRIMARY KEY (`workerFk`,`year`,`month`), - CONSTRAINT `evo_vendedor_trabajador` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `evo_vendedor_trabajador` FOREIGN KEY (`workerFk`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -5973,7 +5974,7 @@ CREATE TABLE `warehouseProduction_kk` ( `workerHours` decimal(10,0) NOT NULL DEFAULT '0', PRIMARY KEY (`fecha`,`warehouse_id`), KEY `warehouseProduction_fk1_idx` (`warehouse_id`), - CONSTRAINT `warehouseProduction_fk1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `warehouseProduction_fk1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`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 */; @@ -7404,9 +7405,9 @@ 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 character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; @@ -7427,6 +7428,7 @@ BEGIN 000.00 as m3, 000.00 as m3FV, 000.00 as m3PCA, + 000.00 as m3Artificial, 0 as workers, 000.00 as wCost, 0 as numCoordinadores, @@ -7583,22 +7585,27 @@ BEGIN -- m3 CALL vn.ticketBuiltTime(vDate); -- Genera la tabla tmp.ticketBuiltTime(ticketFk,builtTime) CALL vn.ticketVolumeByDate_ventas(vDate); -- Genera la tabla tmp.ticketVolumeByDate(ticketFk,m3), filtrado por las ventas validas + CALL vn.ticketVolumeByDate_ventas_Artificial(vDate); -- Genera la tabla tmp.ticketVolumeByDate_ventas_Artificial UPDATE tmp.productivity p JOIN (SELECT HOUR(builtTime) hh, MINUTE(builtTime) mm, - sum(m3) as m3, - sum(IF(t.warehouseFk = 1,m3,0)) as m3FV, - sum(IF(t.warehouseFk = 44,m3,0)) as m3PCA + sum(tvd.m3) as m3, + sum(IF(t.warehouseFk = 1,tvd.m3,0)) as m3FV, + sum(IF(t.warehouseFk = 44,tvd.m3 - IFNULL(tvda.m3,0),0)) as m3PCA, + sum(IFNULL(tvda.m3,0)) as m3Artificial FROM tmp.ticketBuiltTime tbt JOIN tmp.ticketVolumeByDate tvd ON tvd.ticketFk = tbt.ticketFk + LEFT JOIN tmp.ticketVolumeByDate_Artificial tvda ON tvda.ticketFk = tbt.ticketFk JOIN vn.ticket t ON t.id = tbt.ticketFk WHERE t.warehouseFk IN (1,44) GROUP BY hh,mm ) v ON v.hh = p.hh AND v.mm = p.mm - SET p.m3 = v.m3, p.m3FV = v.m3FV, p.m3PCA = v.m3PCA; - + SET p.m3 = v.m3, p.m3FV = v.m3FV, p.m3PCA = v.m3PCA, p.m3Artificial = v.m3Artificial; + + + DELETE FROM bs.productivity WHERE dated = vDate; @@ -7608,6 +7615,7 @@ BEGIN m3, m3FV, m3PCA, + m3Artificial, workers, wCost, numCoordinadores, @@ -7630,6 +7638,7 @@ BEGIN m3, m3FV, m3PCA, + m3Artificial, workers, wCost, numCoordinadores, @@ -7671,9 +7680,9 @@ 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 character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; @@ -7691,19 +7700,19 @@ BEGIN CAST(((productivitySacadoLastYear - productivitySacado) / 2) * m3 AS DECIMAL (10,2)) AS amountSacado, CAST(((productivityEncajadoLastYear - productivityEncajado) / 2) * m3 AS DECIMAL (10,2)) AS amountEncajado, CAST(((productivityPaletizadoLastYear - productivityPaletizado) / 2) * m3 AS DECIMAL (10,2)) AS amountPaletizado, - CAST(((productivityCamaraLastYear - productivityCamara) / 2) * m3 AS DECIMAL (10,2)) AS amountCamara, - CAST(((productivityComplementosLastYear - productivityComplementos) / 2) * m3 AS DECIMAL (10,2)) AS amountComplementos, - CAST(((productivityArtificialLastYear - productivityArtificial) / 2) * m3 AS DECIMAL (10,2)) AS amountArtificia + CAST(((productivityCamaraLastYear - productivityCamara) / 2) * m3FV AS DECIMAL (10,2)) AS amountCamara, + CAST(((productivityComplementosLastYear - productivityComplementos) / 2) * m3PCA AS DECIMAL (10,2)) AS amountComplementos, + CAST(((productivityArtificialLastYear - productivityArtificial) / 2) * m3Artificial AS DECIMAL (10,2)) AS amountArtificia FROM (SELECT - SUM(p.m3) AS m3, + SUM(p.m3) AS m3, SUM(p.m3FV) as m3FV, SUM(p.m3PCA) as m3PCA, SUM(p.m3Artificial) as m3Artificial, SUM(p.costCoordinacion) / SUM(p.m3) AS productivityCoordinacion, SUM(p.costSacado) / SUM(p.m3) AS productivitySacado, SUM(p.costEncajado) / SUM(p.m3) AS productivityEncajado, SUM(p.costPaletizado) / SUM(p.m3) AS productivityPaletizado, - SUM(p.costCamara) / SUM(p.m3) AS productivityCamara, - SUM(p.costComplementos) / SUM(p.m3) AS productivityComplementos, - SUM(p.costArtificial) / SUM(p.m3) AS productivityArtificial + SUM(p.costCamara) / SUM(p.m3FV) AS productivityCamara, + SUM(p.costComplementos) / SUM(p.m3PCA) AS productivityComplementos, + SUM(p.costArtificial) / SUM(p.m3Artificial) AS productivityArtificial FROM bs.productivity p WHERE @@ -7714,9 +7723,9 @@ BEGIN SUM(p.costSacado) / SUM(p.m3) AS productivitySacadoLastYear, SUM(p.costEncajado) / SUM(p.m3) AS productivityEncajadoLastYear, SUM(p.costPaletizado) / SUM(p.m3) AS productivityPaletizadoLastYear, - SUM(p.costCamara) / SUM(p.m3) AS productivityCamaraLastYear, - SUM(p.costComplementos) / SUM(p.m3) AS productivityComplementosLastYear, - SUM(p.costArtificial) / SUM(p.m3) AS productivityArtificialLastYear + SUM(p.costCamara) / SUM(p.m3FV) AS productivityCamaraLastYear, + SUM(p.costComplementos) / SUM(p.m3PCA) AS productivityComplementosLastYear, + SUM(p.costArtificial) / SUM(p.m3Artificial) AS productivityArtificialLastYear FROM bs.productivity p WHERE @@ -7780,6 +7789,40 @@ BEGIN SET vDateFrom = TIMESTAMPADD(DAY,1,vDateFrom); 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 `productivityLauncher_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 `productivityLauncher_manual`(vDateFrom DATE, vToDate DATE) +BEGIN + + TRUNCATE tmp.log; + + WHILE vToDate >= vDateFrom DO + + INSERT INTO tmp.log(text) VALUES (vDateFrom); + CALL bs.productivityAdd(vDateFrom); + + CALL bs.productivityAdd(TIMESTAMPADD(YEAR, -1,vDateFrom)); + INSERT INTO tmp.log(text) VALUES (TIMESTAMPADD(YEAR, -1,vDateFrom)); + + SET vDateFrom = TIMESTAMPADD(DAY,1,vDateFrom); + + END WHILE; + + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -8328,7 +8371,6 @@ DELIMITER ; /*!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 */ ; @@ -8390,7 +8432,7 @@ INSERT INTO bs.ventas_contables(year ,1 ,if(e2.empresa_grupo,2,0) ) * 1000000 - + IF(tp.Id_Trabajador = 24 , 7,tp.reino_id) * 10000 as Gasto + + 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 @@ -8414,7 +8456,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 */ ; -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 */ ; @@ -8609,7 +8650,7 @@ BEGIN st.created, e.code, w.firstname, - w.name, + w.lastName, w.code as workerCode, r.cm3 * s.quantity / 1000 as litros, s.concept @@ -8877,7 +8918,7 @@ CREATE TABLE `cache_calc` ( KEY `cache_id` (`cache_id`), KEY `cacheName` (`cacheName`), KEY `expires` (`expires`) -) ENGINE=InnoDB AUTO_INCREMENT=427497 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=433218 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8907,7 +8948,7 @@ CREATE TABLE `departure_limit` ( `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 + CONSTRAINT `warehouse_departure` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`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 */; @@ -8945,7 +8986,7 @@ CREATE TABLE `prod_graphic_source` ( `alert_level` int(11) NOT NULL DEFAULT '0', `Agencia` varchar(45) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=2194685 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2223649 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -9992,7 +10033,7 @@ CREATE TABLE `deliveryInformation` ( KEY `fgbSupplyResponse_idx2` (`FirstOrderDateTime`), KEY `fgbSupplyResponse_idx3` (`LatestOrderDateTime`), CONSTRAINT `fgbSupplyResponse` FOREIGN KEY (`supplyResponseID`) REFERENCES `supplyResponse` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=23557098 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=24045723 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10050,7 +10091,7 @@ CREATE TABLE `ekt` ( KEY `barcode` (`barcode`), KEY `fec` (`fec`), KEY `putOrderFk` (`putOrderFk`) -) ENGINE=InnoDB AUTO_INCREMENT=1090965 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1104278 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10071,7 +10112,7 @@ CREATE TABLE `exchange` ( KEY `buy_edi_id` (`ektFk`), CONSTRAINT `exchange_ibfk_1` FOREIGN KEY (`mailFk`) REFERENCES `mail` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `exchange_ibfk_2` FOREIGN KEY (`ektFk`) REFERENCES `ekt` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=631820 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=645075 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10333,7 +10374,7 @@ CREATE TABLE `mail` ( UNIQUE KEY `mail_id` (`messageId`), KEY `sender_id` (`senderFk`), CONSTRAINT `mail_ibfk_2` FOREIGN KEY (`senderFk`) REFERENCES `mailSender` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=662254 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=675160 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -10589,7 +10630,7 @@ CREATE TABLE `supplyResponse` ( PRIMARY KEY (`ID`), UNIQUE KEY `ID_UNIQUE` (`ID`), KEY `IX_TransNumber` (`TransactionNumber`) COMMENT 'Agregado por Ernesto 11.6.2019\nSe ejecutaba 1 consulta por segundo desde MAIL y consumia un 20% de CPU de todo el servidor !!!!!\nCPU usada es mas estable que Indice en SendererID, cpu vs espacio que ocupa?\n' -) ENGINE=InnoDB AUTO_INCREMENT=8579292 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8800750 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11286,7 +11327,7 @@ CREATE TABLE `image` ( PRIMARY KEY (`id`), UNIQUE KEY `collection` (`collectionFk`,`name`), CONSTRAINT `image_ibfk_1` FOREIGN KEY (`collectionFk`) REFERENCES `imageCollection` (`name`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=166220 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=169206 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -11850,7 +11891,7 @@ CREATE TABLE `news` ( 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=13069 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=13072 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 */ ; @@ -11964,10 +12005,10 @@ CREATE TABLE `order` ( 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_5` FOREIGN KEY (`address_id`) REFERENCES `vn`.`address` (`id`) ON UPDATE CASCADE, CONSTRAINT `order_ibfk_8` FOREIGN KEY (`delivery_method_id`) REFERENCES `vn`.`deliveryMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `order_ibfk_9` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agencyMode` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2216881 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2233655 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 */ ; @@ -12039,11 +12080,11 @@ CREATE TABLE `orderConfig` ( KEY `guestMethod` (`guestMethod`), KEY `defaultAgencyFk` (`defaultAgencyFk`), KEY `guestAddressFk` (`guestAddressFk`), - CONSTRAINT `orderConfig_ibfk_1` FOREIGN KEY (`employeeFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `orderConfig_ibfk_1` FOREIGN KEY (`employeeFk`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `orderConfig_ibfk_2` FOREIGN KEY (`defaultCompanyFk`) REFERENCES `vn`.`company` (`id`) ON UPDATE CASCADE, CONSTRAINT `orderConfig_ibfk_3` FOREIGN KEY (`guestAgencyFk`) REFERENCES `vn`.`agencyMode` (`id`) ON UPDATE CASCADE, CONSTRAINT `orderConfig_ibfk_4` FOREIGN KEY (`defaultAgencyFk`) REFERENCES `vn`.`agencyMode` (`id`), - CONSTRAINT `orderConfig_ibfk_5` FOREIGN KEY (`guestAddressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) + CONSTRAINT `orderConfig_ibfk_5` FOREIGN KEY (`guestAddressFk`) REFERENCES `vn`.`address` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -12086,7 +12127,7 @@ CREATE TABLE `orderRow` ( KEY `warehouse_shipment` (`warehouseFk`,`shipment`), CONSTRAINT `orderRow_ibfk_2` FOREIGN KEY (`itemFk`) REFERENCES `vn`.`item` (`id`) ON UPDATE CASCADE, CONSTRAINT `orderRow_ibfk_3` FOREIGN KEY (`orderFk`) REFERENCES `order` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=13288054 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=13387246 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 */ ; @@ -12306,7 +12347,7 @@ CREATE TABLE `shelfConfig` ( KEY `warehouse_id` (`warehouse`), CONSTRAINT `shelfConfig_ibfk_1` FOREIGN KEY (`family`) REFERENCES `vn`.`itemType` (`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 + CONSTRAINT `shelfConfig_ibfk_3` FOREIGN KEY (`warehouse`) REFERENCES `vn`.`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 */; @@ -12397,7 +12438,7 @@ CREATE TABLE `tpvConfig` ( `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 + CONSTRAINT `employee_id` FOREIGN KEY (`employeeFk`) REFERENCES `vn`.`worker` (`id`) 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 */; @@ -12510,7 +12551,7 @@ CREATE TABLE `tpvTransaction` ( CONSTRAINT `receipt_id` FOREIGN KEY (`receiptFk`) REFERENCES `vn`.`receipt` (`Id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `tpvTransaction_ibfk_1` FOREIGN KEY (`clientFk`) REFERENCES `vn`.`client` (`id`) 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=366419 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV'; +) ENGINE=InnoDB AUTO_INCREMENT=370350 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Transactions realized through the virtual TPV'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12545,7 +12586,7 @@ CREATE TABLE `visit` ( PRIMARY KEY (`id`), KEY `firstAgent` (`firstAgentFk`), CONSTRAINT `visit_ibfk_1` FOREIGN KEY (`firstAgentFk`) REFERENCES `visitAgent` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1981341 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1997562 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12565,7 +12606,7 @@ CREATE TABLE `visitAccess` ( KEY `visit_access_idx_agent` (`agentFk`), KEY `stamp` (`stamp`), CONSTRAINT `visitAccess_ibfk_1` FOREIGN KEY (`agentFk`) REFERENCES `visitAgent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4413749 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4455059 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12590,7 +12631,7 @@ CREATE TABLE `visitAgent` ( KEY `firstAccess` (`firstAccessFk`), CONSTRAINT `visitAgent_ibfk_1` FOREIGN KEY (`visitFk`) REFERENCES `visit` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `visitAgent_ibfk_2` FOREIGN KEY (`firstAccessFk`) REFERENCES `visitAccess` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2621308 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2641996 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -12610,7 +12651,7 @@ CREATE TABLE `visitUser` ( KEY `date_time` (`stamp`), KEY `user_id` (`userFk`), CONSTRAINT `visitUser_ibfk_1` FOREIGN KEY (`accessFk`) REFERENCES `visitAccess` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3871949 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3903218 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -13025,7 +13066,7 @@ BEGIN DECLARE vCalc INT; CALL cache.available_refresh(vCalc, FALSE, vWarehouse, vShipping); - CALL vn2008.item_last_buy_(vWarehouse, vShipping); + CALL vn.buyUltimate(vWarehouse, vShipping); SELECT a.id, a.`name`, a.category, a.size, a.stems, a.inkFk, a.typeFk, a.image, c.available, o.`name` origin, t.`name` `type`, @@ -13045,8 +13086,8 @@ BEGIN JOIN vn.itemType t ON t.id = a.typeFk JOIN vn.itemCategory r ON r.id = t.categoryFk LEFT JOIN vn.origin o ON o.id = a.originFk - JOIN vn2008.t_item_last_buy l ON l.item_id = a.id - JOIN vn.buy b ON b.id = l.buy_id + JOIN tmp.buyUltimate bu ON bu.itemFk = a.id + JOIN vn.buy b ON b.id = bu.buyFk WHERE c.calc_id = vCalc AND c.available > 0 AND a.id != 90 @@ -14502,6 +14543,257 @@ BEGIN DECLARE vCompanyId INT; DECLARE vAgencyModeId INT; + DECLARE TICKET_FREE INT DEFAULT 2; + + DECLARE cDates CURSOR FOR + SELECT zgs.shipped, r.warehouse_id + FROM `order` o + JOIN order_row r ON r.order_id = o.id + LEFT JOIN tmp.zoneGetShipped zgs ON zgs.warehouseFk = r.warehouse_id + WHERE o.id = vOrder AND r.amount != 0 + GROUP BY r.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, + o.confirmed, cs.Id_Cliente, o.company_id, o.agency_id + INTO vDelivery, vAddress, vNotes, + vIsConfirmed, vClientId, vCompanyId, vAgencyModeId + FROM hedera.`order` o + 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 vn.zoneGetShippedWarehouse (vDelivery, vAddress, vAgencyModeId); + + -- Trabajador que realiza la acción + + IF vUserId IS NULL THEN + SELECT employeeFk INTO vUserId 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 + + 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.ticketCreateWithUser( + vClientId, + IFNULL(vShipment, CURDATE()), + vWarehouse, + vCompanyId, + vAddress, + vAgencyModeId, + NULL, + vDelivery, + vUserId, + vTicket + ); + ELSE + INSERT INTO vncontrol.inter + SET Id_Ticket = vTicket, + 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 SET + Id_Ticket = vTicket, + observation_type_id = 4 /* salesperson */ , + `text` = 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 coste + + DROP TEMPORARY TABLE IF EXISTS tComponents; + CREATE TEMPORARY TABLE tComponents + (INDEX (saleFk)) + ENGINE = MEMORY + SELECT SUM(mc.Valor) valueSum, mc.Id_Movimiento saleFk + 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; + + UPDATE vn2008.Movimientos m + JOIN tComponents mc ON mc.saleFk = m.Id_Movimiento + SET m.CostFixat = valueSum; + + DROP TEMPORARY TABLE tComponents; + END LOOP; + + CLOSE cDates; + + DELETE FROM basketOrder WHERE orderFk = 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 `order_confirmWithUser__` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET 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_confirmWithUser__`(IN `vOrder` INT, IN `vUserId` INT) +BEGIN +/** + * Confirms an order, creating each of its tickets on the corresponding + * date, store and user. + * + * @param vOrder The order identifier + * @param vUser The user 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 vRowId INT; + DECLARE vDelivery DATE; + DECLARE vAddress 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; @@ -16097,7 +16389,7 @@ CREATE TABLE `cdr` ( KEY `dstchannel` (`dst_channel`), KEY `disposition` (`disposition`), KEY `src` (`src`) -) ENGINE=InnoDB AUTO_INCREMENT=311674 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=314233 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16359,7 +16651,7 @@ CREATE TABLE `queueMember` ( 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=774 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queue members'; +) ENGINE=InnoDB AUTO_INCREMENT=777 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Queue members'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16928,7 +17220,7 @@ CREATE TABLE `bank_account` ( CONSTRAINT `bank_account_bank_account_type_id_fkey` FOREIGN KEY (`bank_account_type_id`) REFERENCES `bank_account_type` (`bank_account_type_id`) ON UPDATE CASCADE, CONSTRAINT `bank_account_nation_id_fkey` FOREIGN KEY (`nation_id`) REFERENCES `nation` (`nation_id`) ON UPDATE CASCADE, CONSTRAINT `bank_profile` FOREIGN KEY (`client_id`) REFERENCES `profile` (`profile_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=932 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=935 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -16983,7 +17275,7 @@ CREATE TABLE `business` ( KEY `bussiness_provider` (`provider_id`), CONSTRAINT `business_client` FOREIGN KEY (`client_id`) REFERENCES `profile` (`profile_id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `bussiness_provider` FOREIGN KEY (`provider_id`) REFERENCES `profile` (`profile_id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2995 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=3004 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17090,7 +17382,7 @@ CREATE TABLE `calendar_labour` ( CONSTRAINT `fk_calendar_labour_calendar_free1` FOREIGN KEY (`calendar_free_id`) REFERENCES `calendar_free` (`calendar_free_id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fk_calendar_labour_legend_id` FOREIGN KEY (`calendar_labour_legend_id`) REFERENCES `calendar_labour_legend` (`calendar_labour_legend_id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `workcenter_calendar` FOREIGN KEY (`workcenter_id`) REFERENCES `workcenter` (`workcenter_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=534 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=586 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17105,7 +17397,7 @@ CREATE TABLE `calendar_labour_legend` ( `descripcion` longtext, PRIMARY KEY (`calendar_labour_legend_id`), UNIQUE KEY `calendar_labour_legend_calendar_labour_legend_id_key` (`calendar_labour_legend_id`) -) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17120,6 +17412,7 @@ CREATE TABLE `calendar_labour_type` ( `descripcion` varchar(50) DEFAULT NULL, `pausa_remunerada` time DEFAULT NULL, `hours_week` smallint(6) DEFAULT NULL, + `isPartial` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`calendar_labour_type_id`), UNIQUE KEY `hours_labour_hours_labour_id_key` (`calendar_labour_type_id`) ) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8; @@ -17197,7 +17490,7 @@ CREATE TABLE `income_employee` ( KEY `fperson_id` (`person_id`), CONSTRAINT `fincometype_id` FOREIGN KEY (`id_incomeType`) REFERENCES `incometype_employee` (`id_incometype`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `fperson_id` FOREIGN KEY (`person_id`) REFERENCES `person` (`person_id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=72942 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=73477 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17231,7 +17524,7 @@ CREATE TABLE `journey` ( PRIMARY KEY (`journey_id`), KEY `fki_business_journey` (`business_id`), CONSTRAINT `business_journey` FOREIGN KEY (`business_id`) REFERENCES `business_labour` (`business_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2449 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=2523 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17267,7 +17560,7 @@ CREATE TABLE `media` ( PRIMARY KEY (`media_id`), KEY `media_media_type_id_idx` (`media_type_id`), CONSTRAINT `media_ibfk_1` FOREIGN KEY (`media_type_id`) REFERENCES `media_type` (`media_type_id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1156 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1162 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17346,8 +17639,9 @@ CREATE TABLE `person` ( UNIQUE KEY `person_nif_key` (`nif`), UNIQUE KEY `nis_UNIQUE` (`nis`), KEY `index1` (`person_id`,`name`,`nickname`,`firstname`), - KEY `person_worker` (`id_trabajador`) -) ENGINE=InnoDB AUTO_INCREMENT=1165 DEFAULT CHARSET=utf8; + KEY `person_worker` (`id_trabajador`), + CONSTRAINT `Person_ibfk_1` FOREIGN KEY (`id_trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1166 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17398,7 +17692,7 @@ CREATE TABLE `profile` ( KEY `profile_person_id_idx` (`person_id`), KEY `profile_profile_type_id_idx` (`profile_type_id`), CONSTRAINT `person_fk` FOREIGN KEY (`person_id`) REFERENCES `person` (`person_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1049 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1050 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17434,7 +17728,7 @@ CREATE TABLE `profile_media` ( KEY `profile_media_profile_id_idx` (`profile_id`), CONSTRAINT `fk_profile_media_media1` FOREIGN KEY (`media_id`) REFERENCES `media` (`media_id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `media_ibfk_20` FOREIGN KEY (`profile_id`) REFERENCES `profile` (`profile_id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1317 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1323 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -17516,7 +17810,7 @@ CREATE TABLE `workerTimeControlConfig` ( `warehouseFk` smallint(6) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `warehouseFk_1_idx` (`warehouseFk`), - CONSTRAINT `warehouseFk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `warehouseFk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -19922,31 +20216,133 @@ CREATE TABLE `activityTaxDismissed` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Temporary table structure for view `address` +-- Table structure for table `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 `street`, - 1 AS `city`, - 1 AS `postalCode`, - 1 AS `provinceFk`, - 1 AS `phone`, - 1 AS `mobile`, - 1 AS `nickname`, - 1 AS `isDefaultAddress`, - 1 AS `longitude`, - 1 AS `latitude`, - 1 AS `warehouseFk`, - 1 AS `agencyModeFk`, - 1 AS `isEqualizated`, - 1 AS `isActive`*/; -SET character_set_client = @saved_cs_client; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `address` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `clientFk` int(11) NOT NULL DEFAULT '0', + `warehouseFk` smallint(6) unsigned DEFAULT '1', + `street` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `city` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `provinceFk` smallint(5) unsigned DEFAULT NULL, + `postalCode` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `mobile` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, + `nickname` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, + `isDefaultAddress` tinyint(1) NOT NULL DEFAULT '0', + `agencyModeFk` int(11) NOT NULL DEFAULT '2', + `notes` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, + `hasInsurance` tinyint(1) NOT NULL DEFAULT '0', + `porte` double DEFAULT NULL, + `isActive` tinyint(4) NOT NULL DEFAULT '1', + `postcodeOLD` int(11) unsigned DEFAULT NULL, + `longitude` decimal(11,7) DEFAULT NULL, + `latitude` decimal(11,7) DEFAULT NULL, + `codPosOld` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, + `isEqualizated` tinyint(1) DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `Id_Agencia` (`agencyModeFk`), + KEY `Id_cliente` (`clientFk`), + KEY `warehouse_id` (`warehouseFk`), + KEY `province_id` (`provinceFk`), + KEY `telefono` (`phone`), + KEY `movil` (`mobile`), + KEY `CODPOSTAL` (`postalCode`), + CONSTRAINT `address_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE, + CONSTRAINT `address_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `address_ibfk_3` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE, + CONSTRAINT `address_ibfk_4` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=29531 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 = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`address_beforeInsert` + BEFORE INSERT ON `vn`.`address` FOR EACH ROW +BEGIN + DECLARE vIsEqualizated BOOL; + + CALL pbx.phone_isValid(NEW.phone); + CALL pbx.phone_isValid(NEW.mobile); + + IF NEW.isEqualizated IS NULL THEN + SELECT isEqualizated + INTO vIsEqualizated + FROM client + WHERE id = NEW.clientFk; + + SET NEW.isEqualizated = vIsEqualizated; + END IF; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`address_beforeUpdate` + BEFORE UPDATE ON `vn`.`address` FOR EACH ROW +BEGIN + CALL pbx.phone_isValid(NEW.phone); + CALL pbx.phone_isValid(NEW.mobile); +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!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 = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`address_afterUpdate` + AFTER UPDATE ON `address` FOR EACH ROW +BEGIN + -- Recargos de equivalencia distintos implican facturacion por consignatario + IF NEW.isEqualizated != OLD.isEqualizated THEN + IF + (SELECT COUNT(*) FROM + ( + SELECT DISTINCT (isEqualizated = FALSE) as Equ + FROM address + WHERE clientFk = NEW.clientFk + ) t1 + ) > 1 + THEN + UPDATE client + SET hasToInvoiceByAddress = TRUE + WHERE id = NEW.clientFk; + 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 `addressForPackaging` @@ -19959,7 +20355,7 @@ 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 + CONSTRAINT `addresForPackaging_fk1` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -19978,9 +20374,9 @@ CREATE TABLE `addressObservation` ( PRIMARY KEY (`id`), UNIQUE KEY `Id_Consigna` (`addressFk`,`observationTypeFk`), KEY `addressObservationFgn_idx` (`observationTypeFk`), - CONSTRAINT `addressFgn` FOREIGN KEY (`addressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `addressFgn` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `addressObservationFgn` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4140 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; +) ENGINE=InnoDB AUTO_INCREMENT=4175 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Observaciones de los consignatarios'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -19998,6 +20394,33 @@ SET character_set_client = utf8; 1 AS `description`*/; SET character_set_client = @saved_cs_client; +-- +-- Temporary table structure for view `address__` +-- + +DROP TABLE IF EXISTS `address__`; +/*!50001 DROP VIEW IF EXISTS `address__`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `address__` AS SELECT + 1 AS `id`, + 1 AS `clientFk`, + 1 AS `street`, + 1 AS `city`, + 1 AS `postalCode`, + 1 AS `provinceFk`, + 1 AS `phone`, + 1 AS `mobile`, + 1 AS `nickname`, + 1 AS `isDefaultAddress`, + 1 AS `longitude`, + 1 AS `latitude`, + 1 AS `warehouseFk`, + 1 AS `agencyModeFk`, + 1 AS `isEqualizated`, + 1 AS `isActive`*/; +SET character_set_client = @saved_cs_client; + -- -- Table structure for table `agency` -- @@ -20020,7 +20443,7 @@ CREATE TABLE `agency` ( KEY `Id_Banco` (`bankFk`), KEY `agencias_alias_idx` (`warehouseAliasFk`), KEY `agency_ibfk_3_idx` (`workCenterFk`), - CONSTRAINT `agency_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `agency_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `agency_ibfk_2` FOREIGN KEY (`bankFk`) REFERENCES `bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `agency_ibfk_3` FOREIGN KEY (`workCenterFk`) REFERENCES `workCenter` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=282 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -20251,7 +20674,7 @@ CREATE TABLE `autoRadioLogCall` ( PRIMARY KEY (`id`), KEY `ticket_idx` (`ticketFk`), CONSTRAINT `ticket` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=1700 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1737 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -20350,21 +20773,6 @@ CREATE TABLE `bankEntity` ( ) ENGINE=InnoDB AUTO_INCREMENT=30050 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Entidades bancarias '; /*!40101 SET character_set_client = @saved_cs_client */; --- --- Temporary table structure for view `bankEntity__` --- - -DROP TABLE IF EXISTS `bankEntity__`; -/*!50001 DROP VIEW IF EXISTS `bankEntity__`*/; -SET @saved_cs_client = @@character_set_client; -SET character_set_client = utf8; -/*!50001 CREATE VIEW `bankEntity__` AS SELECT - 1 AS `id`, - 1 AS `countryFk`, - 1 AS `name`, - 1 AS `bic`*/; -SET character_set_client = @saved_cs_client; - -- -- Temporary table structure for view `bank__` -- @@ -20505,7 +20913,7 @@ CREATE TABLE `buy` ( CONSTRAINT `buy_ibfk_3` FOREIGN KEY (`containerFk`) REFERENCES `vn2008`.`container` (`container_id`) ON UPDATE CASCADE, CONSTRAINT `buy_id` FOREIGN KEY (`entryFk`) REFERENCES `entry` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `buy_itemfk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=347003652 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=350459346 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 */ ; @@ -20739,7 +21147,7 @@ CREATE TABLE `calendarHolidaysName` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -20815,7 +21223,7 @@ CREATE TABLE `claim` ( CONSTRAINT `claim_ibfk_3` FOREIGN KEY (`claimStateFk`) REFERENCES `claimState` (`id`) ON UPDATE CASCADE, CONSTRAINT `claim_ibfk_4` FOREIGN KEY (`claimDepartmentFk`) REFERENCES `vn2008`.`cl_dep` (`id`) ON UPDATE CASCADE, CONSTRAINT `claim_ibfk_5` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=70559 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; +) ENGINE=InnoDB AUTO_INCREMENT=71188 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Reclamaciones, tabla principal'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -20837,7 +21245,7 @@ CREATE TABLE `claimBeginning` ( KEY `cl_main_id` (`claimFk`), CONSTRAINT `claimBeginning_ibfk_7` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `claimBeginning_ibfk_8` FOREIGN KEY (`claimFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=155367 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=156398 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -20898,7 +21306,7 @@ CREATE TABLE `claimDestination` ( `addressFk` int(10) DEFAULT NULL COMMENT 'Indica el consignatario para el ticket que regulariza el inventario', PRIMARY KEY (`id`), KEY `clSolAddressFk_idx` (`addressFk`), - CONSTRAINT `clSolAddressFk` FOREIGN KEY (`addressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON DELETE SET NULL ON UPDATE CASCADE + CONSTRAINT `clSolAddressFk` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) 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 */; @@ -20946,8 +21354,8 @@ CREATE TABLE `claimDevelopment` ( CONSTRAINT `claimDevelopment_ibfk_6` FOREIGN KEY (`claimResponsibleFk`) REFERENCES `claimResponsible` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimDevelopment_ibfk_7` FOREIGN KEY (`claimReasonFk`) REFERENCES `claimReason` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimDevelopment_ibfk_8` FOREIGN KEY (`claimResultFk`) REFERENCES `claimResult` (`id`) ON UPDATE CASCADE, - CONSTRAINT `claimDevelopment_ibfk_9` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=60743 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; + CONSTRAINT `claimDevelopment_ibfk_9` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=61219 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Causas de las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21006,9 +21414,9 @@ CREATE TABLE `claimEnd` ( KEY `Id_Movimiento` (`saleFk`), KEY `cl_sol_id` (`claimDestinationFk`), CONSTRAINT `claimEnd_ibfk_1` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `claimEnd_ibfk_3` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `claimEnd_ibfk_3` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `claimEnd_ibfk_4` FOREIGN KEY (`claimFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=118249 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; +) ENGINE=InnoDB AUTO_INCREMENT=119366 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Acciones en respuesta a las reclamaciones'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21052,7 +21460,7 @@ CREATE TABLE `claimLog` ( KEY `userFk` (`userFk`), CONSTRAINT `claimOriginFk` FOREIGN KEY (`originFk`) REFERENCES `claim` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `claimUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4544 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=6007 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21324,13 +21732,13 @@ CREATE TABLE `client` ( KEY `typeFk` (`typeFk`), CONSTRAINT `canal_nuevo_cliente` FOREIGN KEY (`contactChannelFk`) REFERENCES `contactChannel` (`id`) ON UPDATE CASCADE, CONSTRAINT `client_ibfk_1` FOREIGN KEY (`countryFk`) REFERENCES `country` (`Id`) ON UPDATE CASCADE, - CONSTRAINT `client_ibfk_2` FOREIGN KEY (`payMethodFk`) REFERENCES `vn2008`.`pay_met` (`id`) ON UPDATE CASCADE, - CONSTRAINT `client_ibfk_3` FOREIGN KEY (`salesPersonFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `client_ibfk_4` FOREIGN KEY (`defaultAddressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `client_ibfk_2` FOREIGN KEY (`payMethodFk`) REFERENCES `payMethod` (`id`) ON UPDATE CASCADE, + CONSTRAINT `client_ibfk_3` FOREIGN KEY (`salesPersonFk`) REFERENCES `worker` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `client_ibfk_4` FOREIGN KEY (`defaultAddressFk`) REFERENCES `address` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `client_ibfk_5` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE, CONSTRAINT `tipos_de_cliente` FOREIGN KEY (`clientTypeFk`) REFERENCES `clientType` (`id`) ON UPDATE CASCADE, CONSTRAINT `typeFk` FOREIGN KEY (`typeFk`) REFERENCES `clientType` (`code`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=16753 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=16839 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 */ ; @@ -21478,7 +21886,7 @@ CREATE TABLE `clientContact` ( `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `phone` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=4150 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21498,8 +21906,8 @@ CREATE TABLE `clientCredit` ( KEY `workers_fk_idx` (`workerFk`), KEY `credit_ClienteFk` (`clientFk`), CONSTRAINT `credit_ClienteFk` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `workers_fk` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=84200 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `workers_fk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=84778 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21604,7 +22012,7 @@ CREATE TABLE `clientLog` ( KEY `userFk` (`userFk`), CONSTRAINT `clientLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `clientLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=236131 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=238172 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21638,8 +22046,8 @@ CREATE TABLE `clientObservation` ( KEY `Id_Trabajador` (`workerFk`), KEY `Id_Cliente` (`clientFk`), CONSTRAINT `clientObservation_ibfk_1` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `clientObservation_ibfk_2` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=78262 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; + CONSTRAINT `clientObservation_ibfk_2` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=78533 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -21713,7 +22121,7 @@ CREATE TABLE `clientProtected` ( PRIMARY KEY (`clientFk`), KEY `clientProtected_fk2_idx` (`workerFk`), CONSTRAINT `clientProtected_fk1` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `clientProtected_fk2` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `clientProtected_fk2` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de clientes y comerciales que no se van a ver afectados por las desagsignaciones mensuales automaticas'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -21750,7 +22158,7 @@ CREATE TABLE `clientSample` ( PRIMARY KEY (`id`), KEY `empresa_id` (`companyFk`), CONSTRAINT `clientSample_ibfk_1` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=18421 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=18485 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -21926,7 +22334,7 @@ CREATE TABLE `company` ( KEY `empresa_cliente_idx` (`clientFk`), KEY `Id_Proveedores_account` (`supplierAccountFk`), KEY `empresa_grupo_fk_idx` (`companyGroupFk`), - CONSTRAINT `company_ibfk_1` FOREIGN KEY (`workerManagerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `company_ibfk_1` FOREIGN KEY (`workerManagerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `empresa_cliente` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `empresa_fk4` FOREIGN KEY (`supplierAccountFk`) REFERENCES `supplierAccount` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `fk_empresa_grupo` FOREIGN KEY (`companyGroupFk`) REFERENCES `companyGroup` (`id`) ON UPDATE CASCADE @@ -22045,7 +22453,8 @@ SET character_set_client = utf8; /*!50001 CREATE VIEW `componentType` AS SELECT 1 AS `id`, 1 AS `type`, - 1 AS `base`*/; + 1 AS `base`, + 1 AS `isMargin`*/; SET character_set_client = @saved_cs_client; -- @@ -22190,7 +22599,7 @@ DELIMITER ;; BEFORE UPDATE ON `country` FOR EACH ROW BEGIN IF !(OLD.geoFk <=> NEW.geoFk) THEN - CALL zoneGeo_check; + CALL zoneGeo_throwNotEditable; END IF; END */;; DELIMITER ; @@ -22401,7 +22810,7 @@ CREATE TABLE `creditClassification` ( KEY `creditClassifClientFk_idx` (`client`), KEY `creditClassifdateEnd_idx` (`dateEnd`), CONSTRAINT `creditClassifClientFk` FOREIGN KEY (`client`) REFERENCES `client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3256 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3264 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 */ ; @@ -22446,7 +22855,7 @@ CREATE TABLE `creditInsurance` ( 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=3103 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalla los clientes que tienen seguro de credito'; +) ENGINE=InnoDB AUTO_INCREMENT=3125 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 */ ; @@ -22642,7 +23051,7 @@ CREATE TABLE `device` ( PRIMARY KEY (`id`), KEY `device_fk1_idx` (`userFk`), CONSTRAINT `device_fk1` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=348 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=365 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -22667,7 +23076,7 @@ CREATE TABLE `deviceProduction` ( KEY `departmentFgn` (`departmentFk`), CONSTRAINT `departmentFgn` FOREIGN KEY (`departmentFk`) REFERENCES `vn2008`.`department` (`department_id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `deviceProductionModelsFgn` FOREIGN KEY (`modelFk`) REFERENCES `deviceProductionModels` (`code`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=359 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=376 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -22755,7 +23164,7 @@ CREATE TABLE `dms` ( UNIQUE KEY `emp_id` (`companyFk`,`hardCopyNumber`,`warehouseFk`), KEY `trabajador_id` (`workerFk`), KEY `warehouse_id` (`warehouseFk`) -) ENGINE=InnoDB AUTO_INCREMENT=1369291 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='document managment system'; +) ENGINE=InnoDB AUTO_INCREMENT=1379804 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='document managment system'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -22942,7 +23351,7 @@ CREATE TABLE `dua` ( CONSTRAINT `dua_fk1` FOREIGN KEY (`gestdocFk`) REFERENCES `dms` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `dua_fk2` FOREIGN KEY (`awbFk`) REFERENCES `vn2008`.`awb` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `dua_fk4` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4271 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4294 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -22983,7 +23392,7 @@ CREATE TABLE `duaIntrastat` ( KEY `duaIntrastat_fk2_idx` (`duaFk`), CONSTRAINT `duaIntrastat_fk1` FOREIGN KEY (`intrastatFk`) REFERENCES `intrastat` (`id`) ON UPDATE CASCADE, CONSTRAINT `duaIntrastat_fk2` FOREIGN KEY (`duaFk`) REFERENCES `dua` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=7085 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=7137 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23003,7 +23412,7 @@ CREATE TABLE `duaInvoiceIn` ( KEY `duaInvoiceIn_fk2_idx` (`invoiceInFk`), CONSTRAINT `duaInvoiceIn_fk1` FOREIGN KEY (`duaFk`) REFERENCES `dua` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `duaInvoiceIn_fk2` FOREIGN KEY (`invoiceInFk`) REFERENCES `vn2008`.`recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=5218 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Facturas asociadas a la declaración aduanera, básicamente la del agente transitario'; +) ENGINE=InnoDB AUTO_INCREMENT=5253 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Facturas asociadas a la declaración aduanera, básicamente la del agente transitario'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23028,7 +23437,7 @@ CREATE TABLE `duaTax` ( CONSTRAINT `duaTax_fk1` FOREIGN KEY (`duaFk`) REFERENCES `dua` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `duaTax_fk2` FOREIGN KEY (`supplierFk`) REFERENCES `supplier` (`id`) ON UPDATE CASCADE, CONSTRAINT `duaTax_fk3` FOREIGN KEY (`taxClassFk`) REFERENCES `taxClass` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=9856 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=10040 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23164,7 +23573,7 @@ CREATE TABLE `entry` ( CONSTRAINT `entry_ibfk_1` FOREIGN KEY (`supplierFk`) REFERENCES `supplier` (`id`) ON UPDATE CASCADE, CONSTRAINT `entry_ibfk_6` FOREIGN KEY (`travelFk`) REFERENCES `travel` (`id`) ON UPDATE CASCADE, CONSTRAINT `entry_ibfk_7` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=180472 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='InnoDB free: 88064 kB; (`Id_Proveedor`) REFER `vn2008/Provee'; +) ENGINE=InnoDB AUTO_INCREMENT=181287 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 */ ; @@ -23365,7 +23774,7 @@ CREATE TABLE `entryLog` ( KEY `entryLog_ibfk_2` (`userFk`), CONSTRAINT `entryLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `entryLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=172753 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=175066 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23416,7 +23825,7 @@ CREATE TABLE `envialiaCity` ( PRIMARY KEY (`id`), KEY `agencyFk` (`agencyFk`), KEY `postalCode` (`postalCode`) -) ENGINE=InnoDB AUTO_INCREMENT=1504426 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1585166 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -23612,7 +24021,7 @@ CREATE TABLE `expedition` ( KEY `index4` (`ticketFk`), CONSTRAINT `Id_Agencia` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticket_id` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3387233 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3407728 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 */ ; @@ -23890,7 +24299,7 @@ CREATE TABLE `greuge` ( KEY `Greuges_cliente_idx` (`clientFk`), CONSTRAINT `Id_Ticket_Greuge_Ticket` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `greuges_type_fk` FOREIGN KEY (`greugeTypeFk`) REFERENCES `greugeType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3764930 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT; +) ENGINE=InnoDB AUTO_INCREMENT=3783801 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -24138,11 +24547,11 @@ CREATE TABLE `inventoryFailure` ( KEY `inventoryFailure_fk4_idx` (`warehouseFk`), KEY `inventoryFailure_fk5_idx` (`causeFk`), CONSTRAINT `inventoryFailure_fk1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `inventoryFailure_fk2` FOREIGN KEY (`throwerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `inventoryFailure_fk3` FOREIGN KEY (`guiltyFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `inventoryFailure_fk4` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `inventoryFailure_fk2` FOREIGN KEY (`throwerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `inventoryFailure_fk3` FOREIGN KEY (`guiltyFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `inventoryFailure_fk4` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `inventoryFailure_fk5` FOREIGN KEY (`causeFk`) REFERENCES `inventoryFailureCause` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=25433 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=26503 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24420,7 +24829,7 @@ CREATE TABLE `invoiceOut` ( CONSTRAINT `invoiceOut_ibfk_4` FOREIGN KEY (`cplusTaxBreakFk`) REFERENCES `cplusTaxBreak` (`id`) ON UPDATE CASCADE, CONSTRAINT `invoice_bank_id` FOREIGN KEY (`bankFk`) REFERENCES `bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `invoice_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=517490 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=521420 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 */ ; @@ -24546,7 +24955,7 @@ CREATE TABLE `invoiceOutExpence` ( KEY `invoiceOutExpence_FK_2_idx` (`expenceFk`), CONSTRAINT `invoiceOutExpence_FK_1` FOREIGN KEY (`invoiceOutFk`) REFERENCES `invoiceOut` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `invoiceOutExpence_FK_2` FOREIGN KEY (`expenceFk`) REFERENCES `expence` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=131368 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Desglosa la base imponible de una factura en funcion del tipo de gasto/venta'; +) ENGINE=InnoDB AUTO_INCREMENT=135589 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 */; -- @@ -24589,7 +24998,7 @@ CREATE TABLE `invoiceOutTax` ( KEY `pgcFk` (`pgcFk`), CONSTRAINT `invoiceOutFk` FOREIGN KEY (`invoiceOutFk`) REFERENCES `invoiceOut` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `invoiceOutTax_ibfk_1` FOREIGN KEY (`pgcFk`) REFERENCES `pgc` (`code`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1160471 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1176977 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -24695,7 +25104,7 @@ CREATE TABLE `item` ( CONSTRAINT `item_ibfk_5` FOREIGN KEY (`typeFk`) REFERENCES `itemType` (`id`) ON UPDATE CASCADE, CONSTRAINT `item_ibfk_6` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `producer_id` FOREIGN KEY (`producerFk`) REFERENCES `producer` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=372970 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=375197 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 */ ; @@ -24822,7 +25231,7 @@ CREATE TABLE `itemBarcode` ( UNIQUE KEY `Id_Article_2` (`itemFk`,`code`), KEY `Id_Article` (`itemFk`), CONSTRAINT `itemBarcode_ibfk_1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=42383 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=42554 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25049,7 +25458,7 @@ CREATE TABLE `itemLog` ( KEY `itemLogUserFk_idx` (`userFk`), CONSTRAINT `itemLogItemFk` FOREIGN KEY (`originFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemLogUserFk` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=88268 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=92669 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25067,13 +25476,43 @@ CREATE TABLE `itemPlacement` ( `modificationDate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `reserve` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, `pickable` int(11) unsigned NOT NULL DEFAULT '0', + `sectorFk` int(11) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `Id_Article_UNIQUE` (`itemFk`,`warehouseFk`), KEY `Articles_nicho_wh_fk` (`warehouseFk`), - CONSTRAINT `Articles_nicho_wh_fk` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Articles_nichos_fk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=945360 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + KEY `itemPlacement_fk3_idx` (`id`,`sectorFk`), + KEY `itemPlacement_fk3_idx1` (`sectorFk`), + CONSTRAINT `Articles_nicho_wh_fk` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Articles_nichos_fk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `itemPlacement_fk3` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=955168 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 = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`itemPlacementAfterUpdate` + AFTER UPDATE ON `itemPlacement` FOR EACH ROW +BEGIN + IF NEW.`code` = 0 THEN + INSERT INTO vn2008.mail SET + `to` = 'jgallego@verdnatura.es', + `reply_to` = 'jgallego@verdnatura.es', + `subject` = 'Nicho modificado', + `text` = CONCAT(account.myUserGetName(), ' ha modificado el nicho del item ', + NEW.itemFk, ' de ', OLD.`code`, ' a ', NEW.`code`); + END IF; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_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 `itemPlacementSupply` @@ -25100,7 +25539,7 @@ CREATE TABLE `itemPlacementSupply` ( CONSTRAINT `itemPlacementSupply_fk2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemPlacementSupply_fk3` FOREIGN KEY (`repoUserFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemPlacementSupply_fk4` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=76477 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de nichos de picking que hay que reponer'; +) ENGINE=InnoDB AUTO_INCREMENT=78764 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de nichos de picking que hay que reponer'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25219,7 +25658,7 @@ CREATE TABLE `itemShelving` ( CONSTRAINT `itemShelving_fk1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelving_fk2` FOREIGN KEY (`shelvingFk`) REFERENCES `shelving` (`code`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelving_fk3` FOREIGN KEY (`packagingFk`) REFERENCES `packaging` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=134741 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla utilizada para localizar los artículos dentro de los carros. Usado para la gestión del almacén en el altillo '; +) ENGINE=InnoDB AUTO_INCREMENT=136195 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla utilizada para localizar los artículos dentro de los carros. Usado para la gestión del almacén en el altillo '; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25336,7 +25775,7 @@ CREATE TABLE `itemShelvingPlacementSupply` ( KEY `itemShelvingPlacementSupply_fk3_idx` (`userFk`), CONSTRAINT `itemShelvingPlacementSupply_fk1` FOREIGN KEY (`itemShelvingFk`) REFERENCES `itemShelving` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelvingPlacementSupply_fk2` FOREIGN KEY (`itemPlacementSupplyFk`) REFERENCES `itemPlacementSupply` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=71946 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de los itemShelving afectados por las ordenes de reposicion de nicho'; +) ENGINE=InnoDB AUTO_INCREMENT=73775 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle de los itemShelving afectados por las ordenes de reposicion de nicho'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -25406,9 +25845,9 @@ CREATE TABLE `itemShelvingSale` ( KEY `itemShelvingSale_fk2_idx` (`saleFk`), KEY `itemShelvingSale_fk3_idx` (`userFk`), CONSTRAINT `itemShelvingSale_fk1` FOREIGN KEY (`itemShelvingFk`) REFERENCES `itemShelving` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `itemShelvingSale_fk2` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON UPDATE CASCADE, + CONSTRAINT `itemShelvingSale_fk2` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemShelvingSale_fk3` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=34770 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle del producto que se retira de los carros, relacionando la linea de movimiento correspondiente'; +) ENGINE=InnoDB AUTO_INCREMENT=38275 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Detalle del producto que se retira de los carros, relacionando la linea de movimiento correspondiente'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -25535,7 +25974,7 @@ CREATE TABLE `itemTag` ( KEY `itemFk_2` (`itemFk`,`tagFk`,`intValue`), CONSTRAINT `itemTagItemFk` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `itemTagTagFk` FOREIGN KEY (`tagFk`) REFERENCES `tag` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1371893 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1388702 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 */ ; @@ -25680,7 +26119,7 @@ CREATE TABLE `itemTaxCountry` ( CONSTRAINT `countryFK_paises` FOREIGN KEY (`countryFk`) REFERENCES `country` (`Id`) ON UPDATE CASCADE, CONSTRAINT `itemFK_Article` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `taxClassFK_Iva_Group` FOREIGN KEY (`taxClassFk`) REFERENCES `taxClass` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=865183 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Define la clase de iva por artículo y pais'; +) ENGINE=InnoDB AUTO_INCREMENT=879400 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 */; -- @@ -25751,10 +26190,10 @@ CREATE TABLE `itemType` ( KEY `tipos_fk4_idx` (`roleCodeFk`), KEY `warehouseFk5_idx` (`warehouseFk`), CONSTRAINT `Tipos_fk3` FOREIGN KEY (`making`) REFERENCES `confectionType` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Trabajador` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `Trabajador` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `itemType_ibfk_1` FOREIGN KEY (`categoryFk`) REFERENCES `itemCategory` (`id`) ON UPDATE CASCADE, CONSTRAINT `itemType_ibfk_2` FOREIGN KEY (`roleCodeFk`) REFERENCES `account`.`role` (`name`) ON UPDATE CASCADE, - CONSTRAINT `warehouseFk5` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `warehouseFk5` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=282 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 */ ; @@ -26065,7 +26504,7 @@ CREATE TABLE `mandate` ( CONSTRAINT `mandato_fgkey1` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `mandato_fgkey2` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `mandato_fgkey3` FOREIGN KEY (`mandateTypeFk`) REFERENCES `mandateType` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=17197 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=17236 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 */ ; @@ -26189,8 +26628,8 @@ CREATE TABLE `medicalReview` ( KEY `frgcenter_idx` (`centerFk`), KEY `frgnkWorker_idx` (`workerFk`), CONSTRAINT `frgcenter` FOREIGN KEY (`centerFk`) REFERENCES `medicalCenter` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `frgnkWorker` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=366 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `frgnkWorker` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=367 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26211,7 +26650,7 @@ CREATE TABLE `message` ( KEY `sender` (`sender`), KEY `recipient` (`recipient`), KEY `uuid` (`uuid`(8)) -) ENGINE=InnoDB AUTO_INCREMENT=2037918 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2048871 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26233,7 +26672,7 @@ CREATE TABLE `messageInbox` ( PRIMARY KEY (`id`), KEY `uuid` (`uuid`(8)), KEY `finalRecipient` (`finalRecipient`) -) ENGINE=InnoDB AUTO_INCREMENT=2212646 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2224271 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26362,7 +26801,7 @@ CREATE TABLE `origin` ( UNIQUE KEY `Abreviatura` (`code`), KEY `warehouse_id` (`warehouseFk`), KEY `Id_Paises` (`countryFk`), - CONSTRAINT `origin_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE + CONSTRAINT `origin_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -26463,7 +26902,7 @@ CREATE TABLE `packageChecked` ( PRIMARY KEY (`id`), UNIQUE KEY `entryFk_UNIQUE` (`itemFk`), KEY `fkItem_idx` (`itemFk`) -) ENGINE=InnoDB AUTO_INCREMENT=2762 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2961 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -26566,7 +27005,7 @@ CREATE TABLE `parking` ( UNIQUE KEY `code_UNIQUE` (`code`), KEY `parking_fk1_idx` (`sectorFk`), CONSTRAINT `parking_fk1` FOREIGN KEY (`sectorFk`) REFERENCES `sector` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=26777 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla con los parkings del altillo'; +) ENGINE=InnoDB AUTO_INCREMENT=26778 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Tabla con los parkings del altillo'; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -26637,14 +27076,33 @@ SET character_set_client = utf8; SET character_set_client = @saved_cs_client; -- --- Temporary table structure for view `payMethod` +-- Table structure for table `payMethod` -- DROP TABLE IF EXISTS `payMethod`; -/*!50001 DROP VIEW IF EXISTS `payMethod`*/; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `payMethod` ( + `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `solution` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, + `outstandingDebt` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000', + `graceDays` int(11) unsigned NOT NULL DEFAULT '0', + `ibanRequired` tinyint(3) DEFAULT '0', + `isNotified` tinyint(3) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Temporary table structure for view `payMethod__` +-- + +DROP TABLE IF EXISTS `payMethod__`; +/*!50001 DROP VIEW IF EXISTS `payMethod__`*/; SET @saved_cs_client = @@character_set_client; SET character_set_client = utf8; -/*!50001 CREATE VIEW `payMethod` AS SELECT +/*!50001 CREATE VIEW `payMethod__` AS SELECT 1 AS `id`, 1 AS `name`, 1 AS `graceDays`, @@ -26752,7 +27210,8 @@ CREATE TABLE `person` ( PRIMARY KEY (`id`), UNIQUE KEY `nif` (`fi`), KEY `nifIndex` (`fi`), - KEY `workerFk_idx` (`workerFk`) + KEY `workerFk_idx` (`workerFk`), + CONSTRAINT `Person_ibfk_1` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=818 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -27005,7 +27464,7 @@ CREATE TABLE `priceBuilderWarehouse__` ( PRIMARY KEY (`id`), KEY `priceBuilderWarehouse_fk1_idx` (`warehouseFk`), KEY `priceBuilderWarehouse_fk2_idx` (`priceBuilderFk`), - CONSTRAINT `priceBuilderWarehouse_fk1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `priceBuilderWarehouse_fk1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `priceBuilderWarehouse_fk2` FOREIGN KEY (`priceBuilderFk`) REFERENCES `priceBuilder__` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -27117,7 +27576,8 @@ SET character_set_client = utf8; 1 AS `text`, 1 AS `worker`, 1 AS `text2`, - 1 AS `text3`*/; + 1 AS `text3`, + 1 AS `error`*/; SET character_set_client = @saved_cs_client; -- @@ -27148,7 +27608,7 @@ CREATE TABLE `producer` ( `isVisible` tinyint(1) NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `name_UNIQUE` (`name`) -) ENGINE=InnoDB AUTO_INCREMENT=13852 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=14171 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27250,8 +27710,8 @@ CREATE TABLE `province` ( KEY `provicne_zone_fk_idx` (`zoneFk`), CONSTRAINT `province_ibfk_1` FOREIGN KEY (`countryFk`) REFERENCES `country` (`Id`) ON UPDATE CASCADE, CONSTRAINT `province_zone_fk` FOREIGN KEY (`zoneFk`) REFERENCES `vn2008`.`zones` (`zone_id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_Id` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=208 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `warehouse_Id` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=209 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 */ ; @@ -27295,7 +27755,7 @@ DELIMITER ;; BEFORE UPDATE ON `province` FOR EACH ROW BEGIN IF !(OLD.geoFk <=> NEW.geoFk) THEN - CALL zoneGeo_check; + CALL zoneGeo_throwNotEditable; END IF; END */;; DELIMITER ; @@ -27465,7 +27925,7 @@ CREATE TABLE `receipt` ( `amountPaid` decimal(10,2) NOT NULL DEFAULT '0.00', `amountUnpaid` decimal(10,2) NOT NULL DEFAULT '0.00', `payed` datetime DEFAULT NULL, - `workerFk` int(11) DEFAULT '0', + `workerFk` int(11) DEFAULT NULL, `bankFk` int(11) DEFAULT '0', `clientFk` int(11) DEFAULT '0', `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, @@ -27477,10 +27937,11 @@ CREATE TABLE `receipt` ( KEY `empresa_id` (`companyFk`), KEY `clientDate` (`clientFk`,`payed`), KEY `id_factura` (`invoiceFk`), + CONSTRAINT `receiptWorkerFk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `receipt_ibfk_1` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE, CONSTRAINT `receipt_ibfk_2` FOREIGN KEY (`bankFk`) REFERENCES `bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibo_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=603891 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=608220 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 */ ; @@ -27574,7 +28035,7 @@ CREATE TABLE `recovery` ( KEY `cliente_idx` (`clientFk`), CONSTRAINT `cliente333` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE, CONSTRAINT `cliente_cliente` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=313 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='En esta tabla apuntaremos los acuerdos de recobro semanal a '; +) ENGINE=InnoDB AUTO_INCREMENT=316 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 */; -- @@ -27645,7 +28106,7 @@ DROP TABLE IF EXISTS `route`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `route` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, - `workerFk` int(10) unsigned DEFAULT NULL, + `workerFk` int(11) DEFAULT NULL, `created` date NOT NULL, `vehicleFk` int(10) unsigned DEFAULT NULL, `agencyModeFk` int(11) DEFAULT NULL, @@ -27663,8 +28124,10 @@ CREATE TABLE `route` ( KEY `Id_Agencia` (`agencyModeFk`), KEY `Fecha` (`created`), KEY `gestdoc_id` (`gestdocFk`), - CONSTRAINT `route_ibfk_1` FOREIGN KEY (`gestdocFk`) REFERENCES `dms` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=59301 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + KEY `route_ibfk_2_idx` (`workerFk`), + CONSTRAINT `route_ibfk_1` FOREIGN KEY (`gestdocFk`) REFERENCES `dms` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, + CONSTRAINT `route_ibfk_2` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=59755 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 */ ; @@ -27754,8 +28217,8 @@ CREATE TABLE `routeComplement` ( KEY `fgn_workerFk_idx` (`workerFk`), KEY `fgn_routeActionFk_idx` (`routeActionFk`), CONSTRAINT `fgn_routeActionFk` FOREIGN KEY (`routeActionFk`) REFERENCES `routeAction` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `fgn_workerFk` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) -) ENGINE=InnoDB AUTO_INCREMENT=983 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `fgn_workerFk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1020 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27830,7 +28293,7 @@ CREATE TABLE `routeLoadWorker` ( PRIMARY KEY (`routeFk`,`workerFk`), KEY `frmWorker_idx` (`workerFk`), CONSTRAINT `frmRutas` FOREIGN KEY (`routeFk`) REFERENCES `route` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `frmWorker` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION + CONSTRAINT `frmWorker` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -27858,7 +28321,7 @@ CREATE TABLE `routeLog` ( KEY `userFk` (`userFk`), CONSTRAINT `routeLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `route` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `routeLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=172833 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=185459 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -27897,7 +28360,7 @@ CREATE TABLE `routeUserPercentage` ( `dated` date NOT NULL, PRIMARY KEY (`id`), KEY `routeUserPercentageFk_idx` (`workerFk`), - CONSTRAINT `routeUserPercentageFk` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION + CONSTRAINT `routeUserPercentageFk` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -27969,7 +28432,7 @@ CREATE TABLE `sale` ( KEY `itemFk_ticketFk` (`itemFk`,`ticketFk`), CONSTRAINT `movement_ticket_id` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `sale_ibfk_1` FOREIGN KEY (`itemFk`) REFERENCES `item` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=26240792 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=26334522 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 */ ; @@ -28210,7 +28673,7 @@ CREATE TABLE `saleTracking` ( KEY `fgnStateFk_idx` (`stateFk`), KEY `saleTracking_idx5` (`created`), CONSTRAINT `fgnStateFk` FOREIGN KEY (`stateFk`) REFERENCES `state` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=20603603 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=20832569 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 */ ; @@ -28378,8 +28841,8 @@ CREATE TABLE `sector` ( PRIMARY KEY (`id`,`warehouseFk`), UNIQUE KEY `code_UNIQUE` (`code`), KEY `sector_fk1_idx` (`warehouseFk`), - CONSTRAINT `sector_fk1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `sector_fk1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28399,9 +28862,9 @@ CREATE TABLE `sharingCart` ( PRIMARY KEY (`id`), KEY `Worker` (`workerFk`), KEY `Suplent` (`workerSubstitute`), - CONSTRAINT `Suplent_key` FOREIGN KEY (`workerSubstitute`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `Trabajador_key` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2194 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `Suplent_key` FOREIGN KEY (`workerSubstitute`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Trabajador_key` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=2210 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 */ ; @@ -28486,7 +28949,7 @@ CREATE TABLE `sharingClient` ( KEY `Worker` (`workerFk`), KEY `Client` (`clientFk`), CONSTRAINT `Clients_key` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Trabajadores_key` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `Trabajadores_key` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=47 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; @@ -28610,7 +29073,7 @@ CREATE TABLE `sms` ( `status` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=152649 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=154152 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28799,7 +29262,7 @@ CREATE TABLE `stockBuyed` ( 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=834233 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=842567 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28860,9 +29323,9 @@ CREATE TABLE `supplier` ( KEY `codpos` (`postCode`,`postCode__`), CONSTRAINT `Id_Pais` FOREIGN KEY (`countryFk`) REFERENCES `country` (`Id`) ON UPDATE CASCADE, CONSTRAINT `pay_dem_id` FOREIGN KEY (`payDemFk`) REFERENCES `payDem` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pay_met_id` FOREIGN KEY (`payMethodFk`) REFERENCES `vn2008`.`pay_met` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pay_met_id` FOREIGN KEY (`payMethodFk`) REFERENCES `payMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `province_id` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2926 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2946 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28887,7 +29350,7 @@ CREATE TABLE `supplierAccount` ( KEY `fk_proveedores_proveedores_account_idx` (`supplierFk`), KEY `fk_Proveedores_account_entity1_idx` (`bankEntityFk`), KEY `fk_banco_prov_account_idx` (`bankFk`) -) ENGINE=InnoDB AUTO_INCREMENT=865 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=871 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -28972,6 +29435,7 @@ CREATE TABLE `tablet` ( `uuid` varchar(100) COLLATE utf8_unicode_ci NOT NULL, `name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, `place` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `macwifi` varchar(45) COLLATE utf8_unicode_ci DEFAULT '0', PRIMARY KEY (`uuid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -29236,14 +29700,14 @@ CREATE TABLE `ticket` ( KEY `Fecha` (`shipped`,`clientFk`), KEY `tickets_zone_fk_idx` (`zoneFk`), CONSTRAINT `ticket_customer_id` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE, - CONSTRAINT `ticket_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `ticket_ibfk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticket_ibfk_5` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE, - CONSTRAINT `ticket_ibfk_6` FOREIGN KEY (`addressFk`) REFERENCES `vn2008`.`Consignatarios` (`id_consigna`) ON UPDATE CASCADE, + CONSTRAINT `ticket_ibfk_6` FOREIGN KEY (`addressFk`) REFERENCES `address` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticket_ibfk_8` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`), CONSTRAINT `ticket_ibfk_9` FOREIGN KEY (`routeFk`) REFERENCES `route` (`id`) ON UPDATE CASCADE, CONSTRAINT `tickets_fk10` FOREIGN KEY (`refFk`) REFERENCES `invoiceOut` (`ref`) ON UPDATE CASCADE, CONSTRAINT `tickets_zone_fk` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=2459711 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2472973 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 */ ; @@ -29518,7 +29982,7 @@ CREATE TABLE `ticketLog` ( KEY `logTicketuserFk` (`userFk`), CONSTRAINT `ticketLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketLog_user` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=7832496 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=8018501 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -29555,7 +30019,7 @@ CREATE TABLE `ticketObservation` ( KEY `observation_type_id` (`observationTypeFk`), CONSTRAINT `ticketObservation_ibfk_1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketObservation_ibfk_2` FOREIGN KEY (`observationTypeFk`) REFERENCES `observationType` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1492852 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; +) ENGINE=InnoDB AUTO_INCREMENT=1501295 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Todas las observaciones referentes a un ticket'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -29609,8 +30073,8 @@ CREATE TABLE `ticketPackaging` ( KEY `ticketPackaging_fk3_idx` (`workerFk`), CONSTRAINT `ticketPackaging_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `ticketPackaging_fk2` FOREIGN KEY (`packagingFk`) REFERENCES `packaging` (`id`) ON UPDATE CASCADE, - CONSTRAINT `ticketPackaging_fk3` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=75355 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `ticketPackaging_fk3` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=76679 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 */ ; @@ -29673,7 +30137,7 @@ CREATE TABLE `ticketParking` ( KEY `ticketParking_fk1_idx` (`parkingFk`), CONSTRAINT `ticketParking_fk1` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON UPDATE CASCADE, CONSTRAINT `ticketParking_fk2` FOREIGN KEY (`parkingFk`) REFERENCES `parking` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=6708 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los distintos lugares donde puede estar aparcado cada uno de los prepedidos'; +) ENGINE=InnoDB AUTO_INCREMENT=8919 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Almacena los distintos lugares donde puede estar aparcado cada uno de los prepedidos'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -29736,10 +30200,10 @@ CREATE TABLE `ticketRequest` ( KEY `fgnAtender_idx` (`atenderFk`), KEY `fgnTicket_idx` (`ticketFk`), CONSTRAINT `fgbMovimiento` FOREIGN KEY (`saleFk`) REFERENCES `sale` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `fgnAtender` FOREIGN KEY (`atenderFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fgnRequester` FOREIGN KEY (`requesterFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fgnAtender` FOREIGN KEY (`atenderFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, + CONSTRAINT `fgnRequester` FOREIGN KEY (`requesterFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `fgnTicket` FOREIGN KEY (`ticketFk`) REFERENCES `ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=51479 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=51780 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 */ ; @@ -30143,7 +30607,7 @@ CREATE TABLE `town` ( KEY `name_idx` (`name`), KEY `townProvinceFk` (`provinceFk`), CONSTRAINT `townProvinceFk` FOREIGN KEY (`provinceFk`) REFERENCES `province` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=241169 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=241171 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 */ ; @@ -30271,7 +30735,7 @@ CREATE TABLE `trainingCourse` ( KEY `frgnTrainingCourseType_idx` (`trainingCourseTypeFk`), CONSTRAINT `frgnCenter` FOREIGN KEY (`centerFk`) REFERENCES `trainingCenter` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `frgnTrainingCourseType` FOREIGN KEY (`trainingCourseTypeFk`) REFERENCES `trainingCourseType` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `frgnWorker` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION + CONSTRAINT `frgnWorker` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=436 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Lista de trabajadores que han realizado una formación'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -30320,11 +30784,11 @@ CREATE TABLE `travel` ( KEY `warehouse_landing` (`warehouseInFk`,`landed`), KEY `warehouse_out_shipment` (`warehouseOutFk`,`shipped`), KEY `travel_ibfk_4_idx` (`cargoSupplierFk`), - CONSTRAINT `travel_ibfk_1` FOREIGN KEY (`warehouseInFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `travel_ibfk_2` FOREIGN KEY (`warehouseOutFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_ibfk_1` FOREIGN KEY (`warehouseInFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_ibfk_2` FOREIGN KEY (`warehouseOutFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_ibfk_3` FOREIGN KEY (`agencyFk`) REFERENCES `agencyMode` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_ibfk_4` FOREIGN KEY (`cargoSupplierFk`) REFERENCES `vn2008`.`Proveedores_cargueras` (`Id_Proveedor`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=140224 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=DYNAMIC; +) ENGINE=InnoDB AUTO_INCREMENT=140526 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 */ ; @@ -30581,7 +31045,7 @@ CREATE TABLE `vehicle` ( KEY `provinceFk_idx` (`warehouseFk`), CONSTRAINT `provinceFk` FOREIGN KEY (`warehouseFk`) REFERENCES `province` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `vehicle_ibfk_1` FOREIGN KEY (`companyFk`) REFERENCES `company` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=449 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=450 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30605,26 +31069,81 @@ SET character_set_client = utf8; SET character_set_client = @saved_cs_client; -- --- Temporary table structure for view `warehouse` +-- Table structure for table `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 `isFeedStock`, - 1 AS `isComparative`, - 1 AS `hasComission`, - 1 AS `hasAvailable`, - 1 AS `isManaged`, - 1 AS `isForTicket`, - 1 AS `hasStowaway`, - 1 AS `hasDms`*/; -SET character_set_client = @saved_cs_client; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `warehouse` ( + `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, + `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, + `isFeedStock` tinyint(1) unsigned NOT NULL DEFAULT '0', + `addressName` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `delay` double NOT NULL DEFAULT '0.004', + `hasAvailable` tinyint(4) NOT NULL DEFAULT '0', + `isForTicket` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00', + `countryFk` mediumint(8) unsigned NOT NULL DEFAULT '1', + `labelZone` tinyint(4) NOT NULL DEFAULT '0', + `hasComission` tinyint(4) NOT NULL DEFAULT '0', + `isInventory` tinyint(2) NOT NULL DEFAULT '0', + `isComparative` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Si esta a true,en la comparativa muestra el stock de este almacen, cuando no se especifica almacen.', + `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0', + `isManaged` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Se añaden los cubos de expedition a la tabla ticketPackaging', + `hasConfectionTeam` tinyint(1) unsigned NOT NULL DEFAULT '0', + `hasStowaway` tinyint(1) NOT NULL DEFAULT '0', + `hasDms` tinyint(1) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `name_UNIQUE` (`name`), + KEY `Id_Paises` (`countryFk`), + KEY `isComparativeIdx` (`isComparative`), + CONSTRAINT `warehouse_ibfk_1` FOREIGN KEY (`countryFk`) REFERENCES `country` (`Id`) +) ENGINE=InnoDB AUTO_INCREMENT=58 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 = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_afterInsert` AFTER INSERT ON `warehouse` FOR EACH ROW +BEGIN + IF NEW.isFeedStock THEN + INSERT INTO warehouseAlias(`name`) VALUES(NEW.`name`); + INSERT INTO warehouseJoined(warehouseFk, warehouseAliasFk) + VALUES(NEW.id,LAST_INSERT_ID()); + END IF; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_afterUpdate` AFTER UPDATE ON `warehouse` FOR EACH ROW +BEGIN + IF NEW.isFeedStock IS TRUE and OLD.isFeedStock IS FALSE then + INSERT INTO warehouseAlias(`name`) VALUES(NEW.`name`); + INSERT INTO warehouseJoined(warehouseFk, warehouseAliasFk) + VALUES(NEW.id,LAST_INSERT_ID()); + END IF; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Temporary table structure for view `warehouseAlias` @@ -30639,6 +31158,41 @@ SET character_set_client = utf8; 1 AS `name`*/; SET character_set_client = @saved_cs_client; +-- +-- Temporary table structure for view `warehouseJoined` +-- + +DROP TABLE IF EXISTS `warehouseJoined`; +/*!50001 DROP VIEW IF EXISTS `warehouseJoined`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `warehouseJoined` AS SELECT + 1 AS `warehouseFk`, + 1 AS `warehouseAliasFk`*/; +SET character_set_client = @saved_cs_client; + +-- +-- Temporary table structure for view `warehouse__` +-- + +DROP TABLE IF EXISTS `warehouse__`; +/*!50001 DROP VIEW IF EXISTS `warehouse__`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `warehouse__` AS SELECT + 1 AS `id`, + 1 AS `name`, + 1 AS `isInventory`, + 1 AS `isFeedStock`, + 1 AS `isComparative`, + 1 AS `hasComission`, + 1 AS `hasAvailable`, + 1 AS `isManaged`, + 1 AS `isForTicket`, + 1 AS `hasStowaway`, + 1 AS `hasDms`*/; +SET character_set_client = @saved_cs_client; + -- -- Table structure for table `workCenter` -- @@ -30686,27 +31240,95 @@ SET character_set_client = utf8; SET character_set_client = @saved_cs_client; -- --- Temporary table structure for view `worker` +-- Table structure for table `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`, - 1 AS `photo`, - 1 AS `fi`, - 1 AS `fiDueDate`, - 1 AS `code`, - 1 AS `lastName`*/; -SET character_set_client = @saved_cs_client; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `worker` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(3) COLLATE utf8_unicode_ci NOT NULL, + `firstName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `lastName` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `password` varchar(50) CHARACTER SET utf8 DEFAULT NULL, + `email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, + `extension` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, + `sub` int(11) unsigned DEFAULT NULL, + `user` varchar(20) CHARACTER SET utf8 DEFAULT NULL, + `typeBussines` varchar(30) CHARACTER SET utf8 DEFAULT 'no dejar vacio' COMMENT 'campo obsoleto, actualmente se rellena en laboral', + `laborCategory` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `started` datetime DEFAULT NULL, + `ended` datetime DEFAULT NULL, + `notes` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, + `photo` blob, + `fi` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL, + `address` varchar(50) COLLATE utf8_unicode_ci NOT NULL, + `birthed` date NOT NULL, + `maritalStatus` enum('soltero/a','casado/a') COLLATE utf8_unicode_ci NOT NULL, + `phone` varchar(9) COLLATE utf8_unicode_ci NOT NULL, + `companyFk` smallint(5) unsigned NOT NULL, + `clientFk` int(11) DEFAULT NULL, + `userFk` int(10) unsigned DEFAULT NULL, + `bossFk` int(11) NOT NULL DEFAULT '2', + `fiDueDate` datetime DEFAULT NULL, + `hasMachineryAutorized` tinyint(2) DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `CodigoTrabajador_UNIQUE` (`code`), + UNIQUE KEY `user` (`user`), + UNIQUE KEY `user_id_UNIQUE` (`userFk`), + UNIQUE KEY `Id_Cliente_Interno` (`clientFk`), + KEY `sub` (`sub`), + KEY `boss_idx` (`bossFk`), + KEY `empresa_id` (`companyFk`), + CONSTRAINT `Clientes` FOREIGN KEY (`clientFk`) REFERENCES `client` (`id`) ON UPDATE CASCADE, + CONSTRAINT `worker_ibfk_1` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=101329 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`.`worker_beforeInsert` + BEFORE INSERT ON `worker` FOR EACH ROW +BEGIN + IF NEW.password = '' THEN + SET NEW.password = 'FALLO'; + END IF; + + SET NEW.id = NEW.userFk; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!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 = 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 ;; +/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn`.`worker_beforeUpdate` + BEFORE UPDATE ON `worker` FOR EACH ROW +BEGIN + IF NEW.password = '' THEN + SET NEW.password = 'FALLO'; + END IF; +END */;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; -- -- Table structure for table `workerBosses` @@ -30723,8 +31345,8 @@ CREATE TABLE `workerBosses` ( UNIQUE KEY `workerFk_UNIQUE` (`workerFk`,`bossFk`), KEY `fg_worker_worker_idx` (`workerFk`), KEY `fg_bossFk_worker_idx` (`bossFk`), - CONSTRAINT `fg_bossFk_worker` FOREIGN KEY (`bossFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION, - CONSTRAINT `fg_workerFk_worker` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE NO ACTION + CONSTRAINT `fg_bossFk_worker` FOREIGN KEY (`bossFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `fg_workerFk_worker` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2515 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -30775,7 +31397,7 @@ CREATE TABLE `workerConfig` ( `defaultWorkerFk` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `defaultWorkerFk` (`defaultWorkerFk`), - CONSTRAINT `workerConfig_ibfk_1` FOREIGN KEY (`defaultWorkerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `workerConfig_ibfk_1` FOREIGN KEY (`defaultWorkerFk`) REFERENCES `worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -30806,9 +31428,9 @@ CREATE TABLE `workerDocument` ( 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_1` FOREIGN KEY (`worker`) REFERENCES `worker` (`userFk`) ON UPDATE CASCADE, CONSTRAINT `workerDocument_ibfk_2` FOREIGN KEY (`document`) REFERENCES `dms` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=12702 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=12770 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30873,7 +31495,7 @@ CREATE TABLE `workerJourney` ( UNIQUE KEY `userFk_UNIQUE` (`userFk`,`dated`), KEY `fk_workerJourney_user_idx` (`userFk`), CONSTRAINT `fk_workerJourney_user` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=55379352 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=60070840 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30911,8 +31533,8 @@ CREATE TABLE `workerLog` ( 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=15762 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `workerFk` FOREIGN KEY (`originFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=15870 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30974,9 +31596,9 @@ CREATE TABLE `workerTimeControl` ( PRIMARY KEY (`id`), UNIQUE KEY `userFk_Timed_uniq` (`userFk`,`timed`), KEY `warehouseFkfk1_idx` (`warehouseFk`), - CONSTRAINT `warehouseFk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `warehouseFk_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `workerTimeControl_fk1` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=8281636 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Fichadas'; +) ENGINE=InnoDB AUTO_INCREMENT=8290721 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Fichadas'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -30992,7 +31614,7 @@ CREATE TABLE `workerTimeControlConfig` ( `host` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `warehouseFk_1_idx` (`warehouseFk`), - CONSTRAINT `warehouseFk_2` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `warehouseFk_2` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -31025,7 +31647,7 @@ CREATE TABLE `workerTimeControlPin` ( `workerFk` int(11) NOT NULL, `pin` varchar(255) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`workerFk`), - CONSTRAINT `workerFk_.1` FOREIGN KEY (`workerFk`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `workerFk_.1` FOREIGN KEY (`workerFk`) REFERENCES `worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -31117,6 +31739,27 @@ SET character_set_client = utf8; 1 AS `firstname`*/; SET character_set_client = @saved_cs_client; +-- +-- Temporary table structure for view `worker__` +-- + +DROP TABLE IF EXISTS `worker__`; +/*!50001 DROP VIEW IF EXISTS `worker__`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `worker__` AS SELECT + 1 AS `id`, + 1 AS `firstName`, + 1 AS `userFk`, + 1 AS `phone`, + 1 AS `bossFk`, + 1 AS `photo`, + 1 AS `fi`, + 1 AS `fiDueDate`, + 1 AS `code`, + 1 AS `lastName`*/; +SET character_set_client = @saved_cs_client; + -- -- Table structure for table `workers20190711` -- @@ -31314,9 +31957,9 @@ CREATE TABLE `zone` ( KEY `fk_zone_1_idx` (`warehouseFk`), KEY `fk_zone_2_idx` (`agencyModeFk`), KEY `zone_name_idx` (`name`), - CONSTRAINT `fk_zone_1` FOREIGN KEY (`warehouseFk`) REFERENCES `vn2008`.`warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `fk_zone_1` FOREIGN KEY (`warehouseFk`) REFERENCES `warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `fk_zone_2` FOREIGN KEY (`agencyModeFk`) REFERENCES `agencyMode` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=452 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=458 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -31358,7 +32001,7 @@ CREATE TABLE `zoneGeo` ( KEY `name_idx` (`name`), KEY `parentFk` (`parentFk`), KEY `path` (`path`) -) ENGINE=InnoDB AUTO_INCREMENT=597454 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=597459 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 */ ; @@ -31481,7 +32124,7 @@ END */ ;; /*!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 `printingQueueChecker` */;; +/*!50106 DROP EVENT IF EXISTS `printQueue_check` */;; DELIMITER ;; /*!50003 SET @saved_cs_client = @@character_set_client */ ;; /*!50003 SET @saved_cs_results = @@character_set_results */ ;; @@ -31493,14 +32136,35 @@ DELIMITER ;; /*!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 `printingQueueChecker` ON SCHEDULE EVERY 10 MINUTE STARTS '2018-05-01 00:00:00' ON COMPLETION NOT PRESERVE ENABLE DO BEGIN +/*!50106 CREATE*/ /*!50117 DEFINER=`root`@`%`*/ /*!50106 EVENT `printQueue_check` ON SCHEDULE EVERY 10 MINUTE STARTS '2019-11-08 00:00:00' ON COMPLETION PRESERVE ENABLE COMMENT 'Notifica en caso de que el servidor de impresión este parado' DO BEGIN DECLARE vCurrentCount INT; DECLARE vCheckSum INT; DECLARE vIsAlreadyNotified BOOLEAN; + DECLARE vTableQueue TEXT; + DECLARE vLineQueue TEXT; + DECLARE vDone BOOL DEFAULT FALSE; + DECLARE vCur CURSOR FOR + SELECT CONCAT(' + ', IFNULL(pq.id, ''), ' + ', IFNULL(p.path, ''),' + ', IFNULL(i.Informe, ''),' + ', IFNULL(e.Estado, ''),' + ', IFNULL(w.firstname, ''), " ", IFNULL(w.lastName, ''),' + ', IFNULL(pq.`error`, ''),' + ') + FROM vn.printingQueue pq + LEFT JOIN vn.worker w ON w.id = pq.worker + LEFT JOIN vn.printer p ON p.id = pq.printer + LEFT JOIN vn2008.Informes i ON i.Id_Informe = pq.report + JOIN vn2008.Estados e ON e.Id_Estado = pq.state + LIMIT 30; + + DECLARE CONTINUE HANDLER FOR NOT FOUND + SET vDone = TRUE; SELECT COUNT(*), IFNULL(SUM(id),0) INTO vCurrentCount, vCheckSum - FROM printingQueue WHERE state = 1; + FROM vn.printingQueue WHERE state = 1; SELECT isAlreadyNotified INTO vIsAlreadyNotified FROM printingQueueCheck; @@ -31509,11 +32173,41 @@ DELIMITER ;; (SELECT lastCheckSum FROM printingQueueCheck) = vCheckSum AND vIsAlreadyNotified = FALSE AND vCurrentCount > 0 THEN - INSERT INTO vn2008.mail (`to`, subject, text) + + SELECT ' + + + + + + + + ' INTO vTableQueue; + + OPEN vCur; + + l: LOOP + + SET vDone = FALSE; + + FETCH vCur INTO vLineQueue; + + IF vDone THEN + LEAVE l; + END IF; + + SELECT CONCAT(vTableQueue, vLineQueue) INTO vTableQueue; + + END LOOP; + + CLOSE vCur; + + INSERT INTO vn2008.mail (`to`, subject, text) VALUES ('cau@verdnatura.es', 'servidor de impresion parado', - CONCAT('Hay ', vCurrentCount, ' lineas bloqueadas')); - UPDATE printingQueueCheck SET isAlreadyNotified = TRUE; + CONCAT('Hay ', vCurrentCount, ' lineas bloqueadas', vTableQueue, '
Id ColaRuta ImpresoraInformeEstadoTrabajadorError
')); + + UPDATE printingQueueCheck SET isAlreadyNotified = TRUE; END IF; IF (SELECT lastCount FROM printingQueueCheck) > vCurrentCount AND @@ -31525,6 +32219,7 @@ DELIMITER ;; UPDATE printingQueueCheck SET lastCount = vCurrentCount, lastCheckSum = vCheckSum; + END */ ;; /*!50003 SET time_zone = @saved_time_zone */ ;; /*!50003 SET sql_mode = @saved_sql_mode */ ;; @@ -31867,7 +32562,8 @@ BEGIN * @param vM3 m3 del articulo * @param vAddressFk * @param vZoneFk - * @returnvRetailedPrice precio de venta sin iva + * @return vRetailedPrice precio de venta sin iva + * @return tmp.catalog_component (warehouseFk, itemFk, componentFk, cost) */ DECLARE vBoxVolume BIGINT; @@ -31906,7 +32602,7 @@ BEGIN -- Margen INSERT INTO tmp.catalog_component (warehouseFk, itemFk, componentFk, cost) - SELECT vWarehouse, vItem, vComponentMargin, vCost / ((100 - rate2) / 100) + SELECT vWarehouse, vItem, vComponentMargin, (vCost / ((100 - rate2) / 100)) - vCost FROM vn.rate WHERE dated <= CURDATE() AND warehouseFk = vWarehouse @@ -31942,7 +32638,6 @@ BEGIN SELECT SUM(cost) INTO vRetailedPrice FROM tmp.catalog_component; - DROP TEMPORARY TABLE tmp.catalog_component; RETURN vRetailedPrice; END ;; @@ -36612,7 +37307,7 @@ BEGIN JOIN vn.ticket t on t.id = tp.ticketFk JOIN vn.packaging p ON p.id = tp.packagingFk LEFT JOIN vn.packageEquivalentItem pe ON pe.itemFk = p.itemFk - WHERE clientFk = vClientFk + WHERE t.clientFk = vClientFk AND t.shipped > '2017-11-21' ) x JOIN vn.item i ON x.itemFk = i.id @@ -38312,67 +39007,64 @@ 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_unicode_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 = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `entryWithItem`(IN `vShipmentWarehouse` INT, IN `vLandingWarehouse` INT, IN `vSale` INT, IN `vVolume` INT, IN `vGrossMargin` DECIMAL(10,2), IN `vInOutDate` DATE) -BEGIN - - DECLARE vTravel INT; - DECLARE vEntry INT; - DECLARE vBucket VARCHAR(10); - DECLARE vAgencyDirectFromProvider INT DEFAULT 15; - - -- seleccionamos travel - SELECT t.id, e.id INTO vTravel, vEntry - FROM travel t LEFT JOIN entry e ON t.id = e.travelFk - WHERE t.landed = vInOutDate AND t.shipped = vInOutDate AND t.warehouseOutFk = vShipmentWarehouse - AND t.warehouseInFk = vLandingWarehouse AND t.agencyFk = vAgencyDirectFromProvider - LIMIT 1; - - -- creamos el travel si es necesario - IF IFNULL(vTravel, FALSE) = FALSE THEN - INSERT INTO travel (shipped, landed, warehouseInFk, warehouseOutFk, agencyFk) - VALUES (vInOutDate, vInOutDate, vLandingWarehouse, vShipmentWarehouse, vAgencyDirectFromProvider); - SELECT LAST_INSERT_ID() INTO vTravel; - END IF; - - -- creamos la Entrada si es necesario - IF IFNULL(vEntry, FALSE) = FALSE THEN - INSERT INTO entry (supplierFk, travelFk) - VALUES (13, vTravel); -- proveedor 'MOVIMIENTO ALMACEN' - SELECT LAST_INSERT_ID() INTO vEntry; - END IF; - - -- creamos el cubo si es necesario - SELECT id INTO vBucket FROM packaging WHERE volume = vVolume LIMIT 1; - IF vBucket IS NULL THEN - INSERT INTO packaging (id, volume) - VALUES (CONCAT('dm',vVolume/1000), vVolume); - SELECT LAST_INSERT_ID() INTO vBucket; - END IF; - - INSERT INTO buy(itemFk,quantity, entryFk, packageFk, packing, `grouping`, groupingMode, buyingValue, freightValue, packageValue, - comissionValue, price2, price3) - SELECT itemFk, - quantity, - vEntry, - vBucket, - 1 packing, - 1 `grouping`, - 0 groupingMode, - s.price - vGrossMargin, - 0 Portefijo, - 0 Embalajefijo, - 0 Comisionfija, - SUM(s.price) + vGrossMargin Tarifa2, - SUM(s.price) + vGrossMargin Tarifa3 - FROM sale s - JOIN saleComponent sc ON sc.saleFk = s.id - WHERE s.id = vSale; +CREATE DEFINER=`root`@`%` PROCEDURE `entryWithItem`(IN `vShipmentWarehouse` INT, IN `vLandingWarehouse` INT, IN `vSale` INT, IN `vVolume` INT, IN netCost DECIMAL(10,2), IN `vInOutDate` DATE) +BEGIN + + DECLARE vTravel INT; + DECLARE vEntry INT; + DECLARE vBucket VARCHAR(10); + DECLARE vAgencyDirectFromProvider INT DEFAULT 15; + DECLARE vSupplierFk INT DEFAULT 963; + + + -- seleccionamos travel + SELECT t.id, e.id INTO vTravel, vEntry + FROM travel t LEFT JOIN entry e ON t.id = e.travelFk + WHERE t.landed = vInOutDate AND t.shipped = vInOutDate AND t.warehouseOutFk = vShipmentWarehouse + AND t.warehouseInFk = vLandingWarehouse AND t.agencyFk = vAgencyDirectFromProvider AND e.supplierFk = vSupplierFk + LIMIT 1; + + -- creamos el travel si es necesario + IF IFNULL(vTravel, FALSE) = FALSE THEN + INSERT INTO travel (shipped, landed, warehouseInFk, warehouseOutFk, agencyFk) + VALUES (vInOutDate, vInOutDate, vLandingWarehouse, vShipmentWarehouse, vAgencyDirectFromProvider); + SELECT LAST_INSERT_ID() INTO vTravel; + END IF; + + -- creamos la Entrada si es necesario + IF IFNULL(vEntry, FALSE) = FALSE THEN + INSERT INTO entry (supplierFk, travelFk) + VALUES (vSupplierFk, vTravel); -- proveedor 'CONFECCION ARTIFICIAL' + SELECT LAST_INSERT_ID() INTO vEntry; + END IF; + + -- creamos el cubo si es necesario + SELECT id INTO vBucket FROM packaging WHERE volume = vVolume LIMIT 1; + IF vBucket IS NULL THEN + INSERT INTO packaging (id, volume) + VALUES (CONCAT('dm',vVolume/1000), vVolume); + SELECT LAST_INSERT_ID() INTO vBucket; + END IF; + + INSERT INTO buy(itemFk,quantity, entryFk, packageFk, packing, `grouping`, stickers, buyingValue, price2, price3) + SELECT itemFk, + quantity, + vEntry, + vBucket, + 1 packing, + 1 `grouping`, + quantity, + netCost, + s.price, + s.price + FROM sale s + WHERE s.id = vSale; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -40753,7 +41445,7 @@ BEGIN */ SELECT visible INTO vVisibleAltillo FROM vn.itemShelvingStock - WHERE itemFk = vItemFk; + WHERE itemFk = vItemFk AND warehouseFk = vWarehouseFk; CALL vn2008.item_last_buy_(vWarehouseFk,vItemFk); @@ -41013,9 +41705,17 @@ BEGIN DECLARE vVisibleCalc INT; DECLARE vAvailableCalc INT; + DECLARE vVisibleAltillo INT; CALL cache.available_refresh(vAvailableCalc, FALSE /*vRefresh*/, vWarehouse, vDate); CALL cache.visible_refresh(vVisibleCalc, FALSE,vWarehouse); + + + + SELECT visible INTO vVisibleAltillo + FROM vn.itemShelvingStock + WHERE itemFk = vItem + AND warehouseFk = vWarehouse; IF vRefresh THEN @@ -41028,7 +41728,7 @@ BEGIN SELECT i.id, i.longName, i.box, i.typeFk, i.tag5,i.value5,i.tag6,i.value6,i.tag7,i.value7,i.tag8,i.value8, ip.code, ip.reserve, - st.amount + vi.visible as visible, + vi.visible - IFNULL(vVisibleAltillo,0) AS visible, av.available FROM vn.item i LEFT JOIN vn.itemPlacement ip @@ -41048,7 +41748,7 @@ BEGIN SELECT i.id, i.longName, i.box, i.typeFk, i.tag5,i.value5,i.tag6,i.value6,i.tag7,i.value7,i.tag8,i.value8, ip.code, ip.reserve, - v.visible, + v.visible - IFNULL(vVisibleAltillo,0) AS visible, av.available FROM vn.item i LEFT JOIN vn.itemPlacement ip @@ -41266,31 +41966,29 @@ 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 `itemPlacementSave`(vCode VARCHAR(22), vPlacement VARCHAR(10), vWarehouseFk INT ) +CREATE DEFINER=`root`@`%` PROCEDURE `itemPlacementSave`( + vCode VARCHAR(22), + vPlacement VARCHAR(10), + vWarehouseFk INT ) BEGIN + DECLARE vItemFk INT; + SET vItemFk = barcodeToItem(vCode); - DECLARE vItemFk INT; - - SET vItemFk = barcodeToItem(vCode); - - IF ASCII(vPlacement) > 57 THEN - - INSERT INTO itemPlacement(itemFk, warehouseFk, reserve,pickable) - VALUES(vItemFk, vWarehouseFk, vPlacement,0) - ON DUPLICATE KEY UPDATE reserve = vPlacement, modificationDate = NOW(); + IF ASCII(vPlacement) > 57 THEN + INSERT INTO itemPlacement(itemFk, warehouseFk, reserve, pickable) + VALUES(vItemFk, vWarehouseFk, vPlacement, 0) + ON DUPLICATE KEY UPDATE reserve = vPlacement, modificationDate = NOW(); ELSE INSERT INTO itemPlacement(itemFk, warehouseFk, code) VALUES(vItemFk, vWarehouseFk, vPlacement) - ON DUPLICATE KEY UPDATE code = vPlacement, modificationDate = NOW(); - + ON DUPLICATE KEY UPDATE code = vPlacement, modificationDate = NOW(); END IF; - END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -41945,69 +42643,78 @@ 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_unicode_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 = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `itemShelvingMake`(IN `vShelvingFk` VARCHAR(8), IN `vBarcode` VARCHAR(22), IN `vShelve` VARCHAR(2), IN `vDeep` INT, IN `vQuantity` INT, IN `vPackagingFk` VARCHAR(10), IN `vGrouping` INT, IN `vPacking` INT, IN `vWarehouseFk` INT, IN `vLevel` INT) -BEGIN - - - - DECLARE vItemFk INT; - - - - SELECT vn.barcodeToItem(vBarcode) INTO vItemFk; - - - SELECT itemFk INTO vItemFk - FROM vn.buy b - WHERE b.id = vItemFk; - - - IF (SELECT COUNT(*) FROM vn.shelving WHERE code = vShelvingFk COLLATE utf8_unicode_ci) = 0 THEN - - INSERT IGNORE INTO vn.parking(`code`) VALUES(vShelvingFk); - INSERT INTO vn.shelving(`code`, parkingFk) - SELECT vShelvingFk, id - FROM vn.parking - WHERE `code` = vShelvingFk COLLATE utf8_unicode_ci; - - END IF; - - - INSERT INTO itemShelving( itemFk, - shelvingFk, - shelve, - deep, - quantity, - visible, - available, - `grouping`, - packing, - packagingFk, - level) - SELECT - vItemFk, - vShelvingFk, - vShelve, - vDeep, - vQuantity, - vQuantity, - vQuantity, - IF(vGrouping = 0, IFNULL(b.packing, vPacking), vGrouping) as `grouping`, - IF(vPacking = 0, b.packing, vPacking) as packing, - IF(vPackagingFk = '', b.packageFk, vPackagingFk) as packaging, - vLevel - FROM vn.item i - LEFT JOIN bi.Last_buy_id lb ON i.id = lb.Id_Article AND lb.warehouse_id = vWarehouseFk - LEFT JOIN vn.buy b ON b.id = lb.Id_Compra - WHERE i.id = vItemFk; - - +BEGIN + + + + DECLARE vItemFk INT; + + + + SELECT vn.barcodeToItem(vBarcode) INTO vItemFk; + + + SELECT itemFk INTO vItemFk + FROM vn.buy b + WHERE b.id = vItemFk; + + + IF (SELECT COUNT(*) FROM vn.shelving WHERE code = vShelvingFk COLLATE utf8_unicode_ci) = 0 THEN + + INSERT IGNORE INTO vn.parking(`code`) VALUES(vShelvingFk); + INSERT INTO vn.shelving(`code`, parkingFk) + SELECT vShelvingFk, id + FROM vn.parking + WHERE `code` = vShelvingFk COLLATE utf8_unicode_ci; + + END IF; + + + + IF (SELECT COUNT(*) FROM vn.itemShelving + WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk + AND itemFk = vItemFk + AND packing = vPacking) = 1 THEN + + UPDATE vn.itemShelving SET quantity = quantity+vQuantity,visible = visible+vQuantity,available = available+vQuantity + WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk AND itemFk = vItemFk AND packing = vPacking; + + ELSE + INSERT INTO itemShelving( itemFk, + shelvingFk, + shelve, + deep, + quantity, + visible, + available, + `grouping`, + packing, + packagingFk, + level) + SELECT + vItemFk, + vShelvingFk, + vShelve, + vDeep, + vQuantity, + vQuantity, + vQuantity, + IF(vGrouping = 0, IFNULL(b.packing, vPacking), vGrouping) as `grouping`, + IF(vPacking = 0, b.packing, vPacking) as packing, + IF(vPackagingFk = '', b.packageFk, vPackagingFk) as packaging, + vLevel + FROM vn.item i + LEFT JOIN bi.Last_buy_id lb ON i.id = lb.Id_Article AND lb.warehouse_id = vWarehouseFk + LEFT JOIN vn.buy b ON b.id = lb.Id_Compra + WHERE i.id = vItemFk; + END IF; END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -42051,37 +42758,45 @@ BEGIN END IF; - - INSERT INTO itemShelving( itemFk, - shelvingFk, - shelve, - deep, - quantity, - visible, - available, - created, - `grouping`, - packing, - packagingFk, - level) - SELECT - vItemFk, - vShelvingFk, - vShelve, - vDeep, - vQuantity, - vQuantity, - vQuantity, - vCreated, - IF(vGrouping = 0, IFNULL(b.packing, vPacking), vGrouping) as `grouping`, - IF(vPacking = 0, b.packing, vPacking) as packing, - IF(vPackagingFk = '', b.packageFk, vPackagingFk) as packaging, - vLevel - FROM vn.item i - LEFT JOIN bi.Last_buy_id lb ON i.id = lb.Id_Article AND lb.warehouse_id = vWarehouseFk - LEFT JOIN vn.buy b ON b.id = lb.Id_Compra - WHERE i.id = vItemFk; - + IF (SELECT COUNT(*) FROM vn.itemShelving + WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk + AND itemFk = vItemFk + AND packing = vPacking) = 1 THEN + + UPDATE vn.itemShelving SET quantity = quantity+vQuantity,visible = visible+vQuantity,available = available+vQuantity, created = vCreated + WHERE shelvingFk COLLATE utf8_unicode_ci = vShelvingFk AND itemFk = vItemFk AND packing = vPacking; + + ELSE + INSERT INTO itemShelving( itemFk, + shelvingFk, + shelve, + deep, + quantity, + visible, + available, + created, + `grouping`, + packing, + packagingFk, + level) + SELECT + vItemFk, + vShelvingFk, + vShelve, + vDeep, + vQuantity, + vQuantity, + vQuantity, + vCreated, + IF(vGrouping = 0, IFNULL(b.packing, vPacking), vGrouping) as `grouping`, + IF(vPacking = 0, b.packing, vPacking) as packing, + IF(vPackagingFk = '', b.packageFk, vPackagingFk) as packaging, + vLevel + FROM vn.item i + LEFT JOIN bi.Last_buy_id lb ON i.id = lb.Id_Article AND lb.warehouse_id = vWarehouseFk + LEFT JOIN vn.buy b ON b.id = lb.Id_Compra + WHERE i.id = vItemFk; + END IF; END ;; DELIMITER ; @@ -42273,7 +42988,8 @@ BEGIN ips.onTheWay, iss.visible itemShelvingStock, IFNULL(v.visible,0) visible, - b.isPickedOff + b.isPickedOff, + vSectorFk as sectorFk FROM vn.itemShelvingStock iss JOIN vn.item i on i.id = iss.itemFk LEFT JOIN vn.itemPlacement ip ON ip.itemFk = iss.itemFk AND ip.warehouseFk = vWarehouseFk @@ -42320,8 +43036,8 @@ BEGIN SELECT itemFk FROM tmp.itemOutTime ON DUPLICATE KEY UPDATE dayEndVisible = dayEndVisible + quantity, firstNegative = if (firstNegative < 0, firstNegative, firstNegative + quantity), - `hour` = if (firstNegative > 0 , `hour`, hours), - `minute` = if (firstNegative > 0, `minute`, minutes); + `hour` = ifnull(if (firstNegative > 0 , `hour`, hours),0), + `minute` = ifnull(if (firstNegative > 0, `minute`, minutes),0); SELECT * FROM tmp.itemShelvingRadar; @@ -43233,7 +43949,7 @@ DELIMITER ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; -CREATE DEFINER=`root`@`%` PROCEDURE `manaSpellersRequery`(worker INTEGER) +CREATE DEFINER=`root`@`%` PROCEDURE `manaSpellersRequery`(vWorkerFk INTEGER) BEGIN DECLARE vWorkerIsExcluded BOOLEAN; @@ -43242,7 +43958,7 @@ BEGIN SELECT COUNT(*) INTO vWorkerIsExcluded FROM bs.manaSpellersExcluded - WHERE workerFk = worker; + WHERE workerFk = vWorkerFk; IF NOT vWorkerIsExcluded THEN @@ -43250,7 +43966,7 @@ BEGIN FROM clientManaCache; REPLACE bs.workerMana (workerFk, amount) - SELECT worker, sum(mana) FROM + SELECT vWorkerFk, sum(mana) FROM ( SELECT s.quantity * sc.value as mana FROM ticket t @@ -43258,7 +43974,7 @@ BEGIN JOIN client c ON c.id = a.clientFk JOIN sale s ON s.ticketFk = t.id JOIN saleComponent sc ON sc.saleFk = s.id - WHERE c.salesPersonFk = worker AND componentFk IN (39, 37) -- maná auto y maná + WHERE c.salesPersonFk = vWorkerFk AND componentFk IN (39, 37) -- maná auto y maná AND t.shipped > vFromDated AND t.shipped < vToDated UNION ALL @@ -43266,7 +43982,7 @@ BEGIN SELECT - r.amountPaid FROM receipt r JOIN client c ON c.id = r.clientFk - WHERE c.salesPersonFk = worker AND bankFk = 66 + WHERE c.salesPersonFk = vWorkerFk AND bankFk = 66 AND payed > vFromDated UNION ALL @@ -43274,7 +43990,7 @@ BEGIN SELECT g.amount FROM greuge g JOIN client c ON c.id = g.clientFk - WHERE c.salesPersonFk = worker AND g.greugeTypeFk = 3 -- Maná + WHERE c.salesPersonFk = vWorkerFk AND g.greugeTypeFk = 3 -- Maná AND g.shipped > vFromDated and g.shipped < CURDATE() UNION ALL @@ -43282,7 +43998,7 @@ BEGIN SELECT mana FROM clientManaCache cc JOIN client c ON c.id = cc.clientFk - WHERE c.salesPersonFk = worker AND cc.dated = vFromDated + WHERE c.salesPersonFk = vWorkerFk AND cc.dated = vFromDated ) sub; END IF; END ;; @@ -43361,6 +44077,107 @@ BEGIN 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(); + + 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), Id_Ruta = NULL; + + UPDATE vn.ticketLog tl + JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = tl.originFk + SET tl.originFk = 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; + + UPDATE vn2008.Ordenes o + RIGHT JOIN vn2008.Tickets_to_fusion t ON t.Id_Ticket = o.ticketFk + SET o.ticketFk = 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); + + DROP TEMPORARY TABLE vn2008.Tickets_to_fusion; + END IF; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!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(); @@ -46096,10 +46913,10 @@ SELECT s.id JOIN vn.itemType tp ON tp.id = i.typeFk JOIN vn.itemCategory ic ON ic.id = tp.categoryFk LEFT JOIN tmp.coste c ON c.id = s.id - WHERE t.shipped >= '2019-10-01' + WHERE t.shipped >= '2019-10-01' AND t.shipped <= '2019-10-30' AND c.id IS NULL + AND clt.isActive != 0 AND ic.merchandise != 0 - AND clt.isActive != 0 GROUP BY s.id; DECLARE CONTINUE HANDLER FOR NOT FOUND @@ -46107,6 +46924,7 @@ SELECT s.id DROP TEMPORARY TABLE IF EXISTS tmp.coste; +DROP TEMPORARY TABLE IF EXISTS tmp.coste; CREATE TEMPORARY TABLE tmp.coste (primary key (id)) ENGINE = MEMORY SELECT s.id @@ -46120,8 +46938,7 @@ CREATE TEMPORARY TABLE tmp.coste JOIN vn.component c ON c.id = sc.componentFk JOIN vn.componentType ct ON ct.id = c.typeFk AND ct.id = 1 WHERE t.shipped >= '2019-10-01' - AND ic.merchandise != 0 - ORDER BY s.id DESC; + AND ic.merchandise != 0; OPEN vCur; @@ -46414,23 +47231,9 @@ BEGIN REPLACE stowaway(shipFk, id) VALUES (vShipFk, vStowawayFk); - - -- Polizón FIXME mostrar en encajado y movil a tiempo real - /* INSERT INTO ticketObservation(ticketFk, observationTypeFk, description) - SELECT vStowawayFk, id, 'POLIZÓN!' - FROM observationType ot - WHERE ot.description IN ('Sacador', 'Encajador') - ON DUPLICATE KEY UPDATE description = CONCAT('POLIZÓN! ',ticketObservation.description); - -- Nave FIXME mostrar en encajado y movil a tiempo real - INSERT INTO ticketObservation(ticketFk, observationTypeFk, description) - SELECT vShipFk, id, CONCAT('POLIZÓN: ', vStowawayFk) - FROM observationType - WHERE description IN ('Sacador','Repartidor') - ON DUPLICATE KEY UPDATE description = CONCAT('POLIZÓN! ',ticketObservation.description); -*/ - INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador, Id_Supervisor) - SELECT id, vShipFk, getWorker(),20 + INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador) + SELECT id, vShipFk, getWorker() FROM state WHERE code = 'BOARDING'; @@ -47440,7 +48243,7 @@ BEGIN IF(vHasDailyInvoice) THEN -- Facturacion rapida - CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', 20); + CALL ticketTrackingAdd(vTicketFk, 'DELIVERED', NULL); -- Facturar si está contabilizado IF vIsTaxDataChecked THEN @@ -47460,7 +48263,7 @@ BEGIN END IF; ELSE -- Albaran_print - CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), 20); + CALL ticketTrackingAdd(vTicketFk, (SELECT vn.getAlert3State(vTicketFk)), NULL); INSERT INTO printServerQueue(priorityFk, reportFk, param1) VALUES(vPriority, vReportDeliveryNote, vTicketFk); END IF; @@ -49125,9 +49928,9 @@ 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 ;; @@ -49139,7 +49942,7 @@ CREATE DEFINER=`root`@`%` PROCEDURE `ticketCreateWithoutZone`( ,vAddressFk INT ,vAgencyModeFk INT ,vRouteFk INT - ,vlanded DATE + ,vLanded DATE ,vUserId INT ,OUT vNewTicket INT) BEGIN @@ -49162,7 +49965,7 @@ BEGIN WHERE clientFk = vClientId AND isDefaultAddress; END IF; - CALL vn.zoneGetShippedWarehouse(vlanded, vAddressFk, vAgencyModeFk); + CALL vn.zoneGetShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk); SELECT id INTO vZoneFk FROM tmp.zoneGetShipped WHERE shipped = vShipped AND warehouseFk = vWarehouseFk LIMIT 1; @@ -49181,14 +49984,14 @@ BEGIN ) SELECT vClientId, - vShipped, + IFNULL(vShipped,vLanded), a.id, IF(vAgencyModeFk, vAgencyModeFk, a.agencyModeFk), a.nickname, vWarehouseFk, IF(vRouteFk,vRouteFk,NULL), vCompanyFk, - vlanded, + vLanded, vZoneFk FROM address a JOIN agencyMode am ON am.id = a.agencyModeFk @@ -49222,9 +50025,9 @@ 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 ;; @@ -49236,7 +50039,7 @@ CREATE DEFINER=`root`@`%` PROCEDURE `ticketCreateWithUser`( ,vAddressFk INT ,vAgencyModeFk INT ,vRouteFk INT - ,vlanded DATE + ,vLanded DATE ,vUserId INT ,OUT vNewTicket INT) BEGIN @@ -49255,7 +50058,7 @@ BEGIN IF vAgencyModeFk IS NOT NULL THEN - CALL vn.zoneGetShippedWarehouse(vlanded, vAddressFk, vAgencyModeFk); + CALL vn.zoneGetShippedWarehouse(vLanded, vAddressFk, vAgencyModeFk); SELECT id INTO vZoneFk FROM tmp.zoneGetShipped WHERE shipped = vShipped AND warehouseFk = vWarehouseFk LIMIT 1; @@ -49278,14 +50081,14 @@ BEGIN ) SELECT vClientId, - vShipped, + IFNULL(vShipped,vLanded), a.id, vAgencyModeFk, a.nickname, vWarehouseFk, IF(vRouteFk,vRouteFk,NULL), vCompanyFk, - vlanded, + vLanded, vZoneFk FROM address a JOIN agencyMode am ON am.id = a.agencyModeFk @@ -50483,6 +51286,44 @@ 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 `ticketVolumeByDate_ventas_Artificial` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `ticketVolumeByDate_ventas_Artificial`(vDate DATE) +BEGIN + + DECLARE vDateStart DATETIME DEFAULT DATE(vDate); + DECLARE vDateEnd DATETIME DEFAULT util.dayEnd(vDate); + + DROP TEMPORARY TABLE IF EXISTS tmp.ticketVolumeByDate_Artificial; + + CREATE TEMPORARY TABLE tmp.ticketVolumeByDate_Artificial + ENGINE = MEMORY + SELECT s.ticketFk, + CAST(SUM(r.cm3 * s.quantity) / 1000000 AS DECIMAL(10,2)) as m3 + FROM sale s + JOIN bs.ventas v ON v.Id_Movimiento = s.id + JOIN vn.item i ON i.id = s.itemFk + JOIN vn.sector sc ON sc.id = i.sectorFk + JOIN vn.ticket t on t.id = s.ticketFk + JOIN bi.rotacion r ON r.Id_Article = s.itemFk AND r.warehouse_id = t.warehouseFk + WHERE sc.description = 'Artificial' + AND t.shipped BETWEEN vDateStart AND vDateEnd + GROUP BY s.ticketFk; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_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_Clone` */; /*!50003 SET @saved_cs_client = @@character_set_client */ ; /*!50003 SET @saved_cs_results = @@character_set_results */ ; @@ -51573,6 +52414,43 @@ BEGIN DROP TEMPORARY TABLE tmp.`user`; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `timeBusiness_calculateByWorker` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `timeBusiness_calculateByWorker`(vWorkerFk INT, vDatedFrom DATETIME, vDatedTo DATETIME) +BEGIN + +/** + * @param vWorkerFk + * @param vDatedFrom workerTimeControl + * @param vDatedTo workerTimeControl + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.`user`; + + CREATE TEMPORARY TABLE tmp.`user` + SELECT u.id userFk + FROM vn.user u + JOIN vn.worker w ON w.userFk = u.id + WHERE w.id = vWorkerFk; + + CALL vn.timeBusiness_calculate(vDatedFrom, vDatedTo); + + DROP TEMPORARY TABLE tmp.`user`; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -51761,7 +52639,7 @@ BEGIN SELECT userFk FROM vn.worker w JOIN vn.`user` u ON u.id = w.userFk - WHERE userFk IS NOT NULL AND u.active = TRUE; + WHERE userFk IS NOT NULL; CALL vn.timeControl_calculate(vDatedFrom, vDatedTo); @@ -51847,6 +52725,43 @@ BEGIN DROP TEMPORARY TABLE tmp.`user`; +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `timeControl_calculateByWorker` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `timeControl_calculateByWorker`(vWorkerFk INT, vDatedFrom DATETIME, vDatedTo DATETIME) +BEGIN + +/** + * @param vWorkerFk + * @param vDatedFrom workerTimeControl + * @param vDatedTo workerTimeControl + */ + + DROP TEMPORARY TABLE IF EXISTS tmp.`user`; + + CREATE TEMPORARY TABLE tmp.`user` + SELECT u.id userFk + FROM vn.user u + JOIN vn.worker w ON w.userFk = u.id + WHERE w.id = vWorkerFk; + + CALL vn.timeControl_calculate(vDatedFrom, vDatedTo); + + DROP TEMPORARY TABLE tmp.`user`; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -52240,8 +53155,7 @@ BEGIN * Create new worker * */ - - INSERT INTO vn2008.Trabajadores(CodigoTrabajador, Nombre, Apellidos, dni, user_id, boss) + INSERT INTO worker(code, firstName, lastName, fi, userFk, bossFk) VALUES (vWorkerCode, vFirstname, vSurnames, vFi, vUserFk, vBossFk); END ;; DELIMITER ; @@ -52640,7 +53554,18 @@ BEGIN AND vUserFk IN (0,wj.userFk) AND wj.isPaid = FALSE AND wj.isUpdated = FALSE; - + + -- Elimina el precio de las horas extras para los contratos parciales. + UPDATE vn.workerJourney wj + JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk + JOIN postgresql.calendar_labour_type clt ON clt.calendar_labour_type_id = bl.calendar_labour_type_id + SET wj.priceExtraHour = 0 + WHERE clt.isPartial + AND wj.dated BETWEEN vFromDate AND vToDate + AND vUserFk IN (0,wj.userFk) + AND wj.isPaid = FALSE + AND wj.isUpdated = FALSE; + -- Bajas, vacaciones y festivos personales /* UPDATE vn.workerJourney wj JOIN postgresql.calendar_employee pce ON pce.date = wj.dated AND pce.business_id = wj.businessFk @@ -52772,6 +53697,164 @@ BEGIN CALL vn.workerJourneyReplace(vDateStart,vDateEnd,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 `workerJourney_Replace` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `workerJourney_Replace`(vFromDate DATE, vToDate DATE, vUserFk INT) +BEGIN + /* Actualiza la tabla workerJourney para que actue como caché permanente revisable de las jornadas laborales. + * vUserFk es opcional. El valor 0 indica que se tenga en cuenta a todos los usuarios.8 + */ + + DELETE FROM workerJourney + WHERE dated BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, userFk) = userFk; + + IF vUserFk IS NULL THEN + CALL vn.timeControl_calculateAll( vFromDate , CONCAT(REPLACE(vToDate, '00:00:00', ''), ' 23:59:59')); + CALL vn.timeBusiness_calculateAll( vFromDate , CONCAT(REPLACE(vToDate, '00:00:00', ''), ' 23:59:59')); + ELSE + CALL vn.timeControl_calculateByUser( vUserFk, vFromDate , CONCAT(REPLACE(vToDate, '00:00:00', ''), ' 23:59:59')); + CALL vn.timeBusiness_calculateByUser( vUserFk, vFromDate , CONCAT(REPLACE(vToDate, '00:00:00', ''), ' 23:59:59')); + END IF; + + -- Se inicia la tabla con todas las fechas posibles para cada uno de los trabajadores que han fichado en el rango de fechas. + INSERT IGNORE INTO workerJourney(userFk, dated, businessFk) + SELECT tbc.userFk, tbc.dated, tbc.businessFk + FROM tmp.timeBusinessCalculate tbc; + + -- Se actualiza la cantidad total de horas prácticas, así como el tiempo de almuerzo remunerado, si corresponde + UPDATE workerJourney wj + JOIN tmp.timeControlCalculate t ON wj.dated = t.dated AND wj.userFk = t.userFk + SET wj.total = CAST(IF(t.timeWorkDecimal >= 5.33,t.timeWorkDecimal-0.33,t.timeWorkDecimal) AS DECIMAL (10,2)), + wj.lunch = IF(t.timeWorkDecimal >= 5.33,0.33,0) + WHERE wj.dated BETWEEN vFromDate AND vToDate + AND wj.isPaid = FALSE + AND wj.isUpdated = FALSE + AND IFNULL(vUserFk, wj.userFk) = wj.userFk; + + DROP TEMPORARY TABLE tmp.timeControlCalculate; + + /********** NOCTURNIDAD ************/ + DROP TEMPORARY TABLE IF EXISTS tmp.workerTimeControl; + + CREATE TEMPORARY TABLE tmp.workerTimeControl + SELECT w.*, 0 as Non + FROM vn.workerTimeControl w + WHERE timed BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, userFk) = userFk + ORDER BY userFk, timed; + + -- Regalamos un segundo para evitar que hayan fichadas en las horas claves de inicio y fin de la nocturnidad. + UPDATE tmp.workerTimeControl + SET timed = TIMESTAMPADD(SECOND,-1,timed) + WHERE TIME(timed) IN ('06:00:00','22:00:00'); + + -- Fichada virtual a las 6:00 h, hora en que empieza la jornada diurna + INSERT INTO tmp.workerTimeControl(userFk, timed) + SELECT userFk, TIMESTAMPADD(HOUR, 6, DATE(timed)) + FROM vn.workerTimeControl + WHERE IFNULL(vUserFk, userFk) = userFk + GROUP BY userFk, DATE(timed); + + -- Fichada virtual a las 22:00 h, momento en que empieza la jornada nocturna. + INSERT INTO tmp.workerTimeControl(userFk, timed) + SELECT userFk, TIMESTAMPADD(HOUR, 22, DATE(timed)) + FROM vn.workerTimeControl + WHERE IFNULL(vUserFk, userFk) = userFk + GROUP BY userFk, DATE(timed); + + -- Establece el orden en que se han de leer las fichadas + CALL vn.workerTimeControlSetOrder; + + -- Marca los impares para facilitar la consulta siguiente + UPDATE tmp.workerTimeControl + SET Non = 1 + WHERE `order` mod 2; + + -- Actualizamos la nocturnidad + UPDATE workerJourney wj + JOIN + (SELECT userFk, Dia, sum(Nocturnidad) as Nocturnidad FROM + (SELECT userFk, + date(timed) as Dia, + ((IF( TIME(timed) < '06:00:00' OR (TIME(timed) = '06:00:00' AND Non = FALSE ) , IF(Non,-1,1),0) + +IF(TIME(timed) > '22:00:00' OR (TIME(timed) = '22:00:00' AND Non = TRUE), If(Non,-1,1),0) + )* (HOUR(`timed`) + MINUTE(`timed`) / 60) + ) as Nocturnidad + FROM tmp.workerTimeControl + ) sub + GROUP BY Dia, userFk + HAVING Nocturnidad + ) night ON night.userFk = wj.userFk AND night.Dia = wj.dated + SET wj.nocturn = night.Nocturnidad + WHERE wj.isPaid = FALSE AND isUpdated = FALSE; + + + -- Precios de hora ordinaria, Extras, Vacaciones y Nocturnas + -- Falta importe pactado en el procedimiento ¿? + UPDATE vn.workerJourney wj + JOIN postgresql.business_labour_payroll blp ON blp.business_id = wj.businessFk + JOIN postgresql.business_labour bl ON bl.business_id = wj.businessFk + JOIN postgresql.calendar_labour_type pclt ON pclt.calendar_labour_type_id = bl.calendar_labour_type_id + JOIN (SELECT dated, hollidayInc, nightInc, extraInc + FROM ( SELECT tm.dated , hollidayInc, nightInc, extraInc + FROM vn.time tm + JOIN vn.workerHourPrice whp ON tm.dated >= whp.dated + ORDER BY tm.dated, whp.dated DESC + ) sub + GROUP BY dated + ) conv ON conv.dated = wj.dated + SET + wj.priceOrdinaryHour = @priceOrdinaryHour := FORMAT((12 * blp.importepactado) / (52 * pclt.hours_week),2), + wj.priceHollydayHour = @priceOrdinaryHour * conv.hollidayInc, + wj.priceNocturnHour = @priceOrdinaryHour * conv.nightInc, + wj.priceExtraHour = @priceOrdinaryHour * conv.extraInc + WHERE wj.dated BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, userFk) = userFk + AND wj.isPaid = FALSE + AND isUpdated = FALSE; + + -- Horas téoricas bajas, vacaciones y festivos personales + UPDATE vn.workerJourney wj + JOIN tmp.timeBusinessCalculate b ON b.dated = wj.dated AND b.userFk = wj.userFk + SET wj.permission = b.timeBusinessDecimal * b.permissionRate, + wj.contractJourney = b.timeWorkDecimal + WHERE wj.dated BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, wj.userFk) = wj.userFk + AND wj.isPaid = FALSE + AND wj.isUpdated = FALSE; + + UPDATE vn.workerJourney wj + JOIN tmp.timeBusinessCalculate b ON b.dated = wj.dated AND b.userFk = wj.userFk + SET wj.hollyday = wj.total - b.timeWorkDecimal + WHERE wj.dated BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, wj.userFk) = wj.userFk + AND wj.isPaid = FALSE + AND wj.isUpdated = FALSE + AND b.permissionRate > 0 ; + + -- Horas extras + UPDATE workerJourney + SET extra = lunch + total - contractJourney + WHERE dated BETWEEN vFromDate AND vToDate + AND IFNULL(vUserFk, userFk) = userFk + AND isPaid = FALSE + AND isUpdated = FALSE; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -53082,7 +54165,7 @@ proc: BEGIN DECLARE vTimedWorked INT; DECLARE vCalendarStateType VARCHAR(20) DEFAULT NULL; DECLARE vDepartmentFk INT; - /* + SELECT dayBreak, weekBreak, weekScope, dayWorkMax, dayStayMax INTO vDayBreak, vWeekBreak, vWeekScope, vDayWorkMax, vDayStayMax FROM vn.workerTimeControlParams; @@ -53097,7 +54180,7 @@ proc: BEGIN WHERE userFk = vUserFk AND direction = 'out'; - IF UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(vLastIn) > vDayStayMax THEN -- NUEVO DIA + IF UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(vLastIn) > vDayStayMax THEN -- NUEVA JORNADA -- VERIFICAR DESCANSO DIARIO IF UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(vLastOut) < vDayBreak THEN @@ -53106,7 +54189,7 @@ proc: BEGIN END IF; -- VERIFICAR FICHADAS IMPARES DEL ÚLTIMO DÍA QUE SE FICHÓ - IF (SELECT MOD(COUNT(*),2)<>0 + IF (SELECT MOD(COUNT(*),2) -- <>0 FROM vn.workerTimeControl WHERE userFk = vUserFk AND timed >= vLastIn @@ -53134,7 +54217,7 @@ proc: BEGIN END IF; - -- VERIFICAR CNTRATO EN VIGOR + -- VERIFICAR CONTRATO EN VIGOR IF (SELECT COUNT(*) FROM postgresql.business b JOIN postgresql.profile pr ON pr.profile_id = b.client_id @@ -53144,7 +54227,7 @@ proc: BEGIN AND b.date_start <= vDated AND IFNULL(b.date_end,vDated) >= vDated ) = 0 THEN - SELECT "Dia no laborable" AS problem; + SELECT "No hay un contrato en vigor" AS problem; LEAVE proc; END IF; @@ -53197,7 +54280,7 @@ proc: BEGIN SELECT "No perteneces a este departamento." AS problem; LEAVE proc; END IF; - END IF;*/ + END IF; END ;; DELIMITER ; @@ -53261,6 +54344,58 @@ BEGIN CALL vn.workerTimeControlSOWP(vUserFk, vTimed); +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `workerTimeControl_repair` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `workerTimeControl_repair`() +proc: BEGIN +/** + * Corrige las fichadas + * + */ + +/*1- poner todos a middle*/ +UPDATE vn.workerTimeControl SET direction = 'middle'; + +/*2- poner los out*/ +UPDATE vn.workerTimeControl wtc + JOIN + (SELECT userFk,MAX(timed) maxTimed FROM + (SELECT id, userFk, timed, date(timed) dated + FROM vn.workerTimeControl + ) sub + GROUP BY userFk,dated + )sub + SET direction = "out" + WHERE wtc.userFk = sub.userFk + AND wtc.timed = sub.maxTimed; + + /*3- poner los in*/ +UPDATE vn.workerTimeControl wtc + JOIN + (SELECT userFk,MIN(timed) maxTimed FROM + (SELECT id, userFk, timed, date(timed) dated + FROM vn.workerTimeControl + ) sub + GROUP BY userFk,dated + )sub + SET direction = "in" + WHERE wtc.userFk = sub.userFk + AND wtc.timed = sub.maxTimed ; + END ;; DELIMITER ; /*!50003 SET sql_mode = @saved_sql_mode */ ; @@ -55358,7 +56493,7 @@ CREATE TABLE `Agencias_province` ( KEY `warehouse_id` (`warehouse_id`), KEY `agency_id` (`agency_id`), CONSTRAINT `Agencias_province_ibfk_1` FOREIGN KEY (`province_id`) REFERENCES `vn`.`province` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Agencias_province_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Agencias_province_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Agencias_province_ibfk_3` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agency` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -55479,7 +56614,7 @@ CREATE TABLE `Articles_dits` ( KEY `fgkey1_idx` (`idaccion_dits`), KEY `fgkey2_idx` (`Id_Ticket`), KEY `fgkey3_idx` (`Id_Trabajador`) -) ENGINE=InnoDB AUTO_INCREMENT=21447 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=21451 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -55615,8 +56750,9 @@ CREATE TABLE `Cajas` ( KEY `empresa_id` (`empresa_id`), KEY `warehouse_id` (`warehouse_id`), KEY `fk_Cajas_Proveedores_account1_idx` (`Proveedores_account_Id`), - CONSTRAINT `Cajas_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=736868 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `Cajas_ibfk_2` FOREIGN KEY (`Id_Banco`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Cajas_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=741068 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 */ ; @@ -55749,8 +56885,8 @@ CREATE TABLE `Clientes_cedidos` ( KEY `new_trabajador_fk_idx` (`Id_Trabajador_new`), KEY `cliente_cedido_fk_idx` (`Id_Cliente`), CONSTRAINT `cliente_cedido_fk` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn`.`client` (`id`) 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 + CONSTRAINT `new_trabajador_fk` FOREIGN KEY (`Id_Trabajador_new`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `trabajador_fk` FOREIGN KEY (`Id_Trabajador_old`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=111 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 */; @@ -55869,7 +57005,7 @@ CREATE TABLE `Colas` ( KEY `Id_Trabajador` (`Id_Trabajador`), CONSTRAINT `Colas_ibfk_3` FOREIGN KEY (`Id_Prioridad`) REFERENCES `vn`.`queuePriority` (`id`) ON UPDATE CASCADE, CONSTRAINT `Colas_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=22067 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3267 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -55998,136 +57134,36 @@ CREATE TABLE `Compres_ok` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `Consignatarios` +-- Temporary table structure for view `Consignatarios` -- DROP TABLE IF EXISTS `Consignatarios`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Consignatarios` ( - `id_consigna` int(11) NOT NULL AUTO_INCREMENT, - `Id_cliente` int(11) NOT NULL DEFAULT '0', - `warehouse_id` smallint(6) unsigned DEFAULT '1', - `domicilio` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `poblacion` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `province_id` smallint(5) unsigned DEFAULT NULL, - `codPostal` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `telefono` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `movil` varchar(15) COLLATE utf8_unicode_ci DEFAULT NULL, - `consignatario` varchar(40) COLLATE utf8_unicode_ci DEFAULT NULL, - `predeterminada` tinyint(1) NOT NULL DEFAULT '0', - `Id_Agencia` int(11) NOT NULL DEFAULT '2', - `especificaciones` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, - `seguro` tinyint(1) NOT NULL DEFAULT '0', - `porte` double DEFAULT NULL, - `active` tinyint(4) NOT NULL DEFAULT '1', - `postcode_id` int(11) unsigned DEFAULT NULL, - `longitude` decimal(11,7) DEFAULT NULL, - `latitude` decimal(11,7) DEFAULT NULL, - `codPos` char(5) COLLATE utf8_unicode_ci DEFAULT NULL, - `isEqualizated` tinyint(1) DEFAULT NULL, - PRIMARY KEY (`id_consigna`), - KEY `Id_Agencia` (`Id_Agencia`), - KEY `Id_cliente` (`Id_cliente`), - KEY `warehouse_id` (`warehouse_id`), - KEY `province_id` (`province_id`), - KEY `telefono` (`telefono`), - KEY `movil` (`movil`), - KEY `CODPOSTAL` (`codPostal`), - CONSTRAINT `Consignatarios_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `Consignatarios_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `vn`.`province` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Consignatarios_ibfk_4` FOREIGN KEY (`Id_Agencia`) REFERENCES `vn`.`agencyMode` (`id`) ON UPDATE CASCADE, - CONSTRAINT `address_customer_id` FOREIGN KEY (`Id_cliente`) REFERENCES `vn`.`client` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=29439 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 = 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 ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`address_beforeInsert` - BEFORE INSERT ON `vn2008`.`Consignatarios` - FOR EACH ROW -BEGIN - DECLARE vIsEqualizated BOOL; - - CALL pbx.phone_isValid(NEW.telefono); - CALL pbx.phone_isValid(NEW.movil); - - IF NEW.isEqualizated IS NULL THEN - SELECT RE - INTO vIsEqualizated - FROM Clientes - WHERE Id_Cliente = NEW.Id_Cliente; - - SET NEW.isEqualizated = vIsEqualizated; - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = 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 ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`address_beforeUpdate` - BEFORE UPDATE ON `vn2008`.`Consignatarios` - FOR EACH ROW -BEGIN - CALL pbx.phone_isValid(NEW.telefono); - CALL pbx.phone_isValid(NEW.movil); -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!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 = 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 ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`address_afterUpdate` - AFTER UPDATE ON `Consignatarios` - FOR EACH ROW -BEGIN - -- Recargos de equivalencia distintos implican facturacion por consignatario - IF NEW.isEqualizated != OLD.isEqualizated THEN - IF - (SELECT COUNT(*) FROM - ( - SELECT DISTINCT (isEqualizated = FALSE) as Equ - FROM Consignatarios - WHERE Id_Cliente = NEW.Id_Cliente - ) t1 - ) > 1 - THEN - UPDATE Clientes - SET invoiceByAddress = TRUE - WHERE Id_Cliente = NEW.Id_Cliente; - END IF; - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50001 DROP VIEW IF EXISTS `Consignatarios`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `Consignatarios` AS SELECT + 1 AS `id_consigna`, + 1 AS `Id_cliente`, + 1 AS `domicilio`, + 1 AS `poblacion`, + 1 AS `codPostal`, + 1 AS `province_id`, + 1 AS `telefono`, + 1 AS `movil`, + 1 AS `consignatario`, + 1 AS `predeterminada`, + 1 AS `longitude`, + 1 AS `latitude`, + 1 AS `warehouse_id`, + 1 AS `Id_Agencia`, + 1 AS `isEqualizated`, + 1 AS `active`, + 1 AS `especificaciones`, + 1 AS `seguro`, + 1 AS `porte`, + 1 AS `postcode_id`, + 1 AS `codPos`*/; +SET character_set_client = @saved_cs_client; -- -- Table structure for table `Consignatarios_devices` @@ -56141,7 +57177,7 @@ CREATE TABLE `Consignatarios_devices` ( `serialNumber` varchar(45) COLLATE utf8_unicode_ci NOT NULL, `notas` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`Id_Consigna`,`serialNumber`), - CONSTRAINT `Condigna_devices` FOREIGN KEY (`Id_Consigna`) REFERENCES `Consignatarios` (`id_consigna`) ON UPDATE CASCADE + CONSTRAINT `Condigna_devices` FOREIGN KEY (`Id_Consigna`) REFERENCES `vn`.`address` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -56166,7 +57202,7 @@ CREATE TABLE `Contactos` ( PRIMARY KEY (`Id_Contacto`), KEY `Telefono` (`Telefono`), KEY `Movil` (`Movil`) -) ENGINE=InnoDB AUTO_INCREMENT=2757 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2761 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 */ ; @@ -56389,8 +57425,8 @@ CREATE TABLE `Entradas_dits` ( KEY `fgkey_entradas_3_idx` (`Id_Trabajador`), CONSTRAINT `Entradas_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fgkey_entradas_1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `fgkey_entradas_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3942060 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `fgkey_entradas_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3965007 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -56408,7 +57444,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 `vn`.`entry` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=154 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Relaciona las entradas con los origenes de compra'; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -56495,7 +57531,7 @@ CREATE TABLE `Equipos` ( `Height` int(5) DEFAULT '5595', PRIMARY KEY (`id`), KEY `trabajador_id` (`trabajador_id`), - CONSTRAINT `Equipos_ibfk_1` FOREIGN KEY (`trabajador_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `Equipos_ibfk_1` FOREIGN KEY (`trabajador_id`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=218 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -56794,8 +57830,8 @@ CREATE TABLE `Jefes` ( `Departamento` varchar(45) COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`Id_Trabajador`,`Id_Jefe`), KEY `trabajador_jefe_idx` (`Id_Jefe`), - CONSTRAINT `trabajador_jefe` FOREIGN KEY (`Id_Jefe`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `trabajador_jefe` FOREIGN KEY (`Id_Jefe`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `trabajador_trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Es una tabla que se rellena desde la comparativa, tomando los datos de postgress.'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -56836,7 +57872,7 @@ CREATE TABLE `Monitoring` ( KEY `cliente_id` (`cliente_id`), KEY `ticket_id` (`ticket_id`), CONSTRAINT `Monitoring_ibfk_1` FOREIGN KEY (`equipo_id`) REFERENCES `Equipos` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Monitoring_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `Monitoring_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `Monitoring_ibfk_3` FOREIGN KEY (`form_id`) REFERENCES `Forms` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -57070,12 +58106,14 @@ DROP TABLE IF EXISTS `Permisos`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `Permisos` ( `Id_Grupo` int(10) unsigned NOT NULL, - `Id_Trabajador` int(10) unsigned NOT NULL, + `Id_Trabajador` int(11) NOT NULL, `empresa_id` smallint(5) unsigned NOT NULL DEFAULT '442', PRIMARY KEY (`Id_Grupo`,`Id_Trabajador`), KEY `empresa_id` (`empresa_id`), + KEY `Permisos_ibfk_3_idx` (`Id_Trabajador`), CONSTRAINT `Permisos_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Permisos_ibfk_2` FOREIGN KEY (`Id_Grupo`) REFERENCES `Grupos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `Permisos_ibfk_2` FOREIGN KEY (`Id_Grupo`) REFERENCES `Grupos` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Permisos_ibfk_3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -57099,7 +58137,7 @@ CREATE TABLE `PreciosEspeciales` ( CONSTRAINT `sp_customer_id` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn`.`client` (`id`) ON UPDATE CASCADE, CONSTRAINT `{01A99AF1-3D3F-4B15-AC0C-C7A834F319A3}` FOREIGN KEY (`Id_Cliente`) REFERENCES `vn`.`client` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `{EE4ADEF6-0AC6-401F-B7C4-D797972FC065}` FOREIGN KEY (`Id_Article`) REFERENCES `vn`.`item` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=708 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=713 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57288,7 +58326,7 @@ CREATE TABLE `Relaciones` ( KEY `Id_Contacto` (`Id_Contacto`), KEY `Id_Proveedor` (`Id_Proveedor`), KEY `Id_Cliente` (`Id_Cliente`) -) ENGINE=InnoDB AUTO_INCREMENT=2761 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=2765 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57308,7 +58346,7 @@ CREATE TABLE `Remesas` ( KEY `empresa_id` (`empresa_id`), CONSTRAINT `Remesas_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON UPDATE CASCADE, CONSTRAINT `Remesas_ibfk_2` FOREIGN KEY (`Banco`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1352 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1361 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57333,7 +58371,7 @@ CREATE TABLE `Reservas` ( PRIMARY KEY (`Id_Reserva`), KEY `Id_1` (`Id_Ticket`), KEY `Id_Article` (`Id_Article`) -) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57390,8 +58428,8 @@ CREATE TABLE `Rutas_Master` ( `odbc_date` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `fk_rutas_warehouse_id_idx` (`warehouse_id`), - CONSTRAINT `fk_rutas_warehouse_id` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `fk_rutas_warehouse_id` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=124 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57413,7 +58451,7 @@ CREATE TABLE `Rutas_dits` ( KEY `index2` (`idaccion_dits`), KEY `index3` (`Id_Ticket`), KEY `index4` (`Id_Trabajador`), - CONSTRAINT `fk_Id_Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_Id_Trabajador` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `fk_Id_ruta` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`route` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fk_action_dits` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=300164 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; @@ -57458,7 +58496,7 @@ CREATE TABLE `Salarios__` ( `SS` double DEFAULT '0', `warehouse_id` smallint(6) NOT NULL DEFAULT '1', PRIMARY KEY (`Id_Trabajador`), - CONSTRAINT `trabajadaor_id` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `trabajadaor_id` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -57517,7 +58555,7 @@ CREATE TABLE `Split_lines` ( KEY `Id_Compra` (`Id_Compra`), CONSTRAINT `Id_Compra` FOREIGN KEY (`Id_Compra`) REFERENCES `vn`.`buy` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `Split_lines_ibfk_1` FOREIGN KEY (`Id_Split`) REFERENCES `Splits` (`Id_Split`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=369614 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=370114 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57535,7 +58573,7 @@ CREATE TABLE `Splits` ( `Notas` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL, PRIMARY KEY (`Id_Split`), KEY `Id_Entrada` (`Id_Entrada`) -) ENGINE=InnoDB AUTO_INCREMENT=36974 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=36995 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57561,9 +58599,9 @@ CREATE TABLE `Stockcontrol` ( KEY `Id_Remitente` (`Id_Remitente`), KEY `Id_Solver` (`Id_Solver`), CONSTRAINT `Stockcontrol_ibfk_1` FOREIGN KEY (`Id_Article`) REFERENCES `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Stockcontrol_ibfk_2` FOREIGN KEY (`Id_Remitente`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `Stockcontrol_ibfk_3` FOREIGN KEY (`Id_Solver`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=24061 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `Stockcontrol_ibfk_2` FOREIGN KEY (`Id_Remitente`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `Stockcontrol_ibfk_3` FOREIGN KEY (`Id_Solver`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=24062 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -57628,8 +58666,8 @@ CREATE TABLE `Tickets_dits` ( KEY `fgkey3_idx` (`Id_Trabajador`), CONSTRAINT `Tickets_dits_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `fgkey1` FOREIGN KEY (`idaccion_dits`) REFERENCES `accion_dits` (`idaccion_dits`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `fgkey3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=65192051 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `fgkey3` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=65226145 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 */ ; @@ -57782,95 +58820,41 @@ CREATE TABLE `Tipos_f11` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `Trabajadores` +-- Temporary table structure for view `Trabajadores` -- DROP TABLE IF EXISTS `Trabajadores`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `Trabajadores` ( - `Id_Trabajador` int(11) NOT NULL AUTO_INCREMENT, - `CodigoTrabajador` varchar(3) COLLATE utf8_unicode_ci NOT NULL, - `Nombre` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Apellidos` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `Password` varchar(50) CHARACTER SET utf8 DEFAULT NULL, - `email` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL, - `extension` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL, - `sub` int(11) unsigned DEFAULT NULL, - `user` varchar(20) CHARACTER SET utf8 DEFAULT NULL, - `Contrato_Tipo` varchar(30) CHARACTER SET utf8 DEFAULT 'no dejar vacio' COMMENT 'campo obsoleto, actualmente se rellena en laboral', - `Categoria_Laboral` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `Fecha_Inicio` datetime DEFAULT NULL, - `Fecha_Fin` datetime DEFAULT NULL, - `Notas` varchar(254) COLLATE utf8_unicode_ci DEFAULT NULL, - `Foto` blob, - `dni` varchar(9) COLLATE utf8_unicode_ci DEFAULT NULL, - `address` varchar(50) COLLATE utf8_unicode_ci NOT NULL, - `date_birth` date NOT NULL, - `marital_status` enum('soltero/a','casado/a') COLLATE utf8_unicode_ci NOT NULL, - `phone` varchar(9) COLLATE utf8_unicode_ci NOT NULL, - `empresa_id` smallint(5) unsigned NOT NULL, - `Id_Cliente_Interno` int(11) DEFAULT NULL, - `user_id` int(10) unsigned DEFAULT NULL, - `boss` int(11) NOT NULL DEFAULT '2', - `DniExpiration` datetime DEFAULT NULL, - `hasMachineryAutorized` tinyint(2) DEFAULT '0', - PRIMARY KEY (`Id_Trabajador`), - UNIQUE KEY `CodigoTrabajador_UNIQUE` (`CodigoTrabajador`), - UNIQUE KEY `user` (`user`), - UNIQUE KEY `user_id_UNIQUE` (`user_id`), - UNIQUE KEY `Id_Cliente_Interno` (`Id_Cliente_Interno`), - KEY `sub` (`sub`), - KEY `boss_idx` (`boss`), - KEY `empresa_id` (`empresa_id`), - CONSTRAINT `Clientes` FOREIGN KEY (`Id_Cliente_Interno`) REFERENCES `vn`.`client` (`id`) ON UPDATE CASCADE, - CONSTRAINT `Trabajadores_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `account`.`user` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=1453 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`TrabajadoresBeforeInsert` - BEFORE INSERT ON `Trabajadores` - FOR EACH ROW -BEGIN - IF NEW.password = '' THEN - SET NEW.password = 'FALLO'; - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `vn2008`.`TrabajadoresBeforeUpdate` - BEFORE UPDATE ON `Trabajadores` - FOR EACH ROW -BEGIN - IF NEW.password = '' THEN - SET NEW.password = 'FALLO'; - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50001 DROP VIEW IF EXISTS `Trabajadores`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `Trabajadores` AS SELECT + 1 AS `Id_Trabajador`, + 1 AS `Nombre`, + 1 AS `user_id`, + 1 AS `phone`, + 1 AS `boss`, + 1 AS `Foto`, + 1 AS `dni`, + 1 AS `DniExpiration`, + 1 AS `CodigoTrabajador`, + 1 AS `Apellidos`, + 1 AS `hasMachineryAutorized`, + 1 AS `Password`, + 1 AS `email`, + 1 AS `extension`, + 1 AS `sub`, + 1 AS `user`, + 1 AS `Contrato_Tipo`, + 1 AS `Categoria_Laboral`, + 1 AS `Fecha_Inicio`, + 1 AS `Fecha_Fin`, + 1 AS `Notas`, + 1 AS `address`, + 1 AS `date_birth`, + 1 AS `marital_status`, + 1 AS `empresa_id`, + 1 AS `Id_Cliente_Interno`*/; +SET character_set_client = @saved_cs_client; -- -- Table structure for table `Tramos` @@ -57961,7 +58945,7 @@ CREATE TABLE `Vehiculos_consumo` ( CONSTRAINT `fk_Vehiculos_consumo_Vehiculos` FOREIGN KEY (`Id_Vehiculo`) REFERENCES `vn`.`vehicle` (`id`) ON UPDATE CASCADE, CONSTRAINT `fuelTypeFk` FOREIGN KEY (`fuelTypeFk`) REFERENCES `vn`.`fuelType` (`code`) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `proveedoresFk` FOREIGN KEY (`proveedoresFk`) REFERENCES `vn`.`supplier` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=12724 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=12835 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 */; -- @@ -58073,7 +59057,7 @@ CREATE TABLE `XDiario` ( PRIMARY KEY (`id`), KEY `empresa_id` (`empresa_id`), CONSTRAINT `XDiario_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=4015142 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=4050157 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 */ ; @@ -58159,7 +59143,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 `vn`.`supplierAccount` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=36355 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=37440 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 */ ; @@ -58299,7 +59283,7 @@ CREATE TABLE `agency_hour` ( KEY `warehouse_id` (`warehouse_id`), KEY `province_id` (`province_id`), CONSTRAINT `agency_hour_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`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_2` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `agency_hour_ibfk_3` FOREIGN KEY (`province_id`) REFERENCES `vn`.`province` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=5666 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -58377,7 +59361,7 @@ CREATE TABLE `agency_warehouse` ( PRIMARY KEY (`agency_id`,`warehouse_id`), KEY `warehouse_id` (`warehouse_id`), CONSTRAINT `agency_warehouse_ibfk_1` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agency` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `agency_warehouse_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `agency_warehouse_ibfk_2` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Indica la vista para cada agencia'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -58460,14 +59444,14 @@ CREATE TABLE `albaran` ( KEY `fk_albaran_department1_idx` (`department_id`), KEY `fk_albaran_recibida_idx` (`recibida_id`), CONSTRAINT `fk_albaran_Proveedores` FOREIGN KEY (`Id_Proveedor`) REFERENCES `vn`.`supplier` (`id`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_Trabajadores2` FOREIGN KEY (`Id_Responsable`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, + CONSTRAINT `fk_albaran_Trabajadores2` FOREIGN KEY (`Id_Responsable`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `fk_albaran_albaran_state1` FOREIGN KEY (`albaran_state_id`) REFERENCES `albaran_state` (`albaran_state_id`) ON UPDATE CASCADE, CONSTRAINT `fk_albaran_department1` FOREIGN KEY (`department_id`) REFERENCES `department` (`department_id`) ON UPDATE CASCADE, CONSTRAINT `fk_albaran_empresa1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON UPDATE CASCADE, CONSTRAINT `fk_albaran_recibida` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, - CONSTRAINT `fk_albaran_warehouse1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3681 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `fk_albaran_warehouse1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=3722 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -58546,7 +59530,7 @@ CREATE TABLE `awb` ( CONSTRAINT `awbInvoiceIn` FOREIGN KEY (`invoiceInFk`) REFERENCES `recibida` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `awbTransitoryFk` FOREIGN KEY (`transitario_id`) REFERENCES `vn`.`supplier` (`id`) ON UPDATE CASCADE, CONSTRAINT `awb_ibfk_1` FOREIGN KEY (`iva_id`) REFERENCES `vn`.`taxCode` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3570 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3593 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 */ ; @@ -58712,7 +59696,7 @@ CREATE TABLE `awb_component` ( CONSTRAINT `awb_component_` FOREIGN KEY (`awb_component_type_id`) REFERENCES `awb_component_type` (`awb_component_type_id`) ON UPDATE CASCADE, CONSTRAINT `awb_role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE, CONSTRAINT `awb_unit_fk` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=31882 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=32465 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -58746,7 +59730,7 @@ CREATE TABLE `awb_component_template` ( CONSTRAINT `Id_Moneda` FOREIGN KEY (`Id_Moneda`) REFERENCES `vn`.`currency` (`id`) ON UPDATE CASCADE, CONSTRAINT `awb_unit_fk1` FOREIGN KEY (`awb_unit_id`) REFERENCES `awb_unit` (`awb_unit_id`) ON UPDATE CASCADE, CONSTRAINT `role_fk` FOREIGN KEY (`awb_role_id`) REFERENCES `awb_role` (`awb_role_id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=849 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=851 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -58827,7 +59811,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 `vn`.`dms` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=3151 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=3174 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -59622,7 +60606,7 @@ CREATE TABLE `config_host` ( KEY `Id_Impresora` (`Id_Impresora`), KEY `config_host_ibfk_5_idx` (`sectorFk`), CONSTRAINT `config_host_ibfk_1` FOREIGN KEY (`caja`) REFERENCES `vn`.`bank` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, - CONSTRAINT `config_host_ibfk_2` FOREIGN KEY (`warehouse`) REFERENCES `warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `config_host_ibfk_2` FOREIGN KEY (`warehouse`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `config_host_ibfk_3` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `config_host_ibfk_4` FOREIGN KEY (`Id_Impresora`) REFERENCES `Impresoras` (`Id_Impresora`) ON DELETE NO ACTION ON UPDATE CASCADE, CONSTRAINT `config_host_ibfk_5` FOREIGN KEY (`sectorFk`) REFERENCES `vn`.`sector` (`id`) ON DELETE CASCADE ON UPDATE CASCADE @@ -59841,7 +60825,7 @@ CREATE TABLE `department` ( UNIQUE KEY `name_UNIQUE` (`name`), KEY `fk_department_Trabajadores1_idx` (`Id_Trabajador`), KEY `dep_org_ibfk_3_idx` (`company_id`), - CONSTRAINT `fk_department_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `fk_department_Trabajadores1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=95 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -60312,7 +61296,7 @@ CREATE TABLE `filtros` ( `sql` varchar(255) COLLATE utf8_unicode_ci NOT NULL, `Estanteria` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=145 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=146 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -60486,7 +61470,7 @@ CREATE TABLE `integra2_escala` ( PRIMARY KEY (`province_id`,`warehouse_id`), KEY `warehouse_escala_idx` (`warehouse_id`), CONSTRAINT `province_escala` FOREIGN KEY (`province_id`) REFERENCES `vn`.`province` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, - CONSTRAINT `warehouse_escala` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `warehouse_escala` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`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 */; @@ -60541,7 +61525,7 @@ CREATE TABLE `intrastat_data` ( KEY `recibida` (`recibida_id`), CONSTRAINT `intrastat_data_ibfk_1` FOREIGN KEY (`intrastat_id`) REFERENCES `vn`.`intrastat` (`id`) ON UPDATE CASCADE, CONSTRAINT `intrastat_data_ibfk_2` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=83287 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=84230 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -60741,8 +61725,8 @@ CREATE TABLE `jerarquia` ( PRIMARY KEY (`worker_id`,`boss_id`), KEY `worker_trabajador` (`worker_id`), KEY `boss_trabajador` (`boss_id`), - CONSTRAINT `boss_trabajador` FOREIGN KEY (`boss_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `worker_trabajador` FOREIGN KEY (`worker_id`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE + CONSTRAINT `jerarquiaBossFk` FOREIGN KEY (`boss_id`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `jerarquiaWorkerFk` FOREIGN KEY (`worker_id`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -60826,7 +61810,7 @@ CREATE TABLE `mail` ( PRIMARY KEY (`id`), KEY `sent_idx` (`sent`), KEY `creation_idx` (`DATE_ODBC`) -) ENGINE=InnoDB AUTO_INCREMENT=1912431 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1928287 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -61056,9 +62040,9 @@ CREATE TABLE `pago` ( CONSTRAINT `pago_ibfk_1` FOREIGN KEY (`empresa_id`) REFERENCES `vn`.`company` (`id`) ON UPDATE CASCADE, CONSTRAINT `pago_ibfk_2` FOREIGN KEY (`id_banco`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `pago_moneda` FOREIGN KEY (`id_moneda`) REFERENCES `vn`.`currency` (`id`) ON UPDATE CASCADE, - CONSTRAINT `pago_pay_met` FOREIGN KEY (`pay_met_id`) REFERENCES `pay_met` (`id`) ON UPDATE CASCADE, + CONSTRAINT `pago_pay_met` FOREIGN KEY (`pay_met_id`) REFERENCES `vn`.`payMethod` (`id`) ON UPDATE CASCADE, CONSTRAINT `proveedor_pago` FOREIGN KEY (`id_proveedor`) REFERENCES `vn`.`supplier` (`id`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=52275 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=52505 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 */ ; @@ -61170,23 +62154,22 @@ CREATE TABLE `pay_dem_det` ( /*!40101 SET character_set_client = @saved_cs_client */; -- --- Table structure for table `pay_met` +-- Temporary table structure for view `pay_met` -- DROP TABLE IF EXISTS `pay_met`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `pay_met` ( - `id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `solucion` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL, - `deudaviva` tinyint(3) unsigned zerofill NOT NULL DEFAULT '000', - `graceDays` int(11) unsigned NOT NULL DEFAULT '0', - `ibanRequired` tinyint(3) DEFAULT '0', - `isNotified` tinyint(3) NOT NULL DEFAULT '1', - PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; +/*!50001 DROP VIEW IF EXISTS `pay_met`*/; +SET @saved_cs_client = @@character_set_client; +SET character_set_client = utf8; +/*!50001 CREATE VIEW `pay_met` AS SELECT + 1 AS `id`, + 1 AS `name`, + 1 AS `graceDays`, + 1 AS `deudaviva`, + 1 AS `ibanRequired`, + 1 AS `solucion`, + 1 AS `isNotified`*/; +SET character_set_client = @saved_cs_client; -- -- Table structure for table `payroll_basess` @@ -61555,7 +62538,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 `vn`.`item` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=64609 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=64735 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 */ ; @@ -61735,7 +62718,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 AUTO_INCREMENT=88247 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=88912 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 */ ; @@ -61973,7 +62956,7 @@ CREATE TABLE `recibida_iva` ( CONSTRAINT `recibida_iva_ibfk_2` FOREIGN KEY (`iva_id`) REFERENCES `vn`.`taxCode` (`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 `vn`.`expence` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION -) ENGINE=InnoDB AUTO_INCREMENT=162841 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=165608 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -61996,7 +62979,7 @@ CREATE TABLE `recibida_vencimiento` ( KEY `banco_id` (`banco_id`), CONSTRAINT `recibida_vencimiento_ibfk_6` FOREIGN KEY (`banco_id`) REFERENCES `vn`.`bank` (`id`) ON UPDATE CASCADE, CONSTRAINT `recibida_vencimiento_ibfk_7` FOREIGN KEY (`recibida_id`) REFERENCES `recibida` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=160931 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=163686 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 */ ; @@ -62180,9 +63163,9 @@ CREATE TABLE `reparacion` ( KEY `config_host` (`config_host`), KEY `id_user` (`id_user`), KEY `id_reparador` (`id_reparador`), - CONSTRAINT `reparacion_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE NO ACTION ON UPDATE CASCADE, + CONSTRAINT `reparacion_ibfk_1` FOREIGN KEY (`id_user`) REFERENCES `vn`.`worker` (`id`) 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 + CONSTRAINT `reparacion_ibfk_4` FOREIGN KEY (`id_reparador`) REFERENCES `vn`.`worker` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -62266,7 +63249,7 @@ CREATE TABLE `scan` ( `name` varchar(45) CHARACTER SET utf8 DEFAULT NULL, `odbc_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`) -) ENGINE=InnoDB AUTO_INCREMENT=111094 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Se borra automaticamente 8 dias en el pasado desde vn2008.clean'; +) ENGINE=InnoDB AUTO_INCREMENT=112178 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 */; -- @@ -62308,7 +63291,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 AUTO_INCREMENT=1415333 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=1430269 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -62503,7 +63486,7 @@ CREATE TABLE `tarifas` ( `t3` double NOT NULL, PRIMARY KEY (`tarifa_id`), KEY `tarifa_warehouse` (`warehouse_id`), - CONSTRAINT `tarifa_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `tarifa_warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=193 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; @@ -62846,8 +63829,8 @@ CREATE TABLE `travel_dits` ( KEY `fgkey1_idx` (`idaccion_dits`), KEY `fgkey2_idx` (`Id_Ticket`), KEY `fgkey3_idx` (`Id_Trabajador`), - CONSTRAINT `travel_dits_ibfk_1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON DELETE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=243319 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `travel_dits_ibfk_1` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=244897 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -62873,11 +63856,11 @@ CREATE TABLE `travel_pattern` ( KEY `warehouse_in` (`warehouse_in`), KEY `agency_id` (`agency_id`), KEY `travel_pattern_ibfk_6_idx` (`cargoSupplierFk`), - CONSTRAINT `travel_pattern_ibfk_3` FOREIGN KEY (`warehouse_out`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_pattern_ibfk_3` FOREIGN KEY (`warehouse_out`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_pattern_ibfk_4` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agencyMode` (`id`) ON UPDATE CASCADE, - CONSTRAINT `travel_pattern_ibfk_5` FOREIGN KEY (`warehouse_in`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `travel_pattern_ibfk_5` FOREIGN KEY (`warehouse_in`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE, CONSTRAINT `travel_pattern_ibfk_6` FOREIGN KEY (`cargoSupplierFk`) REFERENCES `vn`.`supplier` (`id`) ON DELETE SET NULL ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=346 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=350 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -62927,7 +63910,7 @@ CREATE TABLE `travel_thermograph` ( CONSTRAINT `gestdoc_fk` FOREIGN KEY (`gestdoc_id`) REFERENCES `vn`.`dms` (`id`) ON UPDATE CASCADE, CONSTRAINT `thermograph_fk` FOREIGN KEY (`thermograph_id`) REFERENCES `thermograph` (`thermograph_id`) ON UPDATE CASCADE, CONSTRAINT `travel_fk` FOREIGN KEY (`travel_id`) REFERENCES `vn`.`travel` (`id`), - CONSTRAINT `travel_thermograph_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE + CONSTRAINT `travel_thermograph_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Registra cada termografo que se ha introducido en cada travel'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -63887,81 +64870,32 @@ SET character_set_client = utf8; SET character_set_client = @saved_cs_client; -- --- Table structure for table `warehouse` +-- Temporary table structure for view `warehouse` -- DROP TABLE IF EXISTS `warehouse`; -/*!40101 SET @saved_cs_client = @@character_set_client */; -/*!40101 SET character_set_client = utf8 */; -CREATE TABLE `warehouse` ( - `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(20) COLLATE utf8_unicode_ci NOT NULL, - `fuente` tinyint(1) unsigned NOT NULL DEFAULT '0', - `address_name` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, - `delay` double NOT NULL DEFAULT '0.004', - `reserve` tinyint(4) NOT NULL DEFAULT '0', - `tpv` tinyint(2) unsigned zerofill NOT NULL DEFAULT '00', - `Id_Paises` mediumint(8) unsigned NOT NULL DEFAULT '1', - `zone_label` tinyint(4) NOT NULL DEFAULT '0', - `comisionantes` tinyint(4) NOT NULL DEFAULT '0', - `inventario` tinyint(2) NOT NULL DEFAULT '0', - `is_comparative` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Si esta a true,en la comparativa muestra el stock de este almacen, cuando no se especifica almacen.', - `valuatedInventory` tinyint(2) NOT NULL DEFAULT '0', - `isManaged` tinyint(2) NOT NULL DEFAULT '0' COMMENT 'Se añaden los cubos de expedition a la tabla ticketPackaging', - `hasConfectionTeam` tinyint(1) unsigned NOT NULL DEFAULT '0', - `hasStowaway` tinyint(1) NOT NULL DEFAULT '0', - `hasDms` tinyint(1) NOT NULL DEFAULT '0', - PRIMARY KEY (`id`), - UNIQUE KEY `name_UNIQUE` (`name`), - KEY `Id_Paises` (`Id_Paises`), - KEY `isComparativeIdx` (`is_comparative`), - CONSTRAINT `warehouse_ibfk_1` FOREIGN KEY (`Id_Paises`) REFERENCES `vn`.`country` (`Id`) -) ENGINE=InnoDB AUTO_INCREMENT=58 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -/*!40101 SET character_set_client = @saved_cs_client */; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_ai` AFTER INSERT ON `warehouse` FOR EACH ROW -begin - IF NEW.Fuente THEN - INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); - INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) - VALUES(NEW.id,LAST_INSERT_ID()); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; -/*!50003 SET @saved_cs_client = @@character_set_client */ ; -/*!50003 SET @saved_cs_results = @@character_set_results */ ; -/*!50003 SET @saved_col_connection = @@collation_connection */ ; -/*!50003 SET character_set_client = utf8 */ ; -/*!50003 SET character_set_results = utf8 */ ; -/*!50003 SET collation_connection = utf8_general_ci */ ; -/*!50003 SET @saved_sql_mode = @@sql_mode */ ; -/*!50003 SET sql_mode = '' */ ; -DELIMITER ;; -/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `warehouse_au` AFTER UPDATE ON `warehouse` FOR EACH ROW -begin - IF NEW.fuente IS TRUE and OLD.fuente IS FALSE then - INSERT INTO warehouse_alias (alias) VALUES(NEW.`name`); - INSERT INTO warehouse_joined(warehouse_id,warehouse_alias_id) - VALUES(NEW.id,LAST_INSERT_ID()); - END IF; -END */;; -DELIMITER ; -/*!50003 SET sql_mode = @saved_sql_mode */ ; -/*!50003 SET character_set_client = @saved_cs_client */ ; -/*!50003 SET character_set_results = @saved_cs_results */ ; -/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!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 `inventario`, + 1 AS `fuente`, + 1 AS `is_comparative`, + 1 AS `comisionantes`, + 1 AS `reserve`, + 1 AS `isManaged`, + 1 AS `tpv`, + 1 AS `hasStowaway`, + 1 AS `hasDms`, + 1 AS `address_name`, + 1 AS `delay`, + 1 AS `Id_Paises`, + 1 AS `zone_label`, + 1 AS `valuatedInventory`, + 1 AS `hasConfectionTeam`*/; +SET character_set_client = @saved_cs_client; -- -- Table structure for table `warehouse_alias` @@ -64005,7 +64939,7 @@ CREATE TABLE `warehouse_group` ( `warehouse_id` smallint(5) unsigned NOT NULL, PRIMARY KEY (`warehouse_alias_id`,`warehouse_id`), KEY `warehosue_group_ware_idx` (`warehouse_id`), - CONSTRAINT `warehosue_group_ware` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehosue_group_ware` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `warehouse_group_alias` FOREIGN KEY (`warehouse_alias_id`) REFERENCES `warehouse_alias` (`warehouse_alias_id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Agrupa warehouses '; /*!40101 SET character_set_client = @saved_cs_client */; @@ -64021,7 +64955,7 @@ CREATE TABLE `warehouse_joined` ( `warehouse_id` smallint(5) unsigned NOT NULL, `warehouse_alias_id` smallint(5) unsigned NOT NULL, PRIMARY KEY (`warehouse_id`,`warehouse_alias_id`), - CONSTRAINT `warehouse_joined_ibfk_3` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `warehouse_joined_ibfk_3` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`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 */; @@ -64039,8 +64973,8 @@ CREATE TABLE `warehouse_lc` ( `days` int(11) NOT NULL DEFAULT '1', PRIMARY KEY (`whin`,`whout`), KEY `whout_wh_idx` (`whout`), - CONSTRAINT `whin_wh` FOREIGN KEY (`whin`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE, - CONSTRAINT `whout_wh` FOREIGN KEY (`whout`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `whin_wh` FOREIGN KEY (`whin`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE, + CONSTRAINT `whout_wh` FOREIGN KEY (`whout`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Warehouses cost for linking'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -64056,7 +64990,7 @@ CREATE TABLE `warehouse_pickup` ( `agency_id` int(11) DEFAULT NULL, PRIMARY KEY (`warehouse_id`), UNIQUE KEY `agency_id` (`agency_id`,`warehouse_id`), - CONSTRAINT `warehouse_pickup_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `warehouse_pickup_ibfk_1` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `warehouse_pickup_ibfk_2` FOREIGN KEY (`agency_id`) REFERENCES `vn`.`agencyMode` (`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 */; @@ -64074,8 +65008,8 @@ CREATE TABLE `wh_selection` ( PRIMARY KEY (`Id_Trabajador`,`warehouse_id`), KEY `Trabajadores` (`Id_Trabajador`), KEY `Warehouse` (`warehouse_id`), - CONSTRAINT `Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, - CONSTRAINT `Warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `warehouse` (`id`) ON UPDATE CASCADE + CONSTRAINT `Trabajadores` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, + CONSTRAINT `Warehouse` FOREIGN KEY (`warehouse_id`) REFERENCES `vn`.`warehouse` (`id`) ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Permite que los usuarios seleccionen los almacenes que van a'; /*!40101 SET character_set_client = @saved_cs_client */; @@ -64154,7 +65088,7 @@ CREATE TABLE `workerTeam` ( KEY `user_idx` (`user`), KEY `team_idx` (`team`), CONSTRAINT `user_team` FOREIGN KEY (`user`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=240 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=242 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -75573,6 +76507,9 @@ CREATE DEFINER=`root`@`%` PROCEDURE `createBouquet`( ) BEGIN + DECLARE vTaxClass VARCHAR(1); + DECLARE vIntrastatFk INT(11); + -- COMPROBAMOS SI EXISTE UN ARTÍCULO IGUAL. SELECT Id_Article INTO vItem FROM Articles @@ -75599,6 +76536,12 @@ BEGIN vColour, 1 ); + + SELECT id INTO vTaxClass FROM vn.taxClass WHERE `code` = 'G'; + SELECT id INTO vIntrastatFk FROM vn.intrastat + WHERE description LIKE 'Flores,follaje y frutos artificiales: otras%'; + + UPDATE vn.itemTaxCountry SET taxClassFk = vTaxClass WHERE itemFk = LAST_INSERT_ID(); END IF; END ;; @@ -77247,7 +78190,7 @@ SELECT C.calidad, 'ASEGURADO' AS asegurado, Reino, R.orden, - CS.Consignatario, + CS.consignatario, T.Id_Cliente, NULL AS Id_Trabajador, T.Id_Ticket, @@ -77287,7 +78230,7 @@ SELECT C.calidad, T.warehouse_id, ST.id as idStowaway, STP.shipFk as isStowaway, - CS.POBLACION -- JGF 2016-02-16 + CS.poblacion -- JGF 2016-02-16 FROM Tickets T @@ -77312,7 +78255,7 @@ FROM LEFT JOIN Origen O ON A.id_origen = O.id LEFT JOIN Clientes C USING(Id_Cliente) LEFT JOIN Trabajadores CT ON C.Id_Trabajador = CT.Id_Trabajador - INNER JOIN Consignatarios CS ON T.Id_Consigna = CS.Id_Consigna + INNER JOIN Consignatarios CS ON T.Id_Consigna = CS.id_consigna INNER JOIN Agencias Ag ON Ag.Id_Agencia = T.Id_Agencia LEFT JOIN ( SELECT Id_Article, code as barcode @@ -88457,6 +89400,37 @@ DELIMITER ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; CREATE DEFINER=`root`@`%` PROCEDURE `tarjetas_credito_0`() +BEGIN + + DECLARE MyMaxID INT; + + SELECT MAX(id) FROM vn.clientCredit INTO MyMaxID; + + UPDATE Clientes + SET Credito = 0 + WHERE pay_met_id = 5; -- TARJETA + + UPDATE vn.clientCredit + SET workerFk = NULL + WHERE id > MyMaxID; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `tarjetas_credito_0__` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `tarjetas_credito_0__`() BEGIN DECLARE MyMaxID INT; @@ -90717,9 +91691,9 @@ 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 character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; /*!50003 SET @saved_sql_mode = @@sql_mode */ ; /*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; DELIMITER ;; @@ -90728,6 +91702,112 @@ BEGIN DECLARE vDateFrom DATE DEFAULT TIMESTAMPADD(WEEK,-12,CURDATE()); + SELECT IFNULL(CONCAT(" ",Entrada),travel) travelAndEntry, + travel, + Entrada, + IsTravel, + Agencia, + ref, + shipment, + OrigenCajas, + landing, + Destino, + Etiquetas, + Notas_Eva, + kg, + loadedKg, + volumeKg, + loadPriority, + Notas, + Carguera + FROM(SELECT + 1 as IsTravel, + tr.id as travel, + NULL as Entrada, + ag.Agencia, + tr.ref, + tr.shipment, + wo.name as OrigenCajas, + tr.landing, + w.name as Destino, + sum(c.Etiquetas) as Etiquetas, + NULL as Notas_Eva, + kg, + cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedKg, + cast(sum(167.5 * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as volumeKg, + NULL as loadPriority, + NULL as Notas, + pc.Alias as Carguera + FROM travel tr + LEFT JOIN Proveedores pc ON pc.Id_Proveedor = tr.cargoSupplierFk + LEFT JOIN Entradas e ON e.travel_id = tr.id + LEFT JOIN Compres c ON c.Id_Entrada = e.Id_Entrada + LEFT JOIN Cubos cb ON cb.Id_Cubo = c.Id_Cubo + LEFT JOIN Articles a ON a.Id_Article = c.Id_Article + LEFT JOIN Tipos tp ON tp.tipo_id = a.tipo_id + JOIN warehouse w ON w.id = tr.warehouse_id + JOIN warehouse wo ON wo.id = tr.warehouse_id_out + JOIN Agencias ag ON ag.Id_Agencia = tr.agency_id + WHERE tr.landing >= vDateFrom AND (wo.name="Colombia" OR wo.name="Ecuador") + GROUP BY tr.id + + UNION ALL + + SELECT + 0 as IsTravel, + e.travel_id as travel, + e.Id_Entrada, + p.Proveedor, + e.Referencia, + tr.shipment, + wo.name as OrigenCajas, + tr.landing, + w.name as Destino, + sum(Etiquetas) as Etiquetas, + e.Notas_Eva, + NULL as kg, + cast(sum(a.density * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as loadedkg, + cast(sum(167.5 * c.Etiquetas * IF(cb.Volumen, cb.Volumen, cb.X * cb.Y * cb.Z) / 1000000 ) as DECIMAL(10,0)) as volumeKg, + loadPriority, + e.Notas, + pc.Alias as carguera + + FROM Entradas e + 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 AND (wo.name="Colombia" OR wo.name="Ecuador") + GROUP BY e.Id_Entrada + ) sub + ORDER BY landing ASC, shipment ASC,travel, IsTravel DESC, (loadPriority > 0) DESC,loadPriority, Agencia, Notas_Eva ; + +END ;; +DELIMITER ; +/*!50003 SET sql_mode = @saved_sql_mode */ ; +/*!50003 SET character_set_client = @saved_cs_client */ ; +/*!50003 SET character_set_results = @saved_cs_results */ ; +/*!50003 SET collation_connection = @saved_col_connection */ ; +/*!50003 DROP PROCEDURE IF EXISTS `travelDetail__` */; +/*!50003 SET @saved_cs_client = @@character_set_client */ ; +/*!50003 SET @saved_cs_results = @@character_set_results */ ; +/*!50003 SET @saved_col_connection = @@collation_connection */ ; +/*!50003 SET character_set_client = utf8 */ ; +/*!50003 SET character_set_results = utf8 */ ; +/*!50003 SET collation_connection = utf8_general_ci */ ; +/*!50003 SET @saved_sql_mode = @@sql_mode */ ; +/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ; +DELIMITER ;; +CREATE DEFINER=`root`@`%` PROCEDURE `travelDetail__`() +BEGIN + + DECLARE vDateFrom DATE DEFAULT TIMESTAMPADD(WEEK,-12,CURDATE()); + SELECT * FROM ( SELECT @@ -92396,11 +93476,11 @@ CREATE TABLE `inter` ( KEY `ticket` (`Id_Ticket`), KEY `inter_state` (`state_id`), KEY `inter_id` (`Id_Ticket`,`inter_id`) USING BTREE, - CONSTRAINT `currante` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE, + CONSTRAINT `currante` FOREIGN KEY (`Id_Trabajador`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE, CONSTRAINT `inter_ibfk_1` FOREIGN KEY (`Id_Ticket`) REFERENCES `vn`.`ticket` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT `inter_state` FOREIGN KEY (`state_id`) REFERENCES `vn`.`state` (`id`) ON UPDATE CASCADE, - CONSTRAINT `responsable` FOREIGN KEY (`Id_Supervisor`) REFERENCES `vn2008`.`Trabajadores` (`Id_Trabajador`) ON UPDATE CASCADE -) ENGINE=InnoDB AUTO_INCREMENT=20864584 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + CONSTRAINT `responsable` FOREIGN KEY (`Id_Supervisor`) REFERENCES `vn`.`worker` (`id`) ON UPDATE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=21463048 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 */ ; @@ -93341,12 +94421,12 @@ USE `hedera`; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; -/*!50001 SET character_set_client = utf8 */; -/*!50001 SET character_set_results = utf8 */; -/*!50001 SET collation_connection = utf8_general_ci */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `orderTicket` AS select `b`.`order_id` AS `orderFk`,`b`.`Id_Ticket` AS `ticketFk` from `vn2008`.`order_Tickets` `b` */; +/*!50001 VIEW `orderTicket` AS select `b`.`orderFk` AS `orderFk`,`b`.`ticketFk` AS `ticketFk` from `vn`.`orderTicket` `b` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -93681,24 +94761,6 @@ USE `vn`; /*!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 = utf8mb4 */; -/*!50001 SET character_set_results = utf8mb4 */; -/*!50001 SET collation_connection = utf8mb4_general_ci */; -/*!50001 CREATE ALGORITHM=UNDEFINED */ -/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `address` AS select `a`.`id_consigna` AS `id`,`a`.`Id_cliente` AS `clientFk`,`a`.`domicilio` AS `street`,`a`.`poblacion` AS `city`,`a`.`codPostal` AS `postalCode`,`a`.`province_id` AS `provinceFk`,`a`.`telefono` AS `phone`,`a`.`movil` AS `mobile`,`a`.`consignatario` AS `nickname`,`a`.`predeterminada` AS `isDefaultAddress`,`a`.`longitude` AS `longitude`,`a`.`latitude` AS `latitude`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`Id_Agencia` AS `agencyModeFk`,`a`.`isEqualizated` AS `isEqualizated`,`a`.`active` AS `isActive` 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 `addressObservation__` -- @@ -93717,6 +94779,24 @@ USE `vn`; /*!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 = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `address__` AS select `a`.`id_consigna` AS `id`,`a`.`Id_cliente` AS `clientFk`,`a`.`domicilio` AS `street`,`a`.`poblacion` AS `city`,`a`.`codPostal` AS `postalCode`,`a`.`province_id` AS `provinceFk`,`a`.`telefono` AS `phone`,`a`.`movil` AS `mobile`,`a`.`consignatario` AS `nickname`,`a`.`predeterminada` AS `isDefaultAddress`,`a`.`longitude` AS `longitude`,`a`.`latitude` AS `latitude`,`a`.`warehouse_id` AS `warehouseFk`,`a`.`Id_Agencia` AS `agencyModeFk`,`a`.`isEqualizated` AS `isEqualizated`,`a`.`active` AS `isActive` 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 `agencyModeZone` -- @@ -93843,24 +94923,6 @@ USE `vn`; /*!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 `bank__` -- @@ -94396,7 +95458,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `componentType` AS select `t`.`tarifa_componentes_series_id` AS `id`,`t`.`Serie` AS `type`,`t`.`base` AS `base` from `bi`.`tarifa_componentes_series` `t` */; +/*!50001 VIEW `componentType` AS select `t`.`tarifa_componentes_series_id` AS `id`,`t`.`Serie` AS `type`,`t`.`base` AS `base`,`t`.`margen` AS `isMargin` from `bi`.`tarifa_componentes_series` `t` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -95386,7 +96448,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemPlacementSupplyList` AS select `ips`.`id` AS `id`,`ips`.`itemFk` AS `itemFk`,`ips`.`quantity` AS `quantity`,`ips`.`priority` AS `priority`,ifnull(`isps`.`created`,`ips`.`created`) AS `created`,`ips`.`userFk` AS `userFk`,`ips`.`repoUserFk` AS `repoUserFk`,(`ips`.`quantity` - sum(ifnull(`isps`.`quantity`,0))) AS `saldo`,concat(`i`.`longName`,' ',`i`.`size`) AS `longName`,`i`.`subName` AS `subName`,`i`.`size` AS `size`,`w`.`code` AS `workerCode`,`rw`.`code` AS `repoCode`,max(`p`.`code`) AS `parking`,`ips`.`sectorFk` AS `sectorFk` from (((((((`vn`.`itemPlacementSupply` `ips` join `vn`.`item` `i` on((`i`.`id` = `ips`.`itemFk`))) left join `vn`.`worker` `w` on((`w`.`userFk` = `ips`.`userFk`))) left join `vn`.`worker` `rw` on((`rw`.`userFk` = `ips`.`repoUserFk`))) left join `vn`.`itemShelvingPlacementSupply` `isps` on((`isps`.`itemPlacementSupplyFk` = `ips`.`id`))) left join `vn`.`itemShelving` `ish` on((`ish`.`id` = `isps`.`itemShelvingFk`))) left join `vn`.`shelving` `s` on((`ish`.`shelvingFk` = `s`.`code`))) left join `vn`.`parking` `p` on((`s`.`parkingFk` = `p`.`id`))) where (`ips`.`created` >= curdate()) group by `ips`.`priority`,`ips`.`id`,`p`.`sectorFk` */; +/*!50001 VIEW `itemPlacementSupplyList` AS select `ips`.`id` AS `id`,`ips`.`itemFk` AS `itemFk`,`ips`.`quantity` AS `quantity`,`ips`.`priority` AS `priority`,ifnull(`isps`.`created`,`ips`.`created`) AS `created`,`ips`.`userFk` AS `userFk`,`ips`.`repoUserFk` AS `repoUserFk`,(`ips`.`quantity` - sum(ifnull(`isps`.`quantity`,0))) AS `saldo`,concat(`i`.`longName`,' ',`i`.`size`) AS `longName`,`i`.`subName` AS `subName`,`i`.`size` AS `size`,`w`.`code` AS `workerCode`,`rw`.`code` AS `repoCode`,max(`p`.`code`) AS `parking`,`ips`.`sectorFk` AS `sectorFk` from (((((((`itemPlacementSupply` `ips` join `item` `i` on((`i`.`id` = `ips`.`itemFk`))) left join `worker` `w` on((`w`.`userFk` = `ips`.`userFk`))) left join `worker` `rw` on((`rw`.`userFk` = `ips`.`repoUserFk`))) left join `itemShelvingPlacementSupply` `isps` on((`isps`.`itemPlacementSupplyFk` = `ips`.`id`))) left join `itemShelving` `ish` on((`ish`.`id` = `isps`.`itemShelvingFk`))) left join `shelving` `s` on((`ish`.`shelvingFk` = `s`.`code`))) left join `parking` `p` on((`s`.`parkingFk` = `p`.`id`))) where (`ips`.`created` >= curdate()) group by `ips`.`priority`,`ips`.`id`,`p`.`sectorFk` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -95404,7 +96466,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `itemPlacementSupplyList__` AS select `ips`.`id` AS `id`,`ips`.`itemFk` AS `itemFk`,`ips`.`quantity` AS `quantity`,`ips`.`priority` AS `priority`,`ips`.`created` AS `created`,`ips`.`userFk` AS `userFk`,`ips`.`repoUserFk` AS `repoUserFk`,(`ips`.`quantity` - sum(ifnull(`isps`.`quantity`,0))) AS `saldo`,concat(`i`.`longName`,' ',`i`.`size`) AS `longName`,`i`.`subName` AS `subName`,`i`.`size` AS `size`,`w`.`code` AS `workerCode`,`rw`.`code` AS `repoCode`,max(`p`.`code`) AS `parking`,max(`p`.`sectorFk`) AS `sectorFk` from (((((((`vn`.`itemPlacementSupply` `ips` join `vn`.`itemShelving` `ish` on((`ish`.`itemFk` = `ips`.`itemFk`))) join `vn`.`item` `i` on((`i`.`id` = `ish`.`itemFk`))) left join `vn`.`worker` `w` on((`w`.`userFk` = `ips`.`userFk`))) left join `vn`.`worker` `rw` on((`rw`.`userFk` = `ips`.`repoUserFk`))) left join `vn`.`itemShelvingPlacementSupply` `isps` on((`isps`.`itemPlacementSupplyFk` = `ips`.`id`))) left join `vn`.`shelving` `s` on((`ish`.`shelvingFk` = `s`.`code`))) left join `vn`.`parking` `p` on((`s`.`parkingFk` = `p`.`id`))) where (`ips`.`created` >= curdate()) group by `ips`.`priority`,`ips`.`id`,`p`.`sectorFk` */; +/*!50001 VIEW `itemPlacementSupplyList__` AS select `ips`.`id` AS `id`,`ips`.`itemFk` AS `itemFk`,`ips`.`quantity` AS `quantity`,`ips`.`priority` AS `priority`,`ips`.`created` AS `created`,`ips`.`userFk` AS `userFk`,`ips`.`repoUserFk` AS `repoUserFk`,(`ips`.`quantity` - sum(ifnull(`isps`.`quantity`,0))) AS `saldo`,concat(`i`.`longName`,' ',`i`.`size`) AS `longName`,`i`.`subName` AS `subName`,`i`.`size` AS `size`,`w`.`code` AS `workerCode`,`rw`.`code` AS `repoCode`,max(`p`.`code`) AS `parking`,max(`p`.`sectorFk`) AS `sectorFk` from (((((((`itemPlacementSupply` `ips` join `itemShelving` `ish` on((`ish`.`itemFk` = `ips`.`itemFk`))) join `item` `i` on((`i`.`id` = `ish`.`itemFk`))) left join `worker` `w` on((`w`.`userFk` = `ips`.`userFk`))) left join `worker` `rw` on((`rw`.`userFk` = `ips`.`repoUserFk`))) left join `itemShelvingPlacementSupply` `isps` on((`isps`.`itemPlacementSupplyFk` = `ips`.`id`))) left join `shelving` `s` on((`ish`.`shelvingFk` = `s`.`code`))) left join `parking` `p` on((`s`.`parkingFk` = `p`.`id`))) where (`ips`.`created` >= curdate()) group by `ips`.`priority`,`ips`.`id`,`p`.`sectorFk` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -95692,7 +96754,7 @@ USE `vn`; /*!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 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`,`Trabajadores`.`CodigoTrabajador` AS `workerCode`,`Trabajadores`.`Nombre` AS `firstname`,`Trabajadores`.`Apellidos` AS `name` from (`bs`.`mana_spellers` join `vn2008`.`Trabajadores` on((`bs`.`mana_spellers`.`Id_Trabajador` = `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 */; @@ -95878,10 +96940,10 @@ USE `vn`; /*!50001 SET collation_connection = @saved_col_connection */; -- --- Final view structure for view `payMethod` +-- Final view structure for view `payMethod__` -- -/*!50001 DROP VIEW IF EXISTS `payMethod`*/; +/*!50001 DROP VIEW IF EXISTS `payMethod__`*/; /*!50001 SET @saved_cs_client = @@character_set_client */; /*!50001 SET @saved_cs_results = @@character_set_results */; /*!50001 SET @saved_col_connection = @@collation_connection */; @@ -95890,7 +96952,7 @@ USE `vn`; /*!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 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 */; @@ -96088,7 +97150,7 @@ USE `vn`; /*!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 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`,`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 */; @@ -96538,7 +97600,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `supplierPackaging` AS select `e`.`supplierFk` AS `supplierFk`,`b`.`itemFk` AS `itemFk`,`i`.`longName` AS `longName`,`s`.`name` AS `supplier`,`b`.`entryFk` AS `entryFk`,`tr`.`landed` AS `landed`,-(least(`b`.`quantity`,0)) AS `out`,greatest(`b`.`quantity`,0) AS `in`,`w`.`name` AS `almacen` from ((((((`vn`.`buy` `b` join `vn`.`item` `i` on((`i`.`id` = `b`.`itemFk`))) join `vn`.`packaging` `p` on((`p`.`itemFk` = `i`.`id`))) join `vn`.`entry` `e` on((`e`.`id` = `b`.`entryFk`))) join `vn`.`supplier` `s` on((`s`.`id` = `e`.`supplierFk`))) join `vn`.`travel` `tr` on((`tr`.`id` = `e`.`travelFk`))) join `vn`.`warehouse` `w` on((`w`.`id` = `tr`.`warehouseInFk`))) where `p`.`isPackageReturnable` */; +/*!50001 VIEW `supplierPackaging` AS select `e`.`supplierFk` AS `supplierFk`,`b`.`itemFk` AS `itemFk`,`i`.`longName` AS `longName`,`s`.`name` AS `supplier`,`b`.`entryFk` AS `entryFk`,`tr`.`landed` AS `landed`,-(least(`b`.`quantity`,0)) AS `out`,greatest(`b`.`quantity`,0) AS `in`,`w`.`name` AS `almacen` from ((((((`buy` `b` join `item` `i` on((`i`.`id` = `b`.`itemFk`))) join `packaging` `p` on((`p`.`itemFk` = `i`.`id`))) join `entry` `e` on((`e`.`id` = `b`.`entryFk`))) join `supplier` `s` on((`s`.`id` = `e`.`supplierFk`))) join `travel` `tr` on((`tr`.`id` = `e`.`travelFk`))) join `warehouse` `w` on((`w`.`id` = `tr`.`warehouseInFk`))) where `p`.`isPackageReturnable` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -96718,7 +97780,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `ticketPreviousPreparingList` AS select `t`.`id` AS `ticketFk`,`w`.`code` AS `code`,count(`st`.`id`) AS `saleLines`,sum((`st`.`isChecked` <> 0)) AS `alreadyMadeSaleLines`,(sum((`st`.`isChecked` <> 0)) / count(`st`.`id`)) AS `madeRate`,`st`.`created` AS `created`,`i`.`sectorFk` AS `sectorFk`,`p`.`code` AS `parking` from (((((((`vn`.`ticket` `t` join `vn`.`sale` `s` on((`s`.`ticketFk` = `t`.`id`))) join `vn`.`item` `i` on((`i`.`id` = `s`.`itemFk`))) join `vn`.`saleTracking` `st` on((`st`.`saleFk` = `s`.`id`))) join `vn`.`state` on((`vn`.`state`.`id` = `st`.`stateFk`))) left join `vn`.`worker` `w` on((`w`.`id` = `st`.`workerFk`))) left join `vn`.`ticketParking` `tp` on((`tp`.`ticketFk` = `t`.`id`))) left join `vn`.`parking` `p` on((`p`.`id` = `tp`.`parkingFk`))) where ((`vn`.`state`.`code` = 'PREVIOUS_PREPARATION') and (`t`.`shipped` >= (curdate() + interval -(1) day))) group by `s`.`ticketFk`,`i`.`sectorFk` */; +/*!50001 VIEW `ticketPreviousPreparingList` AS select `t`.`id` AS `ticketFk`,`w`.`code` AS `code`,count(`st`.`id`) AS `saleLines`,sum((`st`.`isChecked` <> 0)) AS `alreadyMadeSaleLines`,(sum((`st`.`isChecked` <> 0)) / count(`st`.`id`)) AS `madeRate`,`st`.`created` AS `created`,`i`.`sectorFk` AS `sectorFk`,`p`.`code` AS `parking` from (((((((`ticket` `t` join `sale` `s` on((`s`.`ticketFk` = `t`.`id`))) join `item` `i` on((`i`.`id` = `s`.`itemFk`))) join `saleTracking` `st` on((`st`.`saleFk` = `s`.`id`))) join `state` on((`state`.`id` = `st`.`stateFk`))) left join `worker` `w` on((`w`.`id` = `st`.`workerFk`))) left join `ticketParking` `tp` on((`tp`.`ticketFk` = `t`.`id`))) left join `parking` `p` on((`p`.`id` = `tp`.`parkingFk`))) where ((`state`.`code` = 'PREVIOUS_PREPARATION') and (`t`.`shipped` >= (curdate() + interval -(1) day))) group by `s`.`ticketFk`,`i`.`sectorFk` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -97065,24 +98127,6 @@ USE `vn`; /*!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 = utf8mb4 */; -/*!50001 SET character_set_results = utf8mb4 */; -/*!50001 SET collation_connection = utf8mb4_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`.`fuente` AS `isFeedStock`,`t`.`is_comparative` AS `isComparative`,`t`.`comisionantes` AS `hasComission`,`t`.`reserve` AS `hasAvailable`,`t`.`isManaged` AS `isManaged`,`t`.`tpv` AS `isForTicket`,`t`.`hasStowaway` AS `hasStowaway`,`t`.`hasDms` AS `hasDms` 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` -- @@ -97101,6 +98145,42 @@ USE `vn`; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; +-- +-- Final view structure for view `warehouseJoined` +-- + +/*!50001 DROP VIEW IF EXISTS `warehouseJoined`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `warehouseJoined` AS select `wj`.`warehouse_id` AS `warehouseFk`,`wj`.`warehouse_alias_id` AS `warehouseAliasFk` from `vn2008`.`warehouse_joined` `wj` */; +/*!50001 SET character_set_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 = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_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`.`fuente` AS `isFeedStock`,`t`.`is_comparative` AS `isComparative`,`t`.`comisionantes` AS `hasComission`,`t`.`reserve` AS `hasAvailable`,`t`.`isManaged` AS `isManaged`,`t`.`tpv` AS `isForTicket`,`t`.`hasStowaway` AS `hasStowaway`,`t`.`hasDms` AS `hasDms` 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 `workCenterHoliday__` -- @@ -97119,24 +98199,6 @@ USE `vn`; /*!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`,`t`.`Foto` AS `photo`,`t`.`dni` AS `fi`,`t`.`DniExpiration` AS `fiDueDate`,`t`.`CodigoTrabajador` AS `code`,`t`.`Apellidos` AS `lastName` 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 `workerCalendar` -- @@ -97294,7 +98356,7 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerTimeControl_Journey` AS select `wtc`.`userFk` AS `userFk`,cast(`wtc`.`timed` as date) AS `dated`,cast(sum((if((`wtc`.`order` % 2),-(1),1) * (hour(`wtc`.`timed`) + (minute(`wtc`.`timed`) / 60)))) as decimal(10,2)) AS `Journey`,dayname(`wtc`.`timed`) AS `dayName`,`w`.`lastName` AS `name`,`w`.`firstName` AS `firstname` from (`vn`.`workerTimeControl` `wtc` join `vn`.`worker` `w` on((`w`.`userFk` = `wtc`.`userFk`))) group by cast(`wtc`.`timed` as date),`wtc`.`userFk` */; +/*!50001 VIEW `workerTimeControl_Journey` AS select `wtc`.`userFk` AS `userFk`,cast(`wtc`.`timed` as date) AS `dated`,cast(sum((if((`wtc`.`order` % 2),-(1),1) * (hour(`wtc`.`timed`) + (minute(`wtc`.`timed`) / 60)))) as decimal(10,2)) AS `Journey`,dayname(`wtc`.`timed`) AS `dayName`,`w`.`lastName` AS `name`,`w`.`firstName` AS `firstname` from (`workerTimeControl` `wtc` join `worker` `w` on((`w`.`userFk` = `wtc`.`userFk`))) group by cast(`wtc`.`timed` as date),`wtc`.`userFk` */; /*!50001 SET character_set_client = @saved_cs_client */; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; @@ -97312,7 +98374,25 @@ USE `vn`; /*!50001 SET collation_connection = utf8_general_ci */; /*!50001 CREATE ALGORITHM=UNDEFINED */ /*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ -/*!50001 VIEW `workerTimeJourneyNG` AS select `wtc`.`userFk` AS `userFk`,cast(`wtc`.`timed` as date) AS `dated`,(if((`wtc`.`order` % 2),-(1),1) * (hour(`wtc`.`timed`) + (minute(`wtc`.`timed`) / 60))) AS `Journey`,dayname(`wtc`.`timed`) AS `dayName`,`w`.`lastName` AS `name`,`w`.`firstName` AS `firstname` from (`vn`.`workerTimeControl` `wtc` join `vn`.`worker` `w` on((`w`.`userFk` = `wtc`.`userFk`))) */; +/*!50001 VIEW `workerTimeJourneyNG` AS select `wtc`.`userFk` AS `userFk`,cast(`wtc`.`timed` as date) AS `dated`,(if((`wtc`.`order` % 2),-(1),1) * (hour(`wtc`.`timed`) + (minute(`wtc`.`timed`) / 60))) AS `Journey`,dayname(`wtc`.`timed`) AS `dayName`,`w`.`lastName` AS `name`,`w`.`firstName` AS `firstname` from (`workerTimeControl` `wtc` join `worker` `w` on((`w`.`userFk` = `wtc`.`userFk`))) */; +/*!50001 SET character_set_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 = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `worker__` AS select `t`.`Id_Trabajador` AS `id`,`t`.`Nombre` AS `firstName`,`t`.`user_id` AS `userFk`,`t`.`phone` AS `phone`,`t`.`boss` AS `bossFk`,`t`.`Foto` AS `photo`,`t`.`dni` AS `fi`,`t`.`DniExpiration` AS `fiDueDate`,`t`.`CodigoTrabajador` AS `code`,`t`.`Apellidos` AS `lastName` 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 */; @@ -97467,6 +98547,24 @@ USE `vn2008`; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; +-- +-- Final view structure for view `Consignatarios` +-- + +/*!50001 DROP VIEW IF EXISTS `Consignatarios`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Consignatarios` AS select `a`.`id` AS `id_consigna`,`a`.`clientFk` AS `Id_cliente`,`a`.`street` AS `domicilio`,`a`.`city` AS `poblacion`,`a`.`postalCode` AS `codPostal`,`a`.`provinceFk` AS `province_id`,`a`.`phone` AS `telefono`,`a`.`mobile` AS `movil`,`a`.`nickname` AS `consignatario`,`a`.`isDefaultAddress` AS `predeterminada`,`a`.`longitude` AS `longitude`,`a`.`latitude` AS `latitude`,`a`.`warehouseFk` AS `warehouse_id`,`a`.`agencyModeFk` AS `Id_Agencia`,`a`.`isEqualizated` AS `isEqualizated`,`a`.`isActive` AS `active`,`a`.`notes` AS `especificaciones`,`a`.`hasInsurance` AS `seguro`,`a`.`porte` AS `porte`,`a`.`postcodeOLD` AS `postcode_id`,`a`.`codPosOld` AS `codPos` from `vn`.`address` `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 `Cubos` -- @@ -97899,6 +98997,24 @@ USE `vn2008`; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; +-- +-- Final view structure for view `Trabajadores` +-- + +/*!50001 DROP VIEW IF EXISTS `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 = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `Trabajadores` AS select `w`.`id` AS `Id_Trabajador`,`w`.`firstName` AS `Nombre`,`w`.`userFk` AS `user_id`,`w`.`phone` AS `phone`,`w`.`bossFk` AS `boss`,`w`.`photo` AS `Foto`,`w`.`fi` AS `dni`,`w`.`fiDueDate` AS `DniExpiration`,`w`.`code` AS `CodigoTrabajador`,`w`.`lastName` AS `Apellidos`,`w`.`hasMachineryAutorized` AS `hasMachineryAutorized`,`w`.`password` AS `Password`,`w`.`email` AS `email`,`w`.`extension` AS `extension`,`w`.`sub` AS `sub`,`w`.`user` AS `user`,`w`.`typeBussines` AS `Contrato_Tipo`,`w`.`laborCategory` AS `Categoria_Laboral`,`w`.`started` AS `Fecha_Inicio`,`w`.`ended` AS `Fecha_Fin`,`w`.`notes` AS `Notas`,`w`.`address` AS `address`,`w`.`birthed` AS `date_birth`,`w`.`maritalStatus` AS `marital_status`,`w`.`companyFk` AS `empresa_id`,`w`.`clientFk` AS `Id_Cliente_Interno` from `vn`.`worker` `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 `V_edi_item_track` -- @@ -97948,7 +99064,7 @@ USE `vn2008`; /*!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 VIEW `VerEspionaje` AS select `Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`vn2008`.`Espionajes`.`Fecha` AS `Fecha`,`vn2008`.`Espionajes`.`HoraEntrada` AS `HoraEntrada`,`vn2008`.`Espionajes`.`HoraSalida` AS `HoraSalida`,`vn2008`.`Espionajes`.`Id_Equipo` AS `Id_Equipo`,`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador` from (`vn2008`.`Espionajes` join `vn2008`.`Trabajadores` on((`vn2008`.`Espionajes`.`Id_Trabajador` = `Trabajadores`.`Id_Trabajador`))) order by `Trabajadores`.`CodigoTrabajador`,`vn2008`.`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 */; @@ -99087,6 +100203,24 @@ USE `vn2008`; /*!50001 SET character_set_results = @saved_cs_results */; /*!50001 SET collation_connection = @saved_col_connection */; +-- +-- Final view structure for view `pay_met` +-- + +/*!50001 DROP VIEW IF EXISTS `pay_met`*/; +/*!50001 SET @saved_cs_client = @@character_set_client */; +/*!50001 SET @saved_cs_results = @@character_set_results */; +/*!50001 SET @saved_col_connection = @@collation_connection */; +/*!50001 SET character_set_client = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_general_ci */; +/*!50001 CREATE ALGORITHM=UNDEFINED */ +/*!50013 DEFINER=`root`@`%` SQL SECURITY DEFINER */ +/*!50001 VIEW `pay_met` AS select `pm`.`id` AS `id`,`pm`.`name` AS `name`,`pm`.`graceDays` AS `graceDays`,`pm`.`outstandingDebt` AS `deudaviva`,`pm`.`ibanRequired` AS `ibanRequired`,`pm`.`solution` AS `solucion`,`pm`.`isNotified` AS `isNotified` from `vn`.`payMethod` `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 `person_user` -- @@ -99424,7 +100558,7 @@ USE `vn2008`; /*!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 `vn2008`.`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 `vn2008`.`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 `vn2008`.`Clientes` where (`Clientes`.`movil` is not null) union select if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),`vn2008`.`Relaciones`.`Id_Cliente`,`vn2008`.`Relaciones`.`Id_Proveedor`) AS `Id`,`vn2008`.`Contactos`.`Nombre` AS `Nombre`,`vn2008`.`Contactos`.`Telefono` AS `Telefono` from (`vn2008`.`Contactos` join `vn2008`.`Relaciones` on((`vn2008`.`Contactos`.`Id_Contacto` = `vn2008`.`Relaciones`.`Id_Contacto`))) where (`vn2008`.`Contactos`.`Telefono` is not null) union select if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),`vn2008`.`Relaciones`.`Id_Cliente`,`vn2008`.`Relaciones`.`Id_Proveedor`) AS `Id`,`vn2008`.`Contactos`.`Nombre` AS `Nombre`,`vn2008`.`Contactos`.`Movil` AS `Movil` from (`vn2008`.`Contactos` join `vn2008`.`Relaciones` on((`vn2008`.`Contactos`.`Id_Contacto` = `vn2008`.`Relaciones`.`Id_Contacto`))) where (`vn2008`.`Contactos`.`Movil` is not null) union select 'T' AS `Tipo`,`vn2008`.`Trabajadores`.`Id_Trabajador` AS `Id_Trabajador`,`vn2008`.`Trabajadores`.`CodigoTrabajador` AS `CodigoTrabajador`,`vn2008`.`Trabajadores`.`extension` AS `extension` from `vn2008`.`Trabajadores` where (`vn2008`.`Trabajadores`.`extension` is not null) */; +/*!50001 VIEW `v_Agenda` AS select 'P' AS `Tipo`,`Proveedores`.`Id_Proveedor` AS `Id`,`Proveedores`.`Proveedor` AS `Nombre`,`Proveedores`.`Telefono` AS `Telephone` from `vn2008`.`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 `vn2008`.`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 `vn2008`.`Clientes` where (`Clientes`.`movil` is not null) union select if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),`vn2008`.`Relaciones`.`Id_Cliente`,`vn2008`.`Relaciones`.`Id_Proveedor`) AS `Id`,`vn2008`.`Contactos`.`Nombre` AS `Nombre`,`vn2008`.`Contactos`.`Telefono` AS `Telefono` from (`vn2008`.`Contactos` join `vn2008`.`Relaciones` on((`vn2008`.`Contactos`.`Id_Contacto` = `vn2008`.`Relaciones`.`Id_Contacto`))) where (`vn2008`.`Contactos`.`Telefono` is not null) union select if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),'C','P') AS `Tipo`,if(isnull(`vn2008`.`Relaciones`.`Id_Proveedor`),`vn2008`.`Relaciones`.`Id_Cliente`,`vn2008`.`Relaciones`.`Id_Proveedor`) AS `Id`,`vn2008`.`Contactos`.`Nombre` AS `Nombre`,`vn2008`.`Contactos`.`Movil` AS `Movil` from (`vn2008`.`Contactos` join `vn2008`.`Relaciones` on((`vn2008`.`Contactos`.`Id_Contacto` = `vn2008`.`Relaciones`.`Id_Contacto`))) where (`vn2008`.`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 `vn2008`.`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 */; @@ -99928,7 +101062,7 @@ USE `vn2008`; /*!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 `vn2008`.`Clientes` where (`Clientes`.`telefono` and `Clientes`.`activo`) union select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`movil`,' ','') AS `Movil` from `vn2008`.`Clientes` where (`Clientes`.`movil` and `Clientes`.`activo`) union select `vn2008`.`Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`vn2008`.`Consignatarios`.`telefono`,' ','') AS `TRIM(telefono)` from (`vn2008`.`Consignatarios` join `vn2008`.`Clientes` `c` on((`vn2008`.`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`vn2008`.`Consignatarios`.`telefono` and `c`.`activo`) union select `vn2008`.`Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`vn2008`.`Consignatarios`.`movil`,' ','') AS `TRIM(movil)` from (`vn2008`.`Consignatarios` join `vn2008`.`Clientes` `c` on((`vn2008`.`Consignatarios`.`Id_cliente` = `c`.`id_cliente`))) where (`vn2008`.`Consignatarios`.`movil` and `c`.`activo`) union select `r`.`Id_Cliente` AS `Id_Cliente`,replace(`c`.`Telefono`,' ','') AS `REPLACE(c.telefono,' ','')` from ((`vn2008`.`Clientes` `cl` join `vn2008`.`Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `vn2008`.`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 ((`vn2008`.`Clientes` `cl` join `vn2008`.`Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `vn2008`.`Contactos` `c` on((`r`.`Id_Contacto` = `c`.`Id_Contacto`))) where (`cl`.`movil` and `cl`.`activo`) */; +/*!50001 VIEW `v_phonebook` AS select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`telefono`,' ','') AS `Telefono` from `vn2008`.`Clientes` where (`Clientes`.`telefono` and `Clientes`.`activo`) union select `Clientes`.`id_cliente` AS `Id_Cliente`,replace(`Clientes`.`movil`,' ','') AS `Movil` from `vn2008`.`Clientes` where (`Clientes`.`movil` and `Clientes`.`activo`) union select `Consignatarios`.`Id_cliente` AS `Id_Cliente`,replace(`Consignatarios`.`telefono`,' ','') AS `TRIM(telefono)` from (`vn2008`.`Consignatarios` join `vn2008`.`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 (`vn2008`.`Consignatarios` join `vn2008`.`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 ((`vn2008`.`Clientes` `cl` join `vn2008`.`Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `vn2008`.`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 ((`vn2008`.`Clientes` `cl` join `vn2008`.`Relaciones` `r` on((`cl`.`id_cliente` = `r`.`Id_Cliente`))) join `vn2008`.`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 */; @@ -100072,7 +101206,7 @@ USE `vn2008`; /*!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 VIEW `v_warehouse` AS select `warehouse`.`id` AS `id`,`warehouse`.`name` AS `almacen` from `vn2008`.`warehouse` union all select (1000 + `vn2008`.`warehouse_alias`.`warehouse_alias_id`) AS `warehouse_alias_id`,concat(`vn2008`.`warehouse_alias`.`alias`,'(G)') AS `concat(alias, '(G)')` from `vn2008`.`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 */; @@ -100185,6 +101319,24 @@ USE `vn2008`; /*!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 = utf8mb4 */; +/*!50001 SET character_set_results = utf8mb4 */; +/*!50001 SET collation_connection = utf8mb4_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`.`isInventory` AS `inventario`,`w`.`isFeedStock` AS `fuente`,`w`.`isComparative` AS `is_comparative`,`w`.`hasComission` AS `comisionantes`,`w`.`hasAvailable` AS `reserve`,`w`.`isManaged` AS `isManaged`,`w`.`isForTicket` AS `tpv`,`w`.`hasStowaway` AS `hasStowaway`,`w`.`hasDms` AS `hasDms`,`w`.`addressName` AS `address_name`,`w`.`delay` AS `delay`,`w`.`countryFk` AS `Id_Paises`,`w`.`labelZone` AS `zone_label`,`w`.`valuatedInventory` AS `valuatedInventory`,`w`.`hasConfectionTeam` AS `hasConfectionTeam` from `vn`.`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 `workcenter_holiday` -- @@ -100272,4 +101424,4 @@ USE `vncontrol`; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2019-10-29 8:18:50 +-- Dump completed on 2019-11-12 9:11:50 diff --git a/db/export-data.sh b/db/export-data.sh index 7b694ccdeb..ee4d8126c7 100755 --- a/db/export-data.sh +++ b/db/export-data.sh @@ -47,16 +47,17 @@ TABLES=( claimResult ticketUpdateAction state + sample ) dump_tables ${TABLES[@]} TABLES=( vn2008 + time accion_dits businessReasonEnd container department - escritos Grupos iva_group_codigo tarifa_componentes @@ -80,7 +81,6 @@ dump_tables ${TABLES[@]} TABLES=( hedera imageCollection - tpvConfig tpvError tpvResponse ) diff --git a/db/tests/vn/buyUltimateFromInterval.spec.js b/db/tests/vn/buyUltimateFromInterval.spec.js index b416b5cb28..b5e6970f7d 100644 --- a/db/tests/vn/buyUltimateFromInterval.spec.js +++ b/db/tests/vn/buyUltimateFromInterval.spec.js @@ -5,25 +5,14 @@ describe('buyUltimateFromInterval()', () => { let today; let future; beforeAll(() => { - let date = new Date(); - let month = `${date.getMonth() + 1}`; - let futureMonth = `${date.getMonth() + 2}`; - let day = date.getDate(); - let year = date.getFullYear(); - let futureYear = year; + let now = new Date(); + now.setHours(0, 0, 0, 0); + today = now; - if (month.toString().length < 2) month = '0' + month; - if (futureMonth.toString().length < 2) futureMonth = '0' + futureMonth; - if (futureMonth.toString() == '13') { - futureMonth = '01'; - futureYear + 1; - } - - - if (day.toString().length < 2) day = `0${day}`; - - today = [year, month, day].join('-'); - future = [futureYear, futureMonth, day].join('-'); + let futureDate = new Date(now); + let futureMonth = now.getMonth() + 1; + futureDate.setMonth(futureMonth); + future = futureDate; }); it(`should create a temporal table with it's data`, async() => { @@ -65,8 +54,8 @@ describe('buyUltimateFromInterval()', () => { expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); - expect(buyUltimateFromIntervalTable[0].landed).toEqual(new Date(today)); - expect(buyUltimateFromIntervalTable[1].landed).toEqual(new Date(today)); + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); }); it(`should create a temporal table with it's data in which started value is assigned to ended`, async() => { @@ -101,8 +90,8 @@ describe('buyUltimateFromInterval()', () => { expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); - expect(buyUltimateFromIntervalTable[0].landed).toEqual(new Date(today)); - expect(buyUltimateFromIntervalTable[1].landed).toEqual(new Date(today)); + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); }); it(`should create a temporal table with it's data in which ended value is a date in the future`, async() => { @@ -137,7 +126,7 @@ describe('buyUltimateFromInterval()', () => { expect(buyUltimateFromIntervalTable[0].buyFk).toEqual(3); expect(buyUltimateFromIntervalTable[1].buyFk).toEqual(5); - expect(buyUltimateFromIntervalTable[0].landed).toEqual(new Date(today)); - expect(buyUltimateFromIntervalTable[1].landed).toEqual(new Date(today)); + expect(buyUltimateFromIntervalTable[0].landed).toEqual(today); + expect(buyUltimateFromIntervalTable[1].landed).toEqual(today); }); }); diff --git a/loopback/locale/en.json b/loopback/locale/en.json index 3013955596..14b95eef80 100644 --- a/loopback/locale/en.json +++ b/loopback/locale/en.json @@ -55,5 +55,6 @@ "You can't delete a confirmed order": "You can't delete a confirmed order", "Value has an invalid format": "Value has an invalid format", "The postcode doesn't exists. Ensure you put the correct format": "The postcode doesn't exists. Ensure you put the correct format", - "Can't create stowaway for this ticket": "Can't create stowaway for this ticket" + "Can't create stowaway for this ticket": "Can't create stowaway for this ticket", + "Has deleted the ticket id": "Has deleted the ticket id [#{{id}}]({{{url}}})" } \ No newline at end of file diff --git a/loopback/locale/es.json b/loopback/locale/es.json index 276e4aa0c2..175b90ef02 100644 --- a/loopback/locale/es.json +++ b/loopback/locale/es.json @@ -109,8 +109,11 @@ "The postcode doesn't exists. Ensure you put the correct format": "El código postal no existe. Asegúrate de ponerlo con el formato correcto", "The department name can't be repeated": "El nombre del departamento no puede repetirse", "This phone already exists": "Este teléfono ya existe", - "You cannot move a parent to any of its sons": "You cannot move a parent to any of its sons", - "You cannot move a parent to its own sons": "You cannot move a parent to its own sons", + "You cannot move a parent to its own sons": "No puedes mover un elemento padre a uno de sus hijos", "You can't create a claim for a removed ticket": "No puedes crear una reclamación para un ticket eliminado", - "AMOUNT_NOT_MATCH_GROUPING": "AMOUNT_NOT_MATCH_GROUPING" + "You cannot delete this ticket because is already invoiced, deleted or prepared": "No puedes eliminar este tiquet porque ya está facturado, eliminado o preparado", + "You cannot delete a ticket that part of it is being prepared": "No puedes eliminar un ticket en el que una parte que está siendo preparada", + "You must delete all the buy requests first": "Debes eliminar todas las peticiones de compra primero", + "Has deleted the ticket id": "Ha eliminado el ticket id [#{{id}}]({{{url}}})", + "You cannot remove this ticket because is already invoiced, deleted or prepared": "You cannot remove this ticket because is already invoiced, deleted or prepared" } \ No newline at end of file diff --git a/loopback/server/boot/print.js b/loopback/server/boot/print.js index 4a4996d2c0..0f6af4d56c 100644 --- a/loopback/server/boot/print.js +++ b/loopback/server/boot/print.js @@ -1,3 +1,3 @@ module.exports = function(app) { - require('../../../print/server.js')(app); + require('../../../print/boot.js')(app); }; diff --git a/loopback/util/http.js b/loopback/util/http.js new file mode 100644 index 0000000000..59bfe38b0e --- /dev/null +++ b/loopback/util/http.js @@ -0,0 +1,16 @@ +/** + * Serializes an object to a query params + * + * @param {Object} obj The params object + * @return {String} Serialized params + */ +exports.httpParamSerializer = function(obj) { + let query = ''; + for (let param in obj) { + if (query != '') + query += '&'; + query += `${param}=${obj[param]}`; + } + + return query; +}; diff --git a/modules/agency/front/location/index.html b/modules/agency/front/location/index.html index a64735982b..4b3523a1f5 100644 --- a/modules/agency/front/location/index.html +++ b/modules/agency/front/location/index.html @@ -10,19 +10,19 @@ on-search="$ctrl.onSearch($params)">
- - - - - + + + + +
diff --git a/modules/claim/front/card/index.js b/modules/claim/front/card/index.js index 0c77e1fd45..ccd78a271d 100644 --- a/modules/claim/front/card/index.js +++ b/modules/claim/front/card/index.js @@ -32,7 +32,7 @@ class Controller extends ModuleCard { }, { relation: 'client', scope: { - fields: ['salesPersonFk', 'name'], + fields: ['salesPersonFk', 'name', 'email'], include: { relation: 'salesPerson', scope: { diff --git a/modules/claim/front/descriptor/index.js b/modules/claim/front/descriptor/index.js index 0328d954c8..7bc9c831ae 100644 --- a/modules/claim/front/descriptor/index.js +++ b/modules/claim/front/descriptor/index.js @@ -1,13 +1,14 @@ import ngModule from '../module'; class Controller { - constructor($scope, $state, $http, $translate, vnApp, aclService) { + constructor($scope, $state, $http, $translate, vnApp, aclService, $httpParamSerializer) { this.$scope = $scope; this.$state = $state; this.$http = $http; this.$translate = $translate; this.vnApp = vnApp; this.aclService = aclService; + this.$httpParamSerializer = $httpParamSerializer; this.moreOptions = [ {callback: this.showPickupOrder, name: 'Show Pickup order'}, {callback: this.confirmPickupOrder, name: 'Send Pickup order'}, @@ -60,7 +61,12 @@ class Controller { } showPickupOrder() { - let url = `report/rpt-claim-pickup-order?claimFk=${this.claim.id}`; + const params = { + clientId: this.claim.clientFk, + claimId: this.claim.id + }; + const serializedParams = this.$httpParamSerializer(params); + let url = `api/report/claim-pickup-order?${serializedParams}`; window.open(url); } @@ -70,7 +76,14 @@ class Controller { sendPickupOrder(response) { if (response === 'accept') { - this.$http.post(`email/claim-pickup-order`, {claimFk: this.claim.id}).then( + const params = { + recipient: this.claim.client.email, + clientId: this.claim.clientFk, + claimId: this.claim.id + }; + const serializedParams = this.$httpParamSerializer(params); + const url = `email/claim-pickup-order?${serializedParams}`; + this.$http.get(url).then( () => this.vnApp.showMessage(this.$translate.instant('Notification sent!')) ); } @@ -90,7 +103,7 @@ class Controller { } } -Controller.$inject = ['$scope', '$state', '$http', '$translate', 'vnApp', 'aclService']; +Controller.$inject = ['$scope', '$state', '$http', '$translate', 'vnApp', 'aclService', '$httpParamSerializer']; ngModule.component('vnClaimDescriptor', { template: require('./index.html'), diff --git a/modules/claim/front/descriptor/index.spec.js b/modules/claim/front/descriptor/index.spec.js index 8cf8d1ea8a..87da181fae 100644 --- a/modules/claim/front/descriptor/index.spec.js +++ b/modules/claim/front/descriptor/index.spec.js @@ -1,20 +1,27 @@ import './index.js'; describe('Item Component vnClaimDescriptor', () => { + let $httpParamSerializer; let $httpBackend; let controller; beforeEach(ngModule('claim')); - beforeEach(angular.mock.inject(($componentController, _$httpBackend_) => { + beforeEach(angular.mock.inject(($componentController, _$httpBackend_, _$httpParamSerializer_) => { $httpBackend = _$httpBackend_; + $httpParamSerializer = _$httpParamSerializer_; controller = $componentController('vnClaimDescriptor'); - controller.claim = {id: 2}; + controller.claim = {id: 2, clientFk: 101, client: {email: 'client@email'}}; })); describe('showPickupOrder()', () => { it('should open a new window showing a pickup order PDF document', () => { - let expectedPath = 'report/rpt-claim-pickup-order?claimFk=2'; + const params = { + clientId: controller.claim.clientFk, + claimId: controller.claim.id + }; + const serializedParams = $httpParamSerializer(params); + let expectedPath = `api/report/claim-pickup-order?${serializedParams}`; spyOn(window, 'open'); controller.showPickupOrder(); @@ -38,8 +45,15 @@ describe('Item Component vnClaimDescriptor', () => { it('should make a query and call vnApp.showMessage() if the response is accept', () => { spyOn(controller.vnApp, 'showMessage'); - $httpBackend.when('POST', `email/claim-pickup-order`, {claimFk: 2}).respond(); - $httpBackend.expect('POST', `email/claim-pickup-order`, {claimFk: 2}).respond(); + const params = { + recipient: 'client@email', + clientId: controller.claim.clientFk, + claimId: controller.claim.id + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/claim-pickup-order?${serializedParams}`).respond(); + $httpBackend.expect('GET', `email/claim-pickup-order?${serializedParams}`).respond(); controller.sendPickupOrder('accept'); $httpBackend.flush(); diff --git a/modules/client/back/methods/client/specs/activeWorkersWithRole.spec.js b/modules/client/back/methods/client/specs/activeWorkersWithRole.spec.js index 68300cb040..217d39ad2a 100644 --- a/modules/client/back/methods/client/specs/activeWorkersWithRole.spec.js +++ b/modules/client/back/methods/client/specs/activeWorkersWithRole.spec.js @@ -17,7 +17,7 @@ describe('Client activeWorkersWithRole', () => { let isBuyer = await app.models.Account.hasRole(result[0].id, 'buyer'); - expect(result.length).toEqual(11); + expect(result.length).toEqual(12); expect(isBuyer).toBeTruthy(); }); }); diff --git a/modules/client/back/models/client.js b/modules/client/back/models/client.js index 58aac9ccd1..73626b4083 100644 --- a/modules/client/back/models/client.js +++ b/modules/client/back/models/client.js @@ -2,6 +2,8 @@ let request = require('request-promise-native'); let UserError = require('vn-loopback/util/user-error'); let getFinalState = require('vn-loopback/util/hook').getFinalState; let isMultiple = require('vn-loopback/util/hook').isMultiple; +const httpParamSerializer = require('vn-loopback/util/http').httpParamSerializer; +const LoopBackContext = require('loopback-context'); module.exports = Self => { // Methods @@ -239,15 +241,18 @@ module.exports = Self => { }); } - const options = { - method: 'POST', - uri: 'http://127.0.0.1:3000/api/email/payment-update', - body: { - clientFk: instance.id - }, - json: true + // Send email to client + + if (!instance.email) return; + const loopBackContext = LoopBackContext.getCurrentContext(); + const headers = loopBackContext.active.http.req.headers; + const params = { + clientId: instance.id, + recipient: instance.email }; - await request(options); + const serializedParams = httpParamSerializer(params); + const query = `${headers.origin}/api/email/payment-update?${serializedParams}`; + await request.get(query); } }); diff --git a/modules/client/back/models/greuge.json b/modules/client/back/models/greuge.json index 50f3a321bf..2abc33f7ce 100644 --- a/modules/client/back/models/greuge.json +++ b/modules/client/back/models/greuge.json @@ -43,6 +43,11 @@ "model": "Client", "foreignKey": "clientFk" }, + "ticket": { + "type": "belongsTo", + "model": "Ticket", + "foreignKey": "ticketFk" + }, "greugeType": { "type": "belongsTo", "model": "GreugeType", diff --git a/modules/client/front/sample/create/index.html b/modules/client/front/sample/create/index.html index 850f132799..6a87d55b68 100644 --- a/modules/client/front/sample/create/index.html +++ b/modules/client/front/sample/create/index.html @@ -1,4 +1,9 @@ + + - + + + + - - + +
+ +
+
diff --git a/modules/client/front/sample/create/index.js b/modules/client/front/sample/create/index.js index bb7ff21022..49d90f5698 100644 --- a/modules/client/front/sample/create/index.js +++ b/modules/client/front/sample/create/index.js @@ -1,33 +1,84 @@ import ngModule from '../../module'; +import Component from 'core/lib/component'; import './style.scss'; -class Controller { - constructor($scope, $state, $http, vnApp, $translate) { - this.$scope = $scope; - this.$state = $state; - this.$stateParams = $state.params; - this.$http = $http; +class Controller extends Component { + constructor($element, $, vnApp, $httpParamSerializer, vnConfig) { + super($element, $); this.vnApp = vnApp; - this.$translate = $translate; + this.$httpParamSerializer = $httpParamSerializer; + this.vnConfig = vnConfig; this.clientSample = { - clientFk: this.$stateParams.id + clientFk: this.$params.id, + companyFk: vnConfig.companyFk }; } - jsonToQuery(json) { - let query = ''; - for (let param in json) { - if (query != '') - query += '&'; - query += `${param}=${json[param]}`; - } + get client() { + return this._client; + } - return query; + set client(value) { + this._client = value; + + if (value) + this.clientSample.recipient = value.email; + } + + get companyId() { + if (!this.clientSample.companyFk) + this.clientSample.companyFk = this.vnConfig.companyFk; + return this.clientSample.companyFk; + } + + set companyId(value) { + this.clientSample.companyFk = value; } showPreview() { - let sampleType = this.$scope.sampleType.selection; - let params = {clientFk: this.$stateParams.id}; + let sampleType = this.$.sampleType.selection; + + if (!sampleType) + return this.vnApp.showError(this.$translate.instant('Choose a sample')); + + if (sampleType.hasCompany && !this.clientSample.companyFk) + return this.vnApp.showError(this.$translate.instant('Choose a company')); + + const params = { + clientId: this.$params.id, + recipient: this.clientSample.recipient, + isPreview: true + }; + + if (sampleType.hasCompany) + params.companyId = this.clientSample.companyFk; + + const serializedParams = this.$httpParamSerializer(params); + const query = `email/${sampleType.code}?${serializedParams}`; + this.$http.get(query).then(res => { + this.$.showPreview.show(); + let dialog = document.body.querySelector('div.vn-dialog'); + let body = dialog.querySelector('tpl-body'); + let scroll = dialog.querySelector('div:first-child'); + + body.innerHTML = res.data; + scroll.scrollTop = 0; + }); + } + + onSubmit() { + this.$.watcher.check(); + this.$.watcher.realSubmit().then(() => + this.sendSample() + ); + } + + sendSample() { + let sampleType = this.$.sampleType.selection; + let params = { + clientId: this.$params.id, + recipient: this.clientSample.recipient + }; if (!sampleType) return this.vnApp.showError(this.$translate.instant('Choose a sample')); @@ -36,50 +87,22 @@ class Controller { return this.vnApp.showError(this.$translate.instant('Choose a company')); if (sampleType.hasCompany) - params.companyFk = this.clientSample.companyFk; + params.companyId = this.clientSample.companyFk; - let query = `email/${sampleType.code}?${this.jsonToQuery(params)}`; + const serializedParams = this.$httpParamSerializer(params); + const query = `email/${sampleType.code}?${serializedParams}`; this.$http.get(query).then(res => { - if (res.data) { - let dialog = this.$scope.showPreview.element; - let body = dialog.querySelector('tpl-body'); - let scroll = dialog.querySelector('div:first-child'); - - body.innerHTML = res.data; - this.$scope.showPreview.show(); - - scroll.scrollTop = 0; - } - }); - } - - onSubmit() { - this.$scope.watcher.check(); - this.$scope.watcher.realSubmit().then(() => - this.sendSample() - ); - } - - sendSample() { - let sampleType = this.$scope.sampleType.selection; - let params = {clientFk: this.$stateParams.id}; - - if (sampleType.hasCompany) - params.companyFk = this.clientSample.companyFk; - - - let query = `email/${sampleType.code}?${this.jsonToQuery(params)}`; - this.$http.post(query).then(res => { - if (res) { - this.vnApp.showSuccess(this.$translate.instant('Notification sent!')); - this.$state.go('client.card.sample.index'); - } + this.vnApp.showSuccess(this.$translate.instant('Notification sent!')); + this.$state.go('client.card.sample.index'); }); } } -Controller.$inject = ['$scope', '$state', '$http', 'vnApp', '$translate']; +Controller.$inject = ['$element', '$scope', 'vnApp', '$httpParamSerializer', 'vnConfig']; ngModule.component('vnClientSampleCreate', { template: require('./index.html'), - controller: Controller + controller: Controller, + bindings: { + client: '<' + } }); diff --git a/modules/client/front/sample/create/index.spec.js b/modules/client/front/sample/create/index.spec.js index 31e9bb4c3c..efcda54012 100644 --- a/modules/client/front/sample/create/index.spec.js +++ b/modules/client/front/sample/create/index.spec.js @@ -2,14 +2,16 @@ import './index'; describe('Client', () => { describe('Component vnClientSampleCreate', () => { + let $httpParamSerializer; let $scope; + let $element; let $httpBackend; let $state; let controller; beforeEach(ngModule('client')); - beforeEach(angular.mock.inject(($componentController, _$httpBackend_, $rootScope, _$state_) => { + beforeEach(angular.mock.inject(($componentController, _$httpBackend_, $rootScope, _$state_, _$httpParamSerializer_) => { $scope = $rootScope.$new(); $scope.sampleType = {}; $scope.watcher = { @@ -35,30 +37,24 @@ describe('Client', () => { $state = _$state_; $state.params.id = 101; $httpBackend = _$httpBackend_; - controller = $componentController('vnClientSampleCreate', {$scope, $state}); + $httpParamSerializer = _$httpParamSerializer_; + $element = angular.element(''); + controller = $componentController('vnClientSampleCreate', {$element, $scope}); })); - describe('jsonToQuery()', () => { - it(`should convert a JSON object with clientFk property to query params`, () => { - let myObject = {clientFk: 101}; - let result = controller.jsonToQuery(myObject); - - expect(result).toEqual('clientFk=101'); - }); - - it(`should convert a JSON object with clientFk and companyFk properties to query params`, () => { - let myObject = {clientFk: 101, companyFk: 442}; - let result = controller.jsonToQuery(myObject); - - expect(result).toEqual('clientFk=101&companyFk=442'); - }); - }); - describe('showPreview()', () => { it(`should perform a query (GET) and open a sample preview`, () => { - spyOn(controller.$scope.showPreview, 'show'); + spyOn(controller.$.showPreview, 'show'); + const element = document.createElement('div'); + document.body.querySelector = () => { + return { + querySelector: () => { + return element; + } + }; + }; - controller.$scope.sampleType.selection = { + controller.$.sampleType.selection = { hasCompany: false, code: 'MyReport' }; @@ -69,18 +65,32 @@ describe('Client', () => { let event = {preventDefault: () => {}}; - $httpBackend.when('GET', `email/MyReport?clientFk=101`).respond(true); - $httpBackend.expect('GET', `email/MyReport?clientFk=101`); + const params = { + clientId: 101, + isPreview: true + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/MyReport?${serializedParams}`).respond(true); + $httpBackend.expect('GET', `email/MyReport?${serializedParams}`); controller.showPreview(event); $httpBackend.flush(); - expect(controller.$scope.showPreview.show).toHaveBeenCalledWith(); + expect(controller.$.showPreview.show).toHaveBeenCalledWith(); }); it(`should perform a query (GET) with companyFk param and open a sample preview`, () => { - spyOn(controller.$scope.showPreview, 'show'); + spyOn(controller.$.showPreview, 'show'); + const element = document.createElement('div'); + document.body.querySelector = () => { + return { + querySelector: () => { + return element; + } + }; + }; - controller.$scope.sampleType.selection = { + controller.$.sampleType.selection = { hasCompany: true, code: 'MyReport' }; @@ -92,12 +102,19 @@ describe('Client', () => { let event = {preventDefault: () => {}}; - $httpBackend.when('GET', `email/MyReport?clientFk=101&companyFk=442`).respond(true); - $httpBackend.expect('GET', `email/MyReport?clientFk=101&companyFk=442`); + const params = { + clientId: 101, + companyId: 442, + isPreview: true + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/MyReport?${serializedParams}`).respond(true); + $httpBackend.expect('GET', `email/MyReport?${serializedParams}`); controller.showPreview(event); $httpBackend.flush(); - expect(controller.$scope.showPreview.show).toHaveBeenCalledWith(); + expect(controller.$.showPreview.show).toHaveBeenCalledWith(); }); }); @@ -114,7 +131,7 @@ describe('Client', () => { it(`should perform a query (GET) and call go() method`, () => { spyOn(controller.$state, 'go'); - controller.$scope.sampleType.selection = { + controller.$.sampleType.selection = { hasCompany: false, code: 'MyReport' }; @@ -123,8 +140,13 @@ describe('Client', () => { clientFk: 101 }; - $httpBackend.when('POST', `email/MyReport?clientFk=101`).respond(true); - $httpBackend.expect('POST', `email/MyReport?clientFk=101`); + const params = { + clientId: 101 + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/MyReport?${serializedParams}`).respond(true); + $httpBackend.expect('GET', `email/MyReport?${serializedParams}`); controller.sendSample(); $httpBackend.flush(); @@ -134,7 +156,7 @@ describe('Client', () => { it(`should perform a query (GET) with companyFk param and call go() method`, () => { spyOn(controller.$state, 'go'); - controller.$scope.sampleType.selection = { + controller.$.sampleType.selection = { hasCompany: true, code: 'MyReport' }; @@ -144,8 +166,14 @@ describe('Client', () => { companyFk: 442 }; - $httpBackend.when('POST', `email/MyReport?clientFk=101&companyFk=442`).respond(true); - $httpBackend.expect('POST', `email/MyReport?clientFk=101&companyFk=442`); + const params = { + clientId: 101, + companyId: 442 + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/MyReport?${serializedParams}`).respond(true); + $httpBackend.expect('GET', `email/MyReport?${serializedParams}`); controller.sendSample(); $httpBackend.flush(); diff --git a/modules/client/front/sample/create/style.scss b/modules/client/front/sample/create/style.scss index a958e264bd..fdd01f729b 100644 --- a/modules/client/front/sample/create/style.scss +++ b/modules/client/front/sample/create/style.scss @@ -1,36 +1,34 @@ -vn-client-sample-create { - vn-dialog { - & > div { - padding: 0 !important +div.vn-dialog { + tpl-body.client-sample-dialog { + width: 800px; + + .container, .container h1 { + font-family: "Roboto","Helvetica","Arial",sans-serif; + font-size: 1em !important; + + h1 { + font-weight: bold; + margin: auto + } + + p { + margin: 1em 0 + } + + footer p { + font-size: 10px !important; + line-height: 10px + } } - tpl-body { - min-width: 800px; + + .title h1 { + font-size: 2em !important; + margin: 0 + } - .container, .container h1 { - font-family: "Roboto","Helvetica","Arial",sans-serif; - font-size: 1em !important; - - h1 { - font-weight: bold; - margin: auto - } - - p { - margin: 1em 0 - } - - footer p { - font-size: 10px !important; - line-height: 10px - } - } - - - .title h1 { - font-size: 2em !important; - margin: 0 - } + .loading { + text-align: center } } -} \ No newline at end of file +} diff --git a/modules/item/back/model-config.json b/modules/item/back/model-config.json index 17351dc7a4..41f5448b46 100644 --- a/modules/item/back/model-config.json +++ b/modules/item/back/model-config.json @@ -44,6 +44,9 @@ "ItemTypeTag": { "dataSource": "vn" }, + "ItemShelvingSale": { + "dataSource": "vn" + }, "Origin": { "dataSource": "vn" }, diff --git a/modules/item/back/models/item-shelving-sale.json b/modules/item/back/models/item-shelving-sale.json new file mode 100644 index 0000000000..547c882a02 --- /dev/null +++ b/modules/item/back/models/item-shelving-sale.json @@ -0,0 +1,34 @@ +{ + "name": "ItemShelvingSale", + "base": "VnModel", + "options": { + "mysql": { + "table": "itemShelvingSale" + } + }, + "properties": { + "id": { + "type": "Number", + "id": true, + "description": "Identifier" + }, + "quantity": { + "type": "Number" + }, + "created": { + "type": "Date" + } + }, + "relations": { + "sale": { + "type": "belongsTo", + "model": "Sale", + "foreignKey": "saleFk" + }, + "user": { + "type": "belongsTo", + "model": "Account", + "foreignKey": "userFk" + } + } +} diff --git a/modules/route/front/card/index.js b/modules/route/front/card/index.js index e2d8f9b167..0760259d30 100644 --- a/modules/route/front/card/index.js +++ b/modules/route/front/card/index.js @@ -36,6 +36,24 @@ class Controller extends ModuleCard { scope: { fields: ['id', 'name'] } + }, + { + relation: 'worker', + scope: { + fields: ['userFk'], + include: { + relation: 'user', + scope: { + fields: ['id'], + include: { + relation: 'emailUser', + scope: { + fields: ['email'] + } + } + } + } + } } ] }; diff --git a/modules/route/front/descriptor/index.js b/modules/route/front/descriptor/index.js index 475cd9d515..cfa7188550 100644 --- a/modules/route/front/descriptor/index.js +++ b/modules/route/front/descriptor/index.js @@ -1,12 +1,13 @@ import ngModule from '../module'; class Controller { - constructor($, $http, vnApp, $translate, aclService) { + constructor($, $http, vnApp, $translate, aclService, $httpParamSerializer) { this.$http = $http; this.vnApp = vnApp; this.$translate = $translate; this.$ = $; this.aclService = aclService; + this.$httpParamSerializer = $httpParamSerializer; this.moreOptions = [ {callback: this.showRouteReport, name: 'Show route report'}, {callback: this.sendRouteReport, name: 'Send route report'}, @@ -36,13 +37,26 @@ class Controller { } showRouteReport() { - let url = `report/rpt-route?routeFk=${this.route.id}`; + const user = this.route.worker.user; + const params = { + clientId: user.id, + routeId: this.route.id + }; + const serializedParams = this.$httpParamSerializer(params); + let url = `api/report/driver-route?${serializedParams}`; window.open(url); } sendRouteReport() { - let url = `email/driver-route?routeFk=${this.route.id}`; - this.$http.post(url).then(() => { + const user = this.route.worker.user; + const params = { + recipient: user.emailUser.email, + clientId: user.id, + routeId: this.route.id + }; + const serializedParams = this.$httpParamSerializer(params); + const url = `email/driver-route?${serializedParams}`; + this.$http.get(url).then(() => { this.vnApp.showSuccess(this.$translate.instant('Report sent')); }); } @@ -62,7 +76,7 @@ class Controller { } } -Controller.$inject = ['$scope', '$http', 'vnApp', '$translate', 'aclService']; +Controller.$inject = ['$scope', '$http', 'vnApp', '$translate', 'aclService', '$httpParamSerializer']; ngModule.component('vnRouteDescriptor', { template: require('./index.html'), diff --git a/modules/ticket/back/methods/ticket-request/filter.js b/modules/ticket/back/methods/ticket-request/filter.js index 82e1ee8e0f..8f1f837d2a 100644 --- a/modules/ticket/back/methods/ticket-request/filter.js +++ b/modules/ticket/back/methods/ticket-request/filter.js @@ -76,7 +76,7 @@ module.exports = Self => { case 'ticketFk': return {'t.id': value}; case 'attenderFk': - return {'tr.atenderFk': value}; + return {'tr.attenderFk': value}; case 'isOk': return {'tr.isOk': value}; case 'clientFk': @@ -106,7 +106,7 @@ module.exports = Self => { tr.ticketFk, tr.quantity, tr.price, - tr.atenderFk attenderFk, + tr.attenderFk, tr.description, tr.response, tr.saleFk, @@ -131,7 +131,7 @@ module.exports = Self => { LEFT JOIN sale s ON s.id = tr.saleFk LEFT JOIN worker wk ON wk.id = c.salesPersonFk LEFT JOIN account.user u ON u.id = wk.userFk - LEFT JOIN worker wka ON wka.id = tr.atenderFk + LEFT JOIN worker wka ON wka.id = tr.attenderFk LEFT JOIN account.user ua ON ua.id = wka.userFk`); stmt.merge(conn.makeSuffix(filter)); diff --git a/modules/ticket/back/methods/ticket/setDeleted.js b/modules/ticket/back/methods/ticket/setDeleted.js index 0506188f0f..b9ac035602 100644 --- a/modules/ticket/back/methods/ticket/setDeleted.js +++ b/modules/ticket/back/methods/ticket/setDeleted.js @@ -1,7 +1,7 @@ const UserError = require('vn-loopback/util/user-error'); module.exports = Self => { - Self.remoteMethod('setDeleted', { + Self.remoteMethodCtx('setDeleted', { description: 'Sets true the isDeleted value of a ticket', accessType: 'WRITE', accepts: [{ @@ -21,16 +21,82 @@ module.exports = Self => { } }); - Self.setDeleted = async id => { - try { - let claimOfATicket = await Self.app.models.Claim.findOne({where: {ticketFk: id}}); - if (claimOfATicket) - throw new UserError('You must delete the claim id %d first', 'DELETE_CLAIM_FIRST', claimOfATicket.id); + Self.setDeleted = async(ctx, id) => { + const models = Self.app.models; + const isEditable = await Self.isEditable(ctx, id); + const $t = ctx.req.__; // $translate - let currentTicket = await Self.app.models.Ticket.findById(id); - return await currentTicket.updateAttributes({isDeleted: true}); - } catch (e) { - throw e; + if (!isEditable) + throw new UserError('You cannot delete this ticket because is already invoiced, deleted or prepared'); + + // Check if has sales with shelving + const sales = await models.Sale.find({ + include: {relation: 'itemShelving'}, + where: {ticketFk: id} + }); + const hasItemShelvingSales = sales.some(sale => { + return sale.itemShelving(); + }); + if (hasItemShelvingSales) + throw new UserError(`You cannot delete a ticket that part of it is being prepared`); + + // Check for existing claim + const claimOfATicket = await models.Claim.findOne({where: {ticketFk: id}}); + if (claimOfATicket) + throw new UserError('You must delete the claim id %d first', 'DELETE_CLAIM_FIRST', claimOfATicket.id); + + // Check for existing purchase requests + const hasPurchaseRequests = await models.TicketRequest.count({ + ticketFk: id, + isOk: true + }); + + if (hasPurchaseRequests) + throw new UserError('You must delete all the buy requests first'); + + // Remove ticket greuges + const ticketGreuges = await models.Greuge.find({where: {ticketFk: id}}); + const ownGreuges = ticketGreuges.every(greuge => { + return greuge.ticketFk = id; + }); + if (ownGreuges) { + for (const greuge of ticketGreuges) { + const instance = await models.Greuge.findById(greuge.id); + + await instance.destroy(); + } } + + const ticket = await models.Ticket.findById(id, { + include: { + relation: 'client', + scope: { + fields: ['id', 'salesPersonFk'], + include: { + relation: 'salesPerson', + scope: { + fields: ['id', 'userFk'], + include: { + relation: 'user' + } + } + } + } + } + }); + + // Send notification to salesPerson + const salesPerson = ticket.client().salesPerson(); + if (salesPerson) { + const salesPersonUser = salesPerson.user().name; + const origin = ctx.req.headers.origin; + const message = $t(`Has deleted the ticket id`, { + id: id, + url: `${origin}/#!/ticket/${id}/summary` + }); + await models.Chat.sendMessage(ctx, `@${salesPersonUser}`, message); + } + + return ticket.updateAttribute('isDeleted', true); }; }; diff --git a/modules/ticket/back/methods/ticket/specs/setDeleted.spec.js b/modules/ticket/back/methods/ticket/specs/setDeleted.spec.js index 6e5ca02087..890fc6c453 100644 --- a/modules/ticket/back/methods/ticket/specs/setDeleted.spec.js +++ b/modules/ticket/back/methods/ticket/specs/setDeleted.spec.js @@ -2,12 +2,23 @@ const app = require('vn-loopback/server/server'); describe('ticket deleted()', () => { let ticket; + let ctx; beforeAll(async done => { let originalTicket = await app.models.Ticket.findOne({where: {id: 16}}); originalTicket.id = null; ticket = await app.models.Ticket.create(originalTicket); + ctx = { + req: { + accessToken: {userId: 106}, + headers: { + origin: 'http://localhost:5000' + }, + __: () => {} + } + }; + done(); }); @@ -22,7 +33,7 @@ describe('ticket deleted()', () => { }); it('should set a ticket to deleted', async() => { - await app.models.Ticket.setDeleted(ticket.id); + await app.models.Ticket.setDeleted(ctx, ticket.id); let deletedTicket = await app.models.Ticket.findOne({where: {id: ticket.id}, fields: ['isDeleted']}); @@ -34,7 +45,7 @@ describe('ticket deleted()', () => { let error; try { - await app.models.Ticket.setDeleted(ticketId); + await app.models.Ticket.setDeleted(ctx, ticketId); } catch (e) { error = e; } diff --git a/modules/ticket/back/models/sale.json b/modules/ticket/back/models/sale.json index d9ad24be3b..1f2ea4bbfb 100644 --- a/modules/ticket/back/models/sale.json +++ b/modules/ticket/back/models/sale.json @@ -72,6 +72,11 @@ "type": "hasOne", "model": "SaleTracking", "foreignKey": "saleFk" + }, + "itemShelving": { + "type": "hasOne", + "model": "ItemShelvingSale", + "foreignKey": "saleFk" } } } diff --git a/modules/ticket/back/models/ticket-request.json b/modules/ticket/back/models/ticket-request.json index 7f1cb4b02f..f216cd5319 100644 --- a/modules/ticket/back/models/ticket-request.json +++ b/modules/ticket/back/models/ticket-request.json @@ -33,13 +33,6 @@ "isOk": { "type": "Boolean" }, - "attenderFk": { - "type": "Number", - "required": true, - "mysql": { - "columnName": "atenderFk" - } - }, "response": { "type": "String" } diff --git a/modules/ticket/front/card/index.js b/modules/ticket/front/card/index.js index fab63157ef..131968d658 100644 --- a/modules/ticket/front/card/index.js +++ b/modules/ticket/front/card/index.js @@ -20,7 +20,15 @@ class Controller extends ModuleCard { }, { relation: 'client', scope: { - fields: ['salesPersonFk', 'name', 'isActive', 'isFreezed', 'isTaxDataChecked', 'credit'], + fields: [ + 'salesPersonFk', + 'name', + 'isActive', + 'isFreezed', + 'isTaxDataChecked', + 'credit', + 'email' + ], include: { relation: 'salesPerson', scope: { diff --git a/modules/ticket/front/descriptor/index.html b/modules/ticket/front/descriptor/index.html index 7ad5096337..12bd5105d5 100644 --- a/modules/ticket/front/descriptor/index.html +++ b/modules/ticket/front/descriptor/index.html @@ -197,7 +197,7 @@ \ No newline at end of file diff --git a/modules/ticket/front/descriptor/index.js b/modules/ticket/front/descriptor/index.js index beb95ee75e..d37d2d42bf 100644 --- a/modules/ticket/front/descriptor/index.js +++ b/modules/ticket/front/descriptor/index.js @@ -2,9 +2,10 @@ import ngModule from '../module'; import Component from 'core/lib/component'; class Controller extends Component { - constructor($element, $, aclService) { + constructor($element, $, aclService, $httpParamSerializer) { super($element, $); this.aclService = aclService; + this.$httpParamSerializer = $httpParamSerializer; this.moreOptions = [ {name: 'Add turn', callback: this.showAddTurnDialog}, {name: 'Show Delivery Note', callback: this.showDeliveryNote}, @@ -198,10 +199,27 @@ class Controller extends Component { } showDeliveryNote() { - let url = `report/rpt-delivery-note?ticketFk=${this.ticket.id}`; + const params = { + clientId: this.ticket.client.id, + ticketId: this.ticket.id + }; + const serializedParams = this.$httpParamSerializer(params); + let url = `api/report/delivery-note?${serializedParams}`; window.open(url); } + sendDeliveryNote() { + const params = { + recipient: this.ticket.client.email, + clientId: this.ticket.client.id, + ticketId: this.ticket.id + }; + const serializedParams = this.$httpParamSerializer(params); + this.$http.get(`email/delivery-note?${serializedParams}`).then( + () => this.vnApp.showMessage(this.$translate.instant('Notification sent!')) + ); + } + showSMSDialog() { const address = this.ticket.address; this.newSMS = { @@ -272,17 +290,9 @@ class Controller extends Component { confirmDeliveryNote() { this.$.confirmDeliveryNote.show(); } - - sendDeliveryNote(response) { - if (response === 'accept') { - this.$http.post(`email/delivery-note`, {ticketFk: this.ticket.id}).then( - () => this.vnApp.showMessage(this.$translate.instant('Notification sent!')) - ); - } - } } -Controller.$inject = ['$element', '$scope', 'aclService']; +Controller.$inject = ['$element', '$scope', 'aclService', '$httpParamSerializer']; ngModule.component('vnTicketDescriptor', { template: require('./index.html'), diff --git a/modules/ticket/front/descriptor/index.spec.js b/modules/ticket/front/descriptor/index.spec.js index f1ebd55b7c..62aefa6cf3 100644 --- a/modules/ticket/front/descriptor/index.spec.js +++ b/modules/ticket/front/descriptor/index.spec.js @@ -1,13 +1,14 @@ import './index.js'; describe('Ticket Component vnTicketDescriptor', () => { + let $httpParamSerializer; let $httpBackend; let controller; let $state; beforeEach(ngModule('ticket')); - beforeEach(angular.mock.inject(($componentController, _$httpBackend_, $rootScope, $compile, _$state_) => { + beforeEach(angular.mock.inject(($componentController, _$httpBackend_, $rootScope, $compile, _$state_, _$httpParamSerializer_) => { let $element = $compile(``)($rootScope); $state = _$state_; $state.getCurrentPath = () => { @@ -17,8 +18,9 @@ describe('Ticket Component vnTicketDescriptor', () => { ]; }; $httpBackend = _$httpBackend_; + $httpParamSerializer = _$httpParamSerializer_; controller = $componentController('vnTicketDescriptor', {$element}); - controller._ticket = {id: 2, invoiceOut: {id: 1}}; + controller._ticket = {id: 2, invoiceOut: {id: 1}, client: {id: 101, email: 'client@email'}}; controller.cardReload = ()=> { return true; }; @@ -82,7 +84,12 @@ describe('Ticket Component vnTicketDescriptor', () => { describe('showDeliveryNote()', () => { it('should open a new window showing a delivery note PDF document', () => { - let expectedPath = 'report/rpt-delivery-note?ticketFk=2'; + const params = { + clientId: controller.ticket.client.id, + ticketId: controller.ticket.id + }; + const serializedParams = $httpParamSerializer(params); + let expectedPath = `api/report/delivery-note?${serializedParams}`; spyOn(window, 'open'); controller.showDeliveryNote(); @@ -90,6 +97,26 @@ describe('Ticket Component vnTicketDescriptor', () => { }); }); + describe('sendDeliveryNote()', () => { + it('should make a query and call vnApp.showMessage()', () => { + spyOn(controller.vnApp, 'showMessage'); + + const params = { + recipient: 'client@email', + clientId: controller.ticket.client.id, + ticketId: controller.ticket.id + }; + const serializedParams = $httpParamSerializer(params); + + $httpBackend.when('GET', `email/delivery-note?${serializedParams}`).respond(); + $httpBackend.expect('GET', `email/delivery-note?${serializedParams}`).respond(); + controller.sendDeliveryNote(); + $httpBackend.flush(); + + expect(controller.vnApp.showMessage).toHaveBeenCalledWith('Notification sent!'); + }); + }); + describe('makeInvoice()', () => { it('should make a query and call $state.reload() method if the response is accept', () => { spyOn(controller.$state, 'reload'); diff --git a/modules/ticket/front/index.js b/modules/ticket/front/index.js index 9f8e828c03..f8433b5fed 100644 --- a/modules/ticket/front/index.js +++ b/modules/ticket/front/index.js @@ -31,8 +31,7 @@ import './picture'; import './request/index'; import './request/create'; import './log'; -import './weekly/index'; -import './weekly/create'; +import './weekly'; import './dms/index'; import './dms/create'; import './dms/edit'; diff --git a/modules/ticket/front/routes.json b/modules/ticket/front/routes.json index d714c8ed0b..97ceaa677e 100644 --- a/modules/ticket/front/routes.json +++ b/modules/ticket/front/routes.json @@ -197,11 +197,6 @@ "state": "ticket.weekly.index", "component": "vn-ticket-weekly-index", "description": "Weekly tickets" - }, { - "url": "/create", - "state": "ticket.weekly.create", - "component": "vn-ticket-weekly-create", - "description": "Add weekly ticket" }, { "url": "/request", "state": "ticket.card.request", diff --git a/modules/ticket/front/weekly/create/index.html b/modules/ticket/front/weekly/create/index.html deleted file mode 100644 index 9601be58f8..0000000000 --- a/modules/ticket/front/weekly/create/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - -
- - - - #{{id}} - {{nickname}} - - - - - - - - - - - {{firstName}} {{lastName}} - - - - - - - -
- - - \ No newline at end of file diff --git a/modules/ticket/front/weekly/create/index.js b/modules/ticket/front/weekly/create/index.js deleted file mode 100644 index 5d8fcb2b3e..0000000000 --- a/modules/ticket/front/weekly/create/index.js +++ /dev/null @@ -1,49 +0,0 @@ -import ngModule from '../../module'; - -export default class Controller { - constructor($scope, $state, $http, $translate, vnApp) { - this.$ = $scope; - this.$state = $state; - this.$http = $http; - this.$translate = $translate; - this.vnApp = vnApp; - this.ticketWeekly = {}; - this.weekdays = [ - {id: 0, name: 'Monday'}, - {id: 1, name: 'Tuesday'}, - {id: 2, name: 'Wednesday'}, - {id: 3, name: 'Thursday'}, - {id: 4, name: 'Friday'}, - {id: 5, name: 'Saturday'}, - {id: 6, name: 'Sunday'} - ]; - } - - onChangeTicket(ticket) { - this.ticketWeekly.clientFk = ticket.clientFk; - this.ticketWeekly.warehouseFk = ticket.warehouseFk; - } - - get clientSelection() { - return this._clientSelection; - } - - set clientSelection(value) { - this._clientSelection = value; - - if (value) - this.ticketWeekly.salesPersonFk = value.salesPersonFk; - } - - onSubmit() { - return this.$.watcher.submit().then( - json => this.$state.go('ticket.weekly.index') - ); - } -} -Controller.$inject = ['$scope', '$state', '$http', '$translate', 'vnApp']; - -ngModule.component('vnTicketWeeklyCreate', { - template: require('./index.html'), - controller: Controller -}); diff --git a/modules/ticket/front/weekly/create/index.spec.js b/modules/ticket/front/weekly/create/index.spec.js deleted file mode 100644 index cf72e8a912..0000000000 --- a/modules/ticket/front/weekly/create/index.spec.js +++ /dev/null @@ -1,58 +0,0 @@ -import './index'; - -describe('Ticket', () => { - describe('Component vnTicketWeeklyCreate', () => { - let $componentController; - let $scope; - let $state; - let controller; - - beforeEach(ngModule('ticket')); - - beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$state_) => { - $componentController = _$componentController_; - $scope = $rootScope.$new(); - $state = _$state_; - $scope.watcher = { - submit: () => { - return { - then: callback => { - callback({data: {id: '1234'}}); - } - }; - } - }; - controller = $componentController('vnTicketWeeklyCreate', {$scope, $state}); - })); - - describe('onChangeTicket() setter', () => { - it(`should define clientFk and warehouseFk properties on ticketWeekly object`, () => { - controller.onChangeTicket({clientFk: 101, warehouseFk: 1}); - - expect(controller.ticketWeekly.clientFk).toEqual(101); - expect(controller.ticketWeekly.warehouseFk).toEqual(1); - }); - }); - - describe('clientSelection() setter', () => { - it(`should define salesPersonFk property on ticketWeekly object`, () => { - controller.clientSelection = {clientFk: 101, salesPersonFk: 106}; - - expect(controller.ticketWeekly.salesPersonFk).toEqual(106); - }); - }); - - describe('onSubmit()', () => { - it(`should call submit() on the watcher then expect a callback`, () => { - spyOn(controller.$state, 'go'); - controller.ticketWeekly = { - ticketFk: 11, - weekDay: 0 - }; - controller.onSubmit(); - - expect(controller.$state.go).toHaveBeenCalledWith('ticket.weekly.index'); - }); - }); - }); -}); diff --git a/modules/ticket/front/weekly/create/locale/es.yml b/modules/ticket/front/weekly/create/locale/es.yml deleted file mode 100644 index 7d9a372bb5..0000000000 --- a/modules/ticket/front/weekly/create/locale/es.yml +++ /dev/null @@ -1,2 +0,0 @@ -Weekday: Día de la semana -Add weekly ticket: Añadir ticket programado \ No newline at end of file diff --git a/modules/ticket/front/weekly/index/index.html b/modules/ticket/front/weekly/index.html similarity index 95% rename from modules/ticket/front/weekly/index/index.html rename to modules/ticket/front/weekly/index.html index 8a30226d26..552179cedd 100644 --- a/modules/ticket/front/weekly/index/index.html +++ b/modules/ticket/front/weekly/index.html @@ -94,9 +94,3 @@ question="This ticket will be removed from weekly tickets! Continue anyway?" message="You are going to delete this weekly ticket"> - - - \ No newline at end of file diff --git a/modules/ticket/front/weekly/index/index.js b/modules/ticket/front/weekly/index.js similarity index 98% rename from modules/ticket/front/weekly/index/index.js rename to modules/ticket/front/weekly/index.js index d5d8a1aea0..7668264f63 100644 --- a/modules/ticket/front/weekly/index/index.js +++ b/modules/ticket/front/weekly/index.js @@ -1,4 +1,4 @@ -import ngModule from '../../module'; +import ngModule from '../module'; export default class Controller { constructor($scope, vnApp, $translate, $http) { diff --git a/modules/ticket/front/weekly/index/locale/es.yml b/modules/ticket/front/weekly/locale/es.yml similarity index 100% rename from modules/ticket/front/weekly/index/locale/es.yml rename to modules/ticket/front/weekly/locale/es.yml diff --git a/modules/travel/back/models/entry.json b/modules/travel/back/models/entry.json index 23c88091a9..7d20ffcbd7 100644 --- a/modules/travel/back/models/entry.json +++ b/modules/travel/back/models/entry.json @@ -30,8 +30,11 @@ "isConfirmed": { "type": "Boolean" }, - "isRaid": { - "type": "Boolean" + "isVirtual": { + "type": "Boolean", + "mysql": { + "columnName": "isRaid" + } }, "commission": { "type": "Number" diff --git a/modules/worker/back/methods/worker/sendMessage.js b/modules/worker/back/methods/worker/sendMessage.js deleted file mode 100644 index f3b4cd911e..0000000000 --- a/modules/worker/back/methods/worker/sendMessage.js +++ /dev/null @@ -1,170 +0,0 @@ -/* -Author : Enrique Blasco BLanquer -Date: 29 de octubre de 2019 -*/ -let request = require('request-promise-native'); -let UserError = require('vn-loopback/util/user-error'); -module.exports = Self => { - Self.remoteMethod('sendMessage', { - description: 'Send a RocketChat message', - accessType: 'WRITE', - accepts: [{ - arg: 'from', - type: 'String', - required: true, - description: 'user who sends the message' - }, { - arg: 'to', - type: 'String', - required: true, - description: 'user (@) or channel (#) to send the message' - }, { - arg: 'message', - type: 'String', - required: true, - description: 'The message' - }], - returns: { - type: 'boolean', - root: true - }, - http: { - path: `/sendMessage`, - verb: 'POST' - } - }); - - Self.sendMessage = async(from, to, message) => { - const rocketUser = await getRocketUser(); - const userId = rocketUser.data.userId; - const authToken = rocketUser.data.authToken; - if (to.includes('@')) return await sendUserMessage(to.replace('@', ''), userId, authToken, '@' + from + ' te ha mandado un mensaje: ' + message); - else return await sendChannelMessage(to.replace('#', ''), userId, authToken, '@' + from + ' dice: ' + message); - }; - - /** - * Returns a rocketchat token - * @return {Object} userId and authToken - */ - async function getRocketUser() { - const url = 'https://chat.verdnatura.es/api/v1/login'; - const options = { - method: 'POST', - uri: url, - body: { - user: 'VnBot', - password: 'Ub606cux7op.' - }, - headers: { - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Send a user message - * @param {String} to user to send the message - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @param {String} message The message - * @return {Object} rocket info - */ - async function sendUserMessage(to, userId, authToken, message) { - const url = 'https://chat.verdnatura.es/api/v1/chat.postMessage'; - const options = { - method: 'POST', - uri: url, - body: { - 'channel': '@' + to, - 'text': message - }, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Send a channel message - * @param {String} to channel to send the message - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @param {String} message The message - * @return {Object} rocket info - */ - async function sendChannelMessage(to, userId, authToken, message) { - const channelInfo = await getChannelId(to, userId, authToken); - const url = 'https://chat.verdnatura.es/api/v1/chat.sendMessage'; - const channelId = channelInfo.channel._id; - - const options = { - method: 'POST', - uri: url, - body: { - 'message': { - 'rid': channelId, - 'msg': message - } - }, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } - - /** - * Get channel id - * @param {String} to channel to get id - * @param {String} userId rocket user id - * @param {String} authToken rocket token - * @return {Object} rocket info - */ - async function getChannelId(to, userId, authToken) { - const url = 'https://chat.verdnatura.es/api/v1/channels.info?roomName=' + to; - const options = { - method: 'GET', - uri: url, - headers: { - 'X-Auth-Token': authToken, - 'X-User-Id': userId, - 'content-type': 'application/json' - }, - json: true - }; - return await request(options) - .then(function(parsedBody) { - return parsedBody; - }) - .catch(function(err) { - throw new UserError(err); - }); - } -}; diff --git a/modules/worker/back/models/worker.js b/modules/worker/back/models/worker.js index 9d93226125..1d2a62ce48 100644 --- a/modules/worker/back/models/worker.js +++ b/modules/worker/back/models/worker.js @@ -3,5 +3,4 @@ module.exports = Self => { require('../methods/worker/mySubordinates')(Self); require('../methods/worker/isSubordinate')(Self); require('../methods/worker/getWorkerInfo')(Self); - require('../methods/worker/sendMessage')(Self); }; diff --git a/package-lock.json b/package-lock.json index 21ccce9552..c39164e35b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13500,7 +13500,7 @@ "dependencies": { "jsesc": { "version": "0.5.0", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "dev": true } diff --git a/print/boot.js b/print/boot.js new file mode 100644 index 0000000000..4067c9e7b6 --- /dev/null +++ b/print/boot.js @@ -0,0 +1,57 @@ +const express = require('express'); +const path = require('path'); +const fs = require('fs'); + +const templatesPath = path.resolve(__dirname, './templates'); +const componentsPath = path.resolve(__dirname, './core/components'); + +module.exports = app => { + global.appPath = __dirname; + + process.env.OPENSSL_CONF = '/etc/ssl/'; + + // Extended locale intl polyfill + const IntlPolyfill = require('intl'); + Intl.NumberFormat = IntlPolyfill.NumberFormat; + Intl.DateTimeFormat = IntlPolyfill.DateTimeFormat; + + // Init database instance + require('./core/database').init(); + // Init SMTP Instance + require('./core/smtp').init(); + // + require('./core/mixins'); + require('./core/filters'); + require('./core/directives'); + // Init router + require('./core/router')(app); + + /** + * Serve component static files + */ + const componentsDir = fs.readdirSync(componentsPath); + componentsDir.forEach(componentName => { + const componentDir = path.join(componentsPath, '/', componentName); + const assetsDir = `${componentDir}/assets`; + + app.use(`/api/${componentName}/assets`, express.static(assetsDir)); + }); + + /** + * Serve static files + */ + const templatesDir = fs.readdirSync(templatesPath); + templatesDir.forEach(directory => { + const templateTypeDir = path.join(templatesPath, '/', directory); + const templates = fs.readdirSync(templateTypeDir); + + templates.forEach(templateName => { + const templateDir = path.join(templatesPath, '/', directory, '/', templateName); + const assetsDir = `${templateDir}/assets`; + + app.use(`/api/${templateName}/assets`, express.static(assetsDir)); + }); + }); +}; + + diff --git a/print/common/css/email.css b/print/common/css/email.css index 6b15fbcba4..6e6350ff54 100644 --- a/print/common/css/email.css +++ b/print/common/css/email.css @@ -1,40 +1,33 @@ +/** + * Email only stylesheet + * +*/ body { - background-color: #EEE -} - -.container { - max-width: 600px; - min-width: 320px; - margin: 0 auto; - color: #555 -} - -.main { + -webkit-text-size-adjust: none; + -ms-text-size-adjust: none; background-color: #FFF; - padding: 20px + font-weight: 400; + color: #555; + margin: 0 } -.main a { +.grid { + background-color: #FFF + +} + +.grid a { color: #8dba25 } -.main h1 { - color: #999 +.grid-block { + min-width: 300px; + max-width: 600px; + margin: 0 auto; + color: #333 } -.main h3 { - font-size: 16px -} - -.title { - background-color: #95d831; - text-transform: uppercase; - text-align: center; - padding: 35px 0 -} - -.title h1 { - font-size: 32px; - color: #333; - margin: 0 +h1 { + font-weight: 100; + font-size: 1.5em } diff --git a/print/common/css/layout.css b/print/common/css/layout.css index 5914c35874..a3a43a9c4e 100644 --- a/print/common/css/layout.css +++ b/print/common/css/layout.css @@ -1,10 +1,34 @@ -.container { - font-family: "Roboto", "Helvetica", "Arial", sans-serif; - font-size: 16px +/** + * CSS layout elements + * +*/ + +.grid { + font-family: Helvetica, Arial, sans-serif; + font-size: 16px !important; + width: 100% +} + +.grid-row { + background-color: transparent +} + +.grid-block { + box-sizing: border-box; + min-height: 40px +} + +.grid-block.empty { + height: 40px +} + +.grid-block.white { + background-color: #FFF } .columns { - overflow: hidden + overflow: hidden; + box-sizing: border-box; } .columns .size100 { @@ -18,6 +42,7 @@ } .columns .size50 { + box-sizing: border-box; width: 50%; float: left } @@ -173,7 +198,7 @@ table { } .panel .row-oriented td, .panel .row-oriented th { - padding: 10px 0 + padding: 8px 10px } .row-oriented > tbody > tr > td { @@ -199,8 +224,8 @@ table { margin-left: -1px; margin-right: 1px; margin-top: 10px; + padding: 5px 0; color: #999; - padding: 5px 0 } .line .vertical-aligned { diff --git a/print/common/css/misc.css b/print/common/css/misc.css index 16a37b6c3f..093d5a974e 100644 --- a/print/common/css/misc.css +++ b/print/common/css/misc.css @@ -1,3 +1,7 @@ +/** + * CSS misc classes + * +*/ .uppercase { text-transform: uppercase } diff --git a/print/common/css/report.css b/print/common/css/report.css index 24b20c3306..5b8a1539bf 100644 --- a/print/common/css/report.css +++ b/print/common/css/report.css @@ -1,5 +1,9 @@ +/** + * Report only stylesheet + * +*/ body { - zoom: 0.55 + zoom: 0.53 } .title { diff --git a/print/common/css/spacing.css b/print/common/css/spacing.css new file mode 100644 index 0000000000..670102d7cb --- /dev/null +++ b/print/common/css/spacing.css @@ -0,0 +1,349 @@ +/** + * CSS spacing classes + * + * vn-[p|m][t|r|b|l|a|x|y]-[none|auto|xs|sm|md|lg|xl] + * T D S + * + * T - type + * - values: p (padding), m (margin) + * + * D - direction + * - values: + * t (top), r (right), b (bottom), l (left), + * a (all), x (both left & right), y (both top & bottom) + * + * S - size + * - values: + * none, + * auto (ONLY for specific margins: vn-ml-*, vn-mr-*, vn-mx-*), + * xs (extra small), + * sm (small), + * md (medium), + * lg (large), + * xl (extra large) + */ + +/* ++++++++++++++++++++++++++++++++++++++++++++++++ Padding */ + +.vn-pa-none { + padding: 0; +} +.vn-pl-none { + padding-left: 0; +} +.vn-pr-none { + padding-right: 0; +} +.vn-pt-none { + padding-top: 0; +} +.vn-pb-none { + padding-bottom: 0; +} +.vn-py-none { + padding-top: 0; + padding-bottom: 0; +} +.vn-px-none { + padding-left: 0; + padding-right: 0; +} + +.vn-pa-xs { + padding: 4px; +} +.vn-pl-xs { + padding-left: 4px; +} +.vn-pr-xs { + padding-right: 4px; +} +.vn-pt-xs { + padding-top: 4px; +} +.vn-pb-xs { + padding-bottom: 4px; +} +.vn-py-xs { + padding-top: 4px; + padding-bottom: 4px; +} +.vn-px-xs { + padding-left: 4px; + padding-right: 4px; +} + +/* Small */ + +.vn-pa-sm { + padding: 8px; +} +.vn-pl-sm { + padding-left: 8px; +} +.vn-pr-sm { + padding-right: 8px; +} +.vn-pt-sm { + padding-top: 8px; +} +.vn-pb-sm { + padding-bottom: 8px; +} +.vn-py-sm { + padding-top: 8px; + padding-bottom: 8px; +} +.vn-px-sm { + padding-left: 8px; + padding-right: 8px; +} + +/* Medium */ + +.vn-pa-md { + padding: 16px; +} +.vn-pl-md { + padding-left: 16px; +} +.vn-pr-md { + padding-right: 16px; +} +.vn-pt-md { + padding-top: 16px; +} +.vn-pb-md { + padding-bottom: 16px; +} +.vn-py-md { + padding-top: 16px; + padding-bottom: 16px; +} +.vn-px-md { + padding-left: 16px; + padding-right: 16px; +} + +/* Large */ + +.vn-pa-lg { + padding: 32px; +} +.vn-pl-lg { + padding-left: 32px; +} +.vn-pr-lg { + padding-right: 32px; +} +.vn-pt-lg { + padding-top: 32px; +} +.vn-pb-lg { + padding-bottom: 32px; +} +.vn-py-lg { + padding-top: 32px; + padding-bottom: 32px; +} +.vn-px-lg { + padding-left: 32px; + padding-right: 32px; +} + +/* Extra large */ + +.vn-pa-xl { + padding: 100px; +} +.vn-pl-xl { + padding-left: 100px; +} +.vn-pr-xl { + padding-right: 100px; +} +.vn-pt-xl { + padding-top: 100px; +} +.vn-pb-xl { + padding-bottom: 100px; +} +.vn-py-xl { + padding-top: 100px; + padding-bottom: 100px; +} +.vn-px-xl { + padding-left: 100px; + padding-right: 100px; +} + +/* ++++++++++++++++++++++++++++++++++++++++++++++++ Margin */ + +/* None */ + +.vn-ma-none { + padding: 0; +} +.vn-ml-none { + padding-left: 0; +} +.vn-mr-none { + padding-right: 0; +} +.vn-mt-none { + padding-top: 0; +} +.vn-mb-none { + padding-bottom: 0; +} +.vn-my-none { + padding-top: 0; + padding-bottom: 0; +} +.vn-mx-none { + padding-left: 0; + padding-right: 0; +} + +/* Auto */ + +.vn-ml-none { + padding-left: auto; +} +.vn-mr-none { + padding-right: auto; +} +.vn-mx-none { + padding-left: auto; + padding-right: auto; +} + +/* Extra small */ + +.vn-ma-xs { + margin: 4px; +} +.vn-mt-xs { + margin-top: 4px; +} +.vn-ml-xs { + margin-left: 4px; +} +.vn-mr-xs { + margin-right: 4px; +} +.vn-mb-xs { + margin-bottom: 4px; +} +.vn-my-xs { + margin-top: 4px; + margin-bottom: 4px; +} +.vn-mx-xs { + margin-left: 4px; + margin-right: 4px; +} + +/* Small */ + +.vn-ma-sm { + margin: 8px; +} +.vn-mt-sm { + margin-top: 8px; +} +.vn-ml-sm { + margin-left: 8px; +} +.vn-mr-sm { + margin-right: 8px; +} +.vn-mb-sm { + margin-bottom: 8px; +} +.vn-my-sm { + margin-top: 8px; + margin-bottom: 8px; +} +.vn-mx-sm { + margin-left: 8px; + margin-right: 8px; +} + +/* Medium */ + +.vn-ma-md { + margin: 16px; +} +.vn-mt-md { + margin-top: 16px; +} +.vn-ml-md { + margin-left: 16px; +} +.vn-mr-md { + margin-right: 16px; +} +.vn-mb-md { + margin-bottom: 16px; +} +.vn-my-md { + margin-top: 16px; + margin-bottom: 16px; +} +.vn-mx-md { + margin-left: 16px; + margin-right: 16px; +} + +/* Large */ + +.vn-ma-lg { + margin: 32px; +} +.vn-mt-lg { + margin-top: 32px; +} +.vn-ml-lg { + margin-left: 32px; +} +.vn-mr-lg { + margin-right: 32px; +} +.vn-mb-lg { + margin-bottom: 32px; +} +.vn-my-lg { + margin-top: 32px; + margin-bottom: 32px; +} +.vn-mx-lg { + margin-left: 32px; + margin-right: 32px; +} + +/* Extra large */ + +.vn-ma-xl { + margin: 100px; +} +.vn-mt-xl { + margin-top: 100px; +} +.vn-ml-xl { + margin-left: 100px; +} +.vn-mr-xl { + margin-right: 100px; +} +.vn-mb-xl { + margin-bottom: 100px; +} +.vn-my-xl { + margin-top: 100px; + margin-bottom: 100px; +} +.vn-mx-xl { + margin-left: 100px; + margin-right: 100px; +} diff --git a/print/config/print.json b/print/config/print.json index 7ad2e13169..ee2ab6f799 100755 --- a/print/config/print.json +++ b/print/config/print.json @@ -1,10 +1,15 @@ { "app": { + "host": "http://localhost:5000", "port": 3000, - "defaultLanguage": "es", "senderMail": "nocontestar@verdnatura.es", "senderName": "Verdnatura" }, + "i18n": { + "locale": "es", + "fallbackLocale": "es", + "silentTranslationWarn": false + }, "pdf": { "format": "A4", "border": "1.5cm", diff --git a/print/config/routes.json b/print/config/routes.json deleted file mode 100644 index 58d46193c1..0000000000 --- a/print/config/routes.json +++ /dev/null @@ -1,25 +0,0 @@ -[ - {"type": "email", "name": "client-welcome"}, - {"type": "email", "name": "printer-setup"}, - {"type": "email", "name": "payment-update"}, - {"type": "email", "name": "letter-debtor-st"}, - {"type": "email", "name": "letter-debtor-nd"}, - {"type": "email", "name": "claim-pickup-order"}, - {"type": "email", "name": "sepa-core"}, - {"type": "email", "name": "client-lcr"}, - {"type": "email", "name": "driver-route"}, - {"type": "email", "name": "delivery-note"}, - {"type": "report", "name": "rpt-delivery-note"}, - {"type": "report", "name": "rpt-claim-pickup-order"}, - {"type": "report", "name": "rpt-letter-debtor"}, - {"type": "report", "name": "rpt-sepa-core"}, - {"type": "report", "name": "rpt-receipt"}, - {"type": "report", "name": "rpt-zone"}, - {"type": "report", "name": "rpt-route"}, - {"type": "report", "name": "rpt-lcr"}, - {"type": "report", "name": "rpt-item-label"}, - {"type": "static", "name": "email-header"}, - {"type": "static", "name": "email-footer"}, - {"type": "static", "name": "report-header"}, - {"type": "static", "name": "report-footer"} -] \ No newline at end of file diff --git a/print/core/component.js b/print/core/component.js new file mode 100644 index 0000000000..836b8c9d9c --- /dev/null +++ b/print/core/component.js @@ -0,0 +1,104 @@ +const Vue = require('vue'); +const VueI18n = require('vue-i18n'); +const renderer = require('vue-server-renderer').createRenderer(); +Vue.use(VueI18n); + +const fs = require('fs'); +const yaml = require('js-yaml'); +const juice = require('juice'); +const path = require('path'); +const config = require('./config'); + +class Component { + constructor(name) { + this.name = name; + } + + get path() { + return `./components/${this.name}`; + } + + get template() { + const templatePath = `${this.path}/${this.name}.html`; + const fullPath = path.resolve(__dirname, templatePath); + + return fs.readFileSync(fullPath, 'utf8'); + } + + get locale() { + if (!this._locale) + this.getLocale(); + + return this._locale; + } + + getLocale() { + const mergedLocale = {messages: {}}; + const localePath = path.resolve(__dirname, `${this.path}/locale`); + + if (!fs.existsSync(localePath)) + return mergedLocale; + + const localeDir = fs.readdirSync(localePath); + localeDir.forEach(locale => { + const fullPath = path.join(localePath, '/', locale); + const yamlLocale = fs.readFileSync(fullPath, 'utf8'); + const jsonLocale = yaml.safeLoad(yamlLocale); + const localeName = locale.replace('.yml', ''); + + mergedLocale.messages[localeName] = jsonLocale; + }); + + this._locale = mergedLocale; + } + + get stylesheet() { + let mergedStyles = ''; + const stylePath = path.resolve(__dirname, `${this.path}/assets/css`); + + if (!fs.existsSync(stylePath)) + return mergedStyles; + + return require(`${stylePath}/import`); + } + + get attachments() { + const attachmentsPath = `${this.path}/attachments.json`; + const fullPath = path.resolve(__dirname, attachmentsPath); + + if (!fs.existsSync(fullPath)) + return []; + + return require(fullPath); + } + + build() { + const fullPath = path.resolve(__dirname, this.path); + if (!fs.existsSync(fullPath)) + throw new Error(`Sample "${this.name}" not found`); + + const component = require(`${this.path}/${this.name}`); + component.i18n = this.locale; + component.attachments = this.attachments; + component.template = juice.inlineContent(this.template, this.stylesheet, { + inlinePseudoElements: true + }); + + return component; + } + + async render() { + const component = this.build(); + const i18n = new VueI18n(config.i18n); + const app = new Vue({ + i18n: i18n, + render: h => h(component, { + props: this.args + }) + }); + + return renderer.renderToString(app); + } +} + +module.exports = Component; diff --git a/print/core/components/attachment/assets/css/import.js b/print/core/components/attachment/assets/css/import.js new file mode 100644 index 0000000000..c742fdf90a --- /dev/null +++ b/print/core/components/attachment/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/core/components/attachment/assets/css/style.css b/print/core/components/attachment/assets/css/style.css new file mode 100644 index 0000000000..775c43ada9 --- /dev/null +++ b/print/core/components/attachment/assets/css/style.css @@ -0,0 +1,22 @@ +div { + display: inline-block; + box-sizing: border-box +} + +a { + background-color: #F5F5F5; + border: 1px solid #CCC; + display: flex; + vertical-align: middle; + box-sizing: border-box; + min-width: 150px; + text-decoration: none; + border-radius: 3px; + color: #8dba25 +} + +a > div.icon { + font-weight: bold; + font-size: 18px; + color: #555 +} \ No newline at end of file diff --git a/print/core/components/attachment/assets/images/attachment.svg b/print/core/components/attachment/assets/images/attachment.svg new file mode 100644 index 0000000000..2cb6303797 --- /dev/null +++ b/print/core/components/attachment/assets/images/attachment.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/print/core/components/attachment/attachment.html b/print/core/components/attachment/attachment.html new file mode 100644 index 0000000000..d66746e991 --- /dev/null +++ b/print/core/components/attachment/attachment.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/print/core/components/attachment/attachment.js b/print/core/components/attachment/attachment.js new file mode 100755 index 0000000000..2d4e74cdc5 --- /dev/null +++ b/print/core/components/attachment/attachment.js @@ -0,0 +1,37 @@ +module.exports = { + name: 'attachment', + computed: { + path() { + const filename = this.attachment.filename; + const component = this.attachment.component; + if (this.attachment.cid) + return `/api/${component}/assets/files/${filename}`; + else + return `/api/report/${component}?${this.getHttpParams()}`; + } + }, + methods: { + getHttpParams() { + const props = this.args; + let query = ''; + for (let param in props) { + if (query != '') + query += '&'; + query += `${param}=${props[param]}`; + } + + return query; + } + }, + props: { + attachment: { + type: Object, + required: true + }, + args: { + type: Object, + required: false + } + } +}; + diff --git a/print/core/components/email-footer/assets/css/import.js b/print/core/components/email-footer/assets/css/import.js new file mode 100644 index 0000000000..c742fdf90a --- /dev/null +++ b/print/core/components/email-footer/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/email-footer/assets/css/style.css b/print/core/components/email-footer/assets/css/style.css similarity index 68% rename from print/report/email-footer/assets/css/style.css rename to print/core/components/email-footer/assets/css/style.css index 9d47b193e1..4bc22fdfd1 100644 --- a/print/report/email-footer/assets/css/style.css +++ b/print/core/components/email-footer/assets/css/style.css @@ -1,21 +1,12 @@ -@media (max-width: 400px) { - .buttons a { - display: block; - width: 100% - } -} - .buttons { + font-size: 14px !important; width: 100% } .buttons a { - display: inline-block; - box-sizing: border-box; text-decoration: none; - font-size: 16px; + width: 100%; color: #fff; - width: 50% } .buttons .btn { @@ -23,18 +14,20 @@ text-align: center } -.buttons .btn .text { - display: inline-block; - padding: 22px 0 -} .buttons .btn .icon { background-color: #95d831; box-sizing: border-box; + font-weight: bold; text-align: center; - padding: 16.5px 0; - float: right; - width: 70px + color: #333; + float: left +} + + +.buttons .btn .text { + + display: inline-block; } .networks { diff --git a/print/report/email-footer/assets/images/action.png b/print/core/components/email-footer/assets/images/action.png similarity index 100% rename from print/report/email-footer/assets/images/action.png rename to print/core/components/email-footer/assets/images/action.png diff --git a/print/report/email-footer/assets/images/facebook.png b/print/core/components/email-footer/assets/images/facebook.png similarity index 100% rename from print/report/email-footer/assets/images/facebook.png rename to print/core/components/email-footer/assets/images/facebook.png diff --git a/print/report/email-footer/assets/images/info.png b/print/core/components/email-footer/assets/images/info.png similarity index 100% rename from print/report/email-footer/assets/images/info.png rename to print/core/components/email-footer/assets/images/info.png diff --git a/print/report/email-footer/assets/images/instagram.png b/print/core/components/email-footer/assets/images/instagram.png similarity index 100% rename from print/report/email-footer/assets/images/instagram.png rename to print/core/components/email-footer/assets/images/instagram.png diff --git a/print/report/email-footer/assets/images/linkedin.png b/print/core/components/email-footer/assets/images/linkedin.png similarity index 100% rename from print/report/email-footer/assets/images/linkedin.png rename to print/core/components/email-footer/assets/images/linkedin.png diff --git a/print/report/email-footer/assets/images/pinterest.png b/print/core/components/email-footer/assets/images/pinterest.png similarity index 100% rename from print/report/email-footer/assets/images/pinterest.png rename to print/core/components/email-footer/assets/images/pinterest.png diff --git a/print/report/email-footer/assets/images/twitter.png b/print/core/components/email-footer/assets/images/twitter.png similarity index 100% rename from print/report/email-footer/assets/images/twitter.png rename to print/core/components/email-footer/assets/images/twitter.png diff --git a/print/report/email-footer/assets/images/youtube.png b/print/core/components/email-footer/assets/images/youtube.png similarity index 100% rename from print/report/email-footer/assets/images/youtube.png rename to print/core/components/email-footer/assets/images/youtube.png diff --git a/print/core/components/email-footer/attachments.json b/print/core/components/email-footer/attachments.json new file mode 100644 index 0000000000..0d339b76f9 --- /dev/null +++ b/print/core/components/email-footer/attachments.json @@ -0,0 +1,22 @@ +[ + { + "filename": "facebook.png", + "path": "/assets/images/facebook.png", + "cid": "facebook.png" + }, + { + "filename": "twitter.png", + "path": "/assets/images/twitter.png", + "cid": "twitter.png" + }, + { + "filename": "instagram.png", + "path": "/assets/images/instagram.png", + "cid": "instagram.png" + }, + { + "filename": "linkedin.png", + "path": "/assets/images/linkedin.png", + "cid": "linkedin.png" + } +] \ No newline at end of file diff --git a/print/core/components/email-footer/email-footer.html b/print/core/components/email-footer/email-footer.html new file mode 100644 index 0000000000..b60125c5dc --- /dev/null +++ b/print/core/components/email-footer/email-footer.html @@ -0,0 +1,47 @@ + \ No newline at end of file diff --git a/print/core/components/email-footer/email-footer.js b/print/core/components/email-footer/email-footer.js new file mode 100755 index 0000000000..527c8121af --- /dev/null +++ b/print/core/components/email-footer/email-footer.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'email-footer', + props: ['isPreview', 'locale'] +}; diff --git a/print/core/components/email-footer/locale/es.yml b/print/core/components/email-footer/locale/es.yml new file mode 100644 index 0000000000..592a467377 --- /dev/null +++ b/print/core/components/email-footer/locale/es.yml @@ -0,0 +1,19 @@ +buttons: + webAcccess: Visita nuestra Web + info: Ayúdanos a mejorar +privacy: + fiscalAddress: VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla + · www.verdnatura.es · clientes@verdnatura.es + disclaimer: '- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado + exclusivamente por la persona destinataria del mismo. Si has recibido este mensaje + por error, te rogamos lo comuniques al remitente y borres 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.' + law: En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de + Datos de Carácter Personal, te comunicamos que los datos personales que facilites + 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. diff --git a/print/core/components/email-footer/locale/fr.yml b/print/core/components/email-footer/locale/fr.yml new file mode 100644 index 0000000000..de4cf9095c --- /dev/null +++ b/print/core/components/email-footer/locale/fr.yml @@ -0,0 +1,19 @@ +buttons: + webAcccess: Visitez notre site web + info: Aidez-nous à améliorer +privacy: + fiscalAddress: VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla + · www.verdnatura.es · clientes@verdnatura.es + disclaimer: '- AVIS - Ce message est privé et confidentiel et doit être utilisé.exclusivamente + por la persona destinataria del mismo. Si has recibido este mensajepor error, + te rogamos lo comuniques al remitente y borres dicho mensaje y cualquier documentoadjunto + que pudiera contener. Verdnatura Levante SL no renuncia a la confidencialidad + ni aningún privilegio por causa de transmisión errónea o mal funcionamiento. Igualmente + no se haceresponsable de los cambios, alteraciones, errores u omisiones que pudieran + hacerse al mensaje una vez enviado.' + law: En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de + Datos de Carácter Personal, te comunicamos que los datos personales que facilites + 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 porescrito al domicilio social de la entidad. La finalidad del fichero + es la gestión administrativa, contabilidad, y facturación. diff --git a/print/core/components/email-header/assets/css/import.js b/print/core/components/email-header/assets/css/import.js new file mode 100644 index 0000000000..c742fdf90a --- /dev/null +++ b/print/core/components/email-header/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/core/components/email-header/assets/css/style.css b/print/core/components/email-header/assets/css/style.css new file mode 100644 index 0000000000..4db5e2b2ec --- /dev/null +++ b/print/core/components/email-header/assets/css/style.css @@ -0,0 +1,19 @@ +header .logo { + margin-bottom: 15px; +} + +header .logo img { + width: 50% +} + +header .topbar { + background-color: #95d831; + height: 10px +} + +.topbar:after { + overflow: hidden; + display: block; + content: ' '; + clear: both; +} \ No newline at end of file diff --git a/print/report/email-header/assets/images/email-logo.png b/print/core/components/email-header/assets/images/email-logo.png similarity index 100% rename from print/report/email-header/assets/images/email-logo.png rename to print/core/components/email-header/assets/images/email-logo.png diff --git a/print/core/components/email-header/assets/images/logo-black.png b/print/core/components/email-header/assets/images/logo-black.png new file mode 100644 index 0000000000..e93065d907 Binary files /dev/null and b/print/core/components/email-header/assets/images/logo-black.png differ diff --git a/print/report/report-header/assets/images/report-logo.svg b/print/core/components/email-header/assets/images/logo-black.svg similarity index 100% rename from print/report/report-header/assets/images/report-logo.svg rename to print/core/components/email-header/assets/images/logo-black.svg diff --git a/print/core/components/email-header/assets/images/logo-white.svg b/print/core/components/email-header/assets/images/logo-white.svg new file mode 100644 index 0000000000..a4ce32490d --- /dev/null +++ b/print/core/components/email-header/assets/images/logo-white.svg @@ -0,0 +1,131 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/print/core/components/email-header/attachments.json b/print/core/components/email-header/attachments.json new file mode 100644 index 0000000000..924eddc4d9 --- /dev/null +++ b/print/core/components/email-header/attachments.json @@ -0,0 +1,7 @@ +[ + { + "filename": "logo-black.png", + "path": "/assets/images/logo-black.png", + "cid": "logo-black.png" + } +] \ No newline at end of file diff --git a/print/core/components/email-header/email-header.html b/print/core/components/email-header/email-header.html new file mode 100644 index 0000000000..87834e2ae6 --- /dev/null +++ b/print/core/components/email-header/email-header.html @@ -0,0 +1,8 @@ +
+ +
+
diff --git a/print/core/components/email-header/email-header.js b/print/core/components/email-header/email-header.js new file mode 100755 index 0000000000..257770cadc --- /dev/null +++ b/print/core/components/email-header/email-header.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'email-header', + props: ['locale'] +}; diff --git a/print/report/rpt-claim-pickup-order/assets/css/index.js b/print/core/components/report-footer/assets/css/import.js similarity index 64% rename from print/report/rpt-claim-pickup-order/assets/css/index.js rename to print/core/components/report-footer/assets/css/import.js index 515dea7503..a2a9334cb1 100644 --- a/print/report/rpt-claim-pickup-order/assets/css/index.js +++ b/print/core/components/report-footer/assets/css/import.js @@ -1,6 +1,6 @@ -const CssReader = require(`${appPath}/lib/cssReader`); +const Stylesheet = require(`${appPath}/core/stylesheet`); -module.exports = new CssReader([ +module.exports = new Stylesheet([ `${appPath}/common/css/layout.css`, `${appPath}/common/css/report.css`, `${appPath}/common/css/misc.css`, diff --git a/print/report/report-footer/assets/css/style.css b/print/core/components/report-footer/assets/css/style.css similarity index 100% rename from print/report/report-footer/assets/css/style.css rename to print/core/components/report-footer/assets/css/style.css diff --git a/print/core/components/report-footer/locale/es.yml b/print/core/components/report-footer/locale/es.yml new file mode 100644 index 0000000000..8c54b796f3 --- /dev/null +++ b/print/core/components/report-footer/locale/es.yml @@ -0,0 +1,10 @@ +numPages: Página {{page}} de {{pages}} +law: + phytosanitary: 'VERDNATURA LEVANTE SL - Pasaporte Fitosanitario R.P. Generalitat + Valenciana - Nº Comerciante: ES17462130' + privacy: 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. diff --git a/print/core/components/report-footer/locale/fr.yml b/print/core/components/report-footer/locale/fr.yml new file mode 100644 index 0000000000..e35f9fb7ff --- /dev/null +++ b/print/core/components/report-footer/locale/fr.yml @@ -0,0 +1,10 @@ +numPages: Page {{page}} de {{pages}} +law: + phytosanitary: 'VERDNATURA LEVANTE SL - Passeport Phytosanitaire R.P. Generalitat + Valenciana - Numéro d''opérateur: ES17462130' + privacy: Conformément aux dispositions de la loi organique 15/1999 sur la protection + des données personnelles, nous vous informons que les données personnelles que + vous fournissez seront incluses dans des dossiers. VERDNATURA LEVANTE S.L., vous + pouvez à tout moment, exercer les droits d'accès, de rectification, d'annulation + et d'opposition, en communiquant par écrit au siège social de la société. Le dossier + a pour objet la gestion administrative, la comptabilité et la facturation. diff --git a/print/core/components/report-footer/locale/pt.yml b/print/core/components/report-footer/locale/pt.yml new file mode 100644 index 0000000000..8494c1ed53 --- /dev/null +++ b/print/core/components/report-footer/locale/pt.yml @@ -0,0 +1,10 @@ +numPages: Página {{page}} de {{pages}} +law: + phytosanitary: 'VERDNATURA LEVANTE S.L - Passaporte Fitossanitário R.P. Generalitat + Valenciana - Nº Comerciante: ES17462130' + privacy: Em cumprimento do disposto na lei Orgânica 15/1999, de Protecção de Dados + de Carácter Pessoal, comunicamos que os dados pessoais que facilite se incluirão + nos ficheiros automatizados de VERDNATURA LEVANTE S.L., podendo em todo momento + exercer os direitos de acesso, rectificação, cancelação e oposição, comunicando + por escrito ao domicílio social da entidade. A finalidade do ficheiro é a gestão + administrativa, contabilidade e facturação. diff --git a/print/core/components/report-footer/report-footer.html b/print/core/components/report-footer/report-footer.html new file mode 100644 index 0000000000..a87c361095 --- /dev/null +++ b/print/core/components/report-footer/report-footer.html @@ -0,0 +1,9 @@ +
+
+
{{leftText}}
+
{{centerText}}
+
{{$t('numPages')}}
+
+

{{$t('law.phytosanitary')}}

+

+
diff --git a/print/core/components/report-footer/report-footer.js b/print/core/components/report-footer/report-footer.js new file mode 100755 index 0000000000..df1dca6654 --- /dev/null +++ b/print/core/components/report-footer/report-footer.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'report-footer', + props: ['leftText', 'centerText', 'locale', 'showPhytosanitary'] +}; diff --git a/print/report/rpt-delivery-note/assets/css/index.js b/print/core/components/report-header/assets/css/import.js similarity index 64% rename from print/report/rpt-delivery-note/assets/css/index.js rename to print/core/components/report-header/assets/css/import.js index 515dea7503..a2a9334cb1 100644 --- a/print/report/rpt-delivery-note/assets/css/index.js +++ b/print/core/components/report-header/assets/css/import.js @@ -1,6 +1,6 @@ -const CssReader = require(`${appPath}/lib/cssReader`); +const Stylesheet = require(`${appPath}/core/stylesheet`); -module.exports = new CssReader([ +module.exports = new Stylesheet([ `${appPath}/common/css/layout.css`, `${appPath}/common/css/report.css`, `${appPath}/common/css/misc.css`, diff --git a/print/report/report-header/assets/css/style.css b/print/core/components/report-header/assets/css/style.css similarity index 100% rename from print/report/report-header/assets/css/style.css rename to print/core/components/report-header/assets/css/style.css diff --git a/print/report/report-header/assets/images/report-logo.png b/print/core/components/report-header/assets/images/report-logo.png similarity index 100% rename from print/report/report-header/assets/images/report-logo.png rename to print/core/components/report-header/assets/images/report-logo.png diff --git a/print/core/components/report-header/assets/images/report-logo.svg b/print/core/components/report-header/assets/images/report-logo.svg new file mode 100644 index 0000000000..51baf46d35 --- /dev/null +++ b/print/core/components/report-header/assets/images/report-logo.svg @@ -0,0 +1,48 @@ + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/print/core/components/report-header/locale/es.yml b/print/core/components/report-header/locale/es.yml new file mode 100644 index 0000000000..51552c24ce --- /dev/null +++ b/print/core/components/report-header/locale/es.yml @@ -0,0 +1,5 @@ +company: + fiscalAddress: VERDNATURA LEVANTE S.L., B97367486 Avda. Espioca, 100, 46460 Silla + - www.verdnatura.es - clientes@verdnatura.es + registry: 'CIF: B97367486 Registro Mercantil de Valencia, Tomo 8041, Libro 5334, + Folio 160, Sección 8, Hoja V 102076' diff --git a/print/core/components/report-header/locale/pt.yml b/print/core/components/report-header/locale/pt.yml new file mode 100644 index 0000000000..51552c24ce --- /dev/null +++ b/print/core/components/report-header/locale/pt.yml @@ -0,0 +1,5 @@ +company: + fiscalAddress: VERDNATURA LEVANTE S.L., B97367486 Avda. Espioca, 100, 46460 Silla + - www.verdnatura.es - clientes@verdnatura.es + registry: 'CIF: B97367486 Registro Mercantil de Valencia, Tomo 8041, Libro 5334, + Folio 160, Sección 8, Hoja V 102076' diff --git a/print/report/report-header/index.html b/print/core/components/report-header/report-header.html similarity index 61% rename from print/report/report-header/index.html rename to print/core/components/report-header/report-header.html index 8796754920..6cfe658708 100644 --- a/print/report/report-header/index.html +++ b/print/core/components/report-header/report-header.html @@ -1,5 +1,5 @@
- Verdnatura + Verdnatura
{{$t('company.fiscalAddress')}}
{{$t('company.registry')}}
diff --git a/print/core/components/report-header/report-header.js b/print/core/components/report-header/report-header.js new file mode 100755 index 0000000000..d86080f9e4 --- /dev/null +++ b/print/core/components/report-header/report-header.js @@ -0,0 +1,4 @@ +module.exports = { + name: 'report-header', + props: ['isPreview', 'locale'] +}; diff --git a/print/lib/config.js b/print/core/config.js similarity index 50% rename from print/lib/config.js rename to print/core/config.js index 47e58ec777..8db3884012 100644 --- a/print/lib/config.js +++ b/print/core/config.js @@ -10,23 +10,13 @@ let configFiles = [ ]; for (let configFile of configFiles) { - if (fs.existsSync(configFile)) - Object.assign(config, require(configFile)); + if (fs.existsSync(configFile)) { + const conf = require(configFile); + for (let prop in conf) + Object.assign(config[prop], conf[prop]); + } } -/* let proxyConf = {}; -let proxyFiles = [ - '../../nginx/config.yml', - `${configPath}/config.yml`, - `${configPath}/config.${env}.yml` -]; - -for (let proxyFile of proxyFiles) { - if (fs.existsSync(proxyFile)) - Object.assign(proxyConf, require(proxyFile)); -} */ - -// config.proxy = proxyConf; config.env = env; module.exports = config; diff --git a/print/core/database.js b/print/core/database.js new file mode 100644 index 0000000000..02ae2a9b00 --- /dev/null +++ b/print/core/database.js @@ -0,0 +1,24 @@ +const mysql = require('mysql2/promise'); +const config = require('./config.js'); + +module.exports = { + init() { + if (!this.pool) { + this.pool = mysql.createPool(config.mysql); + this.pool.on('connection', connection => { + connection.config.namedPlaceholders = true; + }); + } + }, + find(query, params) { + return this.pool.query(query, params).then(([rows]) => { + return rows; + }); + }, + findOne(query, params) { + return this.find(query, params).then(([rows]) => rows); + }, + findFromDef() { + + } +}; diff --git a/print/core/directives/index.js b/print/core/directives/index.js new file mode 100644 index 0000000000..3ba4d88950 --- /dev/null +++ b/print/core/directives/index.js @@ -0,0 +1,2 @@ +// Import global directives +require('./pin'); diff --git a/print/core/directives/pin.js b/print/core/directives/pin.js new file mode 100644 index 0000000000..bf4bb6e6e8 --- /dev/null +++ b/print/core/directives/pin.js @@ -0,0 +1,9 @@ +// DIRECTIVES NOT WORKING +const Vue = require('vue'); +Vue.directive('pin', { + bind: function(el, binding, vnode) { + el.style.position = 'fixed'; + el.style.top = binding.value + 'px'; + el.style.backgroundColor = 'red'; + } +}); diff --git a/print/core/email.js b/print/core/email.js new file mode 100644 index 0000000000..25d44df653 --- /dev/null +++ b/print/core/email.js @@ -0,0 +1,93 @@ +const path = require('path'); +const smtp = require('./smtp'); +const Component = require('./component'); +const Report = require('./report'); +const db = require('./database'); +const config = require('./config'); + +if (!process.env.OPENSSL_CONF) + process.env.OPENSSL_CONF = '/etc/ssl/'; + +class Email extends Component { + constructor(name, args) { + super(name); + + this.args = args; + } + + get path() { + return `../templates/email/${this.name}`; + } + + + async getSubject() { + if (!this.lang) await this.getLang(); + const locale = this.locale.messages; + const userLocale = locale[this.lang]; + + if (!userLocale) { + const fallbackLocale = config.i18n.fallbackLocale; + + return locale[fallbackLocale].subject; + } + + return userLocale.subject; + } + + async getLang() { + const clientId = this.args.clientId; + const lang = await db.findOne(` + SELECT lang FROM account.user + WHERE id = ?`, [clientId]).then(rows => { + return rows.lang; + }); + this.lang = lang; + } + + async send() { + const instance = this.build(); + const rendered = await this.render(); + const attachments = []; + const getAttachments = async(componentPath, files) => { + for (file of files) { + const fileCopy = Object.assign({}, file); + if (fileCopy.cid) { + const templatePath = `${componentPath}/${file.path}`; + const fullFilePath = path.resolve(__dirname, templatePath); + + fileCopy.path = path.resolve(__dirname, fullFilePath); + } else { + const reportName = fileCopy.filename.replace('.pdf', ''); + const report = new Report(reportName, this.args); + fileCopy.content = await report.toPdfStream(); + } + + attachments.push(fileCopy); + } + }; + + if (instance.components) { + const components = instance.components; + for (let componentName in components) { + const component = components[componentName]; + const componentPath = `./components/${componentName}`; + await getAttachments(componentPath, component.attachments); + } + } + + if (this.attachments) + await getAttachments(this.path, this.attachments); + + const localeSubject = await this.getSubject(); + const options = { + to: this.args.recipient, + subject: localeSubject, + html: rendered, + attachments: attachments + }; + + return smtp.send(options); + } +} + +module.exports = Email; diff --git a/print/core/filters/currency.js b/print/core/filters/currency.js new file mode 100644 index 0000000000..950749f57d --- /dev/null +++ b/print/core/filters/currency.js @@ -0,0 +1,9 @@ +const Vue = require('vue'); +const config = require('../config'); +const defaultLocale = config.i18n.locale; + +Vue.filter('currency', function(value, currency = 'EUR', locale = defaultLocale) { + return new Intl.NumberFormat(locale, { + style: 'currency', currency + }).format(parseFloat(value)); +}); diff --git a/print/core/filters/date.js b/print/core/filters/date.js new file mode 100644 index 0000000000..37b9dd16ff --- /dev/null +++ b/print/core/filters/date.js @@ -0,0 +1,6 @@ +const Vue = require('vue'); +const strftime = require('strftime'); + +Vue.filter('date', function(value, specifiers) { + return strftime(specifiers, value); +}); diff --git a/print/core/filters/index.js b/print/core/filters/index.js new file mode 100644 index 0000000000..96bfde72b7 --- /dev/null +++ b/print/core/filters/index.js @@ -0,0 +1,4 @@ +// Import global filters +require('./date'); +require('./currency'); +require('./percentage'); diff --git a/print/core/filters/percentage.js b/print/core/filters/percentage.js new file mode 100644 index 0000000000..ac18dc4b04 --- /dev/null +++ b/print/core/filters/percentage.js @@ -0,0 +1,11 @@ +const Vue = require('vue'); +const config = require('../config'); +const defaultLocale = config.i18n.locale; + +Vue.filter('percentage', function(value, minFraction = 2, maxFraction = 2, locale = defaultLocale) { + return new Intl.NumberFormat(locale, { + style: 'percent', + minimumFractionDigits: minFraction, + maximumFractionDigits: maxFraction + }).format(parseFloat(value)); +}); diff --git a/print/core/mixins/image-src.js b/print/core/mixins/image-src.js new file mode 100644 index 0000000000..7fd557410e --- /dev/null +++ b/print/core/mixins/image-src.js @@ -0,0 +1,23 @@ +const Vue = require('vue'); +const config = require('../config'); + +const imageSrc = { + methods: { + getEmailSrc(image) { + let src = `cid:${image}`; + + if (this.isPreview === 'true') + src = `/api/${this.$options.name}/assets/images/${image}`; + + return src; + }, + getReportSrc(image) { + const assetsPath = `${config.app.host}/api/${this.$options.name}`; + const imagePath = `${assetsPath}/assets/images/${image}`; + + return imagePath; + } + } +}; + +Vue.mixin(imageSrc); diff --git a/print/core/mixins/index.js b/print/core/mixins/index.js new file mode 100644 index 0000000000..ea8205d750 --- /dev/null +++ b/print/core/mixins/index.js @@ -0,0 +1,4 @@ +// Import global mixins +require('./image-src'); +require('./user-locale'); +require('./prop-validator'); diff --git a/print/core/mixins/prop-validator.js b/print/core/mixins/prop-validator.js new file mode 100644 index 0000000000..d380f723d3 --- /dev/null +++ b/print/core/mixins/prop-validator.js @@ -0,0 +1,26 @@ +const Vue = require('vue'); +const validator = { + created() { + const props = this.$options.props; + const invalidProps = []; + + for (prop in props) { + const isObject = typeof props[prop] === 'object'; + const isRequired = props[prop].required; + const isNotDefined = this[prop] === undefined; + + if (isObject && isRequired && isNotDefined) + invalidProps.push(prop); + } + + if (invalidProps.length > 0) { + const required = invalidProps.join(', '); + + throw new Error(`Required params not found [${required}]`); + } + }, + props: ['isPreview'] +}; + + +Vue.mixin(validator); diff --git a/print/core/mixins/user-locale.js b/print/core/mixins/user-locale.js new file mode 100644 index 0000000000..bb688b7bf5 --- /dev/null +++ b/print/core/mixins/user-locale.js @@ -0,0 +1,24 @@ +const Vue = require('vue'); +const db = require('../database'); +const userLocale = { + async serverPrefetch() { + if (this.clientId) + this.locale = await this.getLocale(this.clientId); + + if (this.locale) + this.$i18n.locale = this.locale; + }, + methods: { + getLocale(clientId) { + return db.findOne(` + SELECT lang FROM account.user + WHERE id = ?`, [clientId]).then(rows => { + return rows.lang; + }); + } + }, + props: ['clientId'] +}; + + +Vue.mixin(userLocale); diff --git a/print/core/report.js b/print/core/report.js new file mode 100644 index 0000000000..db4c9f427e --- /dev/null +++ b/print/core/report.js @@ -0,0 +1,38 @@ +const fs = require('fs'); +const pdf = require('html-pdf'); +const path = require('path'); +const config = require('./config'); +const Component = require('./component'); + +if (!process.env.OPENSSL_CONF) + process.env.OPENSSL_CONF = '/etc/ssl/'; + +class Report extends Component { + constructor(name, args) { + super(name); + + this.args = args; + } + + get path() { + return `../templates/reports/${this.name}`; + } + + async toPdfStream() { + const template = await this.render(); + let options = config.pdf; + + const optionsPath = `${this.path}/options.json`; + const fullPath = path.resolve(__dirname, optionsPath); + if (fs.existsSync(fullPath)) + options = Object.assign(options, require(optionsPath)); + + return new Promise(resolve => { + pdf.create(template, options).toStream((err, stream) => { + resolve(stream); + }); + }); + } +} + +module.exports = Report; diff --git a/print/core/router.js b/print/core/router.js new file mode 100644 index 0000000000..173c315659 --- /dev/null +++ b/print/core/router.js @@ -0,0 +1,51 @@ +const Report = require('./report'); +const Email = require('./email'); + +module.exports = app => { + app.get(`/api/report/:name`, async(req, res, next) => { + const args = req.query; + const requiredArgs = ['clientId']; + + const hasRequiredArgs = requiredArgs.every(arg => { + return args[arg]; + }); + + if (!hasRequiredArgs) + res.json({message: 'Required params recipient, clientId'}); + + try { + const report = new Report(req.params.name, args); + const stream = await report.toPdfStream(); + res.setHeader('Content-type', 'application/pdf'); + stream.pipe(res); + } catch (e) { + next(e); + } + }); + + app.get(`/api/email/:name`, async(req, res, next) => { + const args = req.query; + const requiredArgs = ['recipient', 'clientId']; + + const hasRequiredArgs = requiredArgs.every(arg => { + return args[arg]; + }); + + if (!hasRequiredArgs) + res.json({message: 'Required params recipient, clientId'}); + + try { + const email = new Email(req.params.name, args); + if (args.isPreview === 'true') { + const rendered = await email.render(); + + res.send(rendered); + } else { + await email.send(); + res.status(200).json({message: 'Sent'}); + } + } catch (e) { + next(e); + } + }); +}; diff --git a/print/lib/smtp.js b/print/core/smtp.js similarity index 86% rename from print/lib/smtp.js rename to print/core/smtp.js index 65fb582895..6f8bb20f9d 100644 --- a/print/lib/smtp.js +++ b/print/core/smtp.js @@ -1,5 +1,5 @@ const nodemailer = require('nodemailer'); -const config = require('./config.js'); +const config = require('./config'); module.exports = { init() { @@ -11,7 +11,7 @@ module.exports = { options.from = `${config.app.senderName} <${config.app.senderMail}>`; if (process.env.NODE_ENV !== 'production') { - if (!config.smtp.user) + if (!config.smtp.auth.user) return Promise.resolve(true); options.to = config.app.senderMail; diff --git a/print/lib/cssReader.js b/print/core/stylesheet.js similarity index 85% rename from print/lib/cssReader.js rename to print/core/stylesheet.js index 578736d424..ffa1419683 100644 --- a/print/lib/cssReader.js +++ b/print/core/stylesheet.js @@ -1,6 +1,6 @@ const fs = require('fs-extra'); -class CssReader { +class Stylesheet { constructor(files) { this.files = files; this.css = []; @@ -15,4 +15,4 @@ class CssReader { } } -module.exports = CssReader; +module.exports = Stylesheet; diff --git a/print/lib/database.js b/print/lib/database.js deleted file mode 100644 index bd0e18c543..0000000000 --- a/print/lib/database.js +++ /dev/null @@ -1,9 +0,0 @@ -const mysql = require('mysql2/promise'); -const config = require('./config.js'); - -module.exports = { - init() { - if (!this.pool) - this.pool = mysql.createPool(config.mysql); - }, -}; diff --git a/print/lib/emailEngine.js b/print/lib/emailEngine.js deleted file mode 100644 index 2ccff4f874..0000000000 --- a/print/lib/emailEngine.js +++ /dev/null @@ -1,152 +0,0 @@ -const Vue = require('vue'); -const VueI18n = require('vue-i18n'); -const renderer = require('vue-server-renderer').createRenderer(); -const fs = require('fs-extra'); -const juice = require('juice'); -const smtp = require('./smtp'); -const fallbackLocale = 'es'; - -if (!process.env.OPENSSL_CONF) - process.env.OPENSSL_CONF = '/etc/ssl/'; - -Vue.use(VueI18n); - -module.exports = { - - path: `${appPath}/report`, - - /** - * Renders a report component - * - * @param {String} name - Report name - * @param {Object} ctx - Request context - */ - async render(name, ctx) { - const component = require(`${this.path}/${name}`); - const result = await this.preFetch(component, ctx); - const i18n = new VueI18n({ - locale: 'es', - fallbackLocale - }); - const app = new Vue({i18n, - render: h => h(result.component)}); - - return renderer.renderToString(app).then(renderedHtml => { - return { - html: renderedHtml, - data: result.mergedData, - }; - }); - }, - - /** - * Prefetch all component data from asyncData method - * - * @param {Object} orgComponent - Component object - * @param {Object} ctx - Request context - */ - async preFetch(orgComponent, ctx) { - let component = Object.create(orgComponent); - let mergedData = {attachments: []}; - let asyncData = {}; - let data = {}; - let params = {}; - - if (Object.keys(ctx.body).length > 0) - params = ctx.body; - - if (Object.keys(ctx.query).length > 0) - params = ctx.query; - - await this.attachAssets(component); - - if (orgComponent.hasOwnProperty('data')) - data = orgComponent.data(); - - if (orgComponent.hasOwnProperty('asyncData')) { - asyncData = await orgComponent.asyncData(ctx, params); - - if (asyncData.locale) { - let locale = component.i18n.messages[asyncData.locale]; - - if (!locale) - locale = component.i18n.messages[fallbackLocale]; - - mergedData.subject = locale.subject; - } - } - - mergedData = Object.assign(mergedData, data, asyncData); - - component.data = function data() { - return mergedData; - }; - - if (data.hasOwnProperty('files')) { - const files = data.files; - files.forEach(file => { - const componentPath = `${this.path}/${orgComponent.name}`; - let fileSrc = componentPath + file; - - if (file.slice(0, 4) === 'http' || file.slice(0, 5) === 'https') - fileSrc = file; - - const fileName = file.split('/').pop(); - mergedData.attachments.push({ - filename: fileName, - path: fileSrc, - cid: file, - }); - }); - } - - const components = orgComponent.components; - - if (components) { - const promises = []; - const childNames = []; - component.components = {}; - - Object.keys(components).forEach(childName => { - childNames.push(childName); - promises.push(this.preFetch(components[childName], ctx)); - }); - - await Promise.all(promises).then(results => { - results.forEach((result, i) => { - result.mergedData.attachments.forEach(atth => { - mergedData.attachments.push(atth); - }); - - component.components[childNames[i]] = result.component; - }); - }); - } - - return {component, mergedData}; - }, - - async attachAssets(component) { - const localePath = `${this.path}/${component.name}/locale.js`; - const templatePath = `${this.path}/${component.name}/index.html`; - const stylePath = `${this.path}/${component.name}/assets/css/index.js`; - - const template = await fs.readFile(templatePath, 'utf8'); - const css = require(stylePath); - - component.i18n = require(localePath); - component.template = juice.inlineContent(template, css); - }, - - async toEmail(name, ctx) { - const rendered = await this.render(name, ctx); - const data = rendered.data; - const options = { - to: data.recipient, - subject: data.subject, - html: rendered.html, - attachments: data.attachments, - }; - return smtp.send(options); - }, -}; diff --git a/print/lib/exceptions/userException.js b/print/lib/exceptions/userException.js deleted file mode 100644 index feb7547d24..0000000000 --- a/print/lib/exceptions/userException.js +++ /dev/null @@ -1,12 +0,0 @@ -module.exports = class UserException extends Error { - /** - * UserException - * @param {String} message - Error message - */ - constructor(message) { - super(message); - - this.httpStatusCode = 400; - this.name = 'UserException'; - } -}; diff --git a/print/lib/mixins/text.js b/print/lib/mixins/text.js deleted file mode 100755 index be67a8746d..0000000000 --- a/print/lib/mixins/text.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - methods: { - uFirst: (text) => { - return text; - }, - }, -}; diff --git a/print/lib/reportEngine.js b/print/lib/reportEngine.js deleted file mode 100644 index 0903c0f78d..0000000000 --- a/print/lib/reportEngine.js +++ /dev/null @@ -1,119 +0,0 @@ -const Vue = require('vue'); -const VueI18n = require('vue-i18n'); -const renderer = require('vue-server-renderer').createRenderer(); -const fs = require('fs-extra'); -const pdf = require('html-pdf'); -const juice = require('juice'); -const config = require('./config'); - -Vue.use(VueI18n); - -if (!process.env.OPENSSL_CONF) - process.env.OPENSSL_CONF = '/etc/ssl/'; - -module.exports = { - - path: `${appPath}/report`, - - /** - * Renders a report component - * - * @param {String} name - Report name - * @param {Object} ctx - Request context - */ - async render(name, ctx) { - const component = require(`${this.path}/${name}`); - const result = await this.preFetch(component, ctx); - const i18n = new VueI18n({ - locale: 'es', - fallbackLocale: 'es', - silentTranslationWarn: true - }); - const app = new Vue({i18n, - render: h => h(result.component)}); - - return renderer.renderToString(app); - }, - - /** - * Prefetch all component data from asyncData method - * - * @param {Object} orgComponent - Component object - * @param {Object} ctx - Request context - */ - async preFetch(orgComponent, ctx) { - let component = Object.create(orgComponent); - let mergedData = {}; - let asyncData = {}; - let data = {}; - let params = {}; - - if (Object.keys(ctx.body).length > 0) - params = ctx.body; - - if (Object.keys(ctx.query).length > 0) - params = ctx.query; - - await this.attachAssets(component); - - if (orgComponent.hasOwnProperty('data')) - data = orgComponent.data(); - - if (orgComponent.hasOwnProperty('asyncData')) - asyncData = await orgComponent.asyncData(ctx, params); - - mergedData = Object.assign(mergedData, data, asyncData); - - component.data = function data() { - return mergedData; - }; - - const components = orgComponent.components; - if (components) { - const promises = []; - const childNames = []; - component.components = {}; - - Object.keys(components).forEach(childName => { - childNames.push(childName); - promises.push(this.preFetch(components[childName], ctx)); - }); - - await Promise.all(promises).then(results => { - results.forEach((result, i) => { - component.components[childNames[i]] = result.component; - }); - }); - } - - return {component}; - }, - - async attachAssets(component) { - const localePath = `${this.path}/${component.name}/locale`; - const templatePath = `${this.path}/${component.name}/index.html`; - const stylePath = `${this.path}/${component.name}/assets/css/index`; - - const template = await fs.readFile(templatePath, 'utf8'); - const css = require(stylePath); - const cssOptions = {inlinePseudoElements: true}; - - component.i18n = require(localePath); - component.template = juice.inlineContent(template, css, cssOptions); - }, - - async toPdf(name, ctx) { - const html = await this.render(name, ctx); - let options = config.pdf; - - const optionsPath = `${this.path}/${name}/options.json`; - if (fs.existsSync(optionsPath)) - options = Object.assign(options, require(optionsPath)); - - return new Promise(resolve => { - pdf.create(html, options).toStream((err, stream) => { - resolve(stream); - }); - }); - }, -}; diff --git a/print/lib/router.js b/print/lib/router.js deleted file mode 100644 index 59e8a5b74a..0000000000 --- a/print/lib/router.js +++ /dev/null @@ -1,64 +0,0 @@ -const reportEngine = require('./reportEngine.js'); -const emailEngine = require('./emailEngine'); -const express = require('express'); -const routes = require(`../config/routes.json`); - -module.exports = app => { - this.path = `${appPath}/report`; - - /** - * Enables a report - * - * @param {String} name - Report state path - */ - function registerReport(name) { - if (!name) throw new Error('Report name required'); - - app.get(`/api/report/${name}`, (request, response, next) => { - reportEngine.toPdf(name, request).then(stream => { - response.setHeader('Content-type', 'application/pdf'); - stream.pipe(response); - }).catch(e => { - next(e); - }); - }); - } - - /** - * Enables a email - * - * @param {String} name - Report state path - */ - function registerEmail(name) { - if (!name) throw new Error('Email name required'); - - app.get(`/api/email/${name}`, (request, response, next) => { - emailEngine.render(name, request).then(rendered => { - response.send(rendered.html); - }).catch(e => { - next(e); - }); - }); - - app.post(`/api/email/${name}`, (request, response, next) => { - emailEngine.toEmail(name, request).then(() => { - response.status(200).json({status: 200}); - }).catch(e => { - next(e); - }); - }); - } - - /** - * Register routes - */ - routes.forEach(route => { - if (route.type === 'email') - registerEmail(route.name); - else if (route.type === 'report') - registerReport(route.name); - - const staticPath = this.path + `/${route.name}/assets`; - app.use(`/api/assets`, express.static(staticPath)); - }); -}; diff --git a/print/package-lock.json b/print/package-lock.json index 2be86cc840..0704fec0fa 100644 --- a/print/package-lock.json +++ b/print/package-lock.json @@ -21,9 +21,20 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } }, "asn1": { "version": "0.2.4", @@ -39,12 +50,9 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "^4.17.10" - } + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.1.0.tgz", + "integrity": "sha512-4vx/aaY6j/j3Lw3fbCHNWP0pPaTCew3F6F3hYyl/tHs/ndmV1q7NW9T5yuJ2XAGwdQrP+6Wu20x06U4APo/iQQ==" }, "asynckit": { "version": "0.4.0", @@ -80,21 +88,24 @@ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "optional": true }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "cheerio": { @@ -120,6 +131,44 @@ "lodash.some": "^4.4.0" } }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "combined-stream": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", @@ -129,9 +178,9 @@ } }, "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==" + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "concat-stream": { "version": "1.6.2", @@ -200,9 +249,9 @@ } }, "css-what": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", - "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" }, "dashdash": { "version": "1.14.1", @@ -213,13 +262,12 @@ } }, "datauri": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/datauri/-/datauri-1.1.0.tgz", - "integrity": "sha512-0q+cTTKx7q8eDteZRIQLTFJuiIsVing17UbWTPssY4JLSMaYsk/VKpNulBDo9NSgQWcvlPrkEHW8kUO67T/7mQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/datauri/-/datauri-2.0.0.tgz", + "integrity": "sha512-zS2HSf9pI5XPlNZgIqJg/wCJpecgU/HA6E/uv2EfaWnW1EiTGLfy/EexTIsC9c99yoCOTXlqeeWk4FkCSuO3/g==", "requires": { - "image-size": "^0.6.2", - "mimer": "^0.3.2", - "semver": "^5.5.0" + "image-size": "^0.7.3", + "mimer": "^1.0.0" } }, "debug": { @@ -231,6 +279,11 @@ "ms": "2.0.0" } }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -242,24 +295,22 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "denque": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.0.tgz", - "integrity": "sha512-gh513ac7aiKrAgjiIBWZG0EASyDF9p4JMWwKA8YU5s9figrL5SRNEMT6FDynsegakuhWd1wVqTvqvqAoDxw7wQ==" + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz", + "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ==" + }, + "dijkstrajs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.1.tgz", + "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" }, "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } + "domelementtype": "^1.3.0", + "entities": "^1.1.1" } }, "domelementtype": { @@ -293,6 +344,11 @@ "safer-buffer": "^2.1.0" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, "entities": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", @@ -309,6 +365,11 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, "extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", @@ -350,6 +411,14 @@ "pend": "~1.2.0" } }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", @@ -383,6 +452,11 @@ "is-property": "^1.0.2" } }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -418,6 +492,11 @@ "ansi-regex": "^2.0.0" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "hash-sum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", @@ -447,16 +526,16 @@ } }, "htmlparser2": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.0.tgz", - "integrity": "sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "requires": { - "domelementtype": "^1.3.0", + "domelementtype": "^1.3.1", "domhandler": "^2.3.0", "domutils": "^1.5.1", "entities": "^1.1.1", "inherits": "^2.0.1", - "readable-stream": "^3.0.6" + "readable-stream": "^3.1.1" } }, "http-signature": { @@ -470,23 +549,33 @@ } }, "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.0.tgz", + "integrity": "sha512-NnEhI9hIEKHOzJ4f697DMz9IQEXr/MMJ5w64vN2/4Ai+wRnvV7SBrL0KLoRlwaKVghOc7LQ5YkPLuX146b6Ydw==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "image-size": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", - "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.7.5.tgz", + "integrity": "sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g==" }, "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "intl": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/intl/-/intl-1.2.5.tgz", + "integrity": "sha1-giRKIZDE5Bn4Nx9ao02qNCDiq94=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, "is-property": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", @@ -519,6 +608,15 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", @@ -559,9 +657,9 @@ } }, "juice": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/juice/-/juice-5.1.0.tgz", - "integrity": "sha512-SRfLv0y7xwAKnsd6HWS9aSF0+a9ozXEatKlXHiiTvozdZu0Vwz9dDk7NEpy/N2icFTnhYtk1Du3rPNtH7fFVHw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/juice/-/juice-5.2.0.tgz", + "integrity": "sha512-0l6GZmT3efexyaaay3SchKT5kG311N59TEFP5lfvEy0nz9SNqjx311plJ3b4jze7arsmDsiHQLh/xnAuk0HFTQ==", "requires": { "cheerio": "^0.22.0", "commander": "^2.15.1", @@ -569,7 +667,7 @@ "deep-extend": "^0.6.0", "mensch": "^0.3.3", "slick": "^1.12.2", - "web-resource-inliner": "^4.2.1" + "web-resource-inliner": "^4.3.1" } }, "kew": { @@ -587,10 +685,14 @@ "graceful-fs": "^4.1.9" } }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } }, "lodash._reinterpolate": { "version": "3.0.0", @@ -633,9 +735,9 @@ "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" }, "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==" + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" }, "lodash.pick": { "version": "4.4.0", @@ -658,20 +760,20 @@ "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" }, "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz", + "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==", "requires": { - "lodash._reinterpolate": "~3.0.0", + "lodash._reinterpolate": "^3.0.0", "lodash.templatesettings": "^4.0.0" } }, "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==", "requires": { - "lodash._reinterpolate": "~3.0.0" + "lodash._reinterpolate": "^3.0.0" } }, "lodash.unescape": { @@ -690,12 +792,11 @@ "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "yallist": "^3.0.2" } }, "mensch": { @@ -717,9 +818,9 @@ } }, "mimer": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/mimer/-/mimer-0.3.2.tgz", - "integrity": "sha512-N6NcgDQAevhP/02DQ/epK6daLy4NKrIHyTlJcO6qBiYn98q+Y4a/knNsAATCe1xLS2F0nEmJp+QYli2s8vKwyQ==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mimer/-/mimer-1.0.0.tgz", + "integrity": "sha512-4ZJvCzfcwsBgPbkKXUzGoVZMWjv8IDIygkGzVc7uUYhgnK0t2LmGxxjdgH1i+pn0/KQfB5F/VKUJlfyTSOFQjg==" }, "minimist": { "version": "0.0.8", @@ -743,15 +844,15 @@ "optional": true }, "mysql2": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-1.6.5.tgz", - "integrity": "sha512-zedaOOyb3msuuZcJJnxIX/EGOpmljDG7B+UevRH5lqcv+yhy9eCwkArBz8/AO+/rlY3/oCsOdG8R5oD6k0hNfg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-1.7.0.tgz", + "integrity": "sha512-xTWWQPjP5rcrceZQ7CSTKR/4XIDeH/cRkNH/uzvVGQ7W5c7EJ0dXeJUusk7OKhIoHj7uFKUxDVSCfLIl+jluog==", "requires": { - "denque": "^1.4.0", + "denque": "^1.4.1", "generate-function": "^2.3.1", - "iconv-lite": "^0.4.24", + "iconv-lite": "^0.5.0", "long": "^4.0.0", - "lru-cache": "^4.1.3", + "lru-cache": "^5.1.1", "named-placeholders": "^1.1.2", "seq-queue": "^0.0.5", "sqlstring": "^2.3.1" @@ -763,6 +864,22 @@ "integrity": "sha512-wiFWqxoLL3PGVReSZpjLVxyJ1bRqe+KKJVbr4hGs1KWfTZTQyezHFBbuKj9hsizHyGV2ne7EMjHdxEGAybD5SA==", "requires": { "lru-cache": "^4.1.3" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + } } }, "nice-try": { @@ -788,6 +905,32 @@ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, + "p-limit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", + "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -863,6 +1006,11 @@ "pinkie": "^2.0.0" } }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -890,15 +1038,33 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, + "qrcode": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.2.tgz", + "integrity": "sha512-eR6RgxFYPDFH+zFLTJKtoNP/RlsHANQb52AUmQ2bGDPMuUw7jJb0F+DNEgx7qQGIElrbFxWYMc0/B91zLZPF9Q==", + "requires": { + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + } + } + }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "readable-stream": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz", - "integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -941,10 +1107,20 @@ "throttleit": "^1.0.0" } }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "requires": { "path-parse": "^1.0.6" } @@ -960,9 +1136,9 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "seq-queue": { "version": "0.0.5", @@ -970,9 +1146,14 @@ "integrity": "sha1-1WgS4cAXpuTnw+Ojeh2m143TyT4=" }, "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==" + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "shebang-command": { "version": "1.2.0", @@ -997,6 +1178,11 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=" }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, "sqlstring": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz", @@ -1023,12 +1209,44 @@ "resolved": "https://registry.npmjs.org/strftime/-/strftime-0.10.0.tgz", "integrity": "sha1-s/D6QZKVICpaKJ9ta+n0kJphcZM=" }, - "string_decoder": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.2.0.tgz", - "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "requires": { - "safe-buffer": "~5.1.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + } } }, "strip-ansi": { @@ -1040,9 +1258,12 @@ } }, "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } }, "throttleit": { "version": "1.0.0", @@ -1109,9 +1330,9 @@ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "valid-data-url": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-0.1.6.tgz", - "integrity": "sha512-FXg2qXMzfAhZc0y2HzELNfUeiOjPr+52hU1DNBWiJJ2luXD+dD1R9NA48Ug5aj0ibbxroeGDc/RJv6ThiGgkDw==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/valid-data-url/-/valid-data-url-2.0.0.tgz", + "integrity": "sha512-dyCZnv3aCey7yfTgIqdZanKl7xWAEEKCbgmR7SKqyK6QT/Z07ROactrgD1eA37C69ODRj7rNOjzKWVPh0EUjBA==" }, "verror": { "version": "1.10.0", @@ -1124,19 +1345,19 @@ } }, "vue": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.7.tgz", - "integrity": "sha512-g7ADfQ82QU+j6F/bVDioVQf2ccIMYLuR4E8ev+RsDBlmwRkhGO3HhgF4PF9vpwjdPpxyb1zzLur2nQ2oIMAMEg==" + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz", + "integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==" }, "vue-i18n": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.8.2.tgz", - "integrity": "sha512-P09ZN2S0mX1AmhSR/+wP2owP3izGVx1pSoDFcOXTLya5xvP95dG7kc9LQUnboPgSzK/JKe9FkYmoYdDTKDjPSw==" + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.15.0.tgz", + "integrity": "sha512-juJ/avAP39bOMycC+qQDLJ8U9z9LtLF/9PsRoJLBSfsYZo9bqYntyyX5QPicwlb1emJKjgxhZ3YofHiQcXBu0Q==" }, "vue-server-renderer": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.7.tgz", - "integrity": "sha512-CVtGR+bE63y4kyIeOcCEF2UNKquSquFQAsTHZ5R1cGM4L4Z0BXgAUEcngTOy8kN+tubt3c1zpRvbrok/bHKeDg==", + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/vue-server-renderer/-/vue-server-renderer-2.6.10.tgz", + "integrity": "sha512-UYoCEutBpKzL2fKCwx8zlRtRtwxbPZXKTqbl2iIF4yRZUNO/ovrHyDAJDljft0kd+K0tZhN53XRHkgvCZoIhug==", "requires": { "chalk": "^1.1.3", "hash-sum": "^1.0.2", @@ -1146,21 +1367,46 @@ "resolve": "^1.2.0", "serialize-javascript": "^1.3.0", "source-map": "0.5.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } } }, "web-resource-inliner": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.2.1.tgz", - "integrity": "sha512-fOWnBQHVX8zHvEbECDTxtYL0FXIIZZ5H3LWoez8mGopYJK7inEru1kVMDzM1lVdeJBNEqUnNP5FBGxvzuMcwwQ==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/web-resource-inliner/-/web-resource-inliner-4.3.3.tgz", + "integrity": "sha512-Qk19pohqZs3SoFUW4ZlOHlM8hsOnXhTpCrQ16b1qtJtKzJgO7NZLGP+/lcb2g3hWDQD39/LE/JYOn1Sjy7tn1A==", "requires": { - "async": "^2.1.2", - "chalk": "^1.1.3", - "datauri": "^1.0.4", + "async": "^3.1.0", + "chalk": "^2.4.2", + "datauri": "^2.0.0", "htmlparser2": "^3.9.2", "lodash.unescape": "^4.0.1", "request": "^2.78.0", - "valid-data-url": "^0.1.4", - "xtend": "^4.0.0" + "safer-buffer": "^2.1.2", + "valid-data-url": "^2.0.0", + "xtend": "^4.0.2" } }, "which": { @@ -1171,15 +1417,84 @@ "isexe": "^2.0.0" } }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "yargs": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.0.tgz", + "integrity": "sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA==", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.1" + } + }, + "yargs-parser": { + "version": "13.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", + "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } }, "yauzl": { "version": "2.4.1", diff --git a/print/package.json b/print/package.json index 0332817c2e..971e74c74a 100755 --- a/print/package.json +++ b/print/package.json @@ -15,13 +15,15 @@ "dependencies": { "fs-extra": "^7.0.1", "html-pdf": "^2.2.0", - "juice": "^5.0.1", - "mysql2": "^1.6.5", + "intl": "^1.2.5", + "js-yaml": "^3.13.1", + "juice": "^5.2.0", + "mysql2": "^1.7.0", "nodemailer": "^4.7.0", "qrcode": "^1.4.2", "strftime": "^0.10.0", - "vue": "^2.6.7", - "vue-i18n": "^8.8.2", - "vue-server-renderer": "^2.6.7" + "vue": "^2.6.10", + "vue-i18n": "^8.15.0", + "vue-server-renderer": "^2.6.10" } } diff --git a/print/report/claim-pickup-order/assets/css/index.js b/print/report/claim-pickup-order/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/claim-pickup-order/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/claim-pickup-order/index.html b/print/report/claim-pickup-order/index.html deleted file mode 100644 index fa2b0c530b..0000000000 --- a/print/report/claim-pickup-order/index.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('description.dear')}},

-

{{$t('description.instructions')}}

- - -
- - - -
- - \ No newline at end of file diff --git a/print/report/claim-pickup-order/index.js b/print/report/claim-pickup-order/index.js deleted file mode 100755 index 38cb65e784..0000000000 --- a/print/report/claim-pickup-order/index.js +++ /dev/null @@ -1,53 +0,0 @@ -const UserException = require(`${appPath}/lib/exceptions/userException`); -const reportEngine = require(`${appPath}/lib/reportEngine`); -const database = require(`${appPath}/lib/database`); -const emailHeader = require('../email-header'); -const emailFooter = require('../email-footer'); - - -module.exports = { - name: 'claim-pickup-order', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.claimFk) - throw new UserException('No claim id specified'); - - promises.push(reportEngine.toPdf('rpt-claim-pickup-order', ctx)); - promises.push(this.methods.fetchClient(params.claimFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[client]] = result[1]; - - Object.assign(data, client); - Object.assign(data, {attachments: [{filename: 'claim-pickup-order.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(claimFk) { - return database.pool.query(` - SELECT - c.id, - u.lang locale, - c.email recipient - FROM claim cl - JOIN client c ON c.id = cl.clientFk - JOIN account.user u ON u.id = c.id - WHERE cl.id = ?`, [claimFk]); - }, - }, - components: { - emailHeader, - emailFooter, - }, -}; diff --git a/print/report/claim-pickup-order/locale.js b/print/report/claim-pickup-order/locale.js deleted file mode 100644 index 343a9f9ab0..0000000000 --- a/print/report/claim-pickup-order/locale.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Orden de recogida', - title: 'Orden de recogida', - description: { - dear: 'Estimado cliente', - instructions: 'Aqui tienes tu orden de recogida.' - }, - sections: { - howToBuy: { - title: 'Cómo hacer un pedido', - description: `Para realizar un pedido en nuestra web, - debes configurarlo indicando:`, - requeriments: [ - 'Si quieres recibir el pedido (por agencia o por nuestro propio reparto) o si lo prefieres recoger en alguno de nuestros almacenes.', - 'La fecha en la que quieres recibir el pedido (se preparará el día anterior).', - 'La dirección de entrega o el almacén donde quieres recoger el pedido.'], - stock: 'En nuestra web y aplicaciones puedes visualizar el stock disponible de flor cortada, verdes, plantas, complementos y artificial. Ten 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.', - delivery: 'El reparto se realiza de lunes a sábado según la zona en la que te encuentres. 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.', - } - } - }, - }, -}; diff --git a/print/report/client-lcr/assets/css/index.js b/print/report/client-lcr/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/client-lcr/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/client-lcr/index.html b/print/report/client-lcr/index.html deleted file mode 100644 index 91fa67ab53..0000000000 --- a/print/report/client-lcr/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('description.dear')}},

-

{{$t('description.instructions')}}

-

{{$t('description.conclusion')}}

-
- - - -
- - \ No newline at end of file diff --git a/print/report/client-lcr/index.js b/print/report/client-lcr/index.js deleted file mode 100755 index bb7ba452d6..0000000000 --- a/print/report/client-lcr/index.js +++ /dev/null @@ -1,49 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const reportEngine = require(`${appPath}/lib/reportEngine.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'client-lcr', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - promises.push(reportEngine.toPdf('rpt-lcr', ctx)); - promises.push(this.methods.fetchClient(params.clientFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[client]] = result[1]; - - Object.assign(data, client); - Object.assign(data, {attachments: [{filename: 'rpt-lcr.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - - methods: { - fetchClient(clientFk) { - return database.pool.query(` - SELECT - u.lang locale, - c.email recipient - FROM client c - JOIN account.user u ON u.id = c.id - WHERE c.id = ?`, [clientFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/client-lcr/locale.js b/print/report/client-lcr/locale.js deleted file mode 100644 index 85a75d778c..0000000000 --- a/print/report/client-lcr/locale.js +++ /dev/null @@ -1,64 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Autorisation pour débit', - title: 'Autorisation pour débit', - description: { - dear: 'Messieurs', - instructions: `Étant donné les excellentes relations existantes entre nos - deux sociétés et en vue de faciliter les processus de - paiement de nos factures, nous vous suggérons l'utilisation - du système française de compensation LCR. - Ce service consiste à effectuer des recouvrements - automatiques, de manière électronique, de nos effets - - lettres de change et billets à ordre - tirés sur votre société - en Euro, qui présente comme principal avantage pour vous - la substantielle réduction de coûts dans des termes de frais - et commissions bancaires. - Dans le cas où vous accepteriez notre proposition, à - l’échéance de chaque effet, votre compte sera débité - automatiquement par votre Banque. - Ainsi, nous vous demandons de signer et envoyer à votre - Banque l'original de l'autorisation pour débit en annexe, - dûment remplie, et de nous retourner une photocopie de la - dite autorisation. - Ce système étant basé sur la transmission de données de - manière électronique, le maniement de documents - physiques á été éliminé - En vous remercieront pour votre collaboration, nous vous - prions d’agréer, Messieurs, nos salutations distinguées.`, - conclusion: 'Bien cordialement' - }, - }, - fr: { - subject: 'Autorisation pour débit', - title: 'Autorisation pour débit', - description: { - dear: 'Messieurs', - instructions: `Étant donné les excellentes relations existantes entre nos - deux sociétés et en vue de faciliter les processus de - paiement de nos factures, nous vous suggérons l'utilisation - du système française de compensation LCR. - Ce service consiste à effectuer des recouvrements - automatiques, de manière électronique, de nos effets - - lettres de change et billets à ordre - tirés sur votre société - en Euro, qui présente comme principal avantage pour vous - la substantielle réduction de coûts dans des termes de frais - et commissions bancaires. - Dans le cas où vous accepteriez notre proposition, à - l’échéance de chaque effet, votre compte sera débité - automatiquement par votre Banque. - Ainsi, nous vous demandons de signer et envoyer à votre - Banque l'original de l'autorisation pour débit en annexe, - dûment remplie, et de nous retourner une photocopie de la - dite autorisation. - Ce système étant basé sur la transmission de données de - manière électronique, le maniement de documents - physiques á été éliminé - En vous remercieront pour votre collaboration, nous vous - prions d’agréer, Messieurs, nos salutations distinguées.`, - conclusion: 'Bien cordialement' - }, - }, - }, -}; diff --git a/print/report/client-welcome/assets/css/index.js b/print/report/client-welcome/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/client-welcome/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/client-welcome/index.html b/print/report/client-welcome/index.html deleted file mode 100644 index d6643e9780..0000000000 --- a/print/report/client-welcome/index.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('dearClient')}},

-

- -

-

{{$t('clientId')}}: {{ id }}
-
{{$t('user')}}: {{userName}}
-
{{$t('password')}}: ******** - ({{$t('passwordResetText')}}) -
-

- -

{{$t('sections.howToBuy.title')}}

-

{{$t('sections.howToBuy.description')}}

-
    -
  1. - -
  2. -
-

{{$t('sections.howToBuy.stock')}}

-

{{$t('sections.howToBuy.delivery')}}

- -

{{$t('sections.howToPay.title')}}

-

{{$t('sections.howToPay.description')}}

-
    -
  • - -
  • -
- -

{{$t('sections.toConsider.title')}}

-

{{$t('sections.toConsider.description')}}

- -

{{$t('sections.claimsPolicy.title')}}

-

{{$t('sections.claimsPolicy.description')}}

- -

-

-

- {{$t('salesPersonName')}}: {{salesPersonName}} -
-
- {{$t('salesPersonPhone')}}: {{salesPersonPhone}} -
-
- {{$t('salesPersonEmail')}}: - {{salesPersonEmail}} -
-

-
- - - -
- - \ No newline at end of file diff --git a/print/report/client-welcome/index.js b/print/report/client-welcome/index.js deleted file mode 100755 index b2278b4eef..0000000000 --- a/print/report/client-welcome/index.js +++ /dev/null @@ -1,47 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'client-welcome', - async asyncData(ctx, params) { - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - return this.methods.fetchClient(params.clientFk) - .then(([result]) => { - if (!result) - throw new UserException('No client data found'); - return Object.assign(data, result[0]); - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(clientFk) { - return database.pool.query(` - SELECT - c.id, - u.lang locale, - u.name AS userName, - c.email recipient, - CONCAT(w.lastName, ' ', w.firstName) salesPersonName, - w.phone AS salesPersonPhone, - CONCAT(wu.name, '@verdnatura.es') AS salesPersonEmail - FROM client c - JOIN account.user u ON u.id = c.id - LEFT JOIN worker w ON w.id = c.salesPersonFk - LEFT JOIN account.user wu ON wu.id = w.userFk - WHERE c.id = ?`, [clientFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/client-welcome/locale.js b/print/report/client-welcome/locale.js deleted file mode 100644 index bf18a9d918..0000000000 --- a/print/report/client-welcome/locale.js +++ /dev/null @@ -1,55 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Bienvenido a Verdnatura', - title: '¡Te damos la bienvenida!', - dearClient: 'Estimado cliente', - clientData: `Tus 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`, - clientId: 'Identificador de cliente', - user: 'Usuario', - password: 'Contraseña', - passwordResetText: 'Haz clic en "¿Has olvidado tu contraseña?"', - sections: { - howToBuy: { - title: 'Cómo hacer un pedido', - description: `Para realizar un pedido en nuestra web, - debes configurarlo indicando:`, - requeriments: [ - 'Si quieres recibir el pedido (por agencia o por nuestro propio reparto) o si lo prefieres recoger en alguno de nuestros almacenes.', - 'La fecha en la que quieres recibir el pedido (se preparará el día anterior).', - 'La dirección de entrega o el almacén donde quieres recoger el pedido.'], - stock: 'En nuestra web y aplicaciones puedes visualizar el stock disponible de flor cortada, verdes, plantas, complementos y artificial. Ten 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.', - delivery: 'El reparto se realiza de lunes a sábado según la zona en la que te encuentres. 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.', - }, - howToPay: { - title: 'Cómo pagar', - description: 'Las formas de pago admitidas en Verdnatura son:', - options: [ - 'Con tarjeta a través de nuestra plataforma web (al confirmar el pedido).', - 'Mediante giro bancario mensual, modalidad que hay que solicitar y tramitar.', - ], - }, - toConsider: { - title: 'Cosas a tener en cuenta', - description: `Verdnatura vende EXCLUSIVAMENTE a profesionales, por lo que debes - remitirnos el Modelo 036 ó 037, para comprobar que está - dado/a de alta en el epígrafe correspondiente al comercio de flores.`, - }, - claimsPolicy: { - title: 'POLÍTICA DE RECLAMACIONES', - description: `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.`, - }, - }, - help: 'Cualquier duda que te surja, no dudes en consultarla, ¡estamos para atenderte!', - salesPersonName: 'Soy tu comercial y mi nombre es', - salesPersonPhone: 'Teléfono y whatsapp', - salesPersonEmail: 'Dirección de e-mail', - }, - }, -}; diff --git a/print/report/delivery-note/assets/css/index.js b/print/report/delivery-note/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/delivery-note/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/delivery-note/index.html b/print/report/delivery-note/index.html deleted file mode 100644 index b85f8fab0f..0000000000 --- a/print/report/delivery-note/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('dearClient')}},

-

-

-
- - - -
- - \ No newline at end of file diff --git a/print/report/delivery-note/index.js b/print/report/delivery-note/index.js deleted file mode 100755 index 550e58bbbe..0000000000 --- a/print/report/delivery-note/index.js +++ /dev/null @@ -1,50 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const reportEngine = require(`${appPath}/lib/reportEngine.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'delivery-note', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.ticketFk) - throw new UserException('No ticket id specified'); - - promises.push(reportEngine.toPdf('rpt-delivery-note', ctx)); - promises.push(this.methods.fetchTicket(params.ticketFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[ticket]] = result[1]; - - Object.assign(data, ticket); - Object.assign(data, {attachments: [{filename: 'rpt-delivery-note.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchTicket(ticketFk) { - return database.pool.query(` - SELECT - t.id, - u.lang locale, - c.email recipient - FROM ticket t - JOIN client c ON c.id = t.clientFk - JOIN account.user u ON u.id = c.id - WHERE t.id = ?`, [ticketFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/delivery-note/locale.js b/print/report/delivery-note/locale.js deleted file mode 100644 index 0ddde5fc74..0000000000 --- a/print/report/delivery-note/locale.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Aquí tienes tu albarán', - title: '¡Este es tu albarán!', - dearClient: 'Estimado cliente', - clientData: `A continuación adjuntamos tu albarán.`, - help: 'Cualquier duda que te surja, no dudes en consultarla, ¡estamos para atenderte!' - }, - }, -}; diff --git a/print/report/driver-route/assets/css/index.js b/print/report/driver-route/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/driver-route/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/driver-route/index.html b/print/report/driver-route/index.html deleted file mode 100644 index 45dbd3e1fb..0000000000 --- a/print/report/driver-route/index.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- -

{{$t('description.instructions')}}

-
- - - -
- - \ No newline at end of file diff --git a/print/report/driver-route/index.js b/print/report/driver-route/index.js deleted file mode 100755 index 2a142856f3..0000000000 --- a/print/report/driver-route/index.js +++ /dev/null @@ -1,54 +0,0 @@ -const UserException = require(`${appPath}/lib/exceptions/userException`); -const reportEngine = require(`${appPath}/lib/reportEngine`); -const database = require(`${appPath}/lib/database`); -const emailHeader = require('../email-header'); -const emailFooter = require('../email-footer'); - - -module.exports = { - name: 'driver-route', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.routeFk) - throw new UserException('No route id specified'); - - promises.push(reportEngine.toPdf('rpt-route', ctx)); - promises.push(this.methods.fetchRoute(params.routeFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[route]] = result[1]; - - Object.assign(data, route); - Object.assign(data, {attachments: [{filename: 'driver-route.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchRoute(routeFk) { - return database.pool.query(` - SELECT - u.id, - u.lang AS locale, - mu.email AS recipient - FROM route r - LEFT JOIN worker w ON w.id = r.workerFk - LEFT JOIN account.user u ON u.id = w.userFk - LEFT JOIN account.emailUser mu ON mu.userFk = u.id - WHERE r.id = ?`, [routeFk]); - }, - }, - components: { - emailHeader, - emailFooter, - }, -}; diff --git a/print/report/driver-route/locale.js b/print/report/driver-route/locale.js deleted file mode 100644 index 9255f8f97e..0000000000 --- a/print/report/driver-route/locale.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Hoja de ruta', - title: 'Hoja de ruta', - description: { - instructions: 'Adjuntamos tu hoja de ruta.' - }, - }, - }, -}; diff --git a/print/report/email-footer/assets/css/index.js b/print/report/email-footer/assets/css/index.js deleted file mode 100644 index c321a3fe7f..0000000000 --- a/print/report/email-footer/assets/css/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([`${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/email-footer/index.html b/print/report/email-footer/index.html deleted file mode 100644 index dd7853591c..0000000000 --- a/print/report/email-footer/index.html +++ /dev/null @@ -1,49 +0,0 @@ -
- - - - - -
- - Facebook - - - Twitter - - - Youtube - - - Pinterest - - - Instagram - - - Linkedin - -
- - - -
-

{{$t('privacy.fiscalAddress')}}

-

{{$t('privacy.disclaimer')}}

-

{{$t('privacy.law')}}

-
- -
\ No newline at end of file diff --git a/print/report/email-footer/index.js b/print/report/email-footer/index.js deleted file mode 100755 index 22321dd7d0..0000000000 --- a/print/report/email-footer/index.js +++ /dev/null @@ -1,34 +0,0 @@ -module.exports = { - name: 'email-footer', - asyncData(ctx) { - return { - isPreview: ctx.method === 'GET', - }; - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - - const embeded = []; - this.files.map(file => { - const src = this.isPreview ? `/api/${file}` : `cid:${file}`; - embeded[file] = src; - }); - this.embeded = embeded; - }, - data() { - return { - files: [ - /* '/assets/images/action.png', - '/assets/images/info.png', */ - '/assets/images/facebook.png', - '/assets/images/twitter.png', - '/assets/images/youtube.png', - '/assets/images/pinterest.png', - '/assets/images/instagram.png', - '/assets/images/linkedin.png', - ], - }; - }, - props: ['locale'] -}; diff --git a/print/report/email-footer/locale.js b/print/report/email-footer/locale.js deleted file mode 100644 index 7e8aa401d2..0000000000 --- a/print/report/email-footer/locale.js +++ /dev/null @@ -1,42 +0,0 @@ -module.exports = { - messages: { - es: { - buttons: { - webAcccess: 'Visita nuestra Web', - info: 'Ayúdanos a mejorar', - }, - privacy: { - fiscalAddress: 'VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es', - disclaimer: `- AVISO - Este mensaje es privado y confidencial, y debe ser utilizado - exclusivamente por la persona destinataria del mismo. Si has recibido este mensaje - por error, te rogamos lo comuniques al remitente y borres 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.`, - law: `En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, - te comunicamos que los datos personales que facilites 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.`, - }, - }, - /* fr: { - buttons: { - webAcccess: 'Visitez notre site web', - info: 'Ayúdanos a mejorar', - }, - privacy: { - fiscalAddress: 'VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es', - disclaimer: `- AVISO - Ce message est privé et confidentiel et doit être utilisé. - exclusivamente por la persona destinataria del mismo. Si has recibido este mensaje - por error, te rogamos lo comuniques al remitente y borres 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.`, - law: `En cumplimiento de lo dispuesto en la Ley Orgánica 15/1999, de Protección de Datos de Carácter Personal, - te comunicamos que los datos personales que facilites 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.`, - }, - }, */ - }, -}; diff --git a/print/report/email-header/assets/css/index.js b/print/report/email-header/assets/css/index.js deleted file mode 100644 index c321a3fe7f..0000000000 --- a/print/report/email-header/assets/css/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([`${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/email-header/assets/css/style.css b/print/report/email-header/assets/css/style.css deleted file mode 100644 index 957e12f19e..0000000000 --- a/print/report/email-header/assets/css/style.css +++ /dev/null @@ -1,7 +0,0 @@ -header { - color: #555 -} - -header img { - width: 100% -} \ No newline at end of file diff --git a/print/report/email-header/index.html b/print/report/email-header/index.html deleted file mode 100644 index a8f5f2d747..0000000000 --- a/print/report/email-header/index.html +++ /dev/null @@ -1,5 +0,0 @@ -
- - VerdNatura - -
diff --git a/print/report/email-header/index.js b/print/report/email-header/index.js deleted file mode 100755 index e92d2fa648..0000000000 --- a/print/report/email-header/index.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - name: 'email-header', - asyncData(ctx) { - return { - isPreview: ctx.method === 'GET', - }; - }, - created() { - const embeded = []; - this.files.map(file => { - const src = this.isPreview ? `/api/${file}` : `cid:${file}`; - embeded[file] = src; - }); - this.embeded = embeded; - }, - - data() { - return { - files: ['/assets/images/email-logo.png'], - }; - }, -}; diff --git a/print/report/email-header/locale.js b/print/report/email-header/locale.js deleted file mode 100644 index 7200e6048c..0000000000 --- a/print/report/email-header/locale.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - messages: { - es: {}, - }, -}; diff --git a/print/report/letter-debtor-nd/assets/css/index.js b/print/report/letter-debtor-nd/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/letter-debtor-nd/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/letter-debtor-nd/index.html b/print/report/letter-debtor-nd/index.html deleted file mode 100644 index 01247ced41..0000000000 --- a/print/report/letter-debtor-nd/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{ $t('sections.introduction.title') }},

-

{{ $t('sections.introduction.description') }}

-

{{ $t('sections.introduction.terms') }}

- -

- {{ $t('sections.payMethod.description') }}: -

    -
  1. - {{ option }} -
  2. -
-

- -

- {{ $t('sections.legalAction.description') }}: -

    -
  1. - {{ option }} -
  2. -
-

- -

-

- -

-

-
{{bankName}}
-
{{iban}}
-
-
{{$t('transferAccount') }}
-
-
-

-
- - - -
- - \ No newline at end of file diff --git a/print/report/letter-debtor-nd/index.js b/print/report/letter-debtor-nd/index.js deleted file mode 100755 index b68e9cc939..0000000000 --- a/print/report/letter-debtor-nd/index.js +++ /dev/null @@ -1,58 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const reportEngine = require(`${appPath}/lib/reportEngine.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'letter-debtor-nd', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - if (!params.companyFk) - throw new UserException('No company id specified'); - - promises.push(reportEngine.toPdf('rpt-letter-debtor', ctx)); - promises.push(this.methods.fetchClient(params.clientFk, params.companyFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[client]] = result[1]; - - Object.assign(data, client); - Object.assign(data, {attachments: [{filename: 'rpt-letter-debtor.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(clientFk, companyFk) { - return database.pool.query(` - SELECT - u.lang locale, - c.email recipient, - c.dueDay, - c.iban, - sa.iban, - be.name AS bankName - 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 account.user u ON u.id = c.id - WHERE c.id = ? AND cny.id = ?`, [clientFk, companyFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/letter-debtor-nd/locale.js b/print/report/letter-debtor-nd/locale.js deleted file mode 100644 index f15437a722..0000000000 --- a/print/report/letter-debtor-nd/locale.js +++ /dev/null @@ -1,35 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Reiteración de aviso por saldo deudor', - title: 'Aviso reiterado', - sections: { - introduction: { - title: 'Estimado cliente', - description: `Nos dirigimos a ti nuevamente para informarte que sigue - pendiente tu deuda con nuestra empresa, tal y como puedes comprobar en el extracto adjunto.`, - terms: `Dado que los plazos de pago acordados están ampliamente superados, no procede mayor dilación en la liquidación del importe adeudado.`, - }, - payMethod: { - description: 'Para ello dispones de las siguientes formas de pago', - options: [ - 'Pago online desde nuestra web.', - 'Ingreso o transferencia al número de cuenta que detallamos al pie de esta carta, indicando el número de cliente.', - ], - }, - legalAction: { - description: `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`, - options: [ - 'Inclusión en ficheros negativos sobre solvencia patrimonial y crédito.', - 'Reclamación judicial.', - 'Cesión de deuda a una empresa de gestión de cobro.', - ], - }, - }, - contactPhone: 'Para consultas, puedes ponerte en contacto con nosotros en el 96 324 21 00.', - conclusion: 'En espera de tus noticias.
Gracias por tu atención.', - transferAccount: 'Datos para transferencia bancaria', - }, - }, -}; diff --git a/print/report/letter-debtor-st/assets/css/index.js b/print/report/letter-debtor-st/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/letter-debtor-st/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/letter-debtor-st/index.html b/print/report/letter-debtor-st/index.html deleted file mode 100644 index 4f5ea17ac5..0000000000 --- a/print/report/letter-debtor-st/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{ $t('sections.introduction.title') }},

-

{{ $t('sections.introduction.description') }}

- -

{{ $t('checkExtract') }}

-

{{ $t('checkValidData') }}

-

{{ $t('payMethod') }}

-

{{ $t('conclusion') }}

- -

-

-
{{bankName}}
-
{{iban}}
-
-
{{$t('transferAccount') }}
-
-
-

-
- - - -
- - \ No newline at end of file diff --git a/print/report/letter-debtor-st/index.js b/print/report/letter-debtor-st/index.js deleted file mode 100755 index 8d6ca0362e..0000000000 --- a/print/report/letter-debtor-st/index.js +++ /dev/null @@ -1,59 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const reportEngine = require(`${appPath}/lib/reportEngine.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - - -module.exports = { - name: 'letter-debtor-st', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - if (!params.companyFk) - throw new UserException('No company id specified'); - - promises.push(reportEngine.toPdf('rpt-letter-debtor', ctx)); - promises.push(this.methods.fetchClient(params.clientFk, params.companyFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[client]] = result[1]; - - Object.assign(data, client); - Object.assign(data, {attachments: [{filename: 'rpt-letter-debtor.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(clientFk, companyFk) { - return database.pool.query(` - SELECT - u.lang locale, - c.email recipient, - c.dueDay, - c.iban, - sa.iban, - be.name AS bankName - 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 account.user u ON u.id = c.id - WHERE c.id = ? AND cny.id = ?`, [clientFk, companyFk]); - } - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/letter-debtor-st/locale.js b/print/report/letter-debtor-st/locale.js deleted file mode 100644 index afee352882..0000000000 --- a/print/report/letter-debtor-st/locale.js +++ /dev/null @@ -1,27 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Aviso inicial por saldo deudor', - title: 'Aviso inicial', - sections: { - introduction: { - title: 'Estimado cliente', - description: `Por el presente escrito te comunicamos que, según nuestros - datos contables, tu cuenta tiene un saldo pendiente de liquidar.`, - }, - }, - checkExtract: `Te solicitamos compruebes que el extracto adjunto corresponde con los datos de que dispones. - Nuestro departamento de administración te aclarará gustosamente cualquier duda que puedas tener, - e igualmente te facilitará cualquier documento que solicites.`, - checkValidData: `Si al comprobar los datos aportados resultaran correctos, - te rogamos procedas a regularizar tu situación.`, - payMethod: `Si no deseas desplazarte personalmente hasta nuestras oficinas, - puedes realizar el pago mediante transferencia bancaria a la cuenta que figura al pie del comunicado, - indicando tu número de cliente, o bien puedes realizar el pago online desde nuestra página web.`, - conclusion: 'De antemano te agradecemos tu amable colaboración.', - transferAccount: 'Datos para transferencia bancaria', - }, - }, -}; - - diff --git a/print/report/payment-update/assets/css/index.js b/print/report/payment-update/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/payment-update/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/payment-update/index.html b/print/report/payment-update/index.html deleted file mode 100644 index fdc8936627..0000000000 --- a/print/report/payment-update/index.html +++ /dev/null @@ -1,44 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{ $t('sections.introduction.title') }},

-

- -

-

- {{ $t('sections.pay.method') }}: - {{ payMethodName }} -
-
- {{ $t('sections.pay.day') }}: - {{ $t('sections.pay.dueDay', [dueDay]) }} -
-

- -

-

- {{ $t('sections.pay.cardImplicates') }} -

- -

{{ $t('notifyAnError') }}

-
- - - -
- - \ No newline at end of file diff --git a/print/report/payment-update/index.js b/print/report/payment-update/index.js deleted file mode 100755 index 23218ec89e..0000000000 --- a/print/report/payment-update/index.js +++ /dev/null @@ -1,52 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const emailHeader = require('../email-header'); -const emailFooter = require('../email-footer'); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'payment-update', - async asyncData(ctx, params) { - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - return this.methods.fetchClient(params.clientFk) - .then(([result]) => { - if (!result) - throw new UserException('No client data found'); - return Object.assign(data, result[0]); - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(clientFk) { - return database.pool.query(` - SELECT - u.lang locale, - c.email recipient, - c.dueDay, - c.iban, - pm.id payMethodFk, - pm.name payMethodName - FROM client c - JOIN payMethod pm ON pm.id = c.payMethodFk - JOIN account.user u ON u.id = c.id - WHERE c.id = ?`, [clientFk]); - }, - }, - computed: { - accountAddress: function() { - return this.iban.slice(-4); - }, - }, - components: { - 'email-header': emailHeader, - 'email-footer': emailFooter, - }, -}; diff --git a/print/report/payment-update/locale.js b/print/report/payment-update/locale.js deleted file mode 100644 index 891af2062f..0000000000 --- a/print/report/payment-update/locale.js +++ /dev/null @@ -1,49 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Cambios en las condiciones de pago', - title: 'Cambios en las condiciones', - sections: { - introduction: { - title: 'Estimado cliente', - description: `Te informamos que han cambiado las condiciones de pago de tu cuenta. -
A continuación te indicamos las nuevas condiciones`, - }, - pay: { - method: 'Método de pago', - day: 'Día de pago', - dueDay: '{0} de cada mes', - cardImplicates: `Tu modo de pago actual implica que deberás abonar el - importe de los pedidos realizados en el mismo día para que se puedan enviar.`, - accountImplicates: `Tu modo de pago actual implica que se te pasará un cargo a la - cuenta terminada en "{0}" por el importe pendiente, al vencimiento establecido en las condiciones.`, - }, - }, - notifyAnError: `En el caso de detectar algún error en los datos indicados - o para cualquier aclaración, debes dirigirte a tu comercial.`, - }, - fr: { - subject: 'Changement des C.G.V', - title: 'Changement des C.G.V', - sections: { - introduction: { - title: 'Chèr client', - description: `Nous vous informons que les conditions de paiement ont changé. -
Voici les nouvelles conditions`, - }, - pay: { - method: 'Méthode de paiement', - day: 'Date paiement', - dueDay: '{0} de chaque mois', - cardImplicates: `Avec votre mode de règlement vous devrez - payer le montant des commandes avant son départ.`, - accountImplicates: `Avec ce mode de règlement nous vous passerons un prélèvement automatique dans votre compte bancaire - se termine dans "{0}" our le montant dû, au date à terme établi en nos conditions.`, - }, - }, - notifyAnError: `Pour tout renseignement contactez votre commercial.`, - }, - }, -}; - - diff --git a/print/report/printer-setup/assets/css/index.js b/print/report/printer-setup/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/printer-setup/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/printer-setup/index.html b/print/report/printer-setup/index.html deleted file mode 100644 index 0b62f59193..0000000000 --- a/print/report/printer-setup/index.html +++ /dev/null @@ -1,55 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('description.dear')}},

-

{{$t('description.instructions')}}

-

-

- -

{{$t('sections.QLabel.title')}}

-

{{$t('sections.QLabel.description')}}:

-
    -
  1. - -
  2. -
- - -

{{$t('sections.help.title')}}

-

{{$t('sections.help.description')}}

-

- - -

-

- {{$t('salesPersonName')}}: {{salesPersonName}} -
-
- {{$t('salesPersonPhone')}}: {{salesPersonPhone}} -
-
- {{$t('salesPersonEmail')}}: - {{salesPersonEmail}} -
-

-
- - - -
- - \ No newline at end of file diff --git a/print/report/printer-setup/index.js b/print/report/printer-setup/index.js deleted file mode 100755 index 1353d996c7..0000000000 --- a/print/report/printer-setup/index.js +++ /dev/null @@ -1,55 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'printer-setup', - async asyncData(ctx, params) { - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - return this.methods.fetchClient(params.clientFk) - .then(([result]) => { - if (!result) - throw new UserException('No client data found'); - return Object.assign(data, result[0]); - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - data() { - return { - files: [ - '/assets/files/model.ezp', - '/assets/files/port.png' - ], - }; - }, - methods: { - fetchClient(clientFk) { - return database.pool.query(` - SELECT - c.id, - u.lang locale, - u.name AS userName, - c.email recipient, - CONCAT(w.lastName, ' ', w.firstName) salesPersonName, - w.phone AS salesPersonPhone, - CONCAT(wu.name, '@verdnatura.es') AS salesPersonEmail - FROM client c - JOIN account.user u ON u.id = c.id - LEFT JOIN worker w ON w.id = c.salesPersonFk - LEFT JOIN account.user wu ON wu.id = w.userFk - WHERE c.id = ?`, [clientFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/printer-setup/locale.js b/print/report/printer-setup/locale.js deleted file mode 100644 index dc95c931aa..0000000000 --- a/print/report/printer-setup/locale.js +++ /dev/null @@ -1,59 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Instalación y configuración de impresora', - title: '¡Gracias por tu confianza!', - description: { - dear: 'Estimado cliente', - instructions: 'Sigue las instrucciones especificadas en este correo para llevar a cabo la instalación de la impresora.', - followGuide: `Puedes utilizar como guía, el vídeo del montaje del ribon y la cinta - https://www.youtube.com/watch?v=qhb0kgQF3o8. - También necesitarás el QLabel, el programa para imprimir las cintas.`, - downloadFrom: `Puedes descargarlo desde este enlace - https://godex.s3-accelerate.amazonaws.com/gGnOPoojkP6vC1lgmrbEqQ.file?v01`, - }, - sections: { - QLabel: { - title: 'Utilización de QLabel', - description: 'Para utilizar el programa de impresión de cintas sigue estos pasos', - steps: [ - 'Abre el programa QLabel', - 'Haz clic en el icono de la barra superior con forma de "carpeta"', - 'Selecciona el archivo llamado "model.ezp" adjunto en este correo, y haz clic en abrir', - 'Ve a "File" -> "Save as" y guárdalo en el escritorio con otro nombre', - 'Cierra el Qlabel y abre el archivo que acabamos de guardar', - 'Haz clic encima del texto con el botón secundario del ratón', - 'Elige la primera opción "setup"', - 'Cambia el texto para imprimir', - 'Haz clic en el botón "Ok"', - 'Desplázate con el ratón para ver la medida máxima que ocupa el texto', - 'Haz clic encima del texto con el botón secundario del ratón', - 'Elige la segunda opción "Setup printer"', - 'Haz clic en la primera pestaña "Label Setup"', - 'Modifica la propiedad "Paper Height" con la medida máxima consultada anteriormente', - `Comprueba el puerto de la impresora, botón de de la derecha - "SETUP PRINTER" y en la parte derecha, igual como la imagen - que adjuntamos, seleccionar la que ponga "USB00x: GODEX"`, - 'Haz clic en el botón "Ok"', - 'Haz clic sobre el icono de la impresora', - 'Haz clic en "Print"', - ], - }, - help: { - title: '¿Necesitas ayuda?', - description: `Si necesitas ayuda, descárgate nuestro programa de soporte para poder conectarnos - remotamente a tu equipo y hacerte la instalación. Proporciónanos un horario de contacto para atenderte, y contactaremos contigo.`, - remoteSupport: `Puedes descargarte el programa desde este enlace - http://soporte.verdnatura.es.`, - }, - }, - help: 'Cualquier duda que te surja, no dudes en consultarla, ¡estamos para atenderte!', - salesPersonName: 'Soy tu comercial y mi nombre es', - salesPersonPhone: 'Teléfono y whatsapp', - salesPersonEmail: 'Dirección de e-mail', - }, - }, -}; - - diff --git a/print/report/report-footer/assets/css/index.js b/print/report/report-footer/assets/css/index.js deleted file mode 100644 index c44219258c..0000000000 --- a/print/report/report-footer/assets/css/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${__dirname}/style.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/report-footer/index.html b/print/report/report-footer/index.html deleted file mode 100644 index 11b314af01..0000000000 --- a/print/report/report-footer/index.html +++ /dev/null @@ -1,9 +0,0 @@ -
-
-
{{leftText}}
-
{{centerText}}
-
{{$t('numPages')}}
-
-

{{$t('law.phytosanitary')}}

-

-
diff --git a/print/report/report-footer/index.js b/print/report/report-footer/index.js deleted file mode 100755 index f2eb42d667..0000000000 --- a/print/report/report-footer/index.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - name: 'report-footer', - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - props: ['leftText', 'centerText', 'locale'] -}; diff --git a/print/report/report-footer/locale.js b/print/report/report-footer/locale.js deleted file mode 100644 index bf564c731e..0000000000 --- a/print/report/report-footer/locale.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - messages: { - es: { - numPages: 'Página {{page}} de {{pages}}', - law: { - phytosanitary: 'VERDNATURA LEVANTE SL - Pasaporte Fitosanitario R.P. Generalitat Valenciana - Nº Comerciante: ES17462130', - privacy: `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.`, - } - }, - fr: { - numPages: 'Page {{page}} de {{pages}}', - law: { - phytosanitary: `VERDNATURA LEVANTE SL - Passeport Phytosanitaire R.P. Generalitat Valenciana - Numéro d'opérateur: ES17462130`, - privacy: `Conformément aux dispositions de la loi organique 15/1999 sur la protection des données personnelles, nous vous informons que les données personnelles que vous fournissez seront incluses dans des dossiers. - VERDNATURA LEVANTE S.L., vous pouvez à tout moment, exercer les droits d'accès, de rectification, d'annulation et d'opposition, en communiquant par écrit au siège social de la société. Le dossier a pour objet la gestion administrative, la comptabilité et la facturation.`, - } - }, - pt: { - numPages: 'Página {{page}} de {{pages}}', - law: { - phytosanitary: 'VERDNATURA LEVANTE S.L - Passaporte Fitossanitário R.P. Generalitat Valenciana - Nº Comerciante: ES17462130', - privacy: `Em cumprimento do disposto na lei Orgânica 15/1999, de Protecção de Dados de Carácter Pessoal, comunicamos que os - dados pessoais que facilite se incluirão nos ficheiros automatizados de VERDNATURA LEVANTE S.L., podendo em todo momento - exercer os direitos de acesso, rectificação, cancelação e oposição, comunicando por escrito ao domicílio social da entidade. - A finalidade do ficheiro é a gestão administrativa, contabilidade e facturação.`, - } - }, - }, -}; diff --git a/print/report/report-header/assets/css/index.js b/print/report/report-header/assets/css/index.js deleted file mode 100644 index c321a3fe7f..0000000000 --- a/print/report/report-header/assets/css/index.js +++ /dev/null @@ -1,4 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([`${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/report-header/index.js b/print/report/report-header/index.js deleted file mode 100755 index 8eae2e25ab..0000000000 --- a/print/report/report-header/index.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - name: 'report-header', - created() { - if (this.locale) - this.$i18n.locale = this.locale; - - const embeded = []; - this.files.map(file => { - embeded[file] = `file://${__dirname + file}`; - }); - this.embeded = embeded; - }, - data() { - return { - files: ['/assets/images/report-logo.svg'], - }; - }, - props: ['locale'] -}; diff --git a/print/report/report-header/locale.js b/print/report/report-header/locale.js deleted file mode 100644 index 7b3b9f38ee..0000000000 --- a/print/report/report-header/locale.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - messages: { - es: { - company: { - fiscalAddress: 'VERDNATURA LEVANTE SL, B97367486 Avda. Espioca, 100, 46460 Silla · www.verdnatura.es · clientes@verdnatura.es', - registry: `CIF: B97367486 Registro Mercantil de Valencia, Tomo 8041, Libro 5334, Folio 160, sección 8, Hoja V 102076`, - } - }, - pt: { - company: { - fiscalAddress: 'VERDNATURA LEVANTE S.L., B97367486 Avda. Espioca, 100, 46460 Silla - www.verdnatura.es - clientes@verdnatura.es', - registry: `CIF: B97367486 Registro Mercantil de Valencia, Tomo 8041, Libro 5334, Folio 160, Sección 8, Hoja V 102076`, - } - }, - }, -}; diff --git a/print/report/rpt-claim-pickup-order/index.html b/print/report/rpt-claim-pickup-order/index.html deleted file mode 100644 index b5c571a5cf..0000000000 --- a/print/report/rpt-claim-pickup-order/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - - -
- - - -
-
-
-
-

{{$t('title')}}

- - - - - - - - - - - - - - - -
{{$t('claimId')}}{{claimId}}
{{$t('clientId')}}{{clientId}}
{{$t('date')}}{{dated()}}
-
-
-
-
-
{{$t('clientData')}}
-
-

{{nickname}}

-
- {{street}} -
-
- {{postalCode}}, {{city}} ({{province}}) -
-
- {{country}} -
-
-
-
-
- - - - - - - - - - - - - - - - - - -
{{$t('reference')}}{{$t('quantity')}}{{$t('claims')}}{{$t('concept')}}
{{sale.id}}{{sale.quantity}}{{sale.claimQuantity}}{{sale.concept}}
- -
-
{{$t('clientSignature')}}
-
-

{{clientName}}

-
-
- -

-
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-claim-pickup-order/index.js b/print/report/rpt-claim-pickup-order/index.js deleted file mode 100755 index 2124be8283..0000000000 --- a/print/report/rpt-claim-pickup-order/index.js +++ /dev/null @@ -1,79 +0,0 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'rpt-claim-pickup-order', - async asyncData(ctx, params) { - const promises = []; - const data = {}; - - if (!params.claimFk) - throw new UserException('No claim id specified'); - - promises.push(this.methods.fetchClaim(params.claimFk)); - promises.push(this.methods.fetchSales(params.claimFk)); - - return Promise.all(promises).then(result => { - const [[claim]] = result[0]; - const [sales] = result[1]; - - if (!claim) - throw new UserException('No claim data found'); - - Object.assign(data, claim, {sales}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, - fetchClaim(claimFk) { - return database.pool.query( - `SELECT - u.lang locale, - c.id clientId, - cl.id claimId, - c.email AS recipient, - c.socialName, - c.name AS clientName, - c.fi, - a.city, - a.postalCode, - a.street, - a.nickname, - p.name AS province, - ct.country - FROM claim cl - JOIN client c ON c.id = cl.clientFk - JOIN account.user u ON u.id = c.id - JOIN country ct ON ct.id = c.countryFk - JOIN ticket t ON t.id = cl.ticketFk - JOIN address a ON a.id = t.addressFk - LEFT JOIN province p ON p.id = c.provinceFk - WHERE cl.id = ?`, [claimFk]); - }, - - fetchSales(claimFk) { - return database.pool.query( - `SELECT - s.id, - s.quantity, - s.concept, - cb.quantity claimQuantity - FROM claimBeginning cb - JOIN sale s ON s.id = cb.saleFk - WHERE cb.claimFk = ?`, [claimFk]); - }, - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/rpt-claim-pickup-order/locale.js b/print/report/rpt-claim-pickup-order/locale.js deleted file mode 100644 index e15bd28c1a..0000000000 --- a/print/report/rpt-claim-pickup-order/locale.js +++ /dev/null @@ -1,23 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Ord. recogida', - claimId: 'Reclamación', - clientId: 'Cliente', - date: 'Fecha', - clientData: 'Dirección de recogida', - quantity: 'Cantidad', - claims: 'Reclama', - reference: 'Referencia', - concept: 'Concepto', - clientSignature: 'Firma del cliente', - claim: 'Reclamación {0}', - sections: { - agency: { - description: `Para agilizar tu recogida, por favor, pónte en contacto con la oficina de integrados.
- Tlf: 96 166 77 88 - Ana Gómez (Ext. 2133) (agomezf@integra2.es) ` - } - } - }, - }, -}; diff --git a/print/report/rpt-delivery-note/index.html b/print/report/rpt-delivery-note/index.html deleted file mode 100644 index 1aea41883c..0000000000 --- a/print/report/rpt-delivery-note/index.html +++ /dev/null @@ -1,234 +0,0 @@ - - - -
- - - -
-
-
-
-

{{$t('title')}}

- - - - - - - - - - - - - - - -
{{$t('clientId')}}{{client.id}}
{{$t('ticketId')}}{{ticket.id}}
{{$t('date')}}{{shipped}}
-
-
-
-
-
{{$t('deliveryAddress')}}
-
-

{{address.nickname}}

-
- {{address.street}} -
-
- {{address.postalCode}}, {{address.city}} ({{address.province}}) -
-
-
- -
-
{{$t('fiscalData')}}
-
-
- {{client.socialName}} -
-
- {{client.street}} -
-
- {{client.fi}} -
-
-
-
-
- - -

{{$t('saleLines')}}

- - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('reference')}}{{$t('quantity')}}{{$t('concept')}}{{$t('price')}}{{$t('discount')}}{{$t('vat')}}{{$t('amount')}}
- {{$t('subtotal')}} - {{getSubTotal() | currency('EUR')}}
- - -
- -
-

{{$t('services')}}

- - - - - - - - - - - - - - - - - - - - - - - -
{{$t('concept')}}{{$t('quantity')}}{{$t('vatType')}}{{$t('amount')}}
{{service.description}}{{service.quantity}}{{service.taxDescription}}{{service.price | currency('EUR')}}
{{$t('total')}} {{serviceTotal | currency('EUR')}}
-
- - - -
-

{{$t('taxBreakdown')}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('type')}}{{$t('taxBase')}}{{$t('tax')}}{{$t('fee')}}
{{tax.name}}{{tax.Base | currency('EUR')}}{{tax.vatPercent | percent}}{{tax.tax | currency('EUR')}}
{{$t('subtotal')}}{{getTotalBase() | currency('EUR')}}{{getTotalTax()| currency('EUR')}}
{{$t('total')}}{{getTotal() | currency('EUR')}}
-
- - - -
-

{{$t('packagings')}}

- - - - - - - - - - - - - - - -
Id{{$t('concept')}}{{$t('quantity')}}
{{packaging.itemFk}}{{packaging.name}}{{packaging.quantity}}
-
- - - -
-
-
{{$t('digitalSignature')}}
-
- -
{{signature.created | date}}
-
-
-
- -
-
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-delivery-note/locale.js b/print/report/rpt-delivery-note/locale.js deleted file mode 100644 index c637d9977b..0000000000 --- a/print/report/rpt-delivery-note/locale.js +++ /dev/null @@ -1,32 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Albarán', - ticketId: 'Albarán', - clientId: 'Cliente', - deliveryAddress: 'Dirección de entrega', - fiscalData: 'Datos fiscales', - saleLines: 'Líneas de pedido', - date: 'Fecha', - reference: 'Ref.', - quantity: 'Cant.', - concept: 'Concepto', - price: 'PVP/u', - discount: 'Dto.', - vat: 'IVA', - amount: 'Importe', - type: 'Tipo', - taxBase: 'Base imp.', - tax: 'Tasa', - fee: 'Cuota', - total: 'Total', - subtotal: 'Subtotal', - taxBreakdown: 'Desglose impositivo', - packagings: 'Cubos y embalajes', - services: 'Servicios', - vatType: 'Tipo de IVA', - digitalSignature: 'Firma digital', - ticket: 'Albarán {0}' - }, - }, -}; diff --git a/print/report/rpt-item-label/index.html b/print/report/rpt-item-label/index.html deleted file mode 100644 index 0b46aee147..0000000000 --- a/print/report/rpt-item-label/index.html +++ /dev/null @@ -1,28 +0,0 @@ - - - -
-
-
-

{{item.id}}

-
- -
-
-
-
{{item.name}}
-
{{tags.color}}
-
{{tags.producer}}
-
-
-
{{packing()}}
-
{{dated}}
-
{{labelPage()}}
-
-
{{item.size}}
-
-
-
-
- - \ No newline at end of file diff --git a/print/report/rpt-item-label/index.js b/print/report/rpt-item-label/index.js deleted file mode 100644 index 922965eb09..0000000000 --- a/print/report/rpt-item-label/index.js +++ /dev/null @@ -1,83 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); -const strftime = require('strftime'); -const qrcode = require('qrcode'); - -module.exports = { - name: 'rpt-item-label', - async asyncData(ctx, params) { - Object.assign(this, this.methods); - - if (!params.itemId) - throw new UserException('No item id specified'); - - if (!params.warehouseId) - throw new UserException('No warehouse id specified'); - - const data = { - item: await this.fetchItem(params.itemId, params.warehouseId), - tags: await this.fetchItemTags(params.itemId), - barcode: await this.getBarcodeBase64(params.itemId), - labelNumber: params.labelNumber, - totalLabels: params.totalLabels - }; - - return data; - }, - computed: { - dated() { - return strftime('%W/%d', new Date()); - } - }, - methods: { - fetchItem(id, warehouseId) { - return database.pool.query( - `SELECT - i.id, - i.name, - i.stems, - i.size, - b.packing - FROM vn.item i - JOIN cache.last_buy clb ON clb.item_id = i.id - JOIN vn.buy b ON b.id = clb.buy_id - JOIN vn.entry e ON e.id = b.entryFk - WHERE i.id = ? AND clb.warehouse_id = ?`, [id, warehouseId]) - .then(([rows]) => { - if (rows.length == 0) - throw new UserException(`Item #${id} not found on warehouse #${warehouseId}`); - return rows[0]; - }); - }, - fetchItemTags(itemId) { - return database.pool.query( - `SELECT t.code, t.name, it.value - FROM vn.itemTag it - JOIN vn.tag t ON t.id = it.tagFk - WHERE it.itemFk = ?`, [itemId]) - .then(([rows]) => { - const tags = {}; - rows.forEach(row => tags[row.code] = row.value); - - return tags; - }); - }, - getBarcodeBase64(itemId) { - return qrcode.toDataURL(itemId, {margin: 0}); - }, - packing() { - const stems = this.item.stems ? this.item.stems : 1; - return `${this.item.packing}x${stems}`; - }, - labelPage() { - const labelNumber = this.labelNumber ? this.labelNumber : 1; - const totalLabels = this.totalLabels ? this.totalLabels : 1; - - return `${labelNumber}/${totalLabels}`; - } - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/rpt-item-label/locale.js b/print/report/rpt-item-label/locale.js deleted file mode 100644 index b8d5242745..0000000000 --- a/print/report/rpt-item-label/locale.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Recibo', - date: 'Fecha', - payed: 'En {0}, a {1} de {2} de {3}', - client: 'Cliente {0}', - months: [ - 'Enero', - 'Febrero', - 'Marzo', - 'Abril', - 'Mayo', - 'Junio', - 'Julio', - 'Agosto', - 'Septiembre', - 'Octubre', - 'Noviembre', - 'Diciembre' - ] - }, - }, -}; diff --git a/print/report/rpt-lcr/assets/css/style.css b/print/report/rpt-lcr/assets/css/style.css deleted file mode 100644 index 94b93e1535..0000000000 --- a/print/report/rpt-lcr/assets/css/style.css +++ /dev/null @@ -1,31 +0,0 @@ -.payment-type { - width: auto -} - -.payment-type th:nth-child(2), .payment-type th:nth-child(5) { - padding: 10px !important -} - -.payment-type th:nth-child(3){ - padding: 0 50px !important -} - -.table-margin { - margin-top: 20px -} - -.grey-background { - background-color: #DDD -} - -.emptyField { - width: 100%; -} - -.row-oriented.input-table > tbody > tr > td { - width: 10% !important -} - -.row-oriented.input-table > tbody > tr > th { - width: 90% !important -} \ No newline at end of file diff --git a/print/report/rpt-lcr/index.html b/print/report/rpt-lcr/index.html deleted file mode 100644 index 236ace8ed0..0000000000 --- a/print/report/rpt-lcr/index.html +++ /dev/null @@ -1,189 +0,0 @@ - - - -
- - - -
-

{{$t('title')}}

-
-
{{$t('Creditor')}}
-
- - - - - - - - - - - - - - - - - - - -
{{$t('supplier.name')}}:{{supplierName}}
{{$t('supplier.street')}}:{{supplierStreet}}
{{supplierPostCode}}, {{supplierCity}} ({{supplierProvince}})
{{supplierCountry}}
-
-
-
-
{{$t('Deptor')}}
-
- - - - - - - - - - - - - - - - - - - - - - - -
{{$t('client.name')}}:{{clientName}}
{{$t('client.street')}}:{{clientStreet}}
{{clientPostCode}}, {{clientCity}} ({{clientProvince}})
{{clientCountry}}
{{$t('client.fi')}}: -
- {{fi.charAt(i)}} -
-
-
-
-

{{$t('description')}}

-
-
{{$t('Bank')}}
-
-
- {{$t('client.toCompleteByClient')}} -
- - - - - - - - - - - -
{{$t('bank.name')}}:
{{$t('bank.street')}}:
- - - - - - - - - - - - - - - - - - - - -
{{$t('bank.account')}}:
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
- {{$t('bank.bankCode')}} -
-
-
-
-
- {{$t('bank.agencyCode')}} -
-
-
-
-
- {{$t('bank.accountNumber')}} -
-
-
-
-
- {{$t('bank.ribKey')}} -
-
-
- - - - - - - - - - - -
IBAN:
-
- F - R - -
-
-
-
-

{{$t('authorization')}}

- - -
-
{{$t('client.sign')}}
-
-
-

{{$t('client.signDate')}}:

-
-
-
-
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-lcr/index.js b/print/report/rpt-lcr/index.js deleted file mode 100755 index d4342764c1..0000000000 --- a/print/report/rpt-lcr/index.js +++ /dev/null @@ -1,80 +0,0 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'rpt-lcr', - async asyncData(ctx, params) { - if (!params.clientFk) - throw new UserException('No client id specified'); - - if (!params.companyFk) - throw new UserException('No company id specified'); - - return this.methods.fetchClient(params.clientFk, params.companyFk) - .then(([[client]]) => { - if (!client) - throw new UserException('No client data found'); - - return client; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - - const embeded = []; - this.files.map(file => { - embeded[file] = `file://${__dirname + file}`; - }); - this.embeded = embeded; - }, - data() { - return { - files: ['/assets/images/signature.png'] - }; - }, - methods: { - fetchClient(clientFk, companyFk) { - return database.pool.query( - `SELECT - c.id clientId, - u.lang locale, - m.code mandateCode, - c.socialName AS clientName, - c.street AS clientStreet, - c.postcode AS clientPostCode, - c.city AS clientCity, - c.fi, - 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 account.user u ON u.id = c.id - JOIN country ct ON ct.id = c.countryFk - LEFT JOIN mandate m ON m.clientFk = c.id - AND m.companyFk = ? 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 - LEFT JOIN province p ON p.id = c.provinceFk - WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ? - ORDER BY m.created DESC LIMIT 1`, [companyFk, companyFk, clientFk]); - }, - dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, - toISOString: date => { - return strftime('%d-%m-%Y', date); - }, - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/rpt-lcr/locale.js b/print/report/rpt-lcr/locale.js deleted file mode 100644 index 740b6d8f2b..0000000000 --- a/print/report/rpt-lcr/locale.js +++ /dev/null @@ -1,36 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Autorisation pour débit', - Creditor: 'Tireur', - Deptor: 'Tiré', - Bank: 'Banque', - description: `Nous, soussignés, autorisons que tout effet émis par le tireur , susmentionné, et tiré sur notre Société, - soit automatiquement débité dans notre compte selon les suivants détails de domiciliation:`, - authorization: `Cette autorisation maintient sa validité jusqu'à à la réception de - nouvelles instructions.`, - supplier: { - name: 'Nom', - street: 'Adresse' - }, - bank: { - name: 'Nom', - street: 'Adresse', - account: 'RIB', - bankCode: 'Code banque', - agencyCode: 'Code agence', - accountNumber: 'Numero de compte', - ribKey: 'Clé RIB' - }, - client: { - name: 'Nom', - street: 'Adresse', - fi: 'Siren', - sign: 'Signature autorisée du tiré', - signDate: 'Lieu et date', - toCompleteByClient: 'À remplir par le débiteur', - }, - order: 'Ord. domiciliación {0}', - }, - }, -}; diff --git a/print/report/rpt-letter-debtor/assets/css/index.js b/print/report/rpt-letter-debtor/assets/css/index.js deleted file mode 100644 index 515dea7503..0000000000 --- a/print/report/rpt-letter-debtor/assets/css/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${appPath}/common/css/misc.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/rpt-letter-debtor/index.html b/print/report/rpt-letter-debtor/index.html deleted file mode 100644 index 6763bfbe77..0000000000 --- a/print/report/rpt-letter-debtor/index.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -
- - - -
-
-
-
-

{{$t('title')}}

- - - - - - - - - - - -
{{$t('clientId')}}{{clientId}}
{{$t('date')}}{{dated()}}
-
-
-
-
-
{{$t('clientData')}}
-
-

{{clientName}}

-
- {{street}} -
-
- {{postcode}}, {{city}} ({{province}}) -
-
- {{country}} -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('date')}}{{$t('concept')}}{{$t('invoiced')}}{{$t('payed')}}{{$t('balance')}}
{{toISOString(sale.issued)}}{{sale.ref}}{{sale.debtOut}}{{sale.debtIn}}{{getBalance(sale)}}
Total {{getTotalDebtOut()}}{{getTotalDebtIn()}}{{totalBalance}}
-
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-letter-debtor/index.js b/print/report/rpt-letter-debtor/index.js deleted file mode 100755 index 7fa049a9ef..0000000000 --- a/print/report/rpt-letter-debtor/index.js +++ /dev/null @@ -1,99 +0,0 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'rpt-letter-debtor', - async asyncData(ctx, params) { - const promises = []; - const data = {}; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - if (!params.companyFk) - throw new UserException('No company id specified'); - - promises.push(this.methods.fetchClient(params.clientFk)); - promises.push(this.methods.fetchSales(params.clientFk, params.companyFk)); - - return Promise.all(promises).then(result => { - const [[client]] = result[0]; - const [[sales]] = result[1]; - - if (!client) - throw new UserException('No client data found'); - - Object.assign(data, client, {sales}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - data() { - return {totalBalance: 0.00}; - }, - methods: { - fetchClient(clientFk) { - return database.pool.query( - `SELECT - c.id clientId, - u.lang locale, - c.email AS recipient, - c.socialName AS clientName, - c.street, - c.postcode, - c.city, - c.fi, - p.name AS province, - ct.country - FROM client c - JOIN account.user u ON u.id = c.id - JOIN country ct ON ct.id = c.countryFk - LEFT JOIN province p ON p.id = c.provinceFk - WHERE c.id = ?`, [clientFk]); - }, - fetchSales(clientFk, companyFk) { - return database.pool.query( - `CALL vn.clientGetDebtDiary(?, ?)`, [clientFk, companyFk]); - }, - dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, - toISOString: date => { - return strftime('%d-%m-%Y', date); - }, - getBalance(sale) { - if (sale.debtOut) - this.totalBalance += parseFloat(sale.debtOut); - - if (sale.debtIn) - this.totalBalance -= parseFloat(sale.debtIn); - - return parseFloat(this.totalBalance.toFixed(2)); - }, - getTotalDebtOut() { - let debtOut = 0.00; - this.sales.forEach(sale => { - debtOut += sale.debtOut ? parseFloat(sale.debtOut) : 0; - }); - - return debtOut.toFixed(2); - }, - getTotalDebtIn() { - let debtIn = 0.00; - this.sales.forEach(sale => { - debtIn += sale.debtIn ? parseFloat(sale.debtIn) : 0; - }); - - return debtIn.toFixed(2); - }, - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/rpt-letter-debtor/locale.js b/print/report/rpt-letter-debtor/locale.js deleted file mode 100644 index 8ace81596b..0000000000 --- a/print/report/rpt-letter-debtor/locale.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Extracto', - claimId: 'Reclamación', - clientId: 'Cliente', - clientData: 'Datos del cliente', - date: 'Fecha', - concept: 'Concepto', - invoiced: 'Facturado', - payed: 'Pagado', - balance: 'Saldo', - client: 'Cliente {0}' - }, - }, -}; diff --git a/print/report/rpt-receipt/assets/css/index.js b/print/report/rpt-receipt/assets/css/index.js deleted file mode 100644 index 515dea7503..0000000000 --- a/print/report/rpt-receipt/assets/css/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${appPath}/common/css/misc.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/rpt-receipt/assets/images/signature.png b/print/report/rpt-receipt/assets/images/signature.png deleted file mode 100644 index c69cc4798e..0000000000 Binary files a/print/report/rpt-receipt/assets/images/signature.png and /dev/null differ diff --git a/print/report/rpt-receipt/index.html b/print/report/rpt-receipt/index.html deleted file mode 100644 index 99058dd9cd..0000000000 --- a/print/report/rpt-receipt/index.html +++ /dev/null @@ -1,40 +0,0 @@ - - - -
- - - -
- -
-

{{$t('title')}}

-

- Recibo de {{client.socialName}}, - la cantidad de {{receipt.amountPaid}} € en concepto de 'entrega a cuenta', - quedando pendiente en la cuenta del cliente - un saldo de {{receipt.amountUnpaid}} €. -

-
- -

{{$t('payed', [ - 'Silla', - receipt.payed.getDate(), - $t('months')[receipt.payed.getMonth()], - receipt.payed.getFullYear()]) - }} -

-
-
- -
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-receipt/index.js b/print/report/rpt-receipt/index.js deleted file mode 100755 index 7a173e6ee1..0000000000 --- a/print/report/rpt-receipt/index.js +++ /dev/null @@ -1,71 +0,0 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'rpt-receipt', - /* serverPrefetch() { - console.log(arguments); - return new Promise(accept => { - this.client = this.getReceipt(); - }); - }, */ - async asyncData(ctx, params) { - Object.assign(this, this.methods); - - const [[client]] = await this.fetchClient(params.receiptFk); - const [[receipt]] = await this.fetchReceipt(params.receiptFk); - - if (!receipt) - throw new UserException('No receipt data found'); - - return {client, receipt}; - }, - created() { - if (this.client.locale) - this.$i18n.locale = this.client.locale; - - const embeded = []; - this.files.map(file => { - embeded[file] = `file://${__dirname + file}`; - }); - this.embeded = embeded; - }, - data() { - return { - files: ['/assets/images/signature.png'] - }; - }, - methods: { - fetchClient(receiptFk) { - return database.pool.query( - `SELECT - c.id, - c.socialName, - u.lang locale - FROM receipt r - JOIN client c ON c.id = r.clientFk - JOIN account.user u ON u.id = c.id - WHERE r.id = ?`, [receiptFk]); - }, - fetchReceipt(receiptFk) { - return database.pool.query( - `SELECT - r.id, - r.amountPaid, - r.amountUnpaid, - r.payed, - r.companyFk - FROM receipt r - JOIN client c ON c.id = r.clientFk - WHERE r.id = ?`, [receiptFk]); - } - /* dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, */ - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/rpt-receipt/locale.js b/print/report/rpt-receipt/locale.js deleted file mode 100644 index b8d5242745..0000000000 --- a/print/report/rpt-receipt/locale.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Recibo', - date: 'Fecha', - payed: 'En {0}, a {1} de {2} de {3}', - client: 'Cliente {0}', - months: [ - 'Enero', - 'Febrero', - 'Marzo', - 'Abril', - 'Mayo', - 'Junio', - 'Julio', - 'Agosto', - 'Septiembre', - 'Octubre', - 'Noviembre', - 'Diciembre' - ] - }, - }, -}; diff --git a/print/report/rpt-route/assets/css/index.js b/print/report/rpt-route/assets/css/index.js deleted file mode 100644 index 515dea7503..0000000000 --- a/print/report/rpt-route/assets/css/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${appPath}/common/css/misc.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/rpt-route/index.html b/print/report/rpt-route/index.html deleted file mode 100644 index e3b814c503..0000000000 --- a/print/report/rpt-route/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - -
- - - -
-

{{$t('Title')}}

-
-
{{$t('Information')}}
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('Route')}}{{route.id}}{{$t('Driver')}}{{route.userNickName}}
{{$t('Date')}}{{date(route.created)}}{{$t('Vehicle')}}{{route.vehicleTradeMark}} {{route.vehicleModel}}
{{$t('Time')}}{{time(route.time)}}{{route.plateNumber}}
{{$t('Volume')}}{{route.m3}}{{$t('Agency')}}{{route.agencyName}}
-
- - - - - - - - - - - - - - - -
-

Hora inicio

-
-

Hora fin

-
-

Km inicio

-
-

Km fin

-
-
- -
-
-
- -
-
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - -
{{$t('Order')}}{{$t('Ticket')}}{{$t('Client')}}{{$t('Address')}}{{$t('Packages')}}
{{ticket.priority}}{{ticket.id}}{{ticket.clientFk}} {{ticket.addressName}} - {{ticket.addressFk.toString().substr(0, ticket.addressFk.toString().length - 3)}} - - {{ticket.addressFk.toString().substr(-3, 3)}} - - {{ticket.packages}}
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('Street')}}{{ticket.street}}{{$t('Postcode')}}{{ticket.postalCode}}
{{$t('City')}}{{ticket.city}}{{$t('Agency')}}{{ticket.ticketAgency}}
{{$t('Mobile')}}{{ticket.mobile}}{{$t('Phone')}}{{ticket.phone}}
{{$t('Warehouse')}}{{ticket.warehouseName}}{{$t('salesPerson')}}{{ticket.salesPersonName}}
{{$t('Import')}}{{ticket.import}}
-
-

{{ticket.description}}

-

{{$t('stowaway')}}: {{ticket.shipFk}}

-
-
-
-
-
- - - - - - - diff --git a/print/report/rpt-route/locale.js b/print/report/rpt-route/locale.js deleted file mode 100644 index ef835b20f2..0000000000 --- a/print/report/rpt-route/locale.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - messages: { - es: { - Title: 'Hoja de ruta', - Information: 'Información', - Route: 'Ruta', - Date: 'Fecha', - Time: 'Hora', - Volume: 'Cubicaje', - Driver: 'Conductor', - Vehicle: 'Vehículo', - Agency: 'Agencia', - Order: 'Orden', - Client: 'Cliente', - Address: 'Consignatario', - Packages: 'Bultos', - Street: 'Dirección', - Postcode: 'Código Postal', - City: 'Ciudad', - Mobile: 'Móvil', - Phone: 'Teléfono', - Warehouse: 'Almacén', - salesPerson: 'Comercial', - Import: 'Importe', - stowaway: 'Encajado dentro del ticket', - route: 'Ruta {0}' - } - }, -}; diff --git a/print/report/rpt-sepa-core/assets/css/index.js b/print/report/rpt-sepa-core/assets/css/index.js deleted file mode 100644 index 515dea7503..0000000000 --- a/print/report/rpt-sepa-core/assets/css/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${appPath}/common/css/misc.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/rpt-sepa-core/index.html b/print/report/rpt-sepa-core/index.html deleted file mode 100644 index db818f14a6..0000000000 --- a/print/report/rpt-sepa-core/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - -
- - - -
-

{{$t('title')}}

-
-
-
- {{$t('supplier.toCompleteBySupplier')}} -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{$t('supplier.orderReference')}}{{mandateCode}}
{{$t('supplier.identifier')}}ES89000B97367486
{{$t('supplier.name')}}{{supplierName}}
{{$t('supplier.street')}}{{supplierStreet}}
{{$t('supplier.location')}}{{supplierPostCode}}, {{supplierCity}} ({{supplierProvince}})
{{$t('supplier.country')}}{{supplierCountry}}
-
-
- -

{{$t('description')}}

-

- {{$t('documentCopy')}} -

- -
-
-
- {{$t('client.toCompleteByClient')}} -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- {{$t('client.name')}} -
{{$t('client.accountHolder')}}
-
{{clientName}}
{{$t('client.street')}}{{clientStreet}}
{{$t('client.location')}}{{clientPostCode}}, {{clientCity}} ({{clientProvince}})
{{$t('client.country')}}{{clientCountry}}
{{$t('client.swift')}} -
- -
-
{{$t('client.accountNumber')}}
-
- {{clientCountryCode.substr(0, 1)}} - {{clientCountryCode.substr(1, 1)}} - -
-
-
- {{clientCountryCode.substr(0, 1)}} - {{clientCountryCode.substr(1, 1)}} - -
-
-
- {{$t('client.accountNumberFormat')}} -
-
{{$t('client.paymentType')}} - - - - - - - - -
-
- X -
-
{{$t('client.recurrent')}}O -
- -
-
{{$t('client.unique')}}
-
{{$t('client.signLocation')}}{{dated()}}, {{supplierProvince}}
{{$t('client.sign')}}
-
-
- -

{{$t('mandatoryFields')}}

-

{{$t('sendOrder')}}

-
- - - - -
- - \ No newline at end of file diff --git a/print/report/rpt-sepa-core/index.js b/print/report/rpt-sepa-core/index.js deleted file mode 100755 index 63c54b907c..0000000000 --- a/print/report/rpt-sepa-core/index.js +++ /dev/null @@ -1,84 +0,0 @@ -const fs = require('fs'); -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); - -const template = fs.readFileSync(__dirname + '/index.html').toString(); -const lang = require('./locale.js'); - -const UserException = require(`${appPath}/lib/exceptions/userException`); - -const rptSepaCore = { - name: 'rpt-sepa-core', - - async asyncData(ctx, params) { - if (!params.clientFk) - throw new UserException('No client id specified'); - - if (!params.companyFk) - throw new UserException('No company id specified'); - - return this.methods.fetchClient(params.clientFk, params.companyFk) - .then(([[client]]) => { - if (!client) - throw new UserException('No client data found'); - - return client; - }); - }, - created() { - this.clientId = 101; - if (this.locale) - this.$i18n.locale = this.locale; - }, - methods: { - fetchClient(clientFk, companyFk) { - return database.pool.query( - `SELECT - c.id clientId, - u.lang locale, - m.code mandateCode, - 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, - ct.code AS clientCountryCode, - ct.ibanLength AS ibanLength, - 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 account.user u ON u.id = c.id - JOIN country ct ON ct.id = c.countryFk - LEFT JOIN mandate m ON m.clientFk = c.id - AND m.companyFk = ? 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 - LEFT JOIN province p ON p.id = c.provinceFk - WHERE (m.companyFk = ? OR m.companyFk IS NULL) AND c.id = ? - ORDER BY m.created DESC LIMIT 1`, [companyFk, companyFk, clientFk]); - }, - dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, - toISOString: date => { - return strftime('%d-%m-%Y', date); - }, - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, - template: template, - i18n: lang, - props: ['test'] -}; - - -module.exports = rptSepaCore; diff --git a/print/report/rpt-sepa-core/locale.js b/print/report/rpt-sepa-core/locale.js deleted file mode 100644 index 459cdc3673..0000000000 --- a/print/report/rpt-sepa-core/locale.js +++ /dev/null @@ -1,81 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Orden de domiciliación de adeudo SEPA CORE', - description: `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.`, - documentCopy: `Debe llevar a su Entidad Bancaria una copia - del documento firmado para que lo registre y evitar la devolución.`, - 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.`, - supplier: { - toCompleteBySupplier: 'A cumplimentar por el acreedor', - orderReference: 'Referencia de la orden de domiciliación', - identifier: 'Identificador del acreedor', - name: 'Nombre del acreedor', - street: 'Dirección', - location: 'CP - Población - Provincia', - country: 'País' - }, - client: { - toCompleteByClient: 'A cumplimentar por el deudor', - name: 'Nombre del deudor/es', - street: 'Dirección del deudor', - location: 'CP - Población - Provincia', - country: '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', - }, - order: 'Ord. domiciliación {0}', - }, - pt: { - title: 'Autorização de débito directo SEPA CORE', - description: `Ao subscrever esta autorização, está a autorizar a (A) Verdnatura Levante S.L. a enviar instruções ao - seu banco para debitar a sua conta e (B) seu banco a debitar a sua conta, de acordo com as instruções da - Verdnatura Levante S.L. Os seus direitos incluem a possibilidade de exigir do seu banco o reembolso do - montante debitado, nos termos e condições acordados com o seu banco. O reembolso deve ser solicitado até um - prazo de oito semanas, a contar da data do débito na sua conta. Os seus direitos, referentes à autorização - acima referida, são explicados em declaração que pode obter no seu banco.`, - documentCopy: `Deve levar à sua Entidade Bancária uma cópia do documento assinado para que o registre e evitar a devolução`, - mandatoryFields: `TODOS OS CAMPOS DEVEM SER PREENCHIDOS OBRIGATORIAMENTE.`, - sendOrder: `UMA VEZ ASSINADA, ESTA AUTORIZAÇÃO DE DÉBITO DEVE SER ENVIADA AO CREDOR PARA SUA CUSTÓDIA E É RECOMENDÁVEL - FACILITAR UMA CÓPIA À SUA ENTIDADE BANCÁRIA.`, - supplier: { - toCompleteBySupplier: 'A preencher pelo credor', - orderReference: 'Referência da ordem', - identifier: 'Identificador do Credor', - name: 'Nome do Credor', - street: 'Morada', - location: 'CP - Município - Distrito', - country: 'País' - }, - client: { - toCompleteByClient: 'A preencher pelo devedor', - name: 'Nome do devedor (Titular da conta)', - street: 'Dirección del deudor', - location: 'Cod. Postal - Município - Distrito', - country: 'País do devedor', - swift: 'Swift BIC', - accountNumber: 'Número de Conta IBAN', - accountHolder: '(Titular/es de la cuenta de cargo)', - accountNumberFormat: 'Em Portugal o IBAN é composto por 25 dígitos e começa sempre por PT', - paymentType: 'Tipos de pagamento Pagamento', - recurrent: 'Recorrente', - unique: 'Pagamento pontual', - signLocation: 'Data - Localidade', - sign: 'Assinatura e carimbo do devedor', - }, - order: 'Referência da ordem {0}', - }, - }, -}; diff --git a/print/report/rpt-zone/assets/css/index.js b/print/report/rpt-zone/assets/css/index.js deleted file mode 100644 index 06417fceed..0000000000 --- a/print/report/rpt-zone/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/rpt-zone/index.html b/print/report/rpt-zone/index.html deleted file mode 100644 index 5e64da73c8..0000000000 --- a/print/report/rpt-zone/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - -
-
- -
{{zone.agencyName}}
-
{{zone.id}}
-
{{zone.plateNumber}} {{zoneTime(zone.time)}}
-
- -
-
- - \ No newline at end of file diff --git a/print/report/rpt-zone/index.js b/print/report/rpt-zone/index.js deleted file mode 100755 index c6b0a245ce..0000000000 --- a/print/report/rpt-zone/index.js +++ /dev/null @@ -1,36 +0,0 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'rpt-zone', - async asyncData(ctx, params) { - if (!params.routeFk) - throw new UserException('No route id specified'); - - let [[zone]] = await this.methods.fetchRoute(params.routeFk); - - if (!zone) - throw new UserException('Route not ready'); - - return {zone}; - }, - methods: { - fetchRoute(routeFk) { - return database.pool.query( - `SELECT - r.id, - r.time, - am.name agencyName, - v.numberPlate plateNumber - FROM route r - JOIN agencyMode am ON am.id = r.agencyModeFk - JOIN vehicle v ON v.id = r.vehicleFk - WHERE r.id = ?`, [routeFk]); - }, - zoneTime: zoneTime => { - if (zoneTime) - return strftime('%H:%M', zoneTime); - }, - }, -}; diff --git a/print/report/rpt-zone/locale.js b/print/report/rpt-zone/locale.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/print/report/sample-report/assets/css/index.js b/print/report/sample-report/assets/css/index.js deleted file mode 100644 index 515dea7503..0000000000 --- a/print/report/sample-report/assets/css/index.js +++ /dev/null @@ -1,8 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/report.css`, - `${appPath}/common/css/misc.css`, - `${__dirname}/style.css`]) - .mergeStyles(); diff --git a/print/report/sample-report/assets/css/style.css b/print/report/sample-report/assets/css/style.css deleted file mode 100644 index e621f3e235..0000000000 --- a/print/report/sample-report/assets/css/style.css +++ /dev/null @@ -1,3 +0,0 @@ -table.column-oriented { - margin-top: 50px !important -} \ No newline at end of file diff --git a/print/report/sample-report/index.html b/print/report/sample-report/index.html deleted file mode 100644 index 9a60114fdf..0000000000 --- a/print/report/sample-report/index.html +++ /dev/null @@ -1,39 +0,0 @@ - - - -
- - - -
- -

{{$t('title')}}

-

{{$t('date')}} {{dated()}}

- - - - - - - - - - - - - - - -
Id{{$t('concept')}}{{$t('quantity')}}
{{sale.id}}{{sale.concept}}{{sale.quantity}}
- -
- - - - -
- - \ No newline at end of file diff --git a/print/report/sample-report/index.js b/print/report/sample-report/index.js deleted file mode 100755 index b6894060ae..0000000000 --- a/print/report/sample-report/index.js +++ /dev/null @@ -1,32 +0,0 @@ -const strftime = require('strftime'); - -module.exports = { - name: 'sample-report', - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - data() { - return { - client: { - id: 10252, - name: 'Batman', - }, - sales: [ - {id: 1, concept: 'My item 1', quantity: 25}, - {id: 2, concept: 'My item 2', quantity: 50}, - {id: 3, concept: 'My item 3', quantity: 150} - ], - locale: 'es' - }; - }, - methods: { - dated: () => { - return strftime('%d-%m-%Y', new Date()); - }, - }, - components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), - }, -}; diff --git a/print/report/sample-report/locale.js b/print/report/sample-report/locale.js deleted file mode 100644 index d231e10ffb..0000000000 --- a/print/report/sample-report/locale.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - messages: { - es: { - title: 'Sample report', - date: 'Fecha', - quantity: 'Cantidad', - concept: 'Concepto', - client: 'Cliente {0}', - }, - }, -}; diff --git a/print/report/sepa-core/assets/css/index.js b/print/report/sepa-core/assets/css/index.js deleted file mode 100644 index 321c632dc7..0000000000 --- a/print/report/sepa-core/assets/css/index.js +++ /dev/null @@ -1,7 +0,0 @@ -const CssReader = require(`${appPath}/lib/cssReader`); - -module.exports = new CssReader([ - `${appPath}/common/css/layout.css`, - `${appPath}/common/css/email.css`, - `${appPath}/common/css/misc.css`]) - .mergeStyles(); diff --git a/print/report/sepa-core/index.html b/print/report/sepa-core/index.html deleted file mode 100644 index c41c18593d..0000000000 --- a/print/report/sepa-core/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - {{ $t('subject') }} - - -
- - - -
- -
-

{{ $t('title') }}

-
- - -

{{$t('description.dear')}},

-

{{$t('description.instructions')}}

-

{{$t('description.conclusion')}}

-
- - - -
- - \ No newline at end of file diff --git a/print/report/sepa-core/index.js b/print/report/sepa-core/index.js deleted file mode 100755 index 00fe18c3fe..0000000000 --- a/print/report/sepa-core/index.js +++ /dev/null @@ -1,49 +0,0 @@ -const database = require(`${appPath}/lib/database`); -const reportEngine = require(`${appPath}/lib/reportEngine.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); - -module.exports = { - name: 'sepa-core', - async asyncData(ctx, params) { - const promises = []; - const data = { - isPreview: ctx.method === 'GET', - }; - - if (!params.clientFk) - throw new UserException('No client id specified'); - - promises.push(reportEngine.toPdf('rpt-sepa-core', ctx)); - promises.push(this.methods.fetchClient(params.clientFk)); - - return Promise.all(promises).then(result => { - const stream = result[0]; - const [[client]] = result[1]; - - Object.assign(data, client); - Object.assign(data, {attachments: [{filename: 'rpt-sepa-core.pdf', content: stream}]}); - - return data; - }); - }, - created() { - if (this.locale) - this.$i18n.locale = this.locale; - }, - - methods: { - fetchClient(clientFk) { - return database.pool.query(` - SELECT - u.lang locale, - c.email recipient - FROM client c - JOIN account.user u ON u.id = c.id - WHERE c.id = ?`, [clientFk]); - }, - }, - components: { - 'email-header': require('../email-header'), - 'email-footer': require('../email-footer'), - }, -}; diff --git a/print/report/sepa-core/locale.js b/print/report/sepa-core/locale.js deleted file mode 100644 index 1c5f926a17..0000000000 --- a/print/report/sepa-core/locale.js +++ /dev/null @@ -1,24 +0,0 @@ -module.exports = { - messages: { - es: { - subject: 'Solicitud de domiciliación bancaria', - title: 'Domiciliación SEPA CORE', - description: { - dear: 'Estimado cliente', - instructions: `Para poder tramitar tu solicitud de cambio de tu forma de pago a giro bancario, - te adjuntamos los documentos correspondientes a la ley de pago, que tienes que cumplimentar y enviarnos.`, - conclusion: 'Gracias por tu atención.' - }, - }, - pt: { - subject: 'Autorização de débito directo SEPA CORE', - title: 'Débito directo SEPA CORE', - description: { - dear: 'Prezado Cliente', - instructions: `Para poder tramitar vossa solicitação de forma de pagamento a Débito Automático, anexamos os - documentos correspondentes à Lei de Pagamentos, que deves preencher e reenviar-nos.`, - conclusion: 'Obrigado pela atenção.' - }, - } - }, -}; diff --git a/print/server.js b/print/server.js deleted file mode 100644 index 31830009df..0000000000 --- a/print/server.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = app => { - global.appPath = __dirname; - - process.env.OPENSSL_CONF = '/etc/ssl/'; - - // Init database instance - require('./lib/database').init(); - // Init SMTP Instance - require('./lib/smtp').init(); - - require('./lib/router')(app); -}; - - diff --git a/print/templates/email/claim-pickup-order/assets/css/import.js b/print/templates/email/claim-pickup-order/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/claim-pickup-order/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/claim-pickup-order/attachments.json b/print/templates/email/claim-pickup-order/attachments.json new file mode 100644 index 0000000000..8fb5569e4a --- /dev/null +++ b/print/templates/email/claim-pickup-order/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "claim-pickup-order.pdf", + "component": "claim-pickup" +}] \ No newline at end of file diff --git a/print/templates/email/claim-pickup-order/claim-pickup-order.html b/print/templates/email/claim-pickup-order/claim-pickup-order.html new file mode 100644 index 0000000000..139c11a407 --- /dev/null +++ b/print/templates/email/claim-pickup-order/claim-pickup-order.html @@ -0,0 +1,52 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('description.dear')}},

+

{{$t('description.instructions')}}

+
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/claim-pickup-order/claim-pickup-order.js b/print/templates/email/claim-pickup-order/claim-pickup-order.js new file mode 100755 index 0000000000..4396b144a5 --- /dev/null +++ b/print/templates/email/claim-pickup-order/claim-pickup-order.js @@ -0,0 +1,16 @@ +const Component = require(`${appPath}/core/component`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); + +module.exports = { + name: 'claim-pickup-order', + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build() + }, + props: { + claimId: { + required: true + } + } +}; diff --git a/print/templates/email/claim-pickup-order/locale/es.yml b/print/templates/email/claim-pickup-order/locale/es.yml new file mode 100644 index 0000000000..1d49b2b2b4 --- /dev/null +++ b/print/templates/email/claim-pickup-order/locale/es.yml @@ -0,0 +1,23 @@ +subject: Orden de recogida +title: Orden de recogida +description: + dear: Estimado cliente + instructions: Aqui tienes tu orden de recogida. +sections: + howToBuy: + title: Cómo hacer un pedido + description: 'Para realizar un pedido en nuestra web, debes configurarlo indicando:' + requeriments: + - Si quieres recibir el pedido (por agencia o por nuestro propio reparto) o si + lo prefieres recoger en alguno de nuestros almacenes. + - La fecha en la que quieres recibir el pedido (se preparará el día anterior). + - La dirección de entrega o el almacén donde quieres recoger el pedido. + stock: En nuestra web y aplicaciones puedes visualizar el stock disponible de + flor cortada, verdes, plantas, complementos y artificial. Ten 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. + delivery: El reparto se realiza de lunes a sábado según la zona en la que te encuentres. + 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. diff --git a/print/templates/email/client-welcome/assets/css/import.js b/print/templates/email/client-welcome/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/client-welcome/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/client-welcome/client-welcome.html b/print/templates/email/client-welcome/client-welcome.html new file mode 100644 index 0000000000..e410405c77 --- /dev/null +++ b/print/templates/email/client-welcome/client-welcome.html @@ -0,0 +1,98 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('dearClient')}},

+

+ +

+

{{$t('clientId')}}: {{client.id}}
+
{{$t('user')}}: {{client.userName}}
+
{{$t('password')}}: ******** + ({{$t('passwordResetText')}}) +
+

+ +

{{$t('sections.howToBuy.title')}}

+

{{$t('sections.howToBuy.description')}}

+
    +
  1. + +
  2. +
+

{{$t('sections.howToBuy.stock')}}

+

{{$t('sections.howToBuy.delivery')}}

+ +

{{$t('sections.howToPay.title')}}

+

{{$t('sections.howToPay.description')}}

+
    +
  • + +
  • +
+ +

{{$t('sections.toConsider.title')}}

+

{{$t('sections.toConsider.description')}}

+ +

{{$t('sections.claimsPolicy.title')}}

+

{{$t('sections.claimsPolicy.description')}}

+ +

+

+

+ {{$t('salesPersonName')}}: {{client.salesPersonName}} +
+
+ {{$t('salesPersonPhone')}}: {{client.salesPersonPhone}} +
+
+ {{$t('salesPersonEmail')}}: + {{client.salesPersonEmail}} +
+

+
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/client-welcome/client-welcome.js b/print/templates/email/client-welcome/client-welcome.js new file mode 100755 index 0000000000..35b373bc43 --- /dev/null +++ b/print/templates/email/client-welcome/client-welcome.js @@ -0,0 +1,36 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); + +module.exports = { + name: 'client-welcome', + async serverPrefetch() { + this.client = await this.fetchClient(this.clientId); + }, + methods: { + fetchClient(clientId) { + return db.findOne(` + SELECT + c.id, + u.name AS userName, + CONCAT(w.lastName, ' ', w.firstName) salesPersonName, + w.phone AS salesPersonPhone, + CONCAT(wu.name, '@verdnatura.es') AS salesPersonEmail + FROM client c + JOIN account.user u ON u.id = c.id + LEFT JOIN worker w ON w.id = c.salesPersonFk + LEFT JOIN account.user wu ON wu.id = w.userFk + WHERE c.id = ?`, [clientId]); + }, + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build() + }, + props: { + clientId: { + required: true + } + } +}; diff --git a/print/templates/email/client-welcome/locale/es.yml b/print/templates/email/client-welcome/locale/es.yml new file mode 100644 index 0000000000..ac43a7cc63 --- /dev/null +++ b/print/templates/email/client-welcome/locale/es.yml @@ -0,0 +1,55 @@ +subject: Bienvenido a Verdnatura +title: "¡Te damos la bienvenida!" +dearClient: Estimado cliente +clientData: 'Tus 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' +clientId: Identificador de cliente +user: Usuario +password: Contraseña +passwordResetText: Haz clic en '¿Has olvidado tu contraseña?' +sections: + howToBuy: + title: Cómo hacer un pedido + description: 'Para realizar un pedido en nuestra web, debes configurarlo indicando:' + requeriments: + - Si quieres recibir el pedido (por agencia o por nuestro propio reparto) o si + lo prefieres recoger en alguno de nuestros almacenes. + - La fecha en la que quieres recibir el pedido (se preparará el día anterior). + - La dirección de entrega o el almacén donde quieres recoger el pedido. + stock: En nuestra web y aplicaciones puedes visualizar el stock disponible de + flor cortada, verdes, plantas, complementos y artificial. Ten 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. + delivery: El reparto se realiza de lunes a sábado según la zona en la que te encuentres. + 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. + howToPay: + title: Cómo pagar + description: 'Las formas de pago admitidas en Verdnatura son:' + options: + - Con tarjeta a través de nuestra plataforma web (al confirmar + el pedido). + - Mediante giro bancario mensual, modalidad que hay que solicitar + y tramitar. + toConsider: + title: Cosas a tener en cuenta + description: Verdnatura vende EXCLUSIVAMENTE a profesionales, por lo que debes + remitirnos el Modelo 036 ó 037, para comprobar que está dado/a de alta en el + epígrafe correspondiente al comercio de flores. + claimsPolicy: + title: POLÍTICA DE RECLAMACIONES + description: 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. +help: Cualquier duda que te surja, no dudes en consultarla, ¡estamos para + atenderte! +salesPersonName: Soy tu comercial y mi nombre es +salesPersonPhone: Teléfono y whatsapp +salesPersonEmail: Dirección de e-mail diff --git a/print/templates/email/delivery-note/assets/css/import.js b/print/templates/email/delivery-note/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/delivery-note/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/delivery-note/attachments.json b/print/templates/email/delivery-note/attachments.json new file mode 100644 index 0000000000..d963db0c59 --- /dev/null +++ b/print/templates/email/delivery-note/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "delivery-note.pdf", + "component": "delivery-note" +}] \ No newline at end of file diff --git a/print/templates/email/delivery-note/delivery-note.html b/print/templates/email/delivery-note/delivery-note.html new file mode 100644 index 0000000000..b91f66e69d --- /dev/null +++ b/print/templates/email/delivery-note/delivery-note.html @@ -0,0 +1,55 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('dear')}},

+

+

+

+

+
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/delivery-note/delivery-note.js b/print/templates/email/delivery-note/delivery-note.js new file mode 100755 index 0000000000..64839b8e0e --- /dev/null +++ b/print/templates/email/delivery-note/delivery-note.js @@ -0,0 +1,17 @@ +const Component = require(`${appPath}/core/component`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); + +module.exports = { + name: 'delivery-note', + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build() + }, + props: { + ticketId: { + type: String, + required: true + } + } +}; diff --git a/print/templates/email/delivery-note/locale/es.yml b/print/templates/email/delivery-note/locale/es.yml new file mode 100644 index 0000000000..3294b2316d --- /dev/null +++ b/print/templates/email/delivery-note/locale/es.yml @@ -0,0 +1,10 @@ +subject: Aquí tienes tu albarán +title: "¡Este es tu albarán!" +dear: Estimado cliente +description: Ya está disponible el albarán correspondiente al pedido {0}.
+ Puedes descargarlo haciendo clic en el adjunto de este correo. +poll: Si lo deseas, puedes responder a nuestra encuesta de satisfacción para + ayudarnos a prestar un mejor servicio. ¡Tu opinión es muy importante para nosotros! +help: Cualquier duda que te surja, no dudes en consultarla, ¡estamos para + atenderte! +conclusion: ¡Gracias por tu atención! diff --git a/print/templates/email/delivery-note/locale/fr.yml b/print/templates/email/delivery-note/locale/fr.yml new file mode 100644 index 0000000000..fdaf6e320a --- /dev/null +++ b/print/templates/email/delivery-note/locale/fr.yml @@ -0,0 +1,9 @@ +subject: Voici votre bon de livraison +title: "Voici votre bon de livraison!" +dear: Cher client, +description: Le bon de livraison correspondant à la commande {0} est maintenant disponible.
+ Vous pouvez le télécharger en cliquant sur la pièce jointe dans cet email. +poll: Si vous le souhaitez, vous pouvez répondre à notre questionaire de satisfaction + pour nous aider à améliorer notre service. Votre avis est très important pour nous! +help: N'hésitez pas nous envoyer toute doute ou question, nous sommes là pour vous aider! +conclusion: Merci pour votre attention! diff --git a/print/templates/email/driver-route/assets/css/import.js b/print/templates/email/driver-route/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/driver-route/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/driver-route/attachments.json b/print/templates/email/driver-route/attachments.json new file mode 100644 index 0000000000..e80a74ce0a --- /dev/null +++ b/print/templates/email/driver-route/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "driver-route.pdf", + "component": "driver-route" +}] \ No newline at end of file diff --git a/print/templates/email/driver-route/driver-route.html b/print/templates/email/driver-route/driver-route.html new file mode 100644 index 0000000000..f70be019ea --- /dev/null +++ b/print/templates/email/driver-route/driver-route.html @@ -0,0 +1,51 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('description.instructions')}}

+
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/driver-route/driver-route.js b/print/templates/email/driver-route/driver-route.js new file mode 100755 index 0000000000..de1dd9c39a --- /dev/null +++ b/print/templates/email/driver-route/driver-route.js @@ -0,0 +1,17 @@ +const Component = require(`${appPath}/core/component`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); + +module.exports = { + name: 'driver-route', + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build() + }, + props: { + routeId: { + type: String, + required: true + } + } +}; diff --git a/print/templates/email/driver-route/locale/es.yml b/print/templates/email/driver-route/locale/es.yml new file mode 100644 index 0000000000..f5ed12e5d2 --- /dev/null +++ b/print/templates/email/driver-route/locale/es.yml @@ -0,0 +1,4 @@ +subject: Hoja de ruta +title: Hoja de ruta +description: + instructions: Adjuntamos tu hoja de ruta. \ No newline at end of file diff --git a/print/templates/email/letter-debtor-nd/assets/css/import.js b/print/templates/email/letter-debtor-nd/assets/css/import.js new file mode 100644 index 0000000000..624404a6c1 --- /dev/null +++ b/print/templates/email/letter-debtor-nd/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); + diff --git a/print/templates/email/letter-debtor-nd/attachments.json b/print/templates/email/letter-debtor-nd/attachments.json new file mode 100644 index 0000000000..ae8a3f4cca --- /dev/null +++ b/print/templates/email/letter-debtor-nd/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "letter-debtor.pdf", + "component": "letter-debtor" +}] \ No newline at end of file diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.html b/print/templates/email/letter-debtor-nd/letter-debtor-nd.html new file mode 100644 index 0000000000..b2b0967f3b --- /dev/null +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.html @@ -0,0 +1,95 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{ $t('sections.introduction.title') }},

+

{{ $t('sections.introduction.description') }}

+

{{ $t('sections.introduction.terms') }}

+ +

+ {{ $t('sections.payMethod.description') }}: +

    +
  1. + {{ option }} +
  2. +
+

+ +

+ {{ $t('sections.legalAction.description') }}: +

    +
  1. + {{ option }} +
  2. +
+

+ +

+

+ +

+

+
{{debtor.bankName}}
+
{{debtor.iban}}
+
+
{{$t('transferAccount') }}
+
+
+

+
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/letter-debtor-nd/letter-debtor-nd.js b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js new file mode 100755 index 0000000000..7d7cc84ef9 --- /dev/null +++ b/print/templates/email/letter-debtor-nd/letter-debtor-nd.js @@ -0,0 +1,47 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); +const attachment = new Component('attachment'); +const attachments = require('./attachments.json'); + +module.exports = { + name: 'letter-debtor-nd', + async serverPrefetch() { + this.debtor = await this.fetchDebtor(this.clientId, this.companyId); + + if (!this.debtor) + throw new Error('Something went wrong'); + }, + data() { + return {attachments}; + }, + methods: { + fetchDebtor(clientId, companyId) { + return db.findOne(` + SELECT + c.dueDay, + c.iban, + sa.iban, + be.name AS bankName + FROM client c + JOIN company AS cny + JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + WHERE c.id = ? AND cny.id = ?`, [clientId, companyId]); + } + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build(), + 'attachment': attachment.build() + }, + props: { + clientId: { + required: true + }, + companyId: { + required: true + } + } +}; diff --git a/print/templates/email/letter-debtor-nd/locale/es.yml b/print/templates/email/letter-debtor-nd/locale/es.yml new file mode 100644 index 0000000000..506c55dd62 --- /dev/null +++ b/print/templates/email/letter-debtor-nd/locale/es.yml @@ -0,0 +1,26 @@ +subject: Reiteración de aviso por saldo deudor +title: Aviso reiterado +sections: + introduction: + title: Estimado cliente + description: Nos dirigimos a ti nuevamente para informarte que sigue pendiente + tu deuda con nuestra empresa, tal y como puedes comprobar en el extracto adjunto. + terms: Dado que los plazos de pago acordados están ampliamente superados, no procede + mayor dilación en la liquidación del importe adeudado. + payMethod: + description: Para ello dispones de las siguientes formas de pago + options: + - Pago online desde nuestra web. + - Ingreso o transferencia al número de cuenta que detallamos al pie de esta carta, + indicando el número de cliente. + legalAction: + description: 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 + options: + - Inclusión en ficheros negativos sobre solvencia patrimonial y crédito. + - Reclamación judicial. + - Cesión de deuda a una empresa de gestión de cobro. +contactPhone: Para consultas, puedes ponerte en contacto con nosotros en el 96 + 324 21 00. +conclusion: En espera de tus noticias.
Gracias por tu atención. +transferAccount: Datos para transferencia bancaria \ No newline at end of file diff --git a/print/templates/email/letter-debtor-st/assets/css/import.js b/print/templates/email/letter-debtor-st/assets/css/import.js new file mode 100644 index 0000000000..624404a6c1 --- /dev/null +++ b/print/templates/email/letter-debtor-st/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); + diff --git a/print/templates/email/letter-debtor-st/attachments.json b/print/templates/email/letter-debtor-st/attachments.json new file mode 100644 index 0000000000..ae8a3f4cca --- /dev/null +++ b/print/templates/email/letter-debtor-st/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "letter-debtor.pdf", + "component": "letter-debtor" +}] \ No newline at end of file diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.html b/print/templates/email/letter-debtor-st/letter-debtor-st.html new file mode 100644 index 0000000000..74d610698a --- /dev/null +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.html @@ -0,0 +1,78 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{ $t('sections.introduction.title') }},

+

{{ $t('sections.introduction.description') }}

+ +

{{ $t('checkExtract') }}

+

{{ $t('checkValidData') }}

+

{{ $t('payMethod') }}

+

{{ $t('conclusion') }}

+ +

+

+
{{debtor.bankName}}
+
{{debtor.iban}}
+
+
{{$t('transferAccount') }}
+
+
+

+
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/letter-debtor-st/letter-debtor-st.js b/print/templates/email/letter-debtor-st/letter-debtor-st.js new file mode 100755 index 0000000000..c34a9320a3 --- /dev/null +++ b/print/templates/email/letter-debtor-st/letter-debtor-st.js @@ -0,0 +1,47 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); +const attachment = new Component('attachment'); +const attachments = require('./attachments.json'); + +module.exports = { + name: 'letter-debtor-st', + async serverPrefetch() { + this.debtor = await this.fetchDebtor(this.clientId, this.companyId); + + if (!this.debtor) + throw new Error('Something went wrong'); + }, + data() { + return {attachments}; + }, + methods: { + fetchDebtor(clientId, companyId) { + return db.findOne(` + SELECT + c.dueDay, + c.iban, + sa.iban, + be.name AS bankName + FROM client c + JOIN company AS cny + JOIN supplierAccount AS sa ON sa.id = cny.supplierAccountFk + JOIN bankEntity be ON be.id = sa.bankEntityFk + WHERE c.id = ? AND cny.id = ?`, [clientId, companyId]); + } + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build(), + 'attachment': attachment.build() + }, + props: { + clientId: { + required: true + }, + companyId: { + required: true + } + } +}; diff --git a/print/templates/email/letter-debtor-st/locale/es.yml b/print/templates/email/letter-debtor-st/locale/es.yml new file mode 100644 index 0000000000..d65014a1d0 --- /dev/null +++ b/print/templates/email/letter-debtor-st/locale/es.yml @@ -0,0 +1,19 @@ +subject: Aviso inicial por saldo deudor +title: Aviso inicial por saldo deudor +sections: + introduction: + title: Estimado cliente + description: Por el presente escrito te comunicamos que, según nuestros datos + contables, tu cuenta tiene un saldo pendiente de liquidar. +checkExtract: Te solicitamos compruebes que el extracto adjunto corresponde con los + datos de que dispones. Nuestro departamento de administración te aclarará gustosamente + cualquier duda que puedas tener, e igualmente te facilitará cualquier documento + que solicites. +checkValidData: Si al comprobar los datos aportados resultaran correctos, te rogamos + procedas a regularizar tu situación. +payMethod: Si no deseas desplazarte personalmente hasta nuestras oficinas, puedes + realizar el pago mediante transferencia bancaria a la cuenta que figura al pie del + comunicado, indicando tu número de cliente, o bien puedes realizar el pago online + desde nuestra página web. +conclusion: De antemano te agradecemos tu amable colaboración. +transferAccount: Datos para transferencia bancaria diff --git a/print/templates/email/payment-update/assets/css/import.js b/print/templates/email/payment-update/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/payment-update/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/payment-update/locale/es.yml b/print/templates/email/payment-update/locale/es.yml new file mode 100644 index 0000000000..464b525914 --- /dev/null +++ b/print/templates/email/payment-update/locale/es.yml @@ -0,0 +1,18 @@ +subject: Cambios en las condiciones de pago +title: Cambios en las condiciones +sections: + introduction: + title: Estimado cliente + description: Te informamos que han cambiado las condiciones de pago de tu cuenta. +
A continuación te indicamos las nuevas condiciones + pay: + method: Método de pago + day: Día de pago + dueDay: "{0} de cada mes" + cardImplicates: Tu modo de pago actual implica que deberás abonar el importe de + los pedidos realizados en el mismo día para que se puedan enviar. + accountImplicates: Tu modo de pago actual implica que se te pasará un cargo a + la cuenta terminada en '{0}' por el importe pendiente, al vencimiento + establecido en las condiciones. +notifyAnError: En el caso de detectar algún error en los datos indicados o para cualquier + aclaración, debes dirigirte a tu comercial. diff --git a/print/templates/email/payment-update/locale/fr.yml b/print/templates/email/payment-update/locale/fr.yml new file mode 100644 index 0000000000..20fa7a5f4e --- /dev/null +++ b/print/templates/email/payment-update/locale/fr.yml @@ -0,0 +1,17 @@ +subject: Changement des C.G.V +title: Changement des C.G.V +sections: + introduction: + title: Chèr client + description: Nous vous informons que les conditions de paiement ont changé.
Voici + les nouvelles conditions + pay: + method: Méthode de paiement + day: Date paiement + dueDay: "{0} de chaque mois" + cardImplicates: Avec votre mode de règlement vous devrez payer le montant des + commandes avant son départ. + accountImplicates: Avec ce mode de règlement nous vous passerons un prélèvement + automatique dans votre compte bancaire se termine dans '{0}' + our le montant dû, au date à terme établi en nos conditions. +notifyAnError: Pour tout renseignement contactez votre commercial. diff --git a/print/templates/email/payment-update/payment-update.html b/print/templates/email/payment-update/payment-update.html new file mode 100644 index 0000000000..cc1ec1e7a4 --- /dev/null +++ b/print/templates/email/payment-update/payment-update.html @@ -0,0 +1,70 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{ $t('sections.introduction.title') }},

+

+ +

+

+ {{ $t('sections.pay.method') }}: + {{client.payMethodName}} +
+
+ {{ $t('sections.pay.day') }}: + {{ $t('sections.pay.dueDay', [client.dueDay]) }} +
+

+ +

+

+ {{ $t('sections.pay.cardImplicates') }} +

+ +

{{ $t('notifyAnError') }}

+
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/payment-update/payment-update.js b/print/templates/email/payment-update/payment-update.js new file mode 100755 index 0000000000..8510e088e6 --- /dev/null +++ b/print/templates/email/payment-update/payment-update.js @@ -0,0 +1,43 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); + +module.exports = { + name: 'payment-update', + async serverPrefetch() { + this.client = await this.fetchClient(this.clientId); + + if (!this.client) + throw new Error('Something went wrong'); + }, + computed: { + accountAddress: function() { + return this.iban.slice(-4); + }, + }, + methods: { + // Redmine #1854 Replace payMethodId by code + fetchClient(id) { + return db.findOne( + `SELECT + c.dueDay, + c.iban, + pm.id payMethodId, + pm.name payMethodName + FROM client c + JOIN payMethod pm ON pm.id = c.payMethodFk + JOIN account.user u ON u.id = c.id + WHERE c.id = :clientId`, {clientId: id}); + } + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build() + }, + props: { + clientId: { + required: true + } + } +}; diff --git a/print/templates/email/printer-setup/assets/css/import.js b/print/templates/email/printer-setup/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/printer-setup/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/report/printer-setup/assets/files/model.ezp b/print/templates/email/printer-setup/assets/files/model.ezp similarity index 100% rename from print/report/printer-setup/assets/files/model.ezp rename to print/templates/email/printer-setup/assets/files/model.ezp diff --git a/print/report/printer-setup/assets/files/port.png b/print/templates/email/printer-setup/assets/files/port.png similarity index 100% rename from print/report/printer-setup/assets/files/port.png rename to print/templates/email/printer-setup/assets/files/port.png diff --git a/print/templates/email/printer-setup/attachments.json b/print/templates/email/printer-setup/attachments.json new file mode 100644 index 0000000000..2f828a6a00 --- /dev/null +++ b/print/templates/email/printer-setup/attachments.json @@ -0,0 +1,12 @@ +[{ + "filename": "model.ezp", + "component": "printer-setup", + "path": "/assets/files/model.ezp", + "cid": "model.ezp" +}, +{ + "filename": "port.png", + "component": "printer-setup", + "path": "/assets/files/port.png", + "cid": "port.png" +}] \ No newline at end of file diff --git a/print/templates/email/printer-setup/locale/es.yml b/print/templates/email/printer-setup/locale/es.yml new file mode 100644 index 0000000000..39568bd1b9 --- /dev/null +++ b/print/templates/email/printer-setup/locale/es.yml @@ -0,0 +1,50 @@ +subject: Instalación y configuración de impresora +title: "¡Gracias por tu confianza!" +description: + dear: Estimado cliente + instructions: Sigue las instrucciones especificadas en este correo para llevar a + cabo la instalación de la impresora. + followGuide: Puedes utilizar como guía, el vídeo del montaje del ribon y la cinta + https://www.youtube.com/watch?v=qhb0kgQF3o8. También + necesitarás el QLabel, el programa para imprimir las cintas. + downloadFrom: Puedes descargarlo desde este enlace https://godex.s3-accelerate.amazonaws.com/gGnOPoojkP6vC1lgmrbEqQ.file?v01 +sections: + QLabel: + title: Utilización de QLabel + description: Para utilizar el programa de impresión de cintas sigue estos pasos + steps: + - Abre el programa QLabel + - Haz clic en el icono de la barra superior con forma de 'carpeta' + - Selecciona el archivo llamado 'model.ezp' adjunto en este correo, y haz clic + en abrir + - Ve a 'File' -> 'Save as' y guárdalo en el escritorio con otro nombre + - Cierra el Qlabel y abre el archivo que acabamos de guardar + - Haz clic encima del texto con el botón secundario del ratón + - Elige la primera opción 'setup' + - Cambia el texto para imprimir + - Haz clic en el botón 'Ok' + - Desplázate con el ratón para ver la medida máxima que ocupa el texto + - Haz clic encima del texto con el botón secundario del ratón + - Elige la segunda opción 'Setup printer' + - Haz clic en la primera pestaña 'Label Setup' + - Modifica la propiedad 'Paper Height' con la medida máxima consultada anteriormente + - 'Comprueba el puerto de la impresora, botón de de la derecha ''SETUP PRINTER'' + y en la parte derecha, igual como la imagen que adjuntamos, seleccionar la que + ponga ''USB00x: GODEX''' + - Haz clic en el botón 'Ok' + - Haz clic sobre el icono de la impresora + - Haz clic en 'Print' + help: + title: "¿Necesitas ayuda?" + description: Si necesitas ayuda, descárgate nuestro programa de soporte para poder + conectarnos remotamente a tu equipo y hacerte la instalación. Proporciónanos + un horario de contacto para atenderte, y contactaremos contigo. + remoteSupport: Puedes descargarte el programa desde este enlace http://soporte.verdnatura.es. +help: Cualquier duda que te surja, no dudes en consultarla, ¡estamos para + atenderte! +salesPersonName: Soy tu comercial y mi nombre es +salesPersonPhone: Teléfono y whatsapp +salesPersonEmail: Dirección de e-mail \ No newline at end of file diff --git a/print/templates/email/printer-setup/printer-setup.html b/print/templates/email/printer-setup/printer-setup.html new file mode 100644 index 0000000000..abc28db338 --- /dev/null +++ b/print/templates/email/printer-setup/printer-setup.html @@ -0,0 +1,95 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('description.dear')}},

+

{{$t('description.instructions')}}

+

+

+ +

{{$t('sections.QLabel.title')}}

+

{{$t('sections.QLabel.description')}}:

+
    +
  1. + +
  2. +
+
+
+ +
+
+

{{$t('sections.help.title')}}

+

{{$t('sections.help.description')}}

+

+
+
+ +
+
+
+ {{$t('salesPersonName')}}: {{client.salesPersonName}} +
+
+ {{$t('salesPersonPhone')}}: {{client.salesPersonPhone}} +
+
+ {{$t('salesPersonEmail')}}: + {{client.salesPersonEmail}} +
+
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/printer-setup/printer-setup.js b/print/templates/email/printer-setup/printer-setup.js new file mode 100755 index 0000000000..12a2b14c99 --- /dev/null +++ b/print/templates/email/printer-setup/printer-setup.js @@ -0,0 +1,44 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); +const attachment = new Component('attachment'); +const attachments = require('./attachments.json'); + +module.exports = { + name: 'printer-setup', + async serverPrefetch() { + this.client = await this.fetchClient(this.clientId); + }, + data() { + return {attachments}; + }, + methods: { + fetchClient(clientId) { + return db.findOne(` + SELECT + c.id, + u.lang locale, + u.name AS userName, + c.email recipient, + CONCAT(w.lastName, ' ', w.firstName) salesPersonName, + w.phone AS salesPersonPhone, + CONCAT(wu.name, '@verdnatura.es') AS salesPersonEmail + FROM client c + JOIN account.user u ON u.id = c.id + LEFT JOIN worker w ON w.id = c.salesPersonFk + LEFT JOIN account.user wu ON wu.id = w.userFk + WHERE c.id = ?`, [clientId]); + }, + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build(), + 'attachment': attachment.build() + }, + props: { + clientId: { + required: true + } + } +}; diff --git a/print/templates/email/sepa-core/assets/css/import.js b/print/templates/email/sepa-core/assets/css/import.js new file mode 100644 index 0000000000..b44d6bd371 --- /dev/null +++ b/print/templates/email/sepa-core/assets/css/import.js @@ -0,0 +1,8 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/email.css`]) + .mergeStyles(); diff --git a/print/templates/email/sepa-core/attachments.json b/print/templates/email/sepa-core/attachments.json new file mode 100644 index 0000000000..e5ddc0aff7 --- /dev/null +++ b/print/templates/email/sepa-core/attachments.json @@ -0,0 +1,4 @@ +[{ + "filename": "sepa-core.pdf", + "component": "sepa-core" +}] \ No newline at end of file diff --git a/print/templates/email/sepa-core/locale/es.yml b/print/templates/email/sepa-core/locale/es.yml new file mode 100644 index 0000000000..10a1d32fe8 --- /dev/null +++ b/print/templates/email/sepa-core/locale/es.yml @@ -0,0 +1,18 @@ +subject: Solicitud de domiciliación bancaria +title: Domiciliación SEPA CORE +description: + dear: Estimado cliente + instructions:

Dadas las excelentes relaciones existentes entre nuestras + dos empresas y para facilitar los procesos de pago de nuestras facturas, + sugerimos el uso del sistema de domiciliación bancaria SEPA CORE.

+

Este servicio consiste en emitir nuestros recibos a su empresa de + forma automatizada y electrónicamente, lo que supone para usted una reducción + sustancial de costos en términos de honorarios y gastos bancarios.

+

En caso de que acepte nuestra propuesta, a la fecha de vencimiento de cada efecto, + se debitará a su cuenta automáticamente a través de su entidad bancaria. + Por tanto, le pedimos que firme y envíe a su banco la autorización original adjunta, + debidamente cumplimentada, y nos devuelva una fotocopia de dicha autorización.

+

Este sistema se basa en la transmisión electrónica de datos; + el manejo de documentos físicos ha sido eliminado.

+

Le agradecemos su cooperación,

+ conclusion: ¡Gracias por su atención! diff --git a/print/templates/email/sepa-core/locale/fr.yml b/print/templates/email/sepa-core/locale/fr.yml new file mode 100644 index 0000000000..98bd7593a6 --- /dev/null +++ b/print/templates/email/sepa-core/locale/fr.yml @@ -0,0 +1,27 @@ +subject: Autorisation pour débit +title: Autorisation pour débit +description: + dear: Messieurs + instructions:

Étant donné les excellentes relations existantes entre nos + deux sociétés et en vue de faciliter les processus de + paiement de nos factures, nous vous suggérons l'utilisation + du système française de compensation LCR.

+

Ce service consiste à effectuer des recouvrements + automatiques, de manière électronique, de nos effets - + lettres de change et billets à ordre - tirés sur votre société + en Euro, qui présente comme principal avantage pour vous + la substantielle réduction de coûts dans des termes de frais + et commissions bancaires.

+

Dans le cas où vous accepteriez notre proposition, à + l’échéance de chaque effet, votre compte sera débité + automatiquement par votre Banque. + Ainsi, nous vous demandons de signer et envoyer à votre + Banque l'original de l'autorisation pour débit en annexe, + dûment remplie, et de nous retourner une photocopie de la + dite autorisation.

+

Ce système étant basé sur la transmission de données de + manière électronique, le maniement de documents + physiques á été éliminé

+

En vous remercieront pour votre collaboration, nous vous + prions d’agréer, Messieurs, nos salutations distinguées.

+ conclusion: Bien cordialement diff --git a/print/templates/email/sepa-core/locale/pt.yml b/print/templates/email/sepa-core/locale/pt.yml new file mode 100644 index 0000000000..9999dbc6ab --- /dev/null +++ b/print/templates/email/sepa-core/locale/pt.yml @@ -0,0 +1,8 @@ +subject: Autorização de débito directo SEPA CORE +title: Débito directo SEPA CORE +description: + dear: Prezado Cliente + instructions: Para poder tramitar vossa solicitação de forma de pagamento a Débito + Automático, anexamos os documentos correspondentes à Lei de Pagamentos, que deves + preencher e reenviar-nos. + conclusion: Obrigado pela atenção. diff --git a/print/templates/email/sepa-core/sepa-core.html b/print/templates/email/sepa-core/sepa-core.html new file mode 100644 index 0000000000..445b7efc96 --- /dev/null +++ b/print/templates/email/sepa-core/sepa-core.html @@ -0,0 +1,63 @@ + + + + + + {{ $t('subject') }} + + + + + + + + +
+ +
+
+
+ +
+
+ + +
+
+ +
+
+

{{ $t('title') }}

+

{{$t('description.dear')}},

+
+

{{$t('description.conclusion')}}

+
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ + \ No newline at end of file diff --git a/print/templates/email/sepa-core/sepa-core.js b/print/templates/email/sepa-core/sepa-core.js new file mode 100755 index 0000000000..31afb11159 --- /dev/null +++ b/print/templates/email/sepa-core/sepa-core.js @@ -0,0 +1,25 @@ +const Component = require(`${appPath}/core/component`); +const emailHeader = new Component('email-header'); +const emailFooter = new Component('email-footer'); +const attachment = new Component('attachment'); +const attachments = require('./attachments.json'); + +module.exports = { + name: 'sepa-core', + data() { + return {attachments}; + }, + components: { + 'email-header': emailHeader.build(), + 'email-footer': emailFooter.build(), + 'attachment': attachment.build() + }, + props: { + clientId: { + required: true + }, + companyId: { + required: true + } + } +}; diff --git a/print/templates/reports/claim-pickup-order/assets/css/import.js b/print/templates/reports/claim-pickup-order/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/claim-pickup-order/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-claim-pickup-order/assets/css/style.css b/print/templates/reports/claim-pickup-order/assets/css/style.css similarity index 100% rename from print/report/rpt-claim-pickup-order/assets/css/style.css rename to print/templates/reports/claim-pickup-order/assets/css/style.css diff --git a/print/templates/reports/claim-pickup-order/claim-pickup-order.html b/print/templates/reports/claim-pickup-order/claim-pickup-order.html new file mode 100644 index 0000000000..b50633ddb9 --- /dev/null +++ b/print/templates/reports/claim-pickup-order/claim-pickup-order.html @@ -0,0 +1,106 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+
+
+
+

{{$t('title')}}

+ + + + + + + + + + + + + + + +
{{$t('claimId')}}{{claimId}}
{{$t('clientId')}}{{client.id}}
{{$t('date')}}{{currentDate}}
+
+
+
+
+
{{$t('clientData')}}
+
+

{{client.nickname}}

+
+ {{client.street}} +
+
+ {{client.postalCode}}, {{client.city}} ({{client.province}}) +
+
+ {{client.country}} +
+
+
+
+
+ + + + + + + + + + + + + + + + + + +
{{$t('reference')}}{{$t('quantity')}}{{$t('claims')}}{{$t('concept')}}
{{sale.id}}{{sale.quantity}}{{sale.claimQuantity}}{{sale.concept}}
+ +
+
{{$t('clientSignature')}}
+
+

{{client.name}}

+
+
+ +

+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/templates/reports/claim-pickup-order/claim-pickup-order.js b/print/templates/reports/claim-pickup-order/claim-pickup-order.js new file mode 100755 index 0000000000..494c8b4e5a --- /dev/null +++ b/print/templates/reports/claim-pickup-order/claim-pickup-order.js @@ -0,0 +1,66 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); + +module.exports = { + name: 'claim-pickup-order', + async serverPrefetch() { + this.client = await this.fetchClient(this.claimId); + this.sales = await this.fetchSales(this.claimId); + + if (!this.client) + throw new Error('Something went wrong'); + }, + computed: { + currentDate: function() { + const filters = this.$options.filters; + + return filters.date(new Date(), '%d-%m-%Y'); + } + }, + methods: { + fetchClient(claimId) { + return db.findOne( + `SELECT + c.id, + c.socialName, + c.name, + c.fi, + a.city, + a.postalCode, + a.street, + a.nickname, + p.name AS province, + ct.country + FROM claim cl + JOIN client c ON c.id = cl.clientFk + JOIN account.user u ON u.id = c.id + JOIN country ct ON ct.id = c.countryFk + JOIN ticket t ON t.id = cl.ticketFk + JOIN address a ON a.id = t.addressFk + LEFT JOIN province p ON p.id = c.provinceFk + WHERE cl.id = ?`, [claimId]); + }, + fetchSales(claimId) { + return db.find( + `SELECT + s.id, + s.quantity, + s.concept, + cb.quantity claimQuantity + FROM claimBeginning cb + JOIN sale s ON s.id = cb.saleFk + WHERE cb.claimFk = ?`, [claimId]); + }, + }, + components: { + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() + }, + props: { + claimId: { + required: true + } + } +}; diff --git a/print/templates/reports/claim-pickup-order/locale/es.yml b/print/templates/reports/claim-pickup-order/locale/es.yml new file mode 100644 index 0000000000..534fd2da86 --- /dev/null +++ b/print/templates/reports/claim-pickup-order/locale/es.yml @@ -0,0 +1,15 @@ +title: Ord. recogida +claimId: Reclamación +clientId: Cliente +date: Fecha +clientData: Dirección de recogida +quantity: Cantidad +claims: Reclama +reference: Referencia +concept: Concepto +clientSignature: Firma del cliente +claim: Reclamación {0} +sections: + agency: + description: 'Para agilizar tu recogida, por favor, pónte en contacto con la oficina + de integrados.
Tlf: 96 166 77 88 - Ana Gómez (Ext. 2133) (agomezf@integra2.es)' diff --git a/print/templates/reports/delivery-note/assets/css/import.js b/print/templates/reports/delivery-note/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/delivery-note/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-delivery-note/assets/css/style.css b/print/templates/reports/delivery-note/assets/css/style.css similarity index 100% rename from print/report/rpt-delivery-note/assets/css/style.css rename to print/templates/reports/delivery-note/assets/css/style.css diff --git a/print/templates/reports/delivery-note/delivery-note.html b/print/templates/reports/delivery-note/delivery-note.html new file mode 100644 index 0000000000..3908133cc2 --- /dev/null +++ b/print/templates/reports/delivery-note/delivery-note.html @@ -0,0 +1,254 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+
+
+
+

{{$t('title')}}

+ + + + + + + + + + + + + + + +
{{$t('clientId')}}{{client.id}}
{{$t('ticketId')}}{{ticket.id}}
{{$t('date')}}{{ticket.shipped | date('%d-%m-%Y')}}
+
+
+
+
+
{{$t('deliveryAddress')}}
+
+

{{address.nickname}}

+
+ {{address.street}} +
+
+ {{address.postalCode}}, {{address.city}} ({{address.province}}) +
+
+
+ +
+
{{$t('fiscalData')}}
+
+
+ {{client.socialName}} +
+
+ {{client.street}} +
+
+ {{client.fi}} +
+
+
+
+
+ + +

{{$t('saleLines')}}

+ + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('reference')}}{{$t('quantity')}}{{$t('concept')}}{{$t('price')}}{{$t('discount')}}{{$t('vat')}}{{$t('amount')}}
+ {{$t('subtotal')}} + {{getSubTotal() | currency('EUR', locale)}}
+ + +
+ +
+

{{$t('services')}}

+ + + + + + + + + + + + + + + + + + + + + + + +
{{$t('concept')}}{{$t('quantity')}}{{$t('vatType')}}{{$t('amount')}}
{{service.description}}{{service.quantity}}{{service.taxDescription}}{{service.price | currency('EUR', locale)}}
{{$t('total')}} {{serviceTotal | currency('EUR', locale)}}
+
+ + + +
+

{{$t('taxBreakdown')}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('type')}}{{$t('taxBase')}}{{$t('tax')}}{{$t('fee')}}
{{tax.name}}{{tax.Base | currency('EUR', locale)}}{{tax.vatPercent | percentage}}{{tax.tax | currency('EUR', locale)}}
{{$t('subtotal')}}{{getTotalBase() | currency('EUR', locale)}}{{getTotalTax()| currency('EUR', locale)}}
{{$t('total')}}{{getTotal() | currency('EUR', locale)}}
+
+ + + +
+

{{$t('packagings')}}

+ + + + + + + + + + + + + + + +
Id{{$t('concept')}}{{$t('quantity')}}
{{packaging.itemFk}}{{packaging.name}}{{packaging.quantity}}
+
+ + + +
+
+
{{$t('digitalSignature')}}
+
+ +
{{signature.created | date}}
+
+
+
+ +
+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/report/rpt-delivery-note/index.js b/print/templates/reports/delivery-note/delivery-note.js similarity index 64% rename from print/report/rpt-delivery-note/index.js rename to print/templates/reports/delivery-note/delivery-note.js index be6bb83c5a..c680d5b399 100755 --- a/print/report/rpt-delivery-note/index.js +++ b/print/templates/reports/delivery-note/delivery-note.js @@ -1,31 +1,24 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const config = require(`${appPath}/lib/config.js`); -const UserException = require(`${appPath}/lib/exceptions/userException`); +const config = require(`${appPath}/core/config`); +const db = require(`${appPath}/core/database`); +const Component = require(`${appPath}/core/component`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); const md5 = require('md5'); module.exports = { - name: 'rpt-delivery-note', - async asyncData(ctx, params) { - Object.assign(this, this.methods); + name: 'delivery-note', + async serverPrefetch() { + this.client = await this.fetchClient(this.ticketId); + this.ticket = await this.fetchTicket(this.ticketId); + this.sales = await this.fetchSales(this.ticketId); + this.address = await this.fetchAddress(this.ticketId); + this.services = await this.fetchServices(this.ticketId); + this.taxes = await this.fetchTaxes(this.ticketId); + this.packagings = await this.fetchPackagings(this.ticketId); + this.signature = await this.fetchSignature(this.ticketId); - const [[client]] = await this.fetchClient(params.ticketFk); - const [[ticket]] = await this.fetchTicket(params.ticketFk); - const [[address]] = await this.fetchAddress(params.ticketFk); - const [[signature]] = await this.fetchSignature(params.ticketFk); - const [[taxes]] = await this.fetchTaxes(params.ticketFk); - const [sales] = await this.fetchSales(params.ticketFk); - const [packagings] = await this.fetchPackagings(params.ticketFk); - const [services] = await this.fetchServices(params.ticketFk); - - if (!ticket) - throw new UserException('No ticket data found'); - - return {client, ticket, address, sales, taxes, packagings, services, signature}; - }, - created() { - if (this.client.locale) - this.$i18n.locale = this.client.locale; + if (!this.ticket) + throw new Error('Something went wrong'); }, data() { return {totalBalance: 0.00}; @@ -38,9 +31,6 @@ module.exports = { if (this.signature && this.signature.id) return `${hostPath}/${this.signature.id}.png`; }, - shipped() { - return strftime('%d-%m-%Y', this.ticket.shipped); - }, serviceTotal() { let total = 0.00; this.services.forEach(service => { @@ -50,51 +40,29 @@ module.exports = { return total; } }, - filters: { - currency(input, currency = 'EUR') { - return new Intl.NumberFormat('es', { - style: 'currency', currency - }).format(parseFloat(input)); - }, - percent(input) { - return new Intl.NumberFormat('es', { - style: 'percent', - minimumFractionDigits: 2, - maximumFractionDigits: 2 - }).format(parseFloat(input)); - }, - date(input) { - return strftime('%d-%m-%Y %H:%I:%S', input); - } - }, methods: { - fetchClient(ticketFk) { - return database.pool.query( + fetchClient(ticketId) { + return db.findOne( `SELECT c.id, - c.email AS recipient, c.socialName, c.street, - c.fi, - u.lang locale + c.fi FROM ticket t JOIN client c ON c.id = t.clientFk - JOIN account.user u ON u.id = c.id - WHERE t.id = ?`, [ticketFk]); + WHERE t.id = ?`, [ticketId]); }, - fetchTicket(ticketFk) { - return database.pool.query( + fetchTicket(ticketId) { + return db.findOne( `SELECT t.id, t.shipped, t.companyFk FROM ticket t - JOIN client c ON c.id = t.clientFk - JOIN account.user u ON u.id = c.id - WHERE t.id = ?`, [ticketFk]); + WHERE t.id = ?`, [ticketId]); }, - fetchAddress(ticketFk) { - return database.pool.query( + fetchAddress(ticketId) { + return db.findOne( `SELECT a.nickname, a.street, @@ -104,11 +72,11 @@ module.exports = { FROM ticket t JOIN address a ON a.clientFk = t.clientFk LEFT JOIN province p ON p.id = a.provinceFk - WHERE t.id = ?`, [ticketFk]); + WHERE t.id = ?`, [ticketId]); }, - fetchSales(ticketFk) { - return database.pool.query( + fetchSales(ticketId) { + return db.find( `SELECT s.id, s.itemFk, @@ -157,14 +125,15 @@ module.exports = { '%') WHERE s.ticketFk = ? GROUP BY s.id - ORDER BY (it.isPackaging), s.concept, s.itemFk`, [ticketFk]); + ORDER BY (it.isPackaging), s.concept, s.itemFk`, [ticketId]); }, - fetchTaxes(ticketFk) { - return database.pool.query( - `CALL vn.ticketGetTaxAdd(?)`, [ticketFk]); + fetchTaxes(ticketId) { + return db.find(`CALL vn.ticketGetTaxAdd(?)`, [ticketId]).then(rows => { + return rows[0]; + }); }, - fetchPackagings(ticketFk) { - return database.pool.query( + fetchPackagings(ticketId) { + return db.find( `SELECT tp.quantity, i.name, @@ -173,10 +142,10 @@ module.exports = { JOIN packaging p ON p.id = tp.packagingFk JOIN item i ON i.id = p.itemFk WHERE tp.ticketFk = ? - ORDER BY itemFk`, [ticketFk]); + ORDER BY itemFk`, [ticketId]); }, - fetchServices(ticketFk) { - return database.pool.query( + fetchServices(ticketId) { + return db.find( `SELECT tc.description taxDescription, ts.description, @@ -184,10 +153,10 @@ module.exports = { ts.price FROM ticketService ts JOIN taxClass tc ON tc.id = ts.taxClassFk - WHERE ts.ticketFk = ?`, [ticketFk]); + WHERE ts.ticketFk = ?`, [ticketId]); }, - fetchSignature(ticketFk) { - return database.pool.query( + fetchSignature(ticketId) { + return db.findOne( `SELECT d.id, d.created @@ -195,7 +164,7 @@ module.exports = { JOIN ticketDms dt ON dt.ticketFk = t.id JOIN dms d ON d.id = dt.dmsFk AND d.file LIKE '%.png' - WHERE t.id = ?`, [ticketFk]); + WHERE t.id = ?`, [ticketId]); }, getSubTotal() { let subTotal = 0.00; @@ -226,7 +195,13 @@ module.exports = { }, }, components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() }, + props: { + ticketId: { + type: String, + required: true + } + } }; diff --git a/print/templates/reports/delivery-note/locale/es.yml b/print/templates/reports/delivery-note/locale/es.yml new file mode 100644 index 0000000000..4dc7d4ff98 --- /dev/null +++ b/print/templates/reports/delivery-note/locale/es.yml @@ -0,0 +1,26 @@ +title: Albarán +ticketId: Albarán +clientId: Cliente +deliveryAddress: Dirección de entrega +fiscalData: Datos fiscales +saleLines: Líneas de pedido +date: Fecha +reference: Ref. +quantity: Cant. +concept: Concepto +price: PVP/u +discount: Dto. +vat: IVA +amount: Importe +type: Tipo +taxBase: Base imp. +tax: Tasa +fee: Cuota +total: Total +subtotal: Subtotal +taxBreakdown: Desglose impositivo +packagings: Cubos y embalajes +services: Servicios +vatType: Tipo de IVA +digitalSignature: Firma digital +ticket: Albarán {0} \ No newline at end of file diff --git a/print/templates/reports/driver-route/assets/css/import.js b/print/templates/reports/driver-route/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/driver-route/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-route/assets/css/style.css b/print/templates/reports/driver-route/assets/css/style.css similarity index 100% rename from print/report/rpt-route/assets/css/style.css rename to print/templates/reports/driver-route/assets/css/style.css diff --git a/print/templates/reports/driver-route/driver-route.html b/print/templates/reports/driver-route/driver-route.html new file mode 100644 index 0000000000..453c4eab57 --- /dev/null +++ b/print/templates/reports/driver-route/driver-route.html @@ -0,0 +1,174 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+

{{$t('title')}}

+
+
{{$t('information')}}
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('route')}}{{route.id}}{{$t('driver')}}{{route.userNickName}}
{{$t('date')}}{{route.created | date('%d-%m-%Y')}}{{$t('vehicle')}}{{route.vehicleTradeMark}} {{route.vehicleModel}}
{{$t('time')}}{{route.time | date('%H:%M')}}{{route.plateNumber}}
{{$t('volume')}}{{route.m3}}{{$t('agency')}}{{route.agencyName}}
+
+ + + + + + + + + + + + + + + +
+

Hora inicio

+
+

Hora fin

+
+

Km inicio

+
+

Km fin

+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ + + + + + + + + + + + + + + + + + + +
{{$t('order')}}{{$t('ticket')}}{{$t('client')}}{{$t('address')}}{{$t('packages')}}
{{ticket.priority}}{{ticket.id}}{{ticket.clientFk}} {{ticket.addressName}} + {{ticket.addressFk.toString().substr(0, ticket.addressFk.toString().length - 3)}} + + {{ticket.addressFk.toString().substr(-3, 3)}} + + {{ticket.packages}}
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('street')}}{{ticket.street}}{{$t('postcode')}}{{ticket.postalCode}}
{{$t('city')}}{{ticket.city}}{{$t('agency')}}{{ticket.ticketAgency}}
{{$t('mobile')}}{{ticket.mobile}}{{$t('phone')}}{{ticket.phone}}
{{$t('warehouse')}}{{ticket.warehouseName}}{{$t('salesPerson')}}{{ticket.salesPersonName}}
{{$t('import')}}{{ticket.import}}
+
+

{{ticket.description}}

+

{{$t('stowaway')}}: {{ticket.shipFk}}

+
+
+
+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/report/rpt-route/index.js b/print/templates/reports/driver-route/driver-route.js similarity index 62% rename from print/report/rpt-route/index.js rename to print/templates/reports/driver-route/driver-route.js index 989a272548..845beaa9ad 100755 --- a/print/report/rpt-route/index.js +++ b/print/templates/reports/driver-route/driver-route.js @@ -1,49 +1,47 @@ -const strftime = require('strftime'); -const database = require(`${appPath}/lib/database`); -const UserException = require(`${appPath}/lib/exceptions/userException`); +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); module.exports = { - name: 'rpt-route', - async asyncData(ctx, params) { - Object.assign(this, this.methods); + name: 'driver-route', + async serverPrefetch() { + this.route = await this.fetchRoute(this.routeId); + this.tickets = await this.fetchTickets(this.routeId); - const [[route]] = await this.fetchRoute(params.routeFk); - const [tickets] = await this.fetchTickets(params.routeFk); + if (!this.route) + throw new Error('Something went wrong'); + }, + computed: { + dated: function() { + const filters = this.$options.filters; - if (!route) - throw new UserException('No route data found'); - - if (!tickets) - throw new UserException('No ticket data found'); - - return {route, tickets}; + return filters.date(new Date(), '%d-%m-%Y'); + } }, methods: { - fetchRoute(routeFk) { - return database.pool.query( + fetchRoute(id) { + return db.findOne( `SELECT r.id, r.m3, r.created, r.time, u.nickName userNickName, - u.lang AS locale, v.tradeMark vehicleTradeMark, v.model vehicleModel, v.numberPlate plateNumber, am.name agencyName FROM route r - LEFT JOIN ticket t ON t.routeFk = r.id - LEFT JOIN sale s ON s.ticketFk = t.id - LEFT JOIN cache.last_buy lb ON lb.item_id = s.itemFk LEFT JOIN vehicle v ON v.id = r.vehicleFk LEFT JOIN worker w ON w.id = r.workerFk LEFT JOIN account.user u ON u.id = w.userFk LEFT JOIN agencyMode am ON am.id = r.agencyModeFk - WHERE r.id = ?`, [routeFk]); + WHERE r.id = :routeId`, {routeId: id}); }, - fetchTickets(routeFk) { - return database.pool.query( + // Redmine #1855 Replace function Averiguar_ComercialCliente_Id() + fetchTickets(routeId) { + return db.find( `SELECT t.nickname addressName, t.packages, @@ -76,19 +74,16 @@ module.exports = { LEFT JOIN agencyMode am ON am.id = t.agencyModeFk LEFT JOIN stowaway s ON s.id = t.id WHERE r.id = ? - ORDER BY t.priority, t.id`, [routeFk]); - }, - date(date) { - if (date) - return strftime('%d-%m-%Y', date); - }, - time: time => { - if (time) - return strftime('%H:%M', time); - }, + ORDER BY t.priority, t.id`, [routeId]); + } }, components: { - 'report-header': require('../report-header'), - 'report-footer': require('../report-footer'), + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() }, + props: { + routeId: { + required: true + } + } }; diff --git a/print/templates/reports/driver-route/locale/es.yml b/print/templates/reports/driver-route/locale/es.yml new file mode 100644 index 0000000000..25c830e5c9 --- /dev/null +++ b/print/templates/reports/driver-route/locale/es.yml @@ -0,0 +1,24 @@ +title: Hoja de ruta +information: Información +date: Fecha +time: Hora +volume: Cubicaje +driver: Conductor +vehicle: Vehículo +agency: Agencia +order: Orden +client: Cliente +address: Consignatario +packages: Bultos +street: Dirección +postcode: Código Postal +city: Ciudad +mobile: Móvil +phone: Teléfono +warehouse: Almacén +salesPerson: Comercial +import: Importe +stowaway: Encajado dentro del ticket +route: Ruta +routeId: Ruta {0} +ticket: Tiquet \ No newline at end of file diff --git a/print/templates/reports/item-label/assets/css/import.js b/print/templates/reports/item-label/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/item-label/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-item-label/assets/css/style.css b/print/templates/reports/item-label/assets/css/style.css similarity index 100% rename from print/report/rpt-item-label/assets/css/style.css rename to print/templates/reports/item-label/assets/css/style.css diff --git a/print/templates/reports/item-label/item-label.html b/print/templates/reports/item-label/item-label.html new file mode 100644 index 0000000000..0cb351b277 --- /dev/null +++ b/print/templates/reports/item-label/item-label.html @@ -0,0 +1,35 @@ + + + + + + + + + +
+
+
+

{{item.id}}

+
+ +
+
+
+
{{item.name}}
+
{{tags.color}}
+
{{tags.producer}}
+
+
+
{{packing()}}
+
{{dated}}
+
{{labelPage}}
+
+
{{item.size}}
+
+
+
+
+ + + diff --git a/print/templates/reports/item-label/item-label.js b/print/templates/reports/item-label/item-label.js new file mode 100755 index 0000000000..026d0fc52e --- /dev/null +++ b/print/templates/reports/item-label/item-label.js @@ -0,0 +1,85 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); +const qrcode = require('qrcode'); + +module.exports = { + name: 'item-label', + async serverPrefetch() { + this.item = await this.fetchItem(this.itemId, this.warehouseId); + this.tags = await this.fetchItemTags(this.itemId); + this.barcode = await this.getBarcodeBase64(this.itemId); + + if (!this.item) + throw new Error('Something went wrong'); + }, + + computed: { + dated() { + const filters = this.$options.filters; + + return filters.date(new Date(), '%W/%d'); + }, + labelPage() { + const labelNumber = this.labelNumber ? this.labelNumber : 1; + const totalLabels = this.totalLabels ? this.totalLabels : 1; + + return `${labelNumber}/${totalLabels}`; + } + }, + methods: { + fetchItem(id, warehouseId) { + return db.findOne( + `SELECT + i.id, + i.name, + i.stems, + i.size, + b.packing + FROM vn.item i + JOIN cache.last_buy clb ON clb.item_id = i.id + JOIN vn.buy b ON b.id = clb.buy_id + JOIN vn.entry e ON e.id = b.entryFk + WHERE i.id = ? AND clb.warehouse_id = ?`, [id, warehouseId]); + }, + fetchItemTags(itemId) { + return db.find( + `SELECT t.code, t.name, it.value + FROM vn.itemTag it + JOIN vn.tag t ON t.id = it.tagFk + WHERE it.itemFk = ? + `, [itemId]).then(rows => { + const tags = {}; + rows.forEach(row => tags[row.code] = row.value); + + return tags; + }); + }, + getBarcodeBase64(itemId) { + return qrcode.toDataURL(itemId, {margin: 0}); + }, + packing() { + const stems = this.item.stems ? this.item.stems : 1; + return `${this.item.packing}x${stems}`; + } + }, + components: { + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() + }, + props: { + itemId: { + required: true + }, + warehouseId: { + required: true + }, + labelNumber: { + type: String + }, + totalLabels: { + type: String + } + } +}; diff --git a/print/report/rpt-item-label/options.json b/print/templates/reports/item-label/options.json similarity index 100% rename from print/report/rpt-item-label/options.json rename to print/templates/reports/item-label/options.json diff --git a/print/templates/reports/letter-debtor/assets/css/import.js b/print/templates/reports/letter-debtor/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/letter-debtor/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-letter-debtor/assets/css/style.css b/print/templates/reports/letter-debtor/assets/css/style.css similarity index 100% rename from print/report/rpt-letter-debtor/assets/css/style.css rename to print/templates/reports/letter-debtor/assets/css/style.css diff --git a/print/templates/reports/letter-debtor/letter-debtor.html b/print/templates/reports/letter-debtor/letter-debtor.html new file mode 100644 index 0000000000..23fc4daedc --- /dev/null +++ b/print/templates/reports/letter-debtor/letter-debtor.html @@ -0,0 +1,104 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+
+
+
+

{{$t('title')}}

+ + + + + + + + + + + +
{{$t('clientId')}}{{client.id}}
{{$t('dated')}}{{dated}}
+
+
+
+
+
{{$t('clientData')}}
+
+

{{client.socialName}}

+
+ {{client.street}} +
+
+ {{client.postcode}}, {{client.city}} ({{client.province}}) +
+
+ {{client.country}} +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('date')}}{{$t('concept')}}{{$t('invoiced')}}{{$t('payed')}}{{$t('balance')}}
{{sale.issued | date('%d-%m-%Y')}}{{sale.ref}}{{sale.debtOut}}{{sale.debtIn}}{{getBalance(sale)}}
Total {{getTotalDebtOut()}}{{getTotalDebtIn()}}{{totalBalance}}
+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/templates/reports/letter-debtor/letter-debtor.js b/print/templates/reports/letter-debtor/letter-debtor.js new file mode 100755 index 0000000000..b2983eb513 --- /dev/null +++ b/print/templates/reports/letter-debtor/letter-debtor.js @@ -0,0 +1,89 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); + +module.exports = { + name: 'letter-debtor', + async serverPrefetch() { + this.client = await this.fetchClient(this.clientId); + this.sales = await this.fetchSales(this.clientId, this.companyId); + + if (!this.client) + throw new Error('Something went wrong'); + }, + computed: { + dated: function() { + const filters = this.$options.filters; + + return filters.date(new Date(), '%d-%m-%Y'); + } + }, + data() { + return {totalBalance: 0.00}; + }, + methods: { + fetchClient(clientId) { + return db.findOne( + `SELECT + c.id, + c.socialName, + c.street, + c.postcode, + c.city, + c.fi, + p.name AS province, + ct.country + FROM client c + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN province p ON p.id = c.provinceFk + WHERE c.id = ?`, [clientId]); + }, + fetchSales(clientId, companyId) { + return db.find( + `CALL vn.clientGetDebtDiary(:clientId, :companyId)`, { + clientId: clientId, + companyId: companyId, + }).then(rows => { + return rows[0]; + }); + }, + getBalance(sale) { + if (sale.debtOut) + this.totalBalance += parseFloat(sale.debtOut); + + if (sale.debtIn) + this.totalBalance -= parseFloat(sale.debtIn); + + return parseFloat(this.totalBalance.toFixed(2)); + }, + getTotalDebtOut() { + let debtOut = 0.00; + this.sales.forEach(sale => { + debtOut += sale.debtOut ? parseFloat(sale.debtOut) : 0; + }); + + return debtOut.toFixed(2); + }, + getTotalDebtIn() { + let debtIn = 0.00; + this.sales.forEach(sale => { + debtIn += sale.debtIn ? parseFloat(sale.debtIn) : 0; + }); + + return debtIn.toFixed(2); + }, + }, + components: { + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() + }, + props: { + clientId: { + required: true + }, + companyId: { + required: true + } + } +}; diff --git a/print/templates/reports/letter-debtor/locale/es.yml b/print/templates/reports/letter-debtor/locale/es.yml new file mode 100644 index 0000000000..09a31ee5bc --- /dev/null +++ b/print/templates/reports/letter-debtor/locale/es.yml @@ -0,0 +1,10 @@ +title: Extracto +claimId: Reclamación +clientId: Cliente +clientData: Datos del cliente +dated: Fecha +concept: Concepto +invoiced: Facturado +payed: Pagado +balance: Saldo +client: Cliente {0} \ No newline at end of file diff --git a/print/report/rpt-item-label/assets/css/index.js b/print/templates/reports/receipt/assets/css/import.js similarity index 64% rename from print/report/rpt-item-label/assets/css/index.js rename to print/templates/reports/receipt/assets/css/import.js index 515dea7503..a2a9334cb1 100644 --- a/print/report/rpt-item-label/assets/css/index.js +++ b/print/templates/reports/receipt/assets/css/import.js @@ -1,6 +1,6 @@ -const CssReader = require(`${appPath}/lib/cssReader`); +const Stylesheet = require(`${appPath}/core/stylesheet`); -module.exports = new CssReader([ +module.exports = new Stylesheet([ `${appPath}/common/css/layout.css`, `${appPath}/common/css/report.css`, `${appPath}/common/css/misc.css`, diff --git a/print/report/rpt-receipt/assets/css/style.css b/print/templates/reports/receipt/assets/css/style.css similarity index 100% rename from print/report/rpt-receipt/assets/css/style.css rename to print/templates/reports/receipt/assets/css/style.css diff --git a/print/report/rpt-lcr/assets/images/signature.png b/print/templates/reports/receipt/assets/images/signature.png similarity index 100% rename from print/report/rpt-lcr/assets/images/signature.png rename to print/templates/reports/receipt/assets/images/signature.png diff --git a/print/lib/filters/index.js b/print/templates/reports/receipt/locale/en.yml similarity index 100% rename from print/lib/filters/index.js rename to print/templates/reports/receipt/locale/en.yml diff --git a/print/templates/reports/receipt/locale/es.yml b/print/templates/reports/receipt/locale/es.yml new file mode 100644 index 0000000000..67b9a948f2 --- /dev/null +++ b/print/templates/reports/receipt/locale/es.yml @@ -0,0 +1,17 @@ +title: 'Recibo' +date: 'Fecha' +payed: 'En {0}, a {1} de {2} de {3}' +client: 'Cliente {0}' +months: + - 'Enero' + - 'Febrero' + - 'Marzo' + - 'Abril' + - 'Mayo' + - 'Junio' + - 'Julio' + - 'Agosto' + - 'Septiembre' + - 'Octubre' + - 'Noviembre' + - 'Diciembre' \ No newline at end of file diff --git a/print/templates/reports/receipt/receipt.html b/print/templates/reports/receipt/receipt.html new file mode 100644 index 0000000000..ffcc4ffb16 --- /dev/null +++ b/print/templates/reports/receipt/receipt.html @@ -0,0 +1,57 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+
+

{{$t('title')}}

+

+ Recibo de {{client.socialName}}, + la cantidad de {{receipt.amountPaid}} € en concepto de 'entrega a cuenta', + quedando pendiente en la cuenta del cliente + un saldo de {{receipt.amountUnpaid}} €. +

+
+ +

{{$t('payed', [ + 'Silla', + receipt.payed.getDate(), + $t('months')[receipt.payed.getMonth()], + receipt.payed.getFullYear()]) + }} +

+
+
+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/templates/reports/receipt/receipt.js b/print/templates/reports/receipt/receipt.js new file mode 100755 index 0000000000..1b220bddaf --- /dev/null +++ b/print/templates/reports/receipt/receipt.js @@ -0,0 +1,49 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); + +module.exports = { + name: 'receipt', + async serverPrefetch() { + this.client = await this.fetchClient(this.receiptId); + this.receipt = await this.fetchReceipt(this.receiptId); + + if (!this.receipt) + throw new Error('Something went wrong'); + }, + methods: { + fetchClient(receiptId) { + return db.findOne( + `SELECT + c.id, + c.socialName, + u.lang locale + FROM receipt r + JOIN client c ON c.id = r.clientFk + JOIN account.user u ON u.id = c.id + WHERE r.id = ?`, [receiptId]); + }, + fetchReceipt(receiptId) { + return db.findOne( + `SELECT + r.id, + r.amountPaid, + r.amountUnpaid, + r.payed, + r.companyFk + FROM receipt r + JOIN client c ON c.id = r.clientFk + WHERE r.id = ?`, [receiptId]); + } + }, + components: { + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() + }, + props: { + receiptId: { + required: true + } + } +}; diff --git a/print/templates/reports/sepa-core/assets/css/import.js b/print/templates/reports/sepa-core/assets/css/import.js new file mode 100644 index 0000000000..fd8796c2bf --- /dev/null +++ b/print/templates/reports/sepa-core/assets/css/import.js @@ -0,0 +1,9 @@ +const Stylesheet = require(`${appPath}/core/stylesheet`); + +module.exports = new Stylesheet([ + `${appPath}/common/css/spacing.css`, + `${appPath}/common/css/misc.css`, + `${appPath}/common/css/layout.css`, + `${appPath}/common/css/report.css`, + `${__dirname}/style.css`]) + .mergeStyles(); diff --git a/print/report/rpt-sepa-core/assets/css/style.css b/print/templates/reports/sepa-core/assets/css/style.css similarity index 100% rename from print/report/rpt-sepa-core/assets/css/style.css rename to print/templates/reports/sepa-core/assets/css/style.css diff --git a/print/templates/reports/sepa-core/locale/es.yml b/print/templates/reports/sepa-core/locale/es.yml new file mode 100644 index 0000000000..66fe889b95 --- /dev/null +++ b/print/templates/reports/sepa-core/locale/es.yml @@ -0,0 +1,41 @@ +title: Orden de domiciliación de adeudo SEPA CORE +description: 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. +documentCopy: Debe llevar a su Entidad Bancaria una copia del documento firmado para + que lo registre y evitar la devolución. +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. +supplier: + toCompleteBySupplier: A cumplimentar por el acreedor + orderReference: Referencia de la orden de domiciliación + identifier: Identificador del acreedor + name: Nombre del acreedor + street: Dirección + location: CP - Población - Provincia + country: País +client: + toCompleteByClient: A cumplimentar por el deudor + name: Nombre del deudor/es + street: Dirección del deudor + location: CP - Población - Provincia + country: País del deudor + swift: Swift BIC + accountNumber: Número de cuenta - IBAN + accountHolder: "(Titular/es de la cuenta de cargo)" + accountNumberFormat: En {0} el IBAN consta de {1} posiciones comenzando siempre por {2} + paymentType: Tipo de pago + recurrent: Recurrente + unique: Único + signLocation: Fecha - Localidad + sign: Firma del deudor y sello +order: Ord. domiciliación {0} +Francia: Francia +España: España +Portugal: Portugal \ No newline at end of file diff --git a/print/templates/reports/sepa-core/locale/fr.yml b/print/templates/reports/sepa-core/locale/fr.yml new file mode 100644 index 0000000000..ec6fd11ab7 --- /dev/null +++ b/print/templates/reports/sepa-core/locale/fr.yml @@ -0,0 +1,38 @@ +title: Mandat de domiciliation Européene LCR +description: En signant ce formulaire de mandat, vous autorisez VERDNATURA LEVANTE SL + à envoyer des instructions à votre banque pour débiter votre compte, et (B) votre banque + à débiter votre compte conformément aux instructions de VERDNATURA LEVANTE SL. + Vous bénéficiez d’un droit au remboursement par votre banque selon les conditions décrites + dans la convention que vous avez passée avec elle. Toute demande de remboursement doit être + présentée dans les 8 semaines suivant la date de débit de votre compte. + Votre banque peut vous renseigner au sujet de vos droits relatifs à ce mandat. +documentCopy: Veuillez dater, signer et retourner ce document à votre banque. +mandatoryFields: TOUS LES CHAMPS DOIVENT ÊTRE REINSEGNÉS IMPÉRATIVEMENT. +sendOrder: APRÈS SIGNATURA, RENVOYER AU CRÉANCIER ET AU VOTRE ÉTABLISSEMENT FINANCIER. +supplier: + toCompleteBySupplier: Á compléter pour le créancier + orderReference: Numéro de référence du mandat + identifier: Identifiant créancier + name: Nom du céancier + street: Adresse + location: CP - Commune - Départament + country: Pays +client: + toCompleteByClient: Á compléter pour le débiteur + name: Nom du débiteur(s) + street: Adresse du(des) débiteur(s) + location: CP - Commune - Départament + country: País du(des) débiteur(s) + swift: Swift BIC + accountNumber: Numéro de compte - IBAN + accountHolder: (Débiteur(s) de compte) + accountNumberFormat: En {0} l'IBAN compte {1} postes commençant toujours par {2} + paymentType: Type de paiemen + recurrent: Versement périodique + unique: Paiement unique + signLocation: Date - Commune + sign: Signature du débiteur et tampon +order: Réf. mandat {0} +Francia: France +España: Espagne +Portugal: Portugal \ No newline at end of file diff --git a/print/templates/reports/sepa-core/locale/pt.yml b/print/templates/reports/sepa-core/locale/pt.yml new file mode 100644 index 0000000000..5b71fbdf58 --- /dev/null +++ b/print/templates/reports/sepa-core/locale/pt.yml @@ -0,0 +1,41 @@ +title: Autorização de débito directo SEPA CORE +description: Ao subscrever esta autorização, está a autorizar a (A) Verdnatura Levante + S.L. a enviar instruções ao seu banco para debitar a sua conta e (B) seu banco a + debitar a sua conta, de acordo com as instruções da Verdnatura Levante S.L. Os seus + direitos incluem a possibilidade de exigir do seu banco o reembolso do montante + debitado, nos termos e condições acordados com o seu banco. O reembolso deve ser + solicitado até um prazo de oito semanas, a contar da data do débito na sua conta. + Os seus direitos, referentes à autorização acima referida, são explicados em declaração + que pode obter no seu banco. +documentCopy: Deve levar à sua Entidade Bancária uma cópia do documento assinado para + que o registre e evitar a devolução +mandatoryFields: TODOS OS CAMPOS DEVEM SER PREENCHIDOS OBRIGATORIAMENTE. +sendOrder: UMA VEZ ASSINADA, ESTA AUTORIZAÇÃO DE DÉBITO DEVE SER ENVIADA AO CREDOR + PARA SUA CUSTÓDIA E É RECOMENDÁVEL FACILITAR UMA CÓPIA À SUA ENTIDADE BANCÁRIA. +supplier: + toCompleteBySupplier: A preencher pelo credor + orderReference: Referência da ordem + identifier: Identificador do Credor + name: Nome do Credor + street: Morada + location: CP - Município - Distrito + country: País +client: + toCompleteByClient: A preencher pelo devedor + name: Nome do devedor + street: Dirección del deudor + location: Cod. Postal - Município - Distrito + country: País do devedor + swift: Swift BIC + accountNumber: Número de Conta IBAN + accountHolder: "(Titular(es) da conta)" + accountNumberFormat: Em {0} o IBAN é composto pelo {1} dígitos e começa sempre pelo {2} + paymentType: Tipos de pagamento Pagamento + recurrent: Recorrente + unique: Pagamento pontual + signLocation: Data - Localidade + sign: Assinatura e carimbo do devedor +order: Referência da ordem {0} +Francia: França +España: Espanha +Portugal: Portugal \ No newline at end of file diff --git a/print/templates/reports/sepa-core/sepa-core.html b/print/templates/reports/sepa-core/sepa-core.html new file mode 100644 index 0000000000..69bf2651be --- /dev/null +++ b/print/templates/reports/sepa-core/sepa-core.html @@ -0,0 +1,187 @@ + + + + + + + + + +
+ +
+
+ + +
+
+ +
+
+

{{$t('title')}}

+
+
+
+ {{$t('supplier.toCompleteBySupplier')}} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{$t('supplier.orderReference')}}{{supplier.mandateCode}}
{{$t('supplier.identifier')}} +
ES89000B97367486
+
B97367486-000
+
{{$t('supplier.name')}}{{supplier.name}}
{{$t('supplier.street')}}{{supplier.street}}
{{$t('supplier.location')}}{{supplier.postCode}}, {{supplier.city}} ({{supplier.province}})
{{$t('supplier.country')}}{{supplier.country}}
+
+
+ +

{{$t('description')}}

+

+ {{$t('documentCopy')}} +

+ +
+
+
+ {{$t('client.toCompleteByClient')}} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ {{$t('client.name')}} +
{{$t('client.accountHolder')}}
+
{{client.socialName}}
{{$t('client.street')}}{{client.street}}
{{$t('client.location')}}{{client.postcode}}, {{client.city}} ({{client.province}})
{{$t('client.country')}}{{client.country}}
{{$t('client.swift')}} +
+ +
+
{{$t('client.accountNumber')}}
+
+ {{client.countryCode.substr(0, 1)}} + {{client.countryCode.substr(1, 1)}} + +
+
+
+ {{client.countryCode.substr(0, 1)}} + {{client.countryCode.substr(1, 1)}} + +
+
+
+ {{$t('client.accountNumberFormat', [ + $t(`${client.country}`), + client.ibanLength, + client.countryCode + ])}} + +
+
{{$t('client.paymentType')}} + + + + + + + + +
+
+ X +
+
{{$t('client.recurrent')}}O +
+ +
+
{{$t('client.unique')}}
+
{{$t('client.signLocation')}}{{dated}}, {{client.province}}
{{$t('client.sign')}}
+
+
+ +

{{$t('mandatoryFields')}}

+

{{$t('sendOrder')}}

+
+
+ +
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/print/templates/reports/sepa-core/sepa-core.js b/print/templates/reports/sepa-core/sepa-core.js new file mode 100755 index 0000000000..de3a2983d4 --- /dev/null +++ b/print/templates/reports/sepa-core/sepa-core.js @@ -0,0 +1,80 @@ +const Component = require(`${appPath}/core/component`); +const db = require(`${appPath}/core/database`); +const reportHeader = new Component('report-header'); +const reportFooter = new Component('report-footer'); + +const rptSepaCore = { + name: 'sepa-core', + async serverPrefetch() { + this.client = await this.fetchClient(this.clientId, this.companyId); + this.supplier = await this.fetchSupplier(this.clientId, this.companyId); + + if (!this.client) + throw new Error('Something went wrong'); + }, + computed: { + dated: function() { + const filters = this.$options.filters; + + return filters.date(new Date(), '%d-%m-%Y'); + } + }, + methods: { + fetchClient(clientId, companyId) { + return db.findOne( + `SELECT + c.id, + m.code mandateCode, + c.socialName, + c.street, + c.postcode, + c.city, + p.name AS province, + ct.country, + ct.code AS countryCode, + ct.ibanLength AS ibanLength + FROM client c + JOIN country ct ON ct.id = c.countryFk + LEFT JOIN mandate m ON m.clientFk = c.id + AND m.companyFk = :companyId AND m.finished IS NULL + LEFT JOIN province p ON p.id = c.provinceFk + WHERE (m.companyFk = :companyId OR m.companyFk IS NULL) AND c.id = :clientId + ORDER BY m.created DESC LIMIT 1`, {companyId, clientId}); + }, + fetchSupplier(clientId, companyId) { + return db.findOne( + `SELECT + m.code mandateCode, + s.name, + s.street, + sc.country, + s.postCode, + s.city, + sp.name province + FROM client c + LEFT JOIN mandate m ON m.clientFk = c.id + AND m.companyFk = :companyId 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 + LEFT JOIN province p ON p.id = c.provinceFk + WHERE (m.companyFk = :companyId OR m.companyFk IS NULL) AND c.id = :clientId + ORDER BY m.created DESC LIMIT 1`, {companyId, clientId}); + } + }, + components: { + 'report-header': reportHeader.build(), + 'report-footer': reportFooter.build() + }, + props: { + clientId: { + required: true + }, + companyId: { + required: true + } + } +}; + + +module.exports = rptSepaCore; diff --git a/print/report/rpt-lcr/assets/css/index.js b/print/templates/reports/zone/assets/css/import.js similarity index 64% rename from print/report/rpt-lcr/assets/css/index.js rename to print/templates/reports/zone/assets/css/import.js index 515dea7503..a2a9334cb1 100644 --- a/print/report/rpt-lcr/assets/css/index.js +++ b/print/templates/reports/zone/assets/css/import.js @@ -1,6 +1,6 @@ -const CssReader = require(`${appPath}/lib/cssReader`); +const Stylesheet = require(`${appPath}/core/stylesheet`); -module.exports = new CssReader([ +module.exports = new Stylesheet([ `${appPath}/common/css/layout.css`, `${appPath}/common/css/report.css`, `${appPath}/common/css/misc.css`, diff --git a/print/report/rpt-zone/assets/css/style.css b/print/templates/reports/zone/assets/css/style.css similarity index 90% rename from print/report/rpt-zone/assets/css/style.css rename to print/templates/reports/zone/assets/css/style.css index 82e5c33f17..50d5518f58 100644 --- a/print/report/rpt-zone/assets/css/style.css +++ b/print/templates/reports/zone/assets/css/style.css @@ -1,4 +1,4 @@ -section .text { +div.text { font-family: Tahoma; font-weight: bold; color: white; diff --git a/print/templates/reports/zone/zone.html b/print/templates/reports/zone/zone.html new file mode 100644 index 0000000000..8e6406ad45 --- /dev/null +++ b/print/templates/reports/zone/zone.html @@ -0,0 +1,16 @@ + + + + + + + + + +
+
{{zone.agencyName}}
+
{{zone.id}}
+
{{zone.plateNumber}} {{zone.time | date('%H:%M')}}
+
+ + \ No newline at end of file diff --git a/print/templates/reports/zone/zone.js b/print/templates/reports/zone/zone.js new file mode 100755 index 0000000000..4587625635 --- /dev/null +++ b/print/templates/reports/zone/zone.js @@ -0,0 +1,30 @@ +const db = require(`${appPath}/core/database`); + +module.exports = { + name: 'zone', + async serverPrefetch() { + this.zone = await this.fetchZone(this.routeId); + + if (!this.zone) + throw new Error('Something went wrong'); + }, + methods: { + fetchZone(routeId) { + return db.findOne( + `SELECT + r.id, + r.time, + am.name agencyName, + v.numberPlate plateNumber + FROM route r + JOIN agencyMode am ON am.id = r.agencyModeFk + JOIN vehicle v ON v.id = r.vehicleFk + WHERE r.id = :routeId`, {routeId}); + } + }, + props: { + routeId: { + required: true + } + } +};