|
|
|
@ -1,48 +1,42 @@
|
|
|
|
|
DELIMITER $$
|
|
|
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`clean`()
|
|
|
|
|
BEGIN
|
|
|
|
|
DECLARE vDateShort DATETIME;
|
|
|
|
|
DECLARE vOneYearAgo DATE;
|
|
|
|
|
DECLARE vFourYearsAgo DATE;
|
|
|
|
|
DECLARE vFiveYearsAgo DATE;
|
|
|
|
|
DECLARE v18Month DATE;
|
|
|
|
|
DECLARE v26Month DATE;
|
|
|
|
|
DECLARE v3Month DATE;
|
|
|
|
|
/**
|
|
|
|
|
* Purges outdated data to optimize performance.
|
|
|
|
|
* Exercise caution when executing.
|
|
|
|
|
*/
|
|
|
|
|
DECLARE v2Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 2 MONTH;
|
|
|
|
|
DECLARE v3Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 3 MONTH;
|
|
|
|
|
DECLARE v18Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 18 MONTH;
|
|
|
|
|
DECLARE v26Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 26 MONTH;
|
|
|
|
|
DECLARE v1Years DATE DEFAULT util.VN_CURDATE() - INTERVAL 1 YEAR;
|
|
|
|
|
DECLARE v2Years DATE DEFAULT util.VN_CURDATE() - INTERVAL 2 YEAR;
|
|
|
|
|
DECLARE v4Years DATE DEFAULT util.VN_CURDATE() - INTERVAL 4 YEAR;
|
|
|
|
|
DECLARE v5Years DATE DEFAULT util.VN_CURDATE() - INTERVAL 5 YEAR;
|
|
|
|
|
DECLARE vTrashId VARCHAR(15);
|
|
|
|
|
DECLARE v2Years DATE;
|
|
|
|
|
DECLARE v5Years DATE;
|
|
|
|
|
|
|
|
|
|
SET vDateShort = util.VN_CURDATE() - INTERVAL 2 MONTH;
|
|
|
|
|
SET vOneYearAgo = util.VN_CURDATE() - INTERVAL 1 YEAR;
|
|
|
|
|
SET vFourYearsAgo = util.VN_CURDATE() - INTERVAL 4 YEAR;
|
|
|
|
|
SET vFiveYearsAgo = util.VN_CURDATE() - INTERVAL 5 YEAR;
|
|
|
|
|
SET v18Month = util.VN_CURDATE() - INTERVAL 18 MONTH;
|
|
|
|
|
SET v26Month = util.VN_CURDATE() - INTERVAL 26 MONTH;
|
|
|
|
|
SET v3Month = util.VN_CURDATE() - INTERVAL 3 MONTH;
|
|
|
|
|
SET v2Years = util.VN_CURDATE() - INTERVAL 2 YEAR;
|
|
|
|
|
SET v5Years = util.VN_CURDATE() - INTERVAL 5 YEAR;
|
|
|
|
|
DECLARE vCompanyBlk INT;
|
|
|
|
|
|
|
|
|
|
DELETE FROM workerActivity WHERE created < v2Years;
|
|
|
|
|
DELETE FROM ticketParking WHERE created < vDateShort;
|
|
|
|
|
DELETE FROM routesMonitor WHERE dated < vDateShort;
|
|
|
|
|
DELETE FROM workerTimeControlLog WHERE created < vDateShort;
|
|
|
|
|
DELETE FROM `message` WHERE sendDate < vDateShort;
|
|
|
|
|
DELETE FROM messageInbox WHERE sendDate < vDateShort;
|
|
|
|
|
DELETE FROM messageInbox WHERE sendDate < vDateShort;
|
|
|
|
|
DELETE FROM workerTimeControl WHERE timed < vFourYearsAgo;
|
|
|
|
|
DELETE FROM ticketParking WHERE created < v2Months;
|
|
|
|
|
DELETE FROM routesMonitor WHERE dated < v2Months;
|
|
|
|
|
DELETE FROM workerTimeControlLog WHERE created < v2Months;
|
|
|
|
|
DELETE FROM `message` WHERE sendDate < v2Months;
|
|
|
|
|
DELETE FROM messageInbox WHERE sendDate < v2Months;
|
|
|
|
|
DELETE FROM messageInbox WHERE sendDate < v2Months;
|
|
|
|
|
DELETE FROM workerTimeControl WHERE timed < v4Years;
|
|
|
|
|
DELETE FROM itemShelving WHERE created < util.VN_CURDATE() AND visible = 0;
|
|
|
|
|
DELETE FROM ticketDown WHERE created < TIMESTAMPADD(DAY,-1,util.VN_CURDATE());
|
|
|
|
|
DELETE FROM entryLog WHERE creationDate < vDateShort;
|
|
|
|
|
DELETE IGNORE FROM expedition WHERE created < v26Month;
|
|
|
|
|
DELETE FROM sms WHERE created < v18Month;
|
|
|
|
|
DELETE FROM saleTracking WHERE created < vOneYearAgo;
|
|
|
|
|
DELETE FROM ticketTracking WHERE created < v18Month;
|
|
|
|
|
DELETE FROM ticketDown WHERE created < util.yesterday();
|
|
|
|
|
DELETE FROM entryLog WHERE creationDate < v2Months;
|
|
|
|
|
DELETE IGNORE FROM expedition WHERE created < v26Months;
|
|
|
|
|
DELETE FROM sms WHERE created < v18Months;
|
|
|
|
|
DELETE FROM saleTracking WHERE created < v1Years;
|
|
|
|
|
DELETE FROM ticketTracking WHERE created < v18Months;
|
|
|
|
|
DELETE tobs FROM ticketObservation tobs
|
|
|
|
|
JOIN ticket t ON tobs.ticketFk = t.id
|
|
|
|
|
WHERE t.shipped < v5Years;
|
|
|
|
|
DELETE sc.* FROM saleCloned sc JOIN sale s ON s.id = sc.saleClonedFk JOIN ticket t ON t.id = s.ticketFk WHERE t.shipped < vOneYearAgo;
|
|
|
|
|
DELETE FROM sharingCart where ended < vDateShort;
|
|
|
|
|
DELETE FROM sharingClient where ended < vDateShort;
|
|
|
|
|
DELETE sc.* FROM saleCloned sc JOIN sale s ON s.id = sc.saleClonedFk JOIN ticket t ON t.id = s.ticketFk WHERE t.shipped < v1Years;
|
|
|
|
|
DELETE FROM sharingCart where ended < v2Months;
|
|
|
|
|
DELETE FROM sharingClient where ended < v2Months;
|
|
|
|
|
DELETE tw.* FROM ticketWeekly tw
|
|
|
|
|
LEFT JOIN sale s ON s.ticketFk = tw.ticketFk
|
|
|
|
|
LEFT JOIN ticketRequest tr ON tr.ticketFk = tw.ticketFk
|
|
|
|
@ -50,144 +44,174 @@ BEGIN
|
|
|
|
|
WHERE s.id IS NULL
|
|
|
|
|
AND tr.id IS NULL
|
|
|
|
|
AND ts.id IS NULL;
|
|
|
|
|
DELETE FROM claim WHERE ticketCreated < vFourYearsAgo;
|
|
|
|
|
DELETE FROM message WHERE sendDate < vDateShort;
|
|
|
|
|
-- Robert ubicacion anterior de trevelLog comentario para debug
|
|
|
|
|
DELETE FROM zoneEvent WHERE `type` = 'day' AND dated < v3Month;
|
|
|
|
|
DELETE FROM claim WHERE ticketCreated < v4Years;
|
|
|
|
|
-- Robert ubicacion anterior de travelLog comentario para debug
|
|
|
|
|
DELETE FROM zoneEvent WHERE `type` = 'day' AND dated < v3Months;
|
|
|
|
|
DELETE bm
|
|
|
|
|
FROM buyMark bm
|
|
|
|
|
JOIN buy b ON b.id = bm.id
|
|
|
|
|
JOIN entry e ON e.id = b.entryFk
|
|
|
|
|
JOIN travel t ON t.id = e.travelFk
|
|
|
|
|
WHERE t.landed <= vDateShort;
|
|
|
|
|
DELETE b FROM vn.buy b
|
|
|
|
|
JOIN vn.entryConfig e ON e.defaultEntry = b.entryFk
|
|
|
|
|
WHERE b.created < vDateShort;
|
|
|
|
|
DELETE FROM vn.itemShelvingLog WHERE created < vDateShort;
|
|
|
|
|
DELETE FROM vn.stockBuyed WHERE creationDate < vDateShort;
|
|
|
|
|
DELETE FROM vn.itemCleanLog WHERE created < util.VN_NOW() - INTERVAL 1 YEAR;
|
|
|
|
|
DELETE FROM printQueue WHERE statusCode = 'printed' AND created < vDateShort;
|
|
|
|
|
DELETE FROM ticketLog WHERE creationDate <= vFiveYearsAgo;
|
|
|
|
|
WHERE t.landed <= v2Months;
|
|
|
|
|
DELETE b FROM buy b
|
|
|
|
|
JOIN entryConfig e ON e.defaultEntry = b.entryFk
|
|
|
|
|
WHERE b.created < v2Months;
|
|
|
|
|
DELETE FROM itemShelvingLog WHERE created < v2Months;
|
|
|
|
|
DELETE FROM stockBuyed WHERE creationDate < v2Months;
|
|
|
|
|
DELETE FROM itemCleanLog WHERE created < util.VN_NOW() - INTERVAL 1 YEAR;
|
|
|
|
|
DELETE FROM printQueue WHERE statusCode = 'printed' AND created < v2Months;
|
|
|
|
|
DELETE FROM ticketLog WHERE creationDate <= v5Years;
|
|
|
|
|
-- Equipos duplicados
|
|
|
|
|
DELETE w.*
|
|
|
|
|
FROM workerTeam w
|
|
|
|
|
JOIN (SELECT id, team, workerFk, COUNT(*) - 1 as duplicated
|
|
|
|
|
JOIN (
|
|
|
|
|
SELECT id, team, workerFk, COUNT(*) - 1 duplicated
|
|
|
|
|
FROM workerTeam
|
|
|
|
|
GROUP BY team,workerFk
|
|
|
|
|
HAVING duplicated
|
|
|
|
|
) d ON d.team = w.team AND d.workerFk = w.workerFk AND d.id != w.id;
|
|
|
|
|
) d ON d.team = w.team
|
|
|
|
|
AND d.workerFk = w.workerFk
|
|
|
|
|
AND d.id <> w.id;
|
|
|
|
|
|
|
|
|
|
DELETE sc
|
|
|
|
|
FROM saleComponent sc
|
|
|
|
|
JOIN sale s ON s.id= sc.saleFk
|
|
|
|
|
JOIN ticket t ON t.id= s.ticketFk
|
|
|
|
|
WHERE t.shipped < v18Month;
|
|
|
|
|
WHERE t.shipped < v18Months;
|
|
|
|
|
|
|
|
|
|
DELETE c
|
|
|
|
|
FROM vn.claim c
|
|
|
|
|
JOIN vn.claimState cs ON cs.id = c.claimStateFk
|
|
|
|
|
WHERE cs.description = "Anulado" AND
|
|
|
|
|
c.created < vDateShort;
|
|
|
|
|
DELETE
|
|
|
|
|
FROM vn.expeditionTruck
|
|
|
|
|
WHERE eta < v3Month;
|
|
|
|
|
FROM claim c
|
|
|
|
|
JOIN claimState cs ON cs.id = c.claimStateFk
|
|
|
|
|
WHERE cs.description = 'Anulado'
|
|
|
|
|
AND c.created < v2Months;
|
|
|
|
|
|
|
|
|
|
DELETE FROM XDiario WHERE FECHA < v3Month OR FECHA IS NULL;
|
|
|
|
|
-- borrar travels sin entradas
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.thermographToDelete;
|
|
|
|
|
CREATE TEMPORARY TABLE tmp.thermographToDelete
|
|
|
|
|
DELETE FROM expeditionTruck WHERE eta < v3Months;
|
|
|
|
|
DELETE FROM XDiario WHERE FECHA < v3Months OR FECHA IS NULL;
|
|
|
|
|
|
|
|
|
|
-- Borrar travels sin entradas
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tThermographToDelete
|
|
|
|
|
SELECT th.id,th.dmsFk
|
|
|
|
|
FROM vn.travel t
|
|
|
|
|
LEFT JOIN vn.entry e ON e.travelFk = t.id
|
|
|
|
|
JOIN vn.travelThermograph th ON th.travelFk = t.id
|
|
|
|
|
WHERE t.shipped < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND e.travelFk IS NULL;
|
|
|
|
|
FROM travel t
|
|
|
|
|
LEFT JOIN entry e ON e.travelFk = t.id
|
|
|
|
|
JOIN travelThermograph th ON th.travelFk = t.id
|
|
|
|
|
WHERE t.shipped < v3Months
|
|
|
|
|
AND e.travelFk IS NULL;
|
|
|
|
|
|
|
|
|
|
SELECT dt.id INTO vTrashId
|
|
|
|
|
FROM vn.dmsType dt
|
|
|
|
|
FROM dmsType dt
|
|
|
|
|
WHERE dt.code = 'trash';
|
|
|
|
|
|
|
|
|
|
UPDATE tmp.thermographToDelete th
|
|
|
|
|
JOIN vn.dms d ON d.id = th.dmsFk
|
|
|
|
|
UPDATE tThermographToDelete th
|
|
|
|
|
JOIN dms d ON d.id = th.dmsFk
|
|
|
|
|
SET d.dmsTypeFk = vTrashId;
|
|
|
|
|
|
|
|
|
|
DELETE th
|
|
|
|
|
FROM tmp.thermographToDelete tmp
|
|
|
|
|
JOIN vn.travelThermograph th ON th.id = tmp.id;
|
|
|
|
|
FROM tThermographToDelete tmp
|
|
|
|
|
JOIN travelThermograph th ON th.id = tmp.id;
|
|
|
|
|
|
|
|
|
|
DELETE t
|
|
|
|
|
FROM vn.travel t
|
|
|
|
|
LEFT JOIN vn.entry e ON e.travelFk = t.id
|
|
|
|
|
WHERE t.shipped < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND e.travelFk IS NULL;
|
|
|
|
|
FROM travel t
|
|
|
|
|
LEFT JOIN entry e ON e.travelFk = t.id
|
|
|
|
|
WHERE t.shipped < v3Months AND e.travelFk IS NULL;
|
|
|
|
|
|
|
|
|
|
UPDATE dms d
|
|
|
|
|
JOIN dmsType dt ON dt.id = d.dmsTypeFk
|
|
|
|
|
SET d.dmsTypeFk = vTrashId
|
|
|
|
|
WHERE created < TIMESTAMPADD(MONTH, -dt.monthToDelete, util.VN_CURDATE());
|
|
|
|
|
WHERE created < util.VN_CURDATE() - INTERVAL dt.monthToDelete MONTH;
|
|
|
|
|
|
|
|
|
|
-- borrar entradas sin compras
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.entryToDelete;
|
|
|
|
|
CREATE TEMPORARY TABLE tmp.entryToDelete
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tEntryToDelete
|
|
|
|
|
SELECT e.*
|
|
|
|
|
FROM vn.entry e
|
|
|
|
|
LEFT JOIN vn.buy b ON b.entryFk = e.id
|
|
|
|
|
JOIN vn.entryConfig ec ON e.id != ec.defaultEntry
|
|
|
|
|
WHERE e.dated < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND b.entryFK IS NULL;
|
|
|
|
|
FROM entry e
|
|
|
|
|
LEFT JOIN buy b ON b.entryFk = e.id
|
|
|
|
|
JOIN entryConfig ec ON e.id <> ec.defaultEntry
|
|
|
|
|
WHERE e.dated < v3Months
|
|
|
|
|
AND b.entryFK IS NULL;
|
|
|
|
|
|
|
|
|
|
DELETE e
|
|
|
|
|
FROM vn.entry e
|
|
|
|
|
JOIN tmp.entryToDelete tmp ON tmp.id = e.id;
|
|
|
|
|
FROM entry e
|
|
|
|
|
JOIN tEntryToDelete tmp ON tmp.id = e.id;
|
|
|
|
|
|
|
|
|
|
-- borrar de route registros menores a 4 años
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.routeToDelete;
|
|
|
|
|
CREATE TEMPORARY TABLE tmp.routeToDelete
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tRouteToDelete
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM vn.route r
|
|
|
|
|
WHERE created < TIMESTAMPADD(YEAR,-4,util.VN_CURDATE());
|
|
|
|
|
FROM route r
|
|
|
|
|
WHERE created < v4Years;
|
|
|
|
|
|
|
|
|
|
UPDATE tmp.routeToDelete tmp
|
|
|
|
|
JOIN vn.dms d ON d.id = tmp.gestdocFk
|
|
|
|
|
UPDATE tRouteToDelete tmp
|
|
|
|
|
JOIN dms d ON d.id = tmp.gestdocFk
|
|
|
|
|
SET d.dmsTypeFk = vTrashId;
|
|
|
|
|
|
|
|
|
|
DELETE r
|
|
|
|
|
FROM tmp.routeToDelete tmp
|
|
|
|
|
JOIN vn.route r ON r.id = tmp.id;
|
|
|
|
|
FROM tRouteToDelete tmp
|
|
|
|
|
JOIN route r ON r.id = tmp.id;
|
|
|
|
|
|
|
|
|
|
-- borrar registros de dua y awb menores a 2 años
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.duaToDelete;
|
|
|
|
|
CREATE TEMPORARY TABLE tmp.duaToDelete
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tDuaToDelete
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM vn.dua
|
|
|
|
|
WHERE operated < TIMESTAMPADD(YEAR,-2,CURDATE());
|
|
|
|
|
FROM dua
|
|
|
|
|
WHERE operated < v2Years;
|
|
|
|
|
|
|
|
|
|
UPDATE tmp.duaToDelete tm
|
|
|
|
|
JOIN vn.dms d ON d.id = tm.gestdocFk
|
|
|
|
|
UPDATE tDuaToDelete tm
|
|
|
|
|
JOIN dms d ON d.id = tm.gestdocFk
|
|
|
|
|
SET d.dmsTypeFk = vTrashId;
|
|
|
|
|
|
|
|
|
|
DELETE d
|
|
|
|
|
FROM tmp.duaToDelete tmp
|
|
|
|
|
JOIN vn.dua d ON d.id = tmp.id;
|
|
|
|
|
FROM tDuaToDelete tmp
|
|
|
|
|
JOIN dua d ON d.id = tmp.id;
|
|
|
|
|
|
|
|
|
|
DELETE a
|
|
|
|
|
FROM vn.awb a
|
|
|
|
|
LEFT JOIN vn.travel t ON t.awbFk = a.id
|
|
|
|
|
FROM awb a
|
|
|
|
|
LEFT JOIN travel t ON t.awbFk = a.id
|
|
|
|
|
WHERE a.created < v2Years
|
|
|
|
|
AND t.id IS NULL;
|
|
|
|
|
|
|
|
|
|
-- Borra los registros de collection y ticketcollection
|
|
|
|
|
DELETE FROM vn.collection WHERE created < vDateShort;
|
|
|
|
|
DELETE FROM collection WHERE created < v2Months;
|
|
|
|
|
DELETE FROM travelLog WHERE creationDate < v3Months;
|
|
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.thermographToDelete;
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.entryToDelete;
|
|
|
|
|
DROP TEMPORARY TABLE IF EXISTS tmp.duaToDelete;
|
|
|
|
|
|
|
|
|
|
DELETE FROM travelLog WHERE creationDate < v3Month;
|
|
|
|
|
|
|
|
|
|
CALL shelving_clean;
|
|
|
|
|
CALL shelving_clean();
|
|
|
|
|
|
|
|
|
|
DELETE FROM chat WHERE dated < v5Years;
|
|
|
|
|
DELETE tt FROM ticketTracking tt
|
|
|
|
|
JOIN ticket t ON tt.ticketFk = t.id
|
|
|
|
|
WHERE t.shipped <= v2Months;
|
|
|
|
|
|
|
|
|
|
DELETE tt FROM ticketTracking tt JOIN vn.ticket t ON tt.ticketFk = t.id
|
|
|
|
|
WHERE t.shipped <= vDateShort;
|
|
|
|
|
DELETE FROM mail WHERE creationDate < v2Months;
|
|
|
|
|
DELETE FROM split WHERE dated < v18Months;
|
|
|
|
|
DELETE FROM remittance WHERE dated < v18Months;
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE TEMPORARY TABLE tTicketDelete
|
|
|
|
|
SELECT DISTINCT tl.originFk ticketFk
|
|
|
|
|
FROM ticketLog tl
|
|
|
|
|
JOIN (
|
|
|
|
|
SELECT MAX(tl.id)ids
|
|
|
|
|
FROM ticket t
|
|
|
|
|
JOIN ticketLog tl ON tl.originFk = t.id
|
|
|
|
|
WHERE t.shipped BETWEEN '2000-01-01' AND '2000-12-31'
|
|
|
|
|
AND t.isDeleted
|
|
|
|
|
GROUP BY t.id
|
|
|
|
|
) sub ON sub.ids = tl.id
|
|
|
|
|
WHERE tl.creationDate <= util.VN_CURDATE() - INTERVAL 60 DAY;
|
|
|
|
|
DELETE t
|
|
|
|
|
FROM ticket t
|
|
|
|
|
JOIN tTicketDelete tmp ON tmp.ticketFk = t.id;
|
|
|
|
|
|
|
|
|
|
-- Tickets Nulos PAK 11/10/2016
|
|
|
|
|
SELECT id INTO vCompanyBlk FROM company WHERE code = 'BLK';
|
|
|
|
|
UPDATE ticket
|
|
|
|
|
SET companyFk = vCompanyBlk
|
|
|
|
|
WHERE clientFk = (SELECT id FROM client WHERE name = 'AUTOCONSUMO')
|
|
|
|
|
AND companyFk <> vCompanyBlk;
|
|
|
|
|
|
|
|
|
|
DROP TEMPORARY TABLE tTicketDelete,
|
|
|
|
|
tThermographToDelete,
|
|
|
|
|
tEntryToDelete,
|
|
|
|
|
tDuaToDelete,
|
|
|
|
|
tRouteToDelete;
|
|
|
|
|
|
|
|
|
|
-- Other schemas
|
|
|
|
|
DELETE FROM hedera.`order` WHERE date_send < v18Months;
|
|
|
|
|
DELETE FROM pbx.cdr WHERE call_date < v18Months;
|
|
|
|
|
END$$
|
|
|
|
|
DELIMITER ;
|
|
|
|
|