vnZoneEvents refactor
gitea/salix/dev This commit looks good
Details
gitea/salix/dev This commit looks good
Details
This commit is contained in:
parent
f12b1b8595
commit
4d4e4f31f4
|
@ -26,6 +26,12 @@ CREATE TABLE `vn`.`zoneEvent` (
|
|||
CONSTRAINT `zoneEvent_ibfk_1` FOREIGN KEY (`zoneFk`) REFERENCES `zone` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8;
|
||||
|
||||
ALTER TABLE `vn`.`zoneEvent`
|
||||
ADD COLUMN `type` ENUM('day', 'indefinitely', 'range') NOT NULL AFTER `zoneFk`,
|
||||
ADD COLUMN `dated` DATE NULL DEFAULT NULL AFTER `type`,
|
||||
CHANGE COLUMN `from` `started` DATE NULL DEFAULT NULL ,
|
||||
CHANGE COLUMN `to` `ended` DATE NULL DEFAULT NULL ;
|
||||
|
||||
CREATE TABLE `vn`.`zoneExclusion` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`zoneFk` int(11) NOT NULL,
|
||||
|
@ -45,3 +51,6 @@ ADD CONSTRAINT `fk_zone_1`
|
|||
REFERENCES `vn`.`warehouse` (`id`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE CASCADE;
|
||||
|
||||
ALTER TABLE `vn`.`zoneExclusion`
|
||||
CHANGE COLUMN `day` `dated` DATE NOT NULL ;
|
|
@ -37,11 +37,11 @@ BEGIN
|
|||
WHERE z.agencyModeFk != vAgencyModeFk;
|
||||
END IF;
|
||||
|
||||
SELECT e.`from`, e.`to`, e.weekDays
|
||||
SELECT e.`type`, e.dated, e.`started`, e.`ended`, e.weekDays
|
||||
FROM tmp.zone t
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id;
|
||||
|
||||
SELECT DISTINCT e.`day`
|
||||
SELECT DISTINCT e.dated
|
||||
FROM tmp.zone t
|
||||
JOIN zoneExclusion e ON e.zoneFk = t.id;
|
||||
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
|
||||
DROP PROCEDURE IF EXISTS `vn`.`zone_getOptionsForLanding`;
|
||||
DELIMITER $$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `vn`.`zone_getOptionsForLanding`(vLanded DATE)
|
||||
BEGIN
|
||||
/**
|
||||
* Gets computed options for the passed zones and delivery date.
|
||||
*
|
||||
* @table tmp.zones(id) The zones ids
|
||||
* @param vLanded The delivery date
|
||||
* @return tmp.zoneOption The computed options
|
||||
*/
|
||||
DECLARE vHour TIME DEFAULT TIME(NOW());
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tTemp;
|
||||
CREATE TEMPORARY TABLE tTemp
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id zoneFk,
|
||||
TIME(e.`hour`) `hour`,
|
||||
e.travelingDays,
|
||||
e.price,
|
||||
e.bonus,
|
||||
CASE
|
||||
WHEN e.`from` IS NULL AND e.`to` IS NULL
|
||||
THEN 3
|
||||
WHEN e.`to` IS NULL
|
||||
THEN 2
|
||||
ELSE 1
|
||||
END specificity
|
||||
FROM tmp.zone t
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id
|
||||
WHERE (e.`from` = vLanded AND e.`to` IS NULL)
|
||||
OR (
|
||||
(e.`from` IS NULL OR vLanded BETWEEN e.`from` AND e.`to`)
|
||||
AND e.weekDays & (1 << WEEKDAY(vLanded))
|
||||
);
|
||||
|
||||
-- XXX: Compatibility with the deprecated #zoneCalendar table
|
||||
|
||||
INSERT INTO tTemp
|
||||
SELECT t.id zoneFk,
|
||||
NULL,
|
||||
NULL,
|
||||
c.price,
|
||||
c.bonus,
|
||||
4
|
||||
FROM tmp.zone t
|
||||
JOIN zoneCalendar c ON c.zoneFk = t.id
|
||||
WHERE c.delivered = vLanded;
|
||||
|
||||
DELETE t FROM tTemp t
|
||||
JOIN zoneExclusion e
|
||||
ON e.zoneFk = t.zoneFk AND e.`day` = vLanded;
|
||||
|
||||
UPDATE tTemp t
|
||||
JOIN zone z ON z.id = t.zoneFk
|
||||
SET t.`hour` = IFNULL(t.`hour`, TIME(z.`hour`)),
|
||||
t.travelingDays = IFNULL(t.travelingDays, z.travelingDays),
|
||||
t.price = IFNULL(t.price, z.price),
|
||||
t.bonus = IFNULL(t.bonus, z.bonus);
|
||||
|
||||
DELETE FROM tTemp
|
||||
WHERE (@shipped := TIMESTAMPADD(DAY, -travelingDays, vLanded)) < CURDATE()
|
||||
OR @shipped = CURDATE() AND vHour > `hour`;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneOption;
|
||||
CREATE TEMPORARY TABLE tmp.zoneOption
|
||||
ENGINE = MEMORY
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT * FROM tTemp
|
||||
ORDER BY zoneFk, specificity
|
||||
) t
|
||||
GROUP BY zoneFk;
|
||||
|
||||
DROP TEMPORARY TABLE tTemp;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
USE `vn`;
|
||||
DROP procedure IF EXISTS `zone_getOptionsForLanding`;
|
||||
|
||||
DELIMITER $$
|
||||
USE `vn`$$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `zone_getOptionsForLanding`(vLanded DATE)
|
||||
BEGIN
|
||||
/**
|
||||
* Gets computed options for the passed zones and delivery date.
|
||||
*
|
||||
* @table tmp.zones(id) The zones ids
|
||||
* @param vLanded The delivery date
|
||||
* @return tmp.zoneOption The computed options
|
||||
*/
|
||||
DECLARE vHour TIME DEFAULT TIME(NOW());
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tTemp;
|
||||
CREATE TEMPORARY TABLE tTemp
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id zoneFk,
|
||||
IFNULL(TIME(e.`hour`), TIME(z.`hour`)) `hour`,
|
||||
IFNULL(e.travelingDays, z.travelingDays) travelingDays,
|
||||
IFNULL(e.price, z.price) price,
|
||||
IFNULL(e.bonus, z.bonus) bonus,
|
||||
CASE
|
||||
WHEN e.`type` = 'day'
|
||||
THEN 1
|
||||
WHEN e.`type` = 'range'
|
||||
THEN 2
|
||||
ELSE 3
|
||||
END specificity
|
||||
FROM tmp.zone t
|
||||
JOIN zone z ON z.id = t.id
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id
|
||||
WHERE (
|
||||
e.`type` = 'day'
|
||||
AND e.dated = vLanded
|
||||
) OR (
|
||||
e.`type` != 'day'
|
||||
AND e.weekDays & (1 << WEEKDAY(vLanded))
|
||||
AND (e.`started` IS NULL OR vLanded >= e.`started`)
|
||||
AND (e.`ended` IS NULL OR vLanded <= e.`ended`)
|
||||
);
|
||||
|
||||
DELETE t FROM tTemp t
|
||||
JOIN zoneExclusion e
|
||||
ON e.zoneFk = t.zoneFk AND e.`dated` = vLanded;
|
||||
|
||||
DELETE FROM tTemp
|
||||
WHERE (@shipped := TIMESTAMPADD(DAY, -travelingDays, vLanded)) < CURDATE()
|
||||
OR @shipped = CURDATE() AND vHour > `hour`;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneOption;
|
||||
CREATE TEMPORARY TABLE tmp.zoneOption
|
||||
ENGINE = MEMORY
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT * FROM tTemp
|
||||
ORDER BY zoneFk, specificity
|
||||
) t
|
||||
GROUP BY zoneFk;
|
||||
|
||||
DROP TEMPORARY TABLE tTemp;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
USE `vn`;
|
||||
DROP procedure IF EXISTS `zone_getOptionsForShipment`;
|
||||
|
||||
DELIMITER $$
|
||||
USE `vn`$$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `zone_getOptionsForShipment`(vShipped DATE)
|
||||
BEGIN
|
||||
/**
|
||||
* Gets computed options for the passed zones and shipping date.
|
||||
*
|
||||
* @table tmp.zones(id) The zones ids
|
||||
* @param vShipped The shipping date
|
||||
* @return tmp.zoneOption(zoneFk, hour, travelingDays, price, bonus, specificity) The computed options
|
||||
*/
|
||||
DROP TEMPORARY TABLE IF EXISTS tLandings;
|
||||
CREATE TEMPORARY TABLE tLandings
|
||||
(INDEX (eventFk))
|
||||
ENGINE = MEMORY
|
||||
SELECT e.id eventFk,
|
||||
@travelingDays := IFNULL(e.travelingDays, z.travelingDays) travelingDays,
|
||||
TIMESTAMPADD(DAY, @travelingDays, vShipped) landed
|
||||
FROM tmp.zone t
|
||||
JOIN zone z ON z.id = t.id
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tTemp;
|
||||
CREATE TEMPORARY TABLE tTemp
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id zoneFk,
|
||||
IFNULL(TIME(e.`hour`), TIME(z.`hour`)) `hour`,
|
||||
IFNULL(e.price, z.price) price,
|
||||
IFNULL(e.bonus, z.bonus) bonus,
|
||||
CASE
|
||||
WHEN e.`type` = 'day'
|
||||
THEN 1
|
||||
WHEN e.`type` = 'range'
|
||||
THEN 2
|
||||
ELSE 3
|
||||
END specificity,
|
||||
l.travelingDays,
|
||||
l.landed
|
||||
FROM tmp.zone t
|
||||
JOIN zone z ON z.id = t.id
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id
|
||||
JOIN tLandings l ON l.eventFk = e.id
|
||||
HAVING (
|
||||
e.`type` = 'day'
|
||||
AND e.`dated` = l.landed
|
||||
) OR (
|
||||
e.`type` != 'day'
|
||||
AND e.weekDays & (1 << WEEKDAY(l.landed))
|
||||
AND (e.`started` IS NULL OR l.landed >= e.`started`)
|
||||
AND (e.`ended` IS NULL OR l.landed <= e.`ended`)
|
||||
);
|
||||
|
||||
DELETE t FROM tTemp t
|
||||
JOIN zoneExclusion e
|
||||
ON e.zoneFk = t.zoneFk AND e.`dated` = t.landed;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneOption;
|
||||
CREATE TEMPORARY TABLE tmp.zoneOption
|
||||
ENGINE = MEMORY
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT * FROM tTemp
|
||||
ORDER BY zoneFk, specificity
|
||||
) t
|
||||
GROUP BY zoneFk;
|
||||
|
||||
DROP TEMPORARY TABLE
|
||||
tTemp,
|
||||
tLandings;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
||||
|
|
@ -1,88 +0,0 @@
|
|||
USE `vn`;
|
||||
DROP procedure IF EXISTS `ticketCreateWithUser`;
|
||||
|
||||
DELIMITER $$
|
||||
USE `vn`$$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `ticketCreateWithUser`(
|
||||
vClientId INT
|
||||
,vShipped DATE
|
||||
,vWarehouseFk INT
|
||||
,vCompanyFk INT
|
||||
,vAddressFk INT
|
||||
,vAgencyModeFk INT
|
||||
,vRouteFk INT
|
||||
,vlanded DATE
|
||||
,vUserId INT
|
||||
,OUT vNewTicket INT)
|
||||
BEGIN
|
||||
|
||||
DECLARE vZoneFk INT;
|
||||
|
||||
IF vClientId IS NULL THEN
|
||||
CALL util.throw ('CLIENT_NOT_ESPECIFIED');
|
||||
END IF;
|
||||
|
||||
IF NOT vAddressFk OR vAddressFk IS NULL THEN
|
||||
SELECT id INTO vAddressFk
|
||||
FROM address
|
||||
WHERE clientFk = vClientId AND isDefaultAddress;
|
||||
END IF;
|
||||
|
||||
IF vAgencyModeFk IS NOT NULL THEN
|
||||
|
||||
CALL vn.zone_getShippedWarehouse(vlanded, vAddressFk, vAgencyModeFk);
|
||||
|
||||
SELECT zoneFk INTO vZoneFk FROM tmp.zoneGetShipped
|
||||
WHERE shipped = vShipped AND warehouseFk = vWarehouseFk LIMIT 1;
|
||||
|
||||
IF vZoneFk IS NULL OR vZoneFk = 0 THEN
|
||||
CALL util.throw ('NOT_ZONE_WITH_THIS_PARAMETERS');
|
||||
END IF;
|
||||
END IF;
|
||||
INSERT INTO vn2008.Tickets (
|
||||
Id_Cliente,
|
||||
Fecha,
|
||||
Id_Consigna,
|
||||
Id_Agencia,
|
||||
Alias,
|
||||
warehouse_id,
|
||||
Id_Ruta,
|
||||
empresa_id,
|
||||
landing,
|
||||
zoneFk
|
||||
)
|
||||
SELECT
|
||||
vClientId,
|
||||
vShipped,
|
||||
a.id,
|
||||
vAgencyModeFk,
|
||||
a.nickname,
|
||||
vWarehouseFk,
|
||||
IF(vRouteFk,vRouteFk,NULL),
|
||||
vCompanyFk,
|
||||
vlanded,
|
||||
vZoneFk
|
||||
FROM address a
|
||||
JOIN agencyMode am ON am.id = a.agencyModeFk
|
||||
WHERE a.id = vAddressFk;
|
||||
|
||||
SET vNewTicket = LAST_INSERT_ID();
|
||||
|
||||
INSERT INTO ticketObservation(ticketFk, observationTypeFk, description)
|
||||
SELECT vNewTicket, ao.observationTypeFk, ao.description
|
||||
FROM addressObservation ao
|
||||
JOIN address a ON a.id = ao.addressFk
|
||||
WHERE a.id = vAddressFk;
|
||||
|
||||
INSERT INTO vn.ticketLog
|
||||
SET originFk = vNewTicket, userFk = vUserId, `action` = 'insert', description = CONCAT('Ha creado el ticket:', ' ', vNewTicket);
|
||||
|
||||
IF (SELECT ct.isCreatedAsServed FROM vn.clientType ct JOIN vn.client c ON c.typeFk = ct.code WHERE c.id = vClientId ) <> FALSE THEN
|
||||
INSERT INTO vncontrol.inter(state_id, Id_Ticket, Id_Trabajador)
|
||||
SELECT id, vNewTicket, getWorker()
|
||||
FROM state
|
||||
WHERE `code` = 'DELIVERED';
|
||||
END IF;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
|
@ -1,83 +0,0 @@
|
|||
|
||||
USE `vn`;
|
||||
DROP procedure IF EXISTS `vn`.`zone_getOptionsForLanding`;
|
||||
|
||||
DELIMITER $$
|
||||
USE `vn`$$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `zone_getOptionsForLanding`(vLanded DATE)
|
||||
BEGIN
|
||||
/**
|
||||
* Gets computed options for the passed zones and delivery date.
|
||||
*
|
||||
* @table tmp.zones(id) The zones ids
|
||||
* @param vLanded The delivery date
|
||||
* @return tmp.zoneOption The computed options
|
||||
*/
|
||||
DECLARE vHour TIME DEFAULT TIME(NOW());
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tTemp;
|
||||
CREATE TEMPORARY TABLE tTemp
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id zoneFk,
|
||||
TIME(e.`hour`) `hour`,
|
||||
e.travelingDays,
|
||||
e.price,
|
||||
e.bonus,
|
||||
CASE
|
||||
WHEN e.`from` IS NULL AND e.`to` IS NULL
|
||||
THEN 3
|
||||
WHEN e.`to` IS NULL
|
||||
THEN 2
|
||||
ELSE 1
|
||||
END specificity
|
||||
FROM tmp.zone t
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id
|
||||
WHERE (e.`from` = vLanded AND e.`to` IS NULL)
|
||||
OR (
|
||||
(e.`from` IS NULL OR vLanded BETWEEN e.`from` AND e.`to`)
|
||||
AND e.weekDays & (1 << WEEKDAY(vLanded))
|
||||
);
|
||||
|
||||
-- XXX: Compatibility with the deprecated #zoneCalendar table
|
||||
|
||||
INSERT INTO tTemp
|
||||
SELECT t.id zoneFk,
|
||||
NULL,
|
||||
NULL,
|
||||
c.price,
|
||||
c.bonus,
|
||||
4
|
||||
FROM tmp.zone t
|
||||
JOIN zoneCalendar c ON c.zoneFk = t.id
|
||||
WHERE c.delivered = vLanded;
|
||||
|
||||
DELETE t FROM tTemp t
|
||||
JOIN zoneExclusion e
|
||||
ON e.zoneFk = t.zoneFk AND e.`day` = vLanded;
|
||||
|
||||
UPDATE tTemp t
|
||||
JOIN zone z ON z.id = t.zoneFk
|
||||
SET t.`hour` = IFNULL(t.`hour`, TIME(z.`hour`)),
|
||||
t.travelingDays = IFNULL(t.travelingDays, z.travelingDays),
|
||||
t.price = IFNULL(t.price, z.price),
|
||||
t.bonus = IFNULL(t.bonus, z.bonus);
|
||||
|
||||
DELETE FROM tTemp
|
||||
WHERE (@shipped := TIMESTAMPADD(DAY, -travelingDays, vLanded)) < CURDATE()
|
||||
OR @shipped = CURDATE() AND vHour > `hour`;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneOption;
|
||||
CREATE TEMPORARY TABLE tmp.zoneOption
|
||||
ENGINE = MEMORY
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT * FROM tTemp
|
||||
ORDER BY zoneFk, specificity
|
||||
) t
|
||||
GROUP BY zoneFk;
|
||||
|
||||
DROP TEMPORARY TABLE tTemp;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
||||
;
|
|
@ -1,65 +0,0 @@
|
|||
USE `vn`;
|
||||
DROP procedure IF EXISTS `zone_getOptionsForShipment`;
|
||||
|
||||
DELIMITER $$
|
||||
USE `vn`$$
|
||||
CREATE DEFINER=`root`@`%` PROCEDURE `zone_getOptionsForShipment`(vShipped DATE)
|
||||
BEGIN
|
||||
/**
|
||||
* Gets computed options for the passed zones and shipping date.
|
||||
*
|
||||
* @table tmp.zones(id) The zones ids
|
||||
* @param vShipped The shipping date
|
||||
* @return tmp.zoneOption(zoneFk, hour, travelingDays, price, bonus, specificity) The computed options
|
||||
*/
|
||||
DECLARE vHour TIME DEFAULT TIME(NOW());
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tTemp;
|
||||
CREATE TEMPORARY TABLE tTemp
|
||||
ENGINE = MEMORY
|
||||
SELECT t.id zoneFk,
|
||||
TIME(e.`hour`) `hour`,
|
||||
e.travelingDays,
|
||||
e.price,
|
||||
e.bonus,
|
||||
CASE
|
||||
WHEN e.`from` IS NULL AND e.`to` IS NULL
|
||||
THEN 3
|
||||
WHEN e.`to` IS NULL
|
||||
THEN 2
|
||||
ELSE 1
|
||||
END specificity
|
||||
FROM tmp.zone t
|
||||
JOIN zoneEvent e ON e.zoneFk = t.id
|
||||
WHERE (e.`from` = TIMESTAMPADD(DAY, e.travelingDays, vShipped) AND e.`to` IS NULL)
|
||||
OR (
|
||||
(e.`from` IS NULL OR TIMESTAMPADD(DAY, e.travelingDays, vShipped) BETWEEN e.`from` AND e.`to`)
|
||||
AND e.weekDays & (1 << WEEKDAY(TIMESTAMPADD(DAY, e.travelingDays, vShipped)))
|
||||
);
|
||||
|
||||
DELETE t FROM tTemp t
|
||||
JOIN zoneExclusion e
|
||||
ON e.zoneFk = t.zoneFk AND TIMESTAMPADD(DAY,-t.travelingDays, e.`day`) = vShipped;
|
||||
|
||||
UPDATE tTemp t
|
||||
JOIN zone z ON z.id = t.zoneFk
|
||||
SET t.`hour` = IFNULL(t.`hour`, TIME(z.`hour`)),
|
||||
t.travelingDays = IFNULL(t.travelingDays, z.travelingDays),
|
||||
t.price = IFNULL(t.price, z.price),
|
||||
t.bonus = IFNULL(t.bonus, z.bonus);
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tmp.zoneOption;
|
||||
CREATE TEMPORARY TABLE tmp.zoneOption
|
||||
ENGINE = MEMORY
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT * FROM tTemp
|
||||
ORDER BY zoneFk, specificity
|
||||
) t
|
||||
GROUP BY zoneFk;
|
||||
|
||||
DROP TEMPORARY TABLE tTemp;
|
||||
END$$
|
||||
|
||||
DELIMITER ;
|
||||
|
|
@ -1619,220 +1619,220 @@ INSERT INTO `vn`.`zoneIncluded` (`zoneFk`, `geoFk`, `isIncluded`)
|
|||
(8, 5, 0),
|
||||
(8, 1, 1);
|
||||
|
||||
INSERT INTO `vn`.`zoneEvent`(`zoneFk`, `from`)
|
||||
INSERT INTO `vn`.`zoneEvent`(`zoneFk`, `type`, `dated`)
|
||||
VALUES
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=2, 2, 9 ) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=3, 3, 10) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=4, 4, 11) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=5, 5, 12) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=6, 6, 13) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=2, 2, 9 ) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=3, 3, 10) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=4, 4, 11) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=5, 5, 12) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=6, 6, 13) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(3, CURDATE()),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(3, DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(4, CURDATE()),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(4, DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(5, CURDATE()),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(5, DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(6, CURDATE()),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(6, DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(7, CURDATE()),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(7, DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(8, CURDATE()),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(8, DATE_ADD(CURDATE(), INTERVAL +6 DAY));
|
||||
(1, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=2, 2, 9 ) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=3, 3, 10) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=4, 4, 11) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=5, 5, 12) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(1, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=6, 6, 13) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=2, 2, 9 ) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=3, 3, 10) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=4, 4, 11) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=5, 5, 12) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(2, 'day', DATE_ADD(CURDATE(), INTERVAL (IF(DAYOFWEEK(CURDATE())<=6, 6, 13) - DAYOFWEEK(CURDATE())) DAY)),
|
||||
(3, 'day', CURDATE()),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(3, 'day', DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(4, 'day', CURDATE()),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(4, 'day', DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(5, 'day', CURDATE()),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(5, 'day', DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(6, 'day', CURDATE()),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +7 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +8 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +9 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +10 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +11 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +12 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +13 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +14 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +15 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +16 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +17 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +18 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +19 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +20 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +21 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +22 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +23 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +24 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +25 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +26 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +27 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +28 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +29 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +30 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +31 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +32 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +33 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +34 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +35 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +36 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +37 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +38 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +39 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +40 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +41 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +42 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +43 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +44 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +45 DAY)),
|
||||
(6, 'day', DATE_ADD(CURDATE(), INTERVAL +46 DAY)),
|
||||
(7, 'day', CURDATE()),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(7, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY)),
|
||||
(8, 'day', CURDATE()),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +1 DAY)),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +2 DAY)),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +3 DAY)),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +4 DAY)),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +5 DAY)),
|
||||
(8, 'day', DATE_ADD(CURDATE(), INTERVAL +6 DAY));
|
||||
|
||||
INSERT INTO `vn`.`workerTimeControl`(`userFk`,`timed`,`manual`)
|
||||
VALUES
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<span
|
||||
ng-repeat="day in $ctrl.days"
|
||||
translate-attr="::{title: day.name}"
|
||||
ng-class="{marked: $ctrl.field[day.code]}"
|
||||
ng-click="$ctrl.field[day.code] = !$ctrl.field[day.code]">
|
||||
ng-class="{marked: $ctrl.field[day.index]}"
|
||||
ng-click="$ctrl.toggleDay(day.index)">
|
||||
{{day.localeChar}}
|
||||
</span>
|
|
@ -8,6 +8,13 @@ export default class WdayPicker extends FormInput {
|
|||
this.days = vnWeekDays.locales;
|
||||
this.initTabIndex();
|
||||
}
|
||||
|
||||
toggleDay(index) {
|
||||
let field = this.field;
|
||||
if (!field) field = [];
|
||||
field[index] = !field[index];
|
||||
this.change(field);
|
||||
}
|
||||
}
|
||||
WdayPicker.$inject = ['$element', '$scope', 'vnWeekDays'];
|
||||
|
||||
|
|
|
@ -1,5 +1,22 @@
|
|||
import ngModule from '../module';
|
||||
|
||||
/**
|
||||
* @property {Array} days Weekdays data array with the same indexes as Date.getDay()
|
||||
* @property {Object} map Weekdays data map using weekday codes as key
|
||||
* @property {Array} localeCodes Locale weekday codes indexes depend on current locale
|
||||
* @property {Array} locale Weekday data array with indexes depending on current locale
|
||||
*
|
||||
* Weekday properties:
|
||||
*
|
||||
* @property {Number} index The weekday index acording to Date.getDay()
|
||||
* @property {String} code The weekday code
|
||||
* @property {String} name The weekday name
|
||||
* @property {String} char The first weekday letter
|
||||
* @property {String} abr The abreviated 3 letters weekday name
|
||||
* @property {String} locale The weekday name in current locale
|
||||
* @property {String} localeChar The first weekday letter in current locale
|
||||
* @property {String} localeAbr The abreviated 3 letters weekday name in current locale
|
||||
*/
|
||||
class WeekDays {
|
||||
constructor($translate) {
|
||||
this.$translate = $translate;
|
||||
|
@ -65,6 +82,34 @@ class WeekDays {
|
|||
for (let code of this.localeCodes)
|
||||
this.locales.push(this.map[code]);
|
||||
}
|
||||
|
||||
fromSet(weekDays) {
|
||||
let wdays = [];
|
||||
|
||||
if (weekDays) {
|
||||
let codes = weekDays.split(',');
|
||||
for (let code of codes) {
|
||||
let data = this.map[code];
|
||||
if (data) wdays[data.index] = true;
|
||||
}
|
||||
}
|
||||
|
||||
return wdays;
|
||||
}
|
||||
|
||||
toSet(wdays) {
|
||||
let weekDays = [];
|
||||
|
||||
if (wdays) {
|
||||
for (let i = 0; i < wdays.length; i++) {
|
||||
if (!wdays[i]) continue;
|
||||
let data = this.days[i];
|
||||
if (data) weekDays.push(data.code);
|
||||
}
|
||||
}
|
||||
|
||||
return weekDays.join(',');
|
||||
}
|
||||
}
|
||||
WeekDays.$inject = ['$translate'];
|
||||
|
||||
|
|
|
@ -113,5 +113,9 @@
|
|||
"You can't create a claim for a removed ticket": "No puedes crear una reclamación para un ticket eliminado",
|
||||
"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}}})"
|
||||
"Has deleted the ticket id": "Ha eliminado el ticket id [#{{id}}]({{{url}}})",
|
||||
"You should specify a date": "Debes especificar una fecha",
|
||||
"You should specify at least a start or end date": "Debes especificar al menos una fecha de inicio o de fín",
|
||||
"Start date should be lower than end date": "La fecha de inicio debe ser menor que la fecha de fín",
|
||||
"You should mark at least one week day": "Debes marcar al menos un día de la semana"
|
||||
}
|
|
@ -1,9 +1,35 @@
|
|||
module.exports = Self => {
|
||||
function rangeValid(err) {
|
||||
if (this.from && this.to && this.from >= this.to)
|
||||
Self.validate('range', function(err) {
|
||||
if (this.type == 'range'
|
||||
&& !this.started
|
||||
&& !this.ended)
|
||||
err();
|
||||
}
|
||||
Self.validate('rangeValid', rangeValid, {
|
||||
}, {
|
||||
message: `You should specify at least a start or end date`
|
||||
});
|
||||
|
||||
Self.validate('validRange', function(err) {
|
||||
if (this.type == 'range'
|
||||
&& this.started
|
||||
&& this.ended
|
||||
&& this.started >= this.ended)
|
||||
err();
|
||||
}, {
|
||||
message: `Start date should be lower than end date`
|
||||
});
|
||||
|
||||
Self.validate('dated', function(err) {
|
||||
if (this.type == 'day' && !this.dated)
|
||||
err();
|
||||
}, {
|
||||
message: `You should specify a date`
|
||||
});
|
||||
|
||||
Self.validate('weekDays', function(err) {
|
||||
if (['range', 'indefinitely'].indexOf(this.type) !== -1
|
||||
&& !this.weekDays)
|
||||
err();
|
||||
}, {
|
||||
message: `You should mark at least one week day`
|
||||
});
|
||||
};
|
||||
|
|
|
@ -15,10 +15,16 @@
|
|||
"id": true,
|
||||
"type": "Number"
|
||||
},
|
||||
"from": {
|
||||
"type": {
|
||||
"type": "String"
|
||||
},
|
||||
"dated": {
|
||||
"type": "Date"
|
||||
},
|
||||
"to": {
|
||||
"started": {
|
||||
"type": "Date"
|
||||
},
|
||||
"ended": {
|
||||
"type": "Date"
|
||||
},
|
||||
"weekDays": {
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
"id": true,
|
||||
"type": "Number"
|
||||
},
|
||||
"day": {
|
||||
"dated": {
|
||||
"type": "Date",
|
||||
"required": true
|
||||
}
|
||||
|
|
|
@ -3,8 +3,9 @@ import Component from 'core/lib/component';
|
|||
import './style.scss';
|
||||
|
||||
class Controller extends Component {
|
||||
constructor($element, $) {
|
||||
constructor($element, $, vnWeekDays) {
|
||||
super($element, $);
|
||||
this.vnWeekDays = vnWeekDays;
|
||||
this.nMonths = 4;
|
||||
|
||||
let date = new Date();
|
||||
|
@ -54,19 +55,29 @@ class Controller extends Component {
|
|||
this._data = value;
|
||||
|
||||
value = value || {};
|
||||
this.events = value.events;
|
||||
this.exclusions = value.exclusions;
|
||||
|
||||
if (this.events) {
|
||||
let codes = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'];
|
||||
for (event of this.events) {
|
||||
event.wdays = [];
|
||||
if (!event.weekDays) continue;
|
||||
let weekDays = event.weekDays.split(',');
|
||||
for (let wday of weekDays) {
|
||||
let index = codes.indexOf(wday);
|
||||
if (index !== -1) event.wdays[index] = true;
|
||||
}
|
||||
this.events = value.events;
|
||||
|
||||
function toStamp(date) {
|
||||
return date && new Date(date).setHours(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
this.exclusionsMap = {};
|
||||
let exclusions = value.exclusions;
|
||||
|
||||
if (exclusions) {
|
||||
for (let exclusion of exclusions)
|
||||
this.exclusionsMap[toStamp(exclusion.dated)] = exclusion;
|
||||
}
|
||||
|
||||
let events = value.events;
|
||||
|
||||
if (events) {
|
||||
for (event of events) {
|
||||
event.dated = toStamp(event.dated);
|
||||
event.ended = toStamp(event.ended);
|
||||
event.started = toStamp(event.started);
|
||||
event.wdays = this.vnWeekDays.fromSet(event.weekDays);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,17 +89,9 @@ class Controller extends Component {
|
|||
}
|
||||
|
||||
refreshEvents() {
|
||||
function getDate(date) {
|
||||
return date && new Date(date).setHours(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
let exclusionsMap = {};
|
||||
if (this.exclusions) {
|
||||
for (let exclusion of this.exclusions)
|
||||
exclusionsMap[getDate(exclusion.day)] = exclusion;
|
||||
}
|
||||
|
||||
this.days = {};
|
||||
if (!this.data) return;
|
||||
|
||||
let day = new Date(this.firstDay.getTime());
|
||||
|
||||
while (day <= this.lastDay) {
|
||||
|
@ -99,23 +102,24 @@ class Controller extends Component {
|
|||
if (this.events) {
|
||||
for (let event of this.events) {
|
||||
let match;
|
||||
let from = getDate(event.from);
|
||||
let to = getDate(event.to);
|
||||
|
||||
if (event.from && event.to) {
|
||||
match = stamp >= from && stamp <= to
|
||||
&& event.wdays[wday];
|
||||
} else if (event.from)
|
||||
match = from == stamp;
|
||||
else
|
||||
match = event.wdays[wday];
|
||||
switch (event.type) {
|
||||
case 'day':
|
||||
match = event.dated == stamp;
|
||||
break;
|
||||
default:
|
||||
match = event.wdays[wday]
|
||||
&& (!event.started || stamp >= event.started)
|
||||
&& (!event.ended || stamp <= event.ended);
|
||||
break;
|
||||
}
|
||||
|
||||
if (match)
|
||||
dayEvents.push(event);
|
||||
}
|
||||
}
|
||||
|
||||
let exclusion = exclusionsMap[stamp];
|
||||
let exclusion = this.exclusionsMap[stamp];
|
||||
|
||||
if (dayEvents.length || exclusion) {
|
||||
let dayData = {};
|
||||
|
@ -152,6 +156,7 @@ class Controller extends Component {
|
|||
return dayData && dayData.exclusion ? 'excluded' : '';
|
||||
}
|
||||
}
|
||||
Controller.$inject = ['$element', '$scope', 'vnWeekDays'];
|
||||
|
||||
ngModule.component('vnZoneCalendar', {
|
||||
template: require('./index.html'),
|
||||
|
|
|
@ -42,17 +42,17 @@
|
|||
class="vn-item">
|
||||
<vn-item-section>
|
||||
<div
|
||||
ng-if="::row.from && !row.to"
|
||||
ng-if="::row.type == 'day'"
|
||||
class="vn-mb-sm">
|
||||
{{::row.from | date:'dd/MM/yy'}}
|
||||
{{::row.dated | date:'dd/MM/yy'}}
|
||||
</div>
|
||||
<div
|
||||
ng-if="::!row.from || row.to"
|
||||
ng-if="::row.type != 'day'"
|
||||
class="vn-mb-sm ellipsize">
|
||||
<span ng-if="row.to">
|
||||
{{::row.from | date:'dd/MM/yy'}} - {{::row.to | date:'dd/MM/yy'}}
|
||||
<span ng-if="row.type == 'range'">
|
||||
{{::row.started | date:'dd/MM/yy'}} - {{::row.ended | date:'dd/MM/yy'}}
|
||||
</span>
|
||||
<span ng-if="!row.to" translate>
|
||||
<span ng-if="row.type == 'indefinitely'" translate>
|
||||
Indefinitely
|
||||
</span>
|
||||
<span ng-if="row.weekDays">
|
||||
|
@ -94,40 +94,40 @@
|
|||
<vn-vertical>
|
||||
<vn-vertical class="vn-pb-md">
|
||||
<vn-radio
|
||||
ng-model="$ctrl.eventType"
|
||||
ng-model="$ctrl.selected.type"
|
||||
label="One day"
|
||||
val="day">
|
||||
</vn-radio>
|
||||
<vn-radio
|
||||
ng-model="$ctrl.eventType"
|
||||
ng-model="$ctrl.selected.type"
|
||||
label="Indefinitely"
|
||||
val="indefinitely">
|
||||
</vn-radio>
|
||||
<vn-radio
|
||||
ng-model="$ctrl.eventType"
|
||||
ng-model="$ctrl.selected.type"
|
||||
label="Range of dates"
|
||||
val="range">
|
||||
</vn-radio>
|
||||
</vn-vertical>
|
||||
<vn-wday-picker
|
||||
ng-if="$ctrl.eventType != 'day'"
|
||||
ng-if="$ctrl.selected.type != 'day'"
|
||||
ng-model="$ctrl.selected.wdays"
|
||||
class="vn-mt-sm vn-mb-md">
|
||||
</vn-wday-picker>
|
||||
<vn-date-picker
|
||||
ng-if="$ctrl.eventType == 'day'"
|
||||
ng-if="$ctrl.selected.type == 'day'"
|
||||
label="Day"
|
||||
ng-model="$ctrl.selected.from">
|
||||
ng-model="$ctrl.selected.dated">
|
||||
</vn-date-picker>
|
||||
<vn-horizontal
|
||||
ng-if="$ctrl.eventType == 'range'">
|
||||
ng-if="$ctrl.selected.type == 'range'">
|
||||
<vn-date-picker
|
||||
label="From"
|
||||
ng-model="$ctrl.selected.from">
|
||||
ng-model="$ctrl.selected.started">
|
||||
</vn-date-picker>
|
||||
<vn-date-picker
|
||||
label="To"
|
||||
ng-model="$ctrl.selected.to">
|
||||
ng-model="$ctrl.selected.ended">
|
||||
</vn-date-picker>
|
||||
</vn-horizontal>
|
||||
<vn-input-time
|
||||
|
@ -162,7 +162,7 @@
|
|||
</input>
|
||||
<button
|
||||
ng-if="!$ctrl.isNew"
|
||||
response="DELETE"
|
||||
response="delete"
|
||||
translate>
|
||||
Delete
|
||||
</button>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import ngModule from '../module';
|
||||
import Component from 'core/lib/component';
|
||||
import Section from 'salix/components/section';
|
||||
|
||||
class Controller extends Component {
|
||||
class Controller extends Section {
|
||||
constructor($element, $, vnWeekDays) {
|
||||
super($element, $);
|
||||
this.vnWeekDays = vnWeekDays;
|
||||
|
@ -27,13 +27,13 @@ class Controller extends Component {
|
|||
formatWdays(weekDays) {
|
||||
if (!weekDays) return;
|
||||
|
||||
let abrWdays = [];
|
||||
for (let wday of weekDays.split(','))
|
||||
abrWdays.push(this.vnWeekDays.map[wday].localeAbr);
|
||||
let abrWdays = weekDays
|
||||
.split(',')
|
||||
.map(wday => this.vnWeekDays.map[wday].localeAbr);
|
||||
|
||||
return abrWdays.length < 7
|
||||
? abrWdays.join(', ')
|
||||
: this._('Everyday');
|
||||
: this.$t('Everyday');
|
||||
}
|
||||
|
||||
onSelection(days, type, weekday, data) {
|
||||
|
@ -66,37 +66,28 @@ class Controller extends Component {
|
|||
|
||||
edit(row) {
|
||||
this.isNew = false;
|
||||
|
||||
if (row.from && !row.to)
|
||||
this.eventType = 'day';
|
||||
else if (!row.from)
|
||||
this.eventType = 'indefinitely';
|
||||
else
|
||||
this.eventType = 'range';
|
||||
|
||||
this.selected = angular.copy(row);
|
||||
this.selected.wdays = {};
|
||||
|
||||
if (row.weekDays) {
|
||||
let weekDays = row.weekDays.split(',');
|
||||
for (let day of weekDays)
|
||||
this.selected.wdays[day] = true;
|
||||
}
|
||||
|
||||
this.selected.wdays = this.vnWeekDays.fromSet(row.weekDays);
|
||||
this.$.dialog.show();
|
||||
}
|
||||
|
||||
create(days, type, weekday) {
|
||||
this.isNew = true;
|
||||
this.eventType = type == 'day' ? 'day' : 'indefinitely';
|
||||
|
||||
if (type == 'weekday') {
|
||||
let wdays = [];
|
||||
let code = this.vnWeekDays.days[weekday].code;
|
||||
wdays[code] = true;
|
||||
this.selected = {wdays};
|
||||
} else
|
||||
this.selected = {from: days[0]};
|
||||
wdays[weekday] = true;
|
||||
|
||||
this.selected = {
|
||||
type: 'indefinitely',
|
||||
wdays
|
||||
};
|
||||
} else {
|
||||
this.selected = {
|
||||
type: 'day',
|
||||
dated: days[0]
|
||||
};
|
||||
}
|
||||
|
||||
this.$.dialog.show();
|
||||
}
|
||||
|
@ -105,24 +96,18 @@ class Controller extends Component {
|
|||
switch (response) {
|
||||
case 'accept': {
|
||||
let selected = this.selected;
|
||||
let type = selected.type;
|
||||
|
||||
if (this.eventType == 'indefinitely') {
|
||||
selected.from = null;
|
||||
selected.to = null;
|
||||
}
|
||||
selected.weekDays = this.vnWeekDays.toSet(selected.wdays);
|
||||
|
||||
if (this.eventType != 'day') {
|
||||
let weekDays = [];
|
||||
|
||||
for (let wday in selected.wdays) {
|
||||
if (selected.wdays[wday])
|
||||
weekDays.push(wday);
|
||||
}
|
||||
|
||||
selected.weekDays = weekDays.join(',');
|
||||
} else {
|
||||
selected.to = null;
|
||||
if (type == 'day')
|
||||
selected.weekDays = '';
|
||||
else
|
||||
selected.dated = null;
|
||||
|
||||
if (type != 'range') {
|
||||
selected.started = null;
|
||||
selected.ended = null;
|
||||
}
|
||||
|
||||
let req;
|
||||
|
@ -138,7 +123,7 @@ class Controller extends Component {
|
|||
this.refresh();
|
||||
});
|
||||
}
|
||||
case 'DELETE':
|
||||
case 'delete':
|
||||
return this.onDelete(this.selected.id)
|
||||
.then(response => response == 'accept');
|
||||
}
|
||||
|
@ -162,8 +147,8 @@ class Controller extends Component {
|
|||
}
|
||||
|
||||
exclusionCreate(days) {
|
||||
let exclusions = days.map(day => {
|
||||
return {day};
|
||||
let exclusions = days.map(dated => {
|
||||
return {dated};
|
||||
});
|
||||
|
||||
this.$http.post(this.exclusionsPath, exclusions)
|
||||
|
|
Loading…
Reference in New Issue