Compare commits
No commits in common. "0aa4add71b50f8b10a003ad3c9fc4c07ac1d5011" and "fc08adc0640d7daf20ca88279c2ce1181e72d42d" have entirely different histories.
0aa4add71b
...
fc08adc064
|
@ -1,6 +1,10 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`clean`()
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `cache`.`clean`()
|
||||||
BEGIN
|
BEGIN
|
||||||
DELETE FROM cache.departure_limit WHERE Fecha < util.VN_CURDATE() - INTERVAL 1 MONTH;
|
DECLARE vDateShort DATETIME;
|
||||||
|
|
||||||
|
SET vDateShort = TIMESTAMPADD(MONTH, -1, util.VN_CURDATE());
|
||||||
|
|
||||||
|
DELETE FROM cache.departure_limit WHERE Fecha < vDateShort;
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_addChild`(
|
|
||||||
vSelf INT,
|
|
||||||
vName VARCHAR(45)
|
|
||||||
)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Agrega un nuevo nodo hijo a un nodo existente dentro de la estructura
|
|
||||||
* de árbol de vn.balanceNestTree.
|
|
||||||
*
|
|
||||||
* @param vSelf Identificador del nodo
|
|
||||||
* @param vName Nombre del nuevo nodo hijo
|
|
||||||
*/
|
|
||||||
DECLARE vTable VARCHAR(45) DEFAULT util.quoteIdentifier('balanceNestTree');
|
|
||||||
DECLARE vLeft INT;
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tAux
|
|
||||||
SELECT 0 lft;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE tAux
|
|
||||||
SET lft = (SELECT lft
|
|
||||||
FROM ', vTable,
|
|
||||||
' WHERE id = ?)')
|
|
||||||
USING vSelf;
|
|
||||||
|
|
||||||
SELECT lft INTO vLeft FROM tAux;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable, '
|
|
||||||
SET rgt = rgt + 2
|
|
||||||
WHERE rgt > ?
|
|
||||||
ORDER BY rgt DESC')
|
|
||||||
USING vLeft;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable, '
|
|
||||||
SET lft = lft + 2
|
|
||||||
WHERE lft > ?
|
|
||||||
ORDER BY lft DESC')
|
|
||||||
USING vLeft;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'INSERT INTO ', vTable, ' (name, lft, rgt)
|
|
||||||
VALUES(?, ? + 1, ? + 2)')
|
|
||||||
USING vName,
|
|
||||||
vLeft,
|
|
||||||
vLeft;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tAux;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,53 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_delete`(
|
|
||||||
vSelf INT
|
|
||||||
)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Elimina un nodo dentro de la estructura de árbol de vn.balanceNestTree.
|
|
||||||
*
|
|
||||||
* @param vSelf Identificador del nodo
|
|
||||||
*/
|
|
||||||
DECLARE vTable VARCHAR(45) DEFAULT util.quoteIdentifier('balanceNestTree');
|
|
||||||
DECLARE vRight INT;
|
|
||||||
DECLARE vLeft INT;
|
|
||||||
DECLARE vWidth INT;
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tAux
|
|
||||||
SELECT 0 rgt, 0 lft, 0 wdt;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE tAux a
|
|
||||||
JOIN ', vTable, ' t
|
|
||||||
SET a.rgt = t.rgt,
|
|
||||||
a.lft = t.lft,
|
|
||||||
a.wdt = t.rgt - t.lft + 1
|
|
||||||
WHERE t.id = ?')
|
|
||||||
USING vSelf;
|
|
||||||
|
|
||||||
SELECT rgt, lft, wdt
|
|
||||||
INTO vRight, vLeft, vWidth
|
|
||||||
FROM tAux;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'DELETE FROM ', vTable,
|
|
||||||
' WHERE lft BETWEEN ? AND ?')
|
|
||||||
USING vLeft, vRight;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
' SET rgt = rgt - ?
|
|
||||||
WHERE rgt > ?
|
|
||||||
ORDER BY rgt')
|
|
||||||
USING vWidth,vRight;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
' SET lft = lft - ?
|
|
||||||
WHERE lft > ?
|
|
||||||
ORDER BY lft')
|
|
||||||
USING vWidth, vRight;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tAux;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,117 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_move`(
|
|
||||||
vSelf INT,
|
|
||||||
vFather INT
|
|
||||||
)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Mueve un nodo dentro de la estructura de árbol de vn.balanceNestTree.
|
|
||||||
*
|
|
||||||
* @param vSelf Identificador del nodo
|
|
||||||
* @param vFather Identificador del nuevo padre del nodo
|
|
||||||
*/
|
|
||||||
DECLARE vTable VARCHAR(45) DEFAULT util.quoteIdentifier('balanceNestTree');
|
|
||||||
DECLARE vRight INT;
|
|
||||||
DECLARE vLeft INT;
|
|
||||||
DECLARE vWidth INT;
|
|
||||||
DECLARE vFatherRight INT;
|
|
||||||
DECLARE vFatherLeft INT;
|
|
||||||
DECLARE vGap INT;
|
|
||||||
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tAux
|
|
||||||
SELECT 0 rgt, 0 lft, 0 wdt, 0 frg, 0 flf;
|
|
||||||
|
|
||||||
-- Averiguamos el ancho de la rama
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE tAux a
|
|
||||||
JOIN ', vTable, ' t
|
|
||||||
SET a.wdt = t.rgt - t.lft + 1
|
|
||||||
WHERE t.id = ?')
|
|
||||||
USING vSelf;
|
|
||||||
|
|
||||||
-- Averiguamos la posicion del nuevo padre
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE tAux a
|
|
||||||
JOIN ', vTable, ' t
|
|
||||||
SET a.frg = t.rgt,
|
|
||||||
a.flf = t.lft
|
|
||||||
WHERE t.id = ?')
|
|
||||||
USING vFather;
|
|
||||||
|
|
||||||
SELECT wdt, frg, flf
|
|
||||||
INTO vWidth, vFatherRight, vFatherLeft
|
|
||||||
FROM tAux;
|
|
||||||
|
|
||||||
-- 1º Incrementamos los valores de todos los nodos a la derecha
|
|
||||||
-- del punto de inserción (vFatherRight) , para hacer sitio
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET rgt = rgt + ?
|
|
||||||
WHERE rgt >= ?
|
|
||||||
ORDER BY rgt DESC')
|
|
||||||
USING vWidth,
|
|
||||||
vFatherRight;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET lft = lft + ?
|
|
||||||
WHERE lft >= ?
|
|
||||||
ORDER BY lft DESC')
|
|
||||||
USING vWidth,
|
|
||||||
vFatherRight;
|
|
||||||
|
|
||||||
-- Es preciso recalcular los valores del nodo en el
|
|
||||||
-- caso de que estuviera a la derecha del nuevo padre
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE tAux a
|
|
||||||
JOIN ', vTable, ' t
|
|
||||||
SET a.rgt = t.rgt,
|
|
||||||
a.lft = t.lft
|
|
||||||
WHERE t.id = ?')
|
|
||||||
USING vSelf;
|
|
||||||
|
|
||||||
SELECT lft, rgt, frg - lft
|
|
||||||
INTO vLeft, vRight, vGap
|
|
||||||
FROM tAux;
|
|
||||||
|
|
||||||
-- 2º Incrementamos el valor de todos los nodos a
|
|
||||||
-- trasladar hasta alcanzar su nueva posicion
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET lft = lft + ?
|
|
||||||
WHERE lft BETWEEN ? AND ?
|
|
||||||
ORDER BY lft DESC')
|
|
||||||
USING vGap,
|
|
||||||
vLeft,
|
|
||||||
vRight;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET rgt = rgt + ?
|
|
||||||
WHERE rgt BETWEEN ? AND ?
|
|
||||||
ORDER BY rgt DESC')
|
|
||||||
USING vGap,
|
|
||||||
vLeft,
|
|
||||||
vRight;
|
|
||||||
|
|
||||||
-- 3º Restaremos a todos los nodos resultantes, a la derecha
|
|
||||||
-- de la posicion arrancada el ancho de la rama escindida
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET lft = lft - ?
|
|
||||||
WHERE lft > ?
|
|
||||||
ORDER BY lft')
|
|
||||||
USING vWidth,
|
|
||||||
vLeft;
|
|
||||||
|
|
||||||
EXECUTE IMMEDIATE CONCAT(
|
|
||||||
'UPDATE ', vTable,
|
|
||||||
'SET rgt = rgt - ?
|
|
||||||
WHERE rgt > ?
|
|
||||||
ORDER BY rgt')
|
|
||||||
USING vWidth,
|
|
||||||
vRight;
|
|
||||||
|
|
||||||
DROP TEMPORARY TABLE tAux;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,42 +1,48 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`clean`()
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`clean`()
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
DECLARE vDateShort DATETIME;
|
||||||
* Purges outdated data to optimize performance.
|
DECLARE vOneYearAgo DATE;
|
||||||
* Exercise caution when executing.
|
DECLARE vFourYearsAgo DATE;
|
||||||
*/
|
DECLARE vFiveYearsAgo DATE;
|
||||||
DECLARE v2Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 2 MONTH;
|
DECLARE v18Month DATE;
|
||||||
DECLARE v3Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 3 MONTH;
|
DECLARE v26Month DATE;
|
||||||
DECLARE v18Months DATE DEFAULT util.VN_CURDATE() - INTERVAL 18 MONTH;
|
DECLARE v3Month DATE;
|
||||||
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 vTrashId VARCHAR(15);
|
||||||
DECLARE vCompanyBlk INT;
|
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;
|
||||||
|
|
||||||
DELETE FROM workerActivity WHERE created < v2Years;
|
DELETE FROM workerActivity WHERE created < v2Years;
|
||||||
DELETE FROM ticketParking WHERE created < v2Months;
|
DELETE FROM ticketParking WHERE created < vDateShort;
|
||||||
DELETE FROM routesMonitor WHERE dated < v2Months;
|
DELETE FROM routesMonitor WHERE dated < vDateShort;
|
||||||
DELETE FROM workerTimeControlLog WHERE created < v2Months;
|
DELETE FROM workerTimeControlLog WHERE created < vDateShort;
|
||||||
DELETE FROM `message` WHERE sendDate < v2Months;
|
DELETE FROM `message` WHERE sendDate < vDateShort;
|
||||||
DELETE FROM messageInbox WHERE sendDate < v2Months;
|
DELETE FROM messageInbox WHERE sendDate < vDateShort;
|
||||||
DELETE FROM messageInbox WHERE sendDate < v2Months;
|
DELETE FROM messageInbox WHERE sendDate < vDateShort;
|
||||||
DELETE FROM workerTimeControl WHERE timed < v4Years;
|
DELETE FROM workerTimeControl WHERE timed < vFourYearsAgo;
|
||||||
DELETE FROM itemShelving WHERE created < util.VN_CURDATE() AND visible = 0;
|
DELETE FROM itemShelving WHERE created < util.VN_CURDATE() AND visible = 0;
|
||||||
DELETE FROM ticketDown WHERE created < util.yesterday();
|
DELETE FROM ticketDown WHERE created < TIMESTAMPADD(DAY,-1,util.VN_CURDATE());
|
||||||
DELETE FROM entryLog WHERE creationDate < v2Months;
|
DELETE FROM entryLog WHERE creationDate < vDateShort;
|
||||||
DELETE IGNORE FROM expedition WHERE created < v26Months;
|
DELETE IGNORE FROM expedition WHERE created < v26Month;
|
||||||
DELETE FROM sms WHERE created < v18Months;
|
DELETE FROM sms WHERE created < v18Month;
|
||||||
DELETE FROM saleTracking WHERE created < v1Years;
|
DELETE FROM saleTracking WHERE created < vOneYearAgo;
|
||||||
DELETE FROM ticketTracking WHERE created < v18Months;
|
DELETE FROM ticketTracking WHERE created < v18Month;
|
||||||
DELETE tobs FROM ticketObservation tobs
|
DELETE tobs FROM ticketObservation tobs
|
||||||
JOIN ticket t ON tobs.ticketFk = t.id
|
JOIN ticket t ON tobs.ticketFk = t.id
|
||||||
WHERE t.shipped < v5Years;
|
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 < v1Years;
|
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 < v2Months;
|
DELETE FROM sharingCart where ended < vDateShort;
|
||||||
DELETE FROM sharingClient where ended < v2Months;
|
DELETE FROM sharingClient where ended < vDateShort;
|
||||||
DELETE tw.* FROM ticketWeekly tw
|
DELETE tw.* FROM ticketWeekly tw
|
||||||
LEFT JOIN sale s ON s.ticketFk = tw.ticketFk
|
LEFT JOIN sale s ON s.ticketFk = tw.ticketFk
|
||||||
LEFT JOIN ticketRequest tr ON tr.ticketFk = tw.ticketFk
|
LEFT JOIN ticketRequest tr ON tr.ticketFk = tw.ticketFk
|
||||||
|
@ -44,174 +50,144 @@ BEGIN
|
||||||
WHERE s.id IS NULL
|
WHERE s.id IS NULL
|
||||||
AND tr.id IS NULL
|
AND tr.id IS NULL
|
||||||
AND ts.id IS NULL;
|
AND ts.id IS NULL;
|
||||||
DELETE FROM claim WHERE ticketCreated < v4Years;
|
DELETE FROM claim WHERE ticketCreated < vFourYearsAgo;
|
||||||
-- Robert ubicacion anterior de travelLog comentario para debug
|
DELETE FROM message WHERE sendDate < vDateShort;
|
||||||
DELETE FROM zoneEvent WHERE `type` = 'day' AND dated < v3Months;
|
-- Robert ubicacion anterior de trevelLog comentario para debug
|
||||||
|
DELETE FROM zoneEvent WHERE `type` = 'day' AND dated < v3Month;
|
||||||
DELETE bm
|
DELETE bm
|
||||||
FROM buyMark bm
|
FROM buyMark bm
|
||||||
JOIN buy b ON b.id = bm.id
|
JOIN buy b ON b.id = bm.id
|
||||||
JOIN entry e ON e.id = b.entryFk
|
JOIN entry e ON e.id = b.entryFk
|
||||||
JOIN travel t ON t.id = e.travelFk
|
JOIN travel t ON t.id = e.travelFk
|
||||||
WHERE t.landed <= v2Months;
|
WHERE t.landed <= vDateShort;
|
||||||
DELETE b FROM buy b
|
DELETE b FROM vn.buy b
|
||||||
JOIN entryConfig e ON e.defaultEntry = b.entryFk
|
JOIN vn.entryConfig e ON e.defaultEntry = b.entryFk
|
||||||
WHERE b.created < v2Months;
|
WHERE b.created < vDateShort;
|
||||||
DELETE FROM itemShelvingLog WHERE created < v2Months;
|
DELETE FROM vn.itemShelvingLog WHERE created < vDateShort;
|
||||||
DELETE FROM stockBuyed WHERE creationDate < v2Months;
|
DELETE FROM vn.stockBuyed WHERE creationDate < vDateShort;
|
||||||
DELETE FROM itemCleanLog WHERE created < util.VN_NOW() - INTERVAL 1 YEAR;
|
DELETE FROM vn.itemCleanLog WHERE created < util.VN_NOW() - INTERVAL 1 YEAR;
|
||||||
DELETE FROM printQueue WHERE statusCode = 'printed' AND created < v2Months;
|
DELETE FROM printQueue WHERE statusCode = 'printed' AND created < vDateShort;
|
||||||
DELETE FROM ticketLog WHERE creationDate <= v5Years;
|
DELETE FROM ticketLog WHERE creationDate <= vFiveYearsAgo;
|
||||||
-- Equipos duplicados
|
-- Equipos duplicados
|
||||||
DELETE w.*
|
DELETE w.*
|
||||||
FROM workerTeam w
|
FROM workerTeam w
|
||||||
JOIN (
|
JOIN (SELECT id, team, workerFk, COUNT(*) - 1 as duplicated
|
||||||
SELECT id, team, workerFk, COUNT(*) - 1 duplicated
|
|
||||||
FROM workerTeam
|
FROM workerTeam
|
||||||
GROUP BY team,workerFk
|
GROUP BY team,workerFk
|
||||||
HAVING duplicated
|
HAVING duplicated
|
||||||
) d ON d.team = w.team
|
) d ON d.team = w.team AND d.workerFk = w.workerFk AND d.id != w.id;
|
||||||
AND d.workerFk = w.workerFk
|
|
||||||
AND d.id <> w.id;
|
|
||||||
|
|
||||||
DELETE sc
|
DELETE sc
|
||||||
FROM saleComponent sc
|
FROM saleComponent sc
|
||||||
JOIN sale s ON s.id= sc.saleFk
|
JOIN sale s ON s.id= sc.saleFk
|
||||||
JOIN ticket t ON t.id= s.ticketFk
|
JOIN ticket t ON t.id= s.ticketFk
|
||||||
WHERE t.shipped < v18Months;
|
WHERE t.shipped < v18Month;
|
||||||
|
|
||||||
DELETE c
|
DELETE c
|
||||||
FROM claim c
|
FROM vn.claim c
|
||||||
JOIN claimState cs ON cs.id = c.claimStateFk
|
JOIN vn.claimState cs ON cs.id = c.claimStateFk
|
||||||
WHERE cs.description = 'Anulado'
|
WHERE cs.description = "Anulado" AND
|
||||||
AND c.created < v2Months;
|
c.created < vDateShort;
|
||||||
|
DELETE
|
||||||
|
FROM vn.expeditionTruck
|
||||||
|
WHERE eta < v3Month;
|
||||||
|
|
||||||
DELETE FROM expeditionTruck WHERE eta < v3Months;
|
DELETE FROM XDiario WHERE FECHA < v3Month OR FECHA IS NULL;
|
||||||
DELETE FROM XDiario WHERE FECHA < v3Months OR FECHA IS NULL;
|
-- borrar travels sin entradas
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS tmp.thermographToDelete;
|
||||||
-- Borrar travels sin entradas
|
CREATE TEMPORARY TABLE tmp.thermographToDelete
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tThermographToDelete
|
|
||||||
SELECT th.id,th.dmsFk
|
SELECT th.id,th.dmsFk
|
||||||
FROM travel t
|
FROM vn.travel t
|
||||||
LEFT JOIN entry e ON e.travelFk = t.id
|
LEFT JOIN vn.entry e ON e.travelFk = t.id
|
||||||
JOIN travelThermograph th ON th.travelFk = t.id
|
JOIN vn.travelThermograph th ON th.travelFk = t.id
|
||||||
WHERE t.shipped < v3Months
|
WHERE t.shipped < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND e.travelFk IS NULL;
|
||||||
AND e.travelFk IS NULL;
|
|
||||||
|
|
||||||
SELECT dt.id INTO vTrashId
|
SELECT dt.id INTO vTrashId
|
||||||
FROM dmsType dt
|
FROM vn.dmsType dt
|
||||||
WHERE dt.code = 'trash';
|
WHERE dt.code = 'trash';
|
||||||
|
|
||||||
UPDATE tThermographToDelete th
|
UPDATE tmp.thermographToDelete th
|
||||||
JOIN dms d ON d.id = th.dmsFk
|
JOIN vn.dms d ON d.id = th.dmsFk
|
||||||
SET d.dmsTypeFk = vTrashId;
|
SET d.dmsTypeFk = vTrashId;
|
||||||
|
|
||||||
DELETE th
|
DELETE th
|
||||||
FROM tThermographToDelete tmp
|
FROM tmp.thermographToDelete tmp
|
||||||
JOIN travelThermograph th ON th.id = tmp.id;
|
JOIN vn.travelThermograph th ON th.id = tmp.id;
|
||||||
|
|
||||||
DELETE t
|
DELETE t
|
||||||
FROM travel t
|
FROM vn.travel t
|
||||||
LEFT JOIN entry e ON e.travelFk = t.id
|
LEFT JOIN vn.entry e ON e.travelFk = t.id
|
||||||
WHERE t.shipped < v3Months AND e.travelFk IS NULL;
|
WHERE t.shipped < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND e.travelFk IS NULL;
|
||||||
|
|
||||||
UPDATE dms d
|
UPDATE dms d
|
||||||
JOIN dmsType dt ON dt.id = d.dmsTypeFk
|
JOIN dmsType dt ON dt.id = d.dmsTypeFk
|
||||||
SET d.dmsTypeFk = vTrashId
|
SET d.dmsTypeFk = vTrashId
|
||||||
WHERE created < util.VN_CURDATE() - INTERVAL dt.monthToDelete MONTH;
|
WHERE created < TIMESTAMPADD(MONTH, -dt.monthToDelete, util.VN_CURDATE());
|
||||||
|
|
||||||
-- borrar entradas sin compras
|
-- borrar entradas sin compras
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tEntryToDelete
|
DROP TEMPORARY TABLE IF EXISTS tmp.entryToDelete;
|
||||||
|
CREATE TEMPORARY TABLE tmp.entryToDelete
|
||||||
SELECT e.*
|
SELECT e.*
|
||||||
FROM entry e
|
FROM vn.entry e
|
||||||
LEFT JOIN buy b ON b.entryFk = e.id
|
LEFT JOIN vn.buy b ON b.entryFk = e.id
|
||||||
JOIN entryConfig ec ON e.id <> ec.defaultEntry
|
JOIN vn.entryConfig ec ON e.id != ec.defaultEntry
|
||||||
WHERE e.dated < v3Months
|
WHERE e.dated < TIMESTAMPADD(MONTH, -3, util.VN_CURDATE()) AND b.entryFK IS NULL;
|
||||||
AND b.entryFK IS NULL;
|
|
||||||
|
|
||||||
DELETE e
|
DELETE e
|
||||||
FROM entry e
|
FROM vn.entry e
|
||||||
JOIN tEntryToDelete tmp ON tmp.id = e.id;
|
JOIN tmp.entryToDelete tmp ON tmp.id = e.id;
|
||||||
|
|
||||||
-- borrar de route registros menores a 4 años
|
-- borrar de route registros menores a 4 años
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tRouteToDelete
|
DROP TEMPORARY TABLE IF EXISTS tmp.routeToDelete;
|
||||||
|
CREATE TEMPORARY TABLE tmp.routeToDelete
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM route r
|
FROM vn.route r
|
||||||
WHERE created < v4Years;
|
WHERE created < TIMESTAMPADD(YEAR,-4,util.VN_CURDATE());
|
||||||
|
|
||||||
UPDATE tRouteToDelete tmp
|
UPDATE tmp.routeToDelete tmp
|
||||||
JOIN dms d ON d.id = tmp.gestdocFk
|
JOIN vn.dms d ON d.id = tmp.gestdocFk
|
||||||
SET d.dmsTypeFk = vTrashId;
|
SET d.dmsTypeFk = vTrashId;
|
||||||
|
|
||||||
DELETE r
|
DELETE r
|
||||||
FROM tRouteToDelete tmp
|
FROM tmp.routeToDelete tmp
|
||||||
JOIN route r ON r.id = tmp.id;
|
JOIN vn.route r ON r.id = tmp.id;
|
||||||
|
|
||||||
-- borrar registros de dua y awb menores a 2 años
|
-- borrar registros de dua y awb menores a 2 años
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tDuaToDelete
|
DROP TEMPORARY TABLE IF EXISTS tmp.duaToDelete;
|
||||||
|
CREATE TEMPORARY TABLE tmp.duaToDelete
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM dua
|
FROM vn.dua
|
||||||
WHERE operated < v2Years;
|
WHERE operated < TIMESTAMPADD(YEAR,-2,CURDATE());
|
||||||
|
|
||||||
UPDATE tDuaToDelete tm
|
UPDATE tmp.duaToDelete tm
|
||||||
JOIN dms d ON d.id = tm.gestdocFk
|
JOIN vn.dms d ON d.id = tm.gestdocFk
|
||||||
SET d.dmsTypeFk = vTrashId;
|
SET d.dmsTypeFk = vTrashId;
|
||||||
|
|
||||||
DELETE d
|
DELETE d
|
||||||
FROM tDuaToDelete tmp
|
FROM tmp.duaToDelete tmp
|
||||||
JOIN dua d ON d.id = tmp.id;
|
JOIN vn.dua d ON d.id = tmp.id;
|
||||||
|
|
||||||
DELETE a
|
DELETE a
|
||||||
FROM awb a
|
FROM vn.awb a
|
||||||
LEFT JOIN travel t ON t.awbFk = a.id
|
LEFT JOIN vn.travel t ON t.awbFk = a.id
|
||||||
WHERE a.created < v2Years
|
WHERE a.created < v2Years
|
||||||
AND t.id IS NULL;
|
AND t.id IS NULL;
|
||||||
|
|
||||||
-- Borra los registros de collection y ticketcollection
|
-- Borra los registros de collection y ticketcollection
|
||||||
DELETE FROM collection WHERE created < v2Months;
|
DELETE FROM vn.collection WHERE created < vDateShort;
|
||||||
DELETE FROM travelLog WHERE creationDate < v3Months;
|
|
||||||
|
|
||||||
CALL shelving_clean();
|
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;
|
||||||
|
|
||||||
DELETE FROM chat WHERE dated < v5Years;
|
DELETE FROM chat WHERE dated < v5Years;
|
||||||
DELETE tt FROM ticketTracking tt
|
|
||||||
JOIN ticket t ON tt.ticketFk = t.id
|
|
||||||
WHERE t.shipped <= v2Months;
|
|
||||||
|
|
||||||
DELETE FROM mail WHERE creationDate < v2Months;
|
DELETE tt FROM ticketTracking tt JOIN vn.ticket t ON tt.ticketFk = t.id
|
||||||
DELETE FROM split WHERE dated < v18Months;
|
WHERE t.shipped <= vDateShort;
|
||||||
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$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,103 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`confection_controlSource`(
|
|
||||||
vDated DATE,
|
|
||||||
vScopeDays INT,
|
|
||||||
vMaxAlertLevel INT,
|
|
||||||
vWarehouseFk INT
|
|
||||||
)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Obtiene la información para el control de confección,
|
|
||||||
* ya sean tickets y/o entradas.
|
|
||||||
*
|
|
||||||
* @param vDated Fecha a calcular
|
|
||||||
* @param vScopeDays Número de días desde hoy en adelante que entran en el cálculo.
|
|
||||||
* @param vMaxAlertLevel Id nivel de alerta
|
|
||||||
* @param vWarehouseFk Id de almacén
|
|
||||||
*/
|
|
||||||
DECLARE vEndingDate DATETIME DEFAULT util.dayEnd(vDated) + INTERVAL vScopeDays DAY;
|
|
||||||
|
|
||||||
SELECT t.shipped,
|
|
||||||
t.id ticketFk,
|
|
||||||
s.id saleFk,
|
|
||||||
s.quantity,
|
|
||||||
s.concept,
|
|
||||||
ABS(s.reserved) isReserved,
|
|
||||||
i.category,
|
|
||||||
it.name itemType,
|
|
||||||
t.nickname,
|
|
||||||
wh.name warehouse,
|
|
||||||
t.warehouseFk warehouseFk,
|
|
||||||
a.provinceFk,
|
|
||||||
am.agencyFk,
|
|
||||||
ct.description,
|
|
||||||
stock.visible,
|
|
||||||
stock.available
|
|
||||||
FROM ticket t
|
|
||||||
JOIN agencyMode am ON am.id = t.agencyModeFk
|
|
||||||
JOIN warehouse wh ON wh.id = t.warehouseFk
|
|
||||||
JOIN sale s ON s.ticketFk = t.id
|
|
||||||
JOIN item i ON i.id = s.itemFk
|
|
||||||
JOIN itemType it ON it.id = i.typeFk
|
|
||||||
JOIN confectionType ct ON ct.id = it.making
|
|
||||||
JOIN `address` a on a.id = t.addressFk
|
|
||||||
LEFT JOIN ticketState tls on tls.ticketFk = t.id
|
|
||||||
LEFT JOIN
|
|
||||||
(
|
|
||||||
SELECT item_id,
|
|
||||||
SUM(visible) visible,
|
|
||||||
SUM(available) available
|
|
||||||
FROM (
|
|
||||||
SELECT a.item_id,
|
|
||||||
0 visible,
|
|
||||||
a.available
|
|
||||||
FROM cache.cache_calc cc
|
|
||||||
LEFT JOIN cache.available a ON a.calc_id = cc.id
|
|
||||||
WHERE cc.cache_id IN ('visible', 'available')
|
|
||||||
AND cc.params = CONCAT(vWarehouseFk, "/", util.VN_CURDATE())
|
|
||||||
UNION ALL
|
|
||||||
SELECT v.item_id,
|
|
||||||
v.visible,
|
|
||||||
0
|
|
||||||
FROM cache.cache_calc cc
|
|
||||||
LEFT JOIN cache.visible v ON v.calc_id = cc.id
|
|
||||||
WHERE cc.cacheName IN ('visible', 'available')
|
|
||||||
AND cc.params = vWarehouseFk
|
|
||||||
) sub
|
|
||||||
GROUP BY item_id
|
|
||||||
) stock ON stock.item_id = s.itemFk
|
|
||||||
WHERE it.making
|
|
||||||
AND tls.alertLevel < vMaxAlertLevel
|
|
||||||
AND wh.hasConfectionTeam
|
|
||||||
AND t.shipped BETWEEN vDated AND vEndingDate
|
|
||||||
AND s.quantity > 0
|
|
||||||
UNION ALL
|
|
||||||
SELECT tr.shipped,
|
|
||||||
e.id,
|
|
||||||
NULL,
|
|
||||||
b.quantity,
|
|
||||||
i.name,
|
|
||||||
NULL,
|
|
||||||
i.category,
|
|
||||||
NULL,
|
|
||||||
whi.name,
|
|
||||||
who.name,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
ct.description,
|
|
||||||
NULL,
|
|
||||||
NULL
|
|
||||||
FROM buy b
|
|
||||||
JOIN `entry` e ON e.id = b.entryFk
|
|
||||||
JOIN travel tr ON tr.id = e.travelFk
|
|
||||||
JOIN warehouse whi ON whi.id = tr.warehouseInFk
|
|
||||||
JOIN warehouse who ON who.id = tr.warehouseOutFk
|
|
||||||
JOIN item i ON i.id = b.itemFk
|
|
||||||
JOIN itemType it ON it.id = i.typeFk
|
|
||||||
JOIN confectionType ct ON ct.id = it.making
|
|
||||||
WHERE who.hasConfectionTeam
|
|
||||||
AND it.making
|
|
||||||
AND tr.shipped BETWEEN vDated AND vEndingDate;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemProposal`(vItemFk INT, vTicketFk INT,vShowType BOOL)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Propone articulos disponible ordenado, con la cantidad de veces usado y segun sus caracteristicas
|
||||||
|
*
|
||||||
|
* @param vItemFk item id
|
||||||
|
* @param vTicketFk ticket id
|
||||||
|
* @param vShowType mostrar tipos
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE vWarehouseFk INT;
|
||||||
|
DECLARE vShipped DATE;
|
||||||
|
DECLARE vCalcFk INT;
|
||||||
|
DECLARE vTypeFk INT;
|
||||||
|
|
||||||
|
DECLARE vTag1 VARCHAR(25);
|
||||||
|
DECLARE vTag5 VARCHAR(25);
|
||||||
|
DECLARE vTag6 VARCHAR(25);
|
||||||
|
DECLARE vTag7 VARCHAR(25);
|
||||||
|
DECLARE vTag8 VARCHAR(25);
|
||||||
|
|
||||||
|
DECLARE vValue1 VARCHAR(50);
|
||||||
|
DECLARE vValue5 VARCHAR(50);
|
||||||
|
DECLARE vValue6 VARCHAR(50);
|
||||||
|
DECLARE vValue7 VARCHAR(50);
|
||||||
|
DECLARE vValue8 VARCHAR(50);
|
||||||
|
|
||||||
|
SELECT warehouseFk, shipped INTO vWarehouseFk, vShipped
|
||||||
|
FROM vn.ticket
|
||||||
|
WHERE id = vTicketFk;
|
||||||
|
|
||||||
|
SELECT typeFk, tag5, value5, tag6, value6, tag7, value7, tag8, value8, t1.name, it1.value
|
||||||
|
INTO vTypeFk, vTag5, vValue5, vTag6, vValue6, vTag7, vValue7, vTag8, vValue8, vTag1, vValue1
|
||||||
|
FROM vn.item i
|
||||||
|
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
||||||
|
WHERE i.id = vItemFk;
|
||||||
|
|
||||||
|
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vShipped);
|
||||||
|
|
||||||
|
SELECT i.id itemFk,
|
||||||
|
i.longName,
|
||||||
|
i.subName,
|
||||||
|
i.tag5,
|
||||||
|
i.value5,
|
||||||
|
(i.value5 <=> vValue5 COLLATE utf8_general_ci) match5,
|
||||||
|
i.tag6,
|
||||||
|
i.value6,
|
||||||
|
(i.value6 <=> vValue6 COLLATE utf8_general_ci) match6,
|
||||||
|
i.tag7,
|
||||||
|
i.value7,
|
||||||
|
(i.value7 <=> vValue7 COLLATE utf8_general_ci) match7,
|
||||||
|
i.tag8,
|
||||||
|
i.value8,
|
||||||
|
(i.value8 <=> vValue8 COLLATE utf8_general_ci) match8,
|
||||||
|
a.available,
|
||||||
|
IFNULL(ip.counter,0) counter,
|
||||||
|
IF(b.groupingMode = 1, b.grouping, b.packing) as minQuantity,
|
||||||
|
iss.visible located
|
||||||
|
FROM item i
|
||||||
|
JOIN cache.available a ON a.item_id = i.id
|
||||||
|
LEFT JOIN itemProposal ip ON ip.mateFk = i.id AND ip.itemFk = vItemFk
|
||||||
|
LEFT JOIN itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN tag t1 ON t1.id = it1.tagFk
|
||||||
|
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id AND lb.warehouse_id = vWarehouseFk
|
||||||
|
LEFT JOIN buy b ON b.id = lb.buy_id
|
||||||
|
LEFT JOIN itemShelvingStock iss ON iss.itemFk = i.id AND iss.warehouseFk = vWarehouseFk
|
||||||
|
WHERE a.calc_id = vCalcFk
|
||||||
|
AND available > 0
|
||||||
|
AND IF(vShowType,i.typeFk = vTypeFk,true)
|
||||||
|
AND i.id != vItemFk
|
||||||
|
ORDER BY counter DESC,
|
||||||
|
(t1.name = vTag1 COLLATE utf8_general_ci) DESC,
|
||||||
|
(it1.value = vValue1 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag5 = vTag5 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value5 = vValue5 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag6 = vTag6 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value6 = vValue6 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag7 = vTag7 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value7 = vValue7 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag8 = vTag8 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value8 = vValue8 COLLATE utf8_general_ci) DESC;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,76 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`itemProposal_beta`(vItemFk INT, vTicketFk INT)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DECLARE vWarehouseFk INT;
|
||||||
|
DECLARE vShipped DATE;
|
||||||
|
DECLARE vCalcFk INT;
|
||||||
|
DECLARE vTypeFk INT;
|
||||||
|
DECLARE vResultsMax INT DEFAULT 10;
|
||||||
|
|
||||||
|
DECLARE vTag1 VARCHAR(25);
|
||||||
|
DECLARE vTag5 VARCHAR(25);
|
||||||
|
DECLARE vTag6 VARCHAR(25);
|
||||||
|
DECLARE vTag7 VARCHAR(25);
|
||||||
|
DECLARE vTag8 VARCHAR(25);
|
||||||
|
|
||||||
|
DECLARE vValue1 VARCHAR(50);
|
||||||
|
DECLARE vValue5 VARCHAR(50);
|
||||||
|
DECLARE vValue6 VARCHAR(50);
|
||||||
|
DECLARE vValue7 VARCHAR(50);
|
||||||
|
DECLARE vValue8 VARCHAR(50);
|
||||||
|
|
||||||
|
SELECT warehouseFk, shipped INTO vWarehouseFk, vShipped
|
||||||
|
FROM vn.ticket
|
||||||
|
WHERE id = vTicketFk;
|
||||||
|
|
||||||
|
SELECT typeFk, tag5, value5, tag6, value6, tag7, value7, tag8, value8, t1.name, it1.value
|
||||||
|
INTO vTypeFk, vTag5, vValue5, vTag6, vValue6, vTag7, vValue7, vTag8, vValue8, vTag1, vValue1
|
||||||
|
FROM vn.item i
|
||||||
|
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
||||||
|
WHERE i.id = vItemFk;
|
||||||
|
|
||||||
|
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vShipped);
|
||||||
|
|
||||||
|
SELECT i.id itemFk,
|
||||||
|
i.longName,
|
||||||
|
i.subName,
|
||||||
|
i.tag5,
|
||||||
|
i.value5,
|
||||||
|
(i.value5 <=> vValue5 COLLATE utf8_general_ci) match5,
|
||||||
|
i.tag6,
|
||||||
|
i.value6,
|
||||||
|
(i.value6 <=> vValue6 COLLATE utf8_general_ci) match6,
|
||||||
|
i.tag7,
|
||||||
|
i.value7,
|
||||||
|
(i.value7 <=> vValue7 COLLATE utf8_general_ci) match7,
|
||||||
|
i.tag8,
|
||||||
|
i.value8,
|
||||||
|
(i.value8 <=> vValue8 COLLATE utf8_general_ci) match8,
|
||||||
|
a.available,
|
||||||
|
IFNULL(ip.counter,0) counter
|
||||||
|
FROM vn.item i
|
||||||
|
JOIN cache.available a ON a.item_id = i.id
|
||||||
|
LEFT JOIN vn.itemProposal ip ON ip.mateFk = i.id AND ip.itemFk = vItemFk
|
||||||
|
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
||||||
|
WHERE a.calc_id = vCalcFk
|
||||||
|
AND available > 0
|
||||||
|
AND i.typeFk = vTypeFk
|
||||||
|
AND i.id != vItemFk
|
||||||
|
ORDER BY counter DESC,
|
||||||
|
(t1.name = vTag1 COLLATE utf8_general_ci) DESC,
|
||||||
|
(it1.value = vValue1 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag5 = vTag5 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value5 = vValue5 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag6 = vTag6 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value6 = vValue6 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag7 = vTag7 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value7 = vValue7 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.tag8 = vTag8 COLLATE utf8_general_ci) DESC,
|
||||||
|
(i.value8 = vValue8 COLLATE utf8_general_ci) DESC
|
||||||
|
LIMIT vResultsMax;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,24 +1,20 @@
|
||||||
DELIMITER $$
|
DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_getSimilar`(
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`item_getSimilar`(vItemFk INT, vWarehouseFk INT, vDate DATE, vIsShowedByType BOOL)
|
||||||
vSelf INT,
|
|
||||||
vTicketFk INT,
|
|
||||||
vShowType BOOL
|
|
||||||
)
|
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
|
||||||
* Propone articulos disponibles ordenados, con la cantidad
|
|
||||||
* de veces usado y segun sus caracteristicas.
|
|
||||||
*
|
|
||||||
* @param vSelf Id de artículo
|
|
||||||
* @param vTicketFk Id de ticket
|
|
||||||
* @param vShowType Mostrar tipos
|
|
||||||
*/
|
|
||||||
DECLARE vWarehouseFk INT;
|
|
||||||
DECLARE vShipped DATE;
|
|
||||||
DECLARE vCalcFk INT;
|
|
||||||
DECLARE vTypeFk INT;
|
|
||||||
DECLARE vPriority INT DEFAULT 1;
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Propone articulos similares para posible cambio,
|
||||||
|
* ordenado con la cantidad de veces usado y segun sus caracteristicas
|
||||||
|
*
|
||||||
|
* @param vItemFk item id
|
||||||
|
* @param vWarehouseFk warehouse id
|
||||||
|
* @param vDate fecha para revisar disponible
|
||||||
|
* @param vIsShowedByType para mostrar solo artículos de ese tipo
|
||||||
|
*/
|
||||||
|
|
||||||
|
DECLARE vCalcFk INT;
|
||||||
|
DECLARE vTypeFk INT;
|
||||||
|
|
||||||
DECLARE vTag1 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
DECLARE vTag1 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag5 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
DECLARE vTag5 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vTag6 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
DECLARE vTag6 VARCHAR(25) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
@ -31,86 +27,58 @@ BEGIN
|
||||||
DECLARE vValue7 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
DECLARE vValue7 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
DECLARE vValue8 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
DECLARE vValue8 VARCHAR(50) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci';
|
||||||
|
|
||||||
SELECT warehouseFk, shipped
|
|
||||||
INTO vWarehouseFk, vShipped
|
SELECT typeFk, tag5, value5, tag6, value6, tag7, value7, tag8, value8, t1.name, it1.value
|
||||||
FROM ticket
|
INTO vTypeFk, vTag5, vValue5, vTag6, vValue6, vTag7, vValue7, vTag8, vValue8, vTag1, vValue1
|
||||||
WHERE id = vTicketFk;
|
FROM vn.item i
|
||||||
|
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
||||||
|
WHERE i.id = vItemFk;
|
||||||
|
|
||||||
|
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vDate);
|
||||||
|
|
||||||
|
SELECT i.id itemFk,
|
||||||
|
i.longName,
|
||||||
|
i.subName,
|
||||||
|
i.tag5,
|
||||||
|
i.value5,
|
||||||
|
(i.value5 <=> vValue5) match5,
|
||||||
|
i.tag6,
|
||||||
|
i.value6,
|
||||||
|
(i.value6 <=> vValue6) match6,
|
||||||
|
i.tag7,
|
||||||
|
i.value7,
|
||||||
|
(i.value7 <=> vValue7) match7,
|
||||||
|
i.tag8,
|
||||||
|
i.value8,
|
||||||
|
(i.value8 <=> vValue8) match8,
|
||||||
|
a.available,
|
||||||
|
IFNULL(ip.counter,0) counter,
|
||||||
|
IF(b.groupingMode = 1, b.grouping, b.packing) as minQuantity
|
||||||
|
FROM vn.item i
|
||||||
|
JOIN cache.available a ON a.item_id = i.id
|
||||||
|
LEFT JOIN vn.itemProposal ip ON ip.mateFk = i.id AND ip.itemFk = vItemFk
|
||||||
|
LEFT JOIN vn.itemTag it1 ON it1.itemFk = i.id AND it1.priority = 1
|
||||||
|
LEFT JOIN vn.tag t1 ON t1.id = it1.tagFk
|
||||||
|
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id AND lb.warehouse_id = vWarehouseFk
|
||||||
|
LEFT JOIN vn.buy b ON b.id = lb.buy_id
|
||||||
|
WHERE a.calc_id = vCalcFk
|
||||||
|
AND available > 0
|
||||||
|
AND IF(vIsShowedByType, i.typeFk = vTypeFk, TRUE)
|
||||||
|
AND i.id != vItemFk
|
||||||
|
ORDER BY counter DESC,
|
||||||
|
(t1.name = vTag1) DESC,
|
||||||
|
(it1.value = vValue1) DESC,
|
||||||
|
(i.tag6 = vTag6) DESC,
|
||||||
|
(i.value6 = vValue6) DESC,
|
||||||
|
(i.tag5 = vTag5) DESC,
|
||||||
|
(i.value5 = vValue5) DESC,
|
||||||
|
(i.tag7 = vTag7) DESC,
|
||||||
|
(i.value7 = vValue7) DESC,
|
||||||
|
(i.tag8 = vTag8) DESC,
|
||||||
|
(i.value8 = vValue8) DESC
|
||||||
|
LIMIT 30;
|
||||||
|
|
||||||
|
|
||||||
SELECT typeFk,
|
|
||||||
tag5,
|
|
||||||
value5,
|
|
||||||
tag6,
|
|
||||||
value6,
|
|
||||||
tag7,
|
|
||||||
value7,
|
|
||||||
tag8,
|
|
||||||
value8,
|
|
||||||
t.name,
|
|
||||||
it.value
|
|
||||||
INTO vTypeFk,
|
|
||||||
vTag5,
|
|
||||||
vValue5,
|
|
||||||
vTag6,
|
|
||||||
vValue6,
|
|
||||||
vTag7,
|
|
||||||
vValue7,
|
|
||||||
vTag8,
|
|
||||||
vValue8,
|
|
||||||
vTag1,
|
|
||||||
vValue1
|
|
||||||
FROM item i
|
|
||||||
LEFT JOIN itemTag it ON it.itemFk = i.id
|
|
||||||
AND it.priority = vPriority
|
|
||||||
LEFT JOIN tag t ON t.id = it.tagFk
|
|
||||||
WHERE i.id = vSelf;
|
|
||||||
|
|
||||||
CALL cache.available_refresh(vCalcFk, FALSE, vWarehouseFk, vShipped);
|
|
||||||
|
|
||||||
SELECT i.id itemFk,
|
|
||||||
i.longName,
|
|
||||||
i.subName,
|
|
||||||
i.tag5,
|
|
||||||
i.value5,
|
|
||||||
(i.value5 <=> vValue5) match5,
|
|
||||||
i.tag6,
|
|
||||||
i.value6,
|
|
||||||
(i.value6 <=> vValue6) match6,
|
|
||||||
i.tag7,
|
|
||||||
i.value7,
|
|
||||||
(i.value7 <=> vValue7) match7,
|
|
||||||
i.tag8,
|
|
||||||
i.value8,
|
|
||||||
(i.value8 <=> vValue8) match8,
|
|
||||||
a.available,
|
|
||||||
IFNULL(ip.counter, 0) `counter`,
|
|
||||||
IF(b.groupingMode = 1, b.grouping, b.packing) minQuantity,
|
|
||||||
iss.visible located
|
|
||||||
FROM item i
|
|
||||||
JOIN cache.available a ON a.item_id = i.id
|
|
||||||
LEFT JOIN itemProposal ip ON ip.mateFk = i.id
|
|
||||||
AND ip.itemFk = vSelf
|
|
||||||
LEFT JOIN itemTag it ON it.itemFk = i.id
|
|
||||||
AND it.priority = vPriority
|
|
||||||
LEFT JOIN tag t ON t.id = it.tagFk
|
|
||||||
LEFT JOIN cache.last_buy lb ON lb.item_id = i.id
|
|
||||||
AND lb.warehouse_id = vWarehouseFk
|
|
||||||
LEFT JOIN buy b ON b.id = lb.buy_id
|
|
||||||
LEFT JOIN itemShelvingStock iss ON iss.itemFk = i.id
|
|
||||||
AND iss.warehouseFk = vWarehouseFk
|
|
||||||
WHERE a.calc_id = vCalcFk
|
|
||||||
AND a.available > 0
|
|
||||||
AND IF(vShowType, i.typeFk = vTypeFk, TRUE)
|
|
||||||
AND i.id <> vSelf
|
|
||||||
ORDER BY `counter` DESC,
|
|
||||||
(t.name = vTag1) DESC,
|
|
||||||
(it.value = vValue1) DESC,
|
|
||||||
(i.tag5 = vTag5) DESC,
|
|
||||||
match5 DESC,
|
|
||||||
(i.tag6 = vTag6) DESC,
|
|
||||||
match6 DESC,
|
|
||||||
(i.tag7 = vTag7) DESC,
|
|
||||||
match7 DESC,
|
|
||||||
(i.tag8 = vTag8) DESC,
|
|
||||||
match8 DESC;
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,84 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`payment_add`(
|
|
||||||
vDated DATE,
|
|
||||||
vSupplierFk INT,
|
|
||||||
vAmount DOUBLE,
|
|
||||||
vCurrencyFk INT,
|
|
||||||
vForeignValue DOUBLE,
|
|
||||||
vBankFk INT,
|
|
||||||
vPayMethodFk INT,
|
|
||||||
vExpenseFk DOUBLE,
|
|
||||||
vConcept VARCHAR(40),
|
|
||||||
vCompanyFk INT)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Registra un pago realizado a un proveedor y
|
|
||||||
* su correspondiente registro en caja.
|
|
||||||
*
|
|
||||||
* @param vDated Fecha del pago
|
|
||||||
* @param vSupplierFk Id del proveedor
|
|
||||||
* @param vAmount Cantidad a pagar
|
|
||||||
* @param vCurrencyFk Id de la moneda
|
|
||||||
* @param vForeignValue Tipo de cambio utilizado
|
|
||||||
* @param vBankFk Id del banco
|
|
||||||
* @param vPayMethodFk Id del método de pago
|
|
||||||
* @param vExpenseFk Id de gasto
|
|
||||||
* @param vConcept Concepto del pago
|
|
||||||
* @param vCompanyFk Id de la empresa
|
|
||||||
* @return paymentFk Id de pago insertado
|
|
||||||
*/
|
|
||||||
INSERT INTO till(
|
|
||||||
concept,
|
|
||||||
serie,
|
|
||||||
`number`,
|
|
||||||
`out`,
|
|
||||||
dated,
|
|
||||||
isAccountable,
|
|
||||||
bankFk,
|
|
||||||
workerFk,
|
|
||||||
companyFk,
|
|
||||||
isConciliate
|
|
||||||
)
|
|
||||||
SELECT CONCAT('n/pago a ', `name`),
|
|
||||||
'R',
|
|
||||||
vSupplierFk,
|
|
||||||
vAmount,
|
|
||||||
vDated,
|
|
||||||
1,
|
|
||||||
vBankFk,
|
|
||||||
account.myUser_getId(),
|
|
||||||
vCompanyFk,
|
|
||||||
1
|
|
||||||
FROM supplier
|
|
||||||
WHERE id = vSupplierFk;
|
|
||||||
|
|
||||||
INSERT INTO payment(
|
|
||||||
received,
|
|
||||||
dueDated,
|
|
||||||
supplierFk,
|
|
||||||
amount,
|
|
||||||
currencyFk,
|
|
||||||
divisa,
|
|
||||||
bankFk,
|
|
||||||
payMethodFk,
|
|
||||||
bankingFees,
|
|
||||||
concept,
|
|
||||||
companyFk
|
|
||||||
)
|
|
||||||
VALUES(
|
|
||||||
vDated,
|
|
||||||
vDated,
|
|
||||||
vSupplierFk,
|
|
||||||
vAmount,
|
|
||||||
vCurrencyFk,
|
|
||||||
IF(NOT vForeignValue, NULL, vForeignValue),
|
|
||||||
vBankFk,
|
|
||||||
vPayMethodFk,
|
|
||||||
vExpenseFk,
|
|
||||||
vConcept,
|
|
||||||
vCompanyFk
|
|
||||||
);
|
|
||||||
|
|
||||||
SELECT LAST_INSERT_ID() paymentFk;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -1,70 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`remittance_calc`(
|
|
||||||
vDated DATE
|
|
||||||
)
|
|
||||||
BEGIN
|
|
||||||
/**
|
|
||||||
* Calcula los datos de remesa, incluyendo el importe,
|
|
||||||
* el vencimiento, y otros datos relevantes.
|
|
||||||
*
|
|
||||||
* @param vDated Fecha a calcular
|
|
||||||
* @return tmp.remittance
|
|
||||||
*/
|
|
||||||
CREATE OR REPLACE TEMPORARY TABLE tmp.remittance
|
|
||||||
SELECT CONCAT(s.nif, REPEAT('0', 12 - LENGTH(s.nif))) cif,
|
|
||||||
c.id clientFk,
|
|
||||||
c.name client,
|
|
||||||
c.fi,
|
|
||||||
sub.paymentDate,
|
|
||||||
0 invoiceAmount,
|
|
||||||
CAST(sub.receipt AS DECIMAL(10,2)) receiptAmount,
|
|
||||||
0 currentAmount,
|
|
||||||
sub.companyFk,
|
|
||||||
c.socialName,
|
|
||||||
CAST(sub.receipt AS DECIMAL(10,2)) totalAmount,
|
|
||||||
CAST(sub.receipt AS DECIMAL(10,2)) balance,
|
|
||||||
s.name company,
|
|
||||||
co.code companyCode,
|
|
||||||
c.accountingAccount,
|
|
||||||
c.iban,
|
|
||||||
c.hasSepaVnl,
|
|
||||||
c.hasCoreVnl,
|
|
||||||
c.hasLcr,
|
|
||||||
be.bic,
|
|
||||||
be.`name` entityName
|
|
||||||
FROM client c
|
|
||||||
JOIN (
|
|
||||||
SELECT risk.companyFk,
|
|
||||||
c.id,
|
|
||||||
SUM(risk.amount) receipt,
|
|
||||||
IF((c.dueDay + graceDays) MOD 30.001 <= DAY(vDated),
|
|
||||||
LAST_DAY(vDated - INTERVAL 1 MONTH) + INTERVAL (c.dueDay + graceDays) MOD 30.001 DAY,
|
|
||||||
LAST_DAY(vDated - INTERVAL 2 MONTH) + INTERVAL (c.dueDay + graceDays) MOD 30.001 DAY
|
|
||||||
) paymentDate
|
|
||||||
FROM client c
|
|
||||||
JOIN payMethod pm ON pm.id = c.payMethodFk
|
|
||||||
JOIN (
|
|
||||||
SELECT cr.companyFk, cr.clientFk, cr.amount
|
|
||||||
FROM client c
|
|
||||||
JOIN clientRisk cr ON cr.clientFk = c.id
|
|
||||||
JOIN payMethod pm ON pm.id = c.payMethodFk
|
|
||||||
WHERE pm.code = 'bankDraft'
|
|
||||||
UNION ALL
|
|
||||||
SELECT io.companyFk, io.clientFk, - io.amount
|
|
||||||
FROM invoiceOut io
|
|
||||||
JOIN client c ON c.id = io.clientFk
|
|
||||||
JOIN payMethod pm ON pm.id = c.payMethodFk
|
|
||||||
WHERE io.dued > vDated
|
|
||||||
AND pm.code = 'bankDraft'
|
|
||||||
AND pm.outstandingDebt
|
|
||||||
AND io.amount > 0
|
|
||||||
|
|
||||||
) risk ON risk.clientFk = c.id
|
|
||||||
GROUP BY risk.companyFk, c.id
|
|
||||||
HAVING receipt > 10
|
|
||||||
) sub ON sub.id = c.id
|
|
||||||
JOIN supplier s ON s.id = sub.companyFk
|
|
||||||
JOIN company co ON co.id = sub.companyFk
|
|
||||||
LEFT JOIN bankEntity be ON be.id = c.bankEntityFk;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`CalculoRemesas`(IN vFechaRemesa DATE)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS TMP_REMESAS;
|
||||||
|
CREATE TEMPORARY TABLE TMP_REMESAS
|
||||||
|
SELECT
|
||||||
|
CONCAT(p.NIF,REPEAT('0', 12-LENGTH(p.NIF))) as CIF1,
|
||||||
|
cli.Id_Cliente,
|
||||||
|
cli.Cliente,
|
||||||
|
cli.`IF` as NIF,
|
||||||
|
c.PaymentDate as Vencimiento,
|
||||||
|
0 ImporteFac,
|
||||||
|
cast(c.Recibo as decimal(10,2)) as ImporteRec,
|
||||||
|
0 as ImporteActual,
|
||||||
|
c.companyFk empresa_id,
|
||||||
|
cli.RazonSocial,
|
||||||
|
cast(c.Recibo as decimal(10,2)) as ImporteTotal,
|
||||||
|
cast(c.Recibo as decimal(10,2)) as Saldo,
|
||||||
|
p.Proveedor as Empresa,
|
||||||
|
e.abbreviation as EMP,
|
||||||
|
cli.cuenta,
|
||||||
|
iban AS Iban,
|
||||||
|
CONVERT(SUBSTRING(iban,5,4),UNSIGNED INT) AS nrbe,
|
||||||
|
sepavnl as SEPA,
|
||||||
|
corevnl as RecibidoCORE,
|
||||||
|
hasLcr,
|
||||||
|
be.bic,
|
||||||
|
be.`name` entityName
|
||||||
|
FROM Clientes cli
|
||||||
|
JOIN
|
||||||
|
(SELECT risk.companyFk,
|
||||||
|
c.Id_Cliente,
|
||||||
|
sum(risk.amount) as Recibo,
|
||||||
|
IF((c.Vencimiento + graceDays) mod 30.001 <= day(vFechaRemesa)
|
||||||
|
,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-1,vFechaRemesa)))
|
||||||
|
,TIMESTAMPADD(DAY, (c.Vencimiento + graceDays) MOD 30.001, LAST_DAY(TIMESTAMPADD(MONTH,-2,vFechaRemesa)))
|
||||||
|
) as PaymentDate
|
||||||
|
FROM Clientes c
|
||||||
|
JOIN pay_met pm on pm.id = pay_met_id
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT companyFk, clientFk, amount
|
||||||
|
FROM Clientes c
|
||||||
|
JOIN vn.clientRisk cr ON cr.clientFk = c.Id_Cliente
|
||||||
|
WHERE pay_met_id = 4
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT io.companyFk, io.clientFk Id_Cliente, - io.amount
|
||||||
|
FROM vn.invoiceOut io
|
||||||
|
JOIN Clientes c ON c.Id_Cliente = io.clientFk
|
||||||
|
JOIN pay_met pm on pm.id = pay_met_id
|
||||||
|
WHERE io.dued > vFechaRemesa
|
||||||
|
AND pay_met_id = 4 AND pm.deudaviva
|
||||||
|
AND io.amount > 0
|
||||||
|
|
||||||
|
) risk ON c.Id_Cliente = risk.clientFk
|
||||||
|
GROUP BY risk.companyFk, Id_Cliente
|
||||||
|
HAVING Recibo > 10
|
||||||
|
) c on c.Id_Cliente = cli.Id_Cliente
|
||||||
|
JOIN Proveedores p on p.Id_Proveedor = c.companyFk
|
||||||
|
JOIN empresa e on e.id = c.companyFk
|
||||||
|
LEFT JOIN vn.bankEntity be ON be.id = cli.bankEntityFk;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,11 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`cacheReset`(vCacheName VARCHAR(10), vParams VARCHAR(15))
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
UPDATE cache.cache_calc
|
||||||
|
SET expires = util.VN_NOW()
|
||||||
|
WHERE cacheName = vCacheName collate utf8_unicode_ci
|
||||||
|
AND params = vParams collate utf8_unicode_ci;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,23 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`camiones`(vWarehouse INT, vDate DATE)
|
||||||
|
BEGIN
|
||||||
|
SELECT Temperatura
|
||||||
|
,ROUND(SUM(Etiquetas * volume)) AS cm3
|
||||||
|
,ROUND(SUM(IF(scanned, Etiquetas, 0) * volume)) AS cm3s
|
||||||
|
,ROUND(SUM(Vida * volume)) AS cm3e
|
||||||
|
FROM (
|
||||||
|
SELECT t.Temperatura, c.Etiquetas, b.scanned, c.Vida,
|
||||||
|
IF(cu.Volumen > 0, cu.Volumen, cu.x * cu.y * IF(cu.z > 0, cu.z, a.Medida + 10)) volume
|
||||||
|
FROM Compres c
|
||||||
|
LEFT JOIN buy_edi b ON b.id = c.buy_edi_id
|
||||||
|
JOIN Articles a ON a.Id_Article = c.Id_Article
|
||||||
|
JOIN Tipos t ON t.tipo_id = a.tipo_id
|
||||||
|
JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada
|
||||||
|
JOIN travel tr ON tr.id = e.travel_id
|
||||||
|
JOIN Cubos cu ON cu.Id_Cubo = c.Id_Cubo
|
||||||
|
WHERE tr.warehouse_id = vWarehouse
|
||||||
|
AND tr.landing = vDate
|
||||||
|
) sub
|
||||||
|
GROUP BY Temperatura;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,79 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`clean`(IN `v_full` TINYINT(1))
|
||||||
|
proc: BEGIN
|
||||||
|
DECLARE vDate DATETIME;
|
||||||
|
DECLARE vDate18 DATETIME;
|
||||||
|
DECLARE vDate26 DATETIME;
|
||||||
|
DECLARE vDate8 DATE;
|
||||||
|
DECLARE vDate6 DATE;
|
||||||
|
DECLARE vDate3 DATE;
|
||||||
|
DECLARE vDate2000 DATE;
|
||||||
|
DECLARE vRangeDeleteTicket INT;
|
||||||
|
DECLARE vStrtable VARCHAR(15) DEFAULT NULL;
|
||||||
|
|
||||||
|
SET vDate = util.VN_CURDATE() - INTERVAL 2 MONTH;
|
||||||
|
SET vDate18 = util.VN_CURDATE() - INTERVAL 18 MONTH;
|
||||||
|
SET vDate26 = util.VN_CURDATE() - INTERVAL 26 MONTH;
|
||||||
|
SET vDate3 = util.VN_CURDATE() - INTERVAL 3 MONTH;
|
||||||
|
SET vDate8 = util.VN_CURDATE() - INTERVAL 8 DAY;
|
||||||
|
SET vDate6 = util.VN_CURDATE() - INTERVAL 6 DAY;
|
||||||
|
SET vDate2000 = util.VN_CURDATE() + INTERVAL (2000 - YEAR(util.VN_CURDATE())) YEAR;
|
||||||
|
SET vRangeDeleteTicket = 60;
|
||||||
|
|
||||||
|
DELETE FROM cdr WHERE calldate < vDate18;
|
||||||
|
DELETE FROM mail WHERE DATE_ODBC < vDate;
|
||||||
|
DELETE FROM Movimientos_mark WHERE odbc_date < vDate;
|
||||||
|
DELETE FROM Splits WHERE Fecha < vDate18;
|
||||||
|
|
||||||
|
DELETE tobs
|
||||||
|
FROM movement_label tobs
|
||||||
|
JOIN Movimientos m ON tobs.Id_Movimiento = m.Id_Movimiento
|
||||||
|
JOIN Tickets t ON m.Id_Ticket = t.Id_Ticket WHERE t.Fecha < vDate;
|
||||||
|
|
||||||
|
DELETE FROM Remesas WHERE `Fecha Remesa` < vDate18;
|
||||||
|
|
||||||
|
DELETE tt.*
|
||||||
|
FROM Tickets_turno tt
|
||||||
|
LEFT JOIN Movimientos m USING(Id_Ticket)
|
||||||
|
WHERE m.Id_Article IS NULL;
|
||||||
|
|
||||||
|
DELETE FROM cl_main WHERE Fecha < vDate18;
|
||||||
|
DELETE FROM hedera.`order` WHERE date_send < vDate18;
|
||||||
|
DELETE FROM vn.message WHERE sendDate < vDate;
|
||||||
|
|
||||||
|
DELETE FROM cache.departure_limit WHERE Fecha < util.VN_CURDATE() - INTERVAL 1 MONTH;
|
||||||
|
|
||||||
|
DELETE cm
|
||||||
|
FROM Compres_mark cm
|
||||||
|
JOIN Compres c ON c.Id_Compra = cm.Id_Compra
|
||||||
|
JOIN Entradas e ON e.Id_Entrada = c.Id_Entrada
|
||||||
|
JOIN travel t ON t.id = e.travel_id
|
||||||
|
WHERE t.landing <= vDate;
|
||||||
|
|
||||||
|
IF v_full THEN
|
||||||
|
CREATE OR REPLACE TEMPORARY TABLE tTicketDelete
|
||||||
|
SELECT DISTINCT tl.originFk ticketFk
|
||||||
|
FROM vn.ticketLog tl
|
||||||
|
JOIN (SELECT MAX(tl.id)ids
|
||||||
|
FROM vn.ticket t
|
||||||
|
JOIN vn.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 vn.ticket t
|
||||||
|
JOIN tTicketDelete tmp ON tmp.ticketFk = t.id;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE tTicketDelete;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- Tickets Nulos PAK 11/10/2016
|
||||||
|
UPDATE Tickets
|
||||||
|
SET empresa_id = 965
|
||||||
|
WHERE Id_Cliente = 31
|
||||||
|
AND empresa_id != 965;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,6 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`clean_launcher`()
|
||||||
|
BEGIN
|
||||||
|
CALL clean(TRUE);
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,79 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`cobro`(IN datFEC DATE
|
||||||
|
, IN idCLI INT
|
||||||
|
, IN dblIMPORTE DOUBLE
|
||||||
|
, IN idCAJA INT
|
||||||
|
, IN idPAYMET INT
|
||||||
|
, IN strCONCEPTO VARCHAR(40)
|
||||||
|
, IN idEMP INT
|
||||||
|
, IN idWH INT
|
||||||
|
, IN idTRABAJADOR INT)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DECLARE bolCASH BOOLEAN;
|
||||||
|
DECLARE cuenta_banco BIGINT;
|
||||||
|
DECLARE cuenta_cliente BIGINT;
|
||||||
|
DECLARE max_asien INT;
|
||||||
|
-- XDIARIO
|
||||||
|
-- No se asientan los cobros directamente, salvo en el caso de las cajas de CASH
|
||||||
|
SELECT (at2.code = 'cash') INTO bolCASH FROM Bancos b JOIN vn.accountingType at2 ON at2.id = b.cash WHERE b.Id_Banco = idCAJA;
|
||||||
|
IF bolCASH THEN
|
||||||
|
SELECT Cuenta INTO cuenta_banco
|
||||||
|
FROM Bancos
|
||||||
|
WHERE Id_Banco = idCAJA;
|
||||||
|
SELECT Cuenta INTO cuenta_cliente
|
||||||
|
FROM Clientes
|
||||||
|
WHERE Id_Cliente = idCLI;
|
||||||
|
CALL vn.ledger_next(max_asien);
|
||||||
|
INSERT INTO vn.XDiario (ASIEN,FECHA,SUBCTA,CONTRA,CONCEPTO,EURODEBE,EUROHABER,empresa_id)
|
||||||
|
SELECT max_asien,datFEC,SUBCTA,CONTRA,strCONCEPTO,EURODEBE,EUROHABER,idEMP
|
||||||
|
FROM(SELECT cuenta_banco SUBCTA, cuenta_cliente CONTRA, 0 EURODEBE, dblIMPORTE EUROHABER
|
||||||
|
UNION ALL
|
||||||
|
SELECT cuenta_cliente SUBCTA, cuenta_banco CONTRA, dblIMPORTE EURODEBE, 0 EUROHABER
|
||||||
|
) gf;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
-- CAJERA
|
||||||
|
INSERT INTO Cajas(Id_Trabajador,
|
||||||
|
Id_Banco,
|
||||||
|
Entrada,
|
||||||
|
Concepto,
|
||||||
|
Cajafecha,
|
||||||
|
Serie,
|
||||||
|
Partida,
|
||||||
|
Numero,
|
||||||
|
empresa_id,
|
||||||
|
warehouse_id
|
||||||
|
)
|
||||||
|
VALUES (idTRABAJADOR,
|
||||||
|
idCAJA,
|
||||||
|
dblIMPORTE,
|
||||||
|
strCONCEPTO,
|
||||||
|
datFEC,
|
||||||
|
'A',
|
||||||
|
TRUE,
|
||||||
|
idCLI,
|
||||||
|
idEMP,
|
||||||
|
idWH
|
||||||
|
);
|
||||||
|
|
||||||
|
-- RECIBO
|
||||||
|
INSERT INTO Recibos(Entregado,
|
||||||
|
Fechacobro,
|
||||||
|
Id_Trabajador,
|
||||||
|
Id_Banco,
|
||||||
|
Id_Cliente,
|
||||||
|
Id_Factura,
|
||||||
|
empresa_id
|
||||||
|
)
|
||||||
|
VALUES ( dblIMPORTE,
|
||||||
|
datFEC,
|
||||||
|
idTRABAJADOR,
|
||||||
|
idCAJA,
|
||||||
|
idCLI,
|
||||||
|
strCONCEPTO,
|
||||||
|
idEMP
|
||||||
|
);
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,105 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`confection_control_source`(vDated DATE, vScopeDays TINYINT)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
DECLARE vMidnight DATETIME DEFAULT TIMESTAMP(vDated,'23:59:59');
|
||||||
|
DECLARE vEndingDate DATETIME DEFAULT TIMESTAMPADD(DAY,vScopeDays,vMidnight);
|
||||||
|
DECLARE maxAlertLevel INT DEFAULT 2;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS tmp.production_buffer;
|
||||||
|
|
||||||
|
CREATE TEMPORARY TABLE tmp.production_buffer
|
||||||
|
ENGINE = MEMORY
|
||||||
|
SELECT
|
||||||
|
date(t.Fecha) as Fecha,
|
||||||
|
hour(t.Fecha) as Hora,
|
||||||
|
hour(t.Fecha) as Departure,
|
||||||
|
t.Id_Ticket,
|
||||||
|
m.Id_Movimiento,
|
||||||
|
m.Cantidad,
|
||||||
|
m.Concepte,
|
||||||
|
ABS(m.Reservado) Reservado,
|
||||||
|
i.Categoria,
|
||||||
|
tp.Tipo,
|
||||||
|
t.Alias as Cliente,
|
||||||
|
wh.name as Almacen,
|
||||||
|
t.warehouse_id,
|
||||||
|
cs.province_id,
|
||||||
|
a.agency_id,
|
||||||
|
ct.description as Taller,
|
||||||
|
stock.visible,
|
||||||
|
stock.available
|
||||||
|
FROM vn2008.Tickets t
|
||||||
|
JOIN vn2008.Agencias a ON a.Id_Agencia = t.Id_Agencia
|
||||||
|
JOIN vn.warehouse wh ON wh.id = t.warehouse_id
|
||||||
|
JOIN vn2008.Movimientos m ON m.Id_Ticket = t.Id_Ticket
|
||||||
|
JOIN vn2008.Articles i ON i.Id_Article = m.Id_Article
|
||||||
|
JOIN vn2008.Tipos tp ON tp.tipo_id = i.tipo_id
|
||||||
|
JOIN vn.confectionType ct ON ct.id = tp.confeccion
|
||||||
|
JOIN vn2008.Consignatarios cs on cs.Id_Consigna = t.Id_Consigna
|
||||||
|
LEFT JOIN vn.ticketState tls on tls.ticketFk = t.Id_Ticket
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT item_id, sum(visible) visible, sum(available) available
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT a.item_id, 0 as visible, a.available
|
||||||
|
FROM cache.cache_calc cc
|
||||||
|
LEFT JOIN cache.available a ON a.calc_id = cc.id
|
||||||
|
WHERE cc.cache_id IN (2,8)
|
||||||
|
AND cc.params IN (concat("1/", util.VN_CURDATE()),concat("44/", util.VN_CURDATE()))
|
||||||
|
|
||||||
|
UNION ALL
|
||||||
|
|
||||||
|
SELECT v.item_id, v.visible, 0 as available
|
||||||
|
FROM cache.cache_calc cc
|
||||||
|
LEFT JOIN cache.visible v ON v.calc_id = cc.id
|
||||||
|
where cc.cache_id IN (2,8) and cc.params IN ("1","44")
|
||||||
|
) sub
|
||||||
|
GROUP BY item_id
|
||||||
|
) stock ON stock.item_id = m.Id_Article
|
||||||
|
WHERE tp.confeccion
|
||||||
|
AND tls.alertLevel < maxAlertLevel
|
||||||
|
AND wh.hasConfectionTeam
|
||||||
|
AND t.Fecha BETWEEN vDated AND vEndingDate
|
||||||
|
AND m.Cantidad > 0;
|
||||||
|
|
||||||
|
-- Entradas
|
||||||
|
|
||||||
|
INSERT INTO tmp.production_buffer(
|
||||||
|
Fecha,
|
||||||
|
Id_Ticket,
|
||||||
|
Cantidad,
|
||||||
|
Concepte,
|
||||||
|
Categoria,
|
||||||
|
Cliente,
|
||||||
|
Almacen,
|
||||||
|
Taller
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
tr.shipment AS Fecha,
|
||||||
|
e.Id_Entrada AS Id_Ticket,
|
||||||
|
c.Cantidad,
|
||||||
|
a.Article,
|
||||||
|
a.Categoria,
|
||||||
|
whi.name as Cliente,
|
||||||
|
who.name as Almacen,
|
||||||
|
ct.description as Taller
|
||||||
|
FROM vn2008.Compres c
|
||||||
|
JOIN vn2008.Entradas e ON e.Id_Entrada = c.Id_Entrada
|
||||||
|
JOIN vn2008.travel tr ON tr.id = e.travel_id
|
||||||
|
JOIN vn.warehouse whi ON whi.id = tr.warehouse_id
|
||||||
|
JOIN vn.warehouse who ON who.id = tr.warehouse_id_out
|
||||||
|
JOIN vn2008.Articles a ON a.Id_Article = c.Id_Article
|
||||||
|
JOIN vn2008.Tipos tp ON tp.tipo_id = a.tipo_id
|
||||||
|
JOIN vn.confectionType ct ON ct.id = tp.confeccion
|
||||||
|
WHERE who.hasConfectionTeam
|
||||||
|
AND tp.confeccion
|
||||||
|
AND tr.shipment BETWEEN vDated AND vEndingDate;
|
||||||
|
|
||||||
|
|
||||||
|
SELECT * FROM tmp.production_buffer;
|
||||||
|
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,48 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`nest_child_add`(
|
||||||
|
vTable VARCHAR(45)
|
||||||
|
,vChild VARCHAR(45)
|
||||||
|
,vFatherId INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
DECLARE vMyLeft INT;
|
||||||
|
|
||||||
|
SET vTable = util.quoteIdentifier(vTable);
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS aux;
|
||||||
|
CREATE TEMPORARY TABLE aux
|
||||||
|
SELECT 0 as lft;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE aux
|
||||||
|
SET lft = (SELECT lft
|
||||||
|
FROM ', vTable,
|
||||||
|
' WHERE id = ?)')
|
||||||
|
USING vFatherId;
|
||||||
|
|
||||||
|
SELECT lft INTO vMyLeft FROM aux;
|
||||||
|
DROP TEMPORARY TABLE aux;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable, '
|
||||||
|
SET rgt = rgt + 2
|
||||||
|
WHERE rgt > ?
|
||||||
|
ORDER BY rgt DESC')
|
||||||
|
USING vMyLeft;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable, '
|
||||||
|
SET lft = lft + 2
|
||||||
|
WHERE lft > ?
|
||||||
|
ORDER BY lft DESC')
|
||||||
|
USING vMyLeft;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'INSERT INTO ', vTable, ' (name, lft, rgt)
|
||||||
|
VALUES(?, ? + 1, ? + 2)')
|
||||||
|
USING vChild,
|
||||||
|
vMyLeft,
|
||||||
|
vMyLeft;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,51 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`nest_delete`(
|
||||||
|
vTable VARCHAR(45)
|
||||||
|
,vNodeId INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
DECLARE vMyRight INT;
|
||||||
|
DECLARE vMyLeft INT;
|
||||||
|
DECLARE vMyWidth INT;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS aux;
|
||||||
|
CREATE TEMPORARY TABLE aux
|
||||||
|
SELECT 0 rgt, 0 lft, 0 wdt;
|
||||||
|
|
||||||
|
SET vTable = util.quoteIdentifier(vTable);
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE aux a
|
||||||
|
JOIN ', vTable, ' t
|
||||||
|
SET a.rgt = t.rgt,
|
||||||
|
a.lft = t.lft,
|
||||||
|
a.wdt = t.rgt - t.lft + 1
|
||||||
|
WHERE t.id = ?')
|
||||||
|
USING vNodeId;
|
||||||
|
|
||||||
|
SELECT rgt, lft, wdt
|
||||||
|
INTO vMyRight, vMyLeft, vMyWidth
|
||||||
|
FROM aux;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE aux;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'DELETE FROM ', vTable,
|
||||||
|
' WHERE lft BETWEEN ? AND ?')
|
||||||
|
USING vMyLeft, vMyRight;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
' SET rgt = rgt - ?
|
||||||
|
WHERE rgt > ?
|
||||||
|
ORDER BY rgt')
|
||||||
|
USING vMyWidth,vMyRight;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
' SET lft = lft - ?
|
||||||
|
WHERE lft > ?
|
||||||
|
ORDER BY lft')
|
||||||
|
USING vMyWidth, vMyRight;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,108 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`nest_move`(
|
||||||
|
vTable VARCHAR(45)
|
||||||
|
,idNODE INT
|
||||||
|
,idFATHER INT
|
||||||
|
)
|
||||||
|
BEGIN
|
||||||
|
DECLARE myRight INT;
|
||||||
|
DECLARE myLeft INT;
|
||||||
|
DECLARE myWidth INT;
|
||||||
|
DECLARE fatherRight INT;
|
||||||
|
DECLARE fatherLeft INT;
|
||||||
|
DECLARE gap INT;
|
||||||
|
|
||||||
|
SET vTable = util.quoteIdentifier(vTable);
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE IF EXISTS aux;
|
||||||
|
CREATE TEMPORARY TABLE aux
|
||||||
|
SELECT 0 as rgt, 0 as lft, 0 as wdt, 0 as frg, 0 as flf;
|
||||||
|
|
||||||
|
-- Averiguamos el ancho de la rama
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE aux a
|
||||||
|
JOIN ', vTable, ' t
|
||||||
|
SET a.wdt = t.rgt - t.lft + 1
|
||||||
|
WHERE t.id = ?')
|
||||||
|
USING idNODE;
|
||||||
|
|
||||||
|
-- Averiguamos la posicion del nuevo padre
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE aux a
|
||||||
|
JOIN ', vTable, ' t
|
||||||
|
SET a.frg = t.rgt,
|
||||||
|
a.flf = t.lft
|
||||||
|
WHERE t.id = ?')
|
||||||
|
USING idFATHER;
|
||||||
|
|
||||||
|
SELECT wdt, frg, flf INTO myWidth, fatherRight, fatherLeft
|
||||||
|
FROM aux;
|
||||||
|
|
||||||
|
-- 1º Incrementamos los valores de todos los nodos a la derecha del punto de inserción (fatherRight) , para hacer sitio
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET rgt = rgt + ?
|
||||||
|
WHERE rgt >= ?
|
||||||
|
ORDER BY rgt DESC')
|
||||||
|
USING myWidth,
|
||||||
|
fatherRight;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET lft = lft + ?
|
||||||
|
WHERE lft >= ?
|
||||||
|
ORDER BY lft DESC')
|
||||||
|
USING myWidth,
|
||||||
|
fatherRight;
|
||||||
|
|
||||||
|
-- Es preciso recalcular los valores del nodo en el caso de que estuviera a la derecha del nuevo padre
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE aux a
|
||||||
|
JOIN ', vTable, ' t
|
||||||
|
SET a.rgt = t.rgt,
|
||||||
|
a.lft = t.lft
|
||||||
|
WHERE t.id = ?')
|
||||||
|
USING idNODE;
|
||||||
|
|
||||||
|
SELECT lft, rgt, frg - lft INTO myLeft, myRight, gap
|
||||||
|
FROM aux;
|
||||||
|
|
||||||
|
-- 2º Incrementamos el valor de todos los nodos a trasladar hasta alcanzar su nueva posicion
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET lft = lft + ?
|
||||||
|
WHERE lft BETWEEN ? AND ?
|
||||||
|
ORDER BY lft DESC')
|
||||||
|
USING gap,
|
||||||
|
myLeft,
|
||||||
|
myRight;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET rgt = rgt + ?
|
||||||
|
WHERE rgt BETWEEN ? AND ?
|
||||||
|
ORDER BY rgt DESC')
|
||||||
|
USING gap,
|
||||||
|
myLeft,
|
||||||
|
myRight;
|
||||||
|
|
||||||
|
-- 3º Restaremos a todos los nodos resultantes, a la derecha de la posicion arrancada el ancho de la rama escindida
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET lft = lft - ?
|
||||||
|
WHERE lft > ?
|
||||||
|
ORDER BY lft')
|
||||||
|
USING myWidth,
|
||||||
|
myLeft;
|
||||||
|
|
||||||
|
EXECUTE IMMEDIATE CONCAT(
|
||||||
|
'UPDATE ', vTable,
|
||||||
|
'SET rgt = rgt - ?
|
||||||
|
WHERE rgt > ?
|
||||||
|
ORDER BY rgt')
|
||||||
|
USING myWidth,
|
||||||
|
myRight;
|
||||||
|
|
||||||
|
DROP TEMPORARY TABLE aux;
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -0,0 +1,67 @@
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn2008`.`pay`(IN datFEC DATE
|
||||||
|
, IN idPROV INT
|
||||||
|
, IN dblIMPORTE DOUBLE
|
||||||
|
, IN idMONEDA INT
|
||||||
|
, IN dblDIVISA DOUBLE
|
||||||
|
, IN idCAJA INT
|
||||||
|
, IN idPAYMET INT
|
||||||
|
, IN dblGASTOS DOUBLE
|
||||||
|
, IN strCONCEPTO VARCHAR(40)
|
||||||
|
, IN idEMP INT)
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
-- Registro en la tabla Cajas
|
||||||
|
INSERT INTO Cajas ( Concepto
|
||||||
|
, Serie
|
||||||
|
, Numero
|
||||||
|
, Salida
|
||||||
|
, Cajafecha
|
||||||
|
, Partida
|
||||||
|
, Id_Banco
|
||||||
|
, Id_Trabajador
|
||||||
|
,empresa_id
|
||||||
|
,conciliado)
|
||||||
|
|
||||||
|
SELECT CONCAT('n/pago a ', Proveedor)
|
||||||
|
, 'R'
|
||||||
|
, idPROV
|
||||||
|
, dblIMPORTE
|
||||||
|
, datFEC
|
||||||
|
, 1
|
||||||
|
, idCAJA
|
||||||
|
, account.myUser_getId()
|
||||||
|
, idEMP
|
||||||
|
, 1
|
||||||
|
FROM Proveedores
|
||||||
|
WHERE Id_Proveedor = idPROV;
|
||||||
|
|
||||||
|
-- Registro en la tabla pago
|
||||||
|
INSERT INTO pago(fecha
|
||||||
|
, dueDated
|
||||||
|
, id_proveedor
|
||||||
|
, importe
|
||||||
|
, id_moneda
|
||||||
|
, divisa
|
||||||
|
, id_banco
|
||||||
|
, pay_met_id
|
||||||
|
, g_bancarios
|
||||||
|
, concepte
|
||||||
|
, empresa_id)
|
||||||
|
|
||||||
|
VALUES(datFEC
|
||||||
|
, datFEC
|
||||||
|
, idPROV
|
||||||
|
, dblIMPORTE
|
||||||
|
, idMONEDA
|
||||||
|
, IF(dblDIVISA = 0, NULL, dblDIVISA)
|
||||||
|
, idCAJA
|
||||||
|
, idPAYMET
|
||||||
|
, dblGASTOS
|
||||||
|
, strCONCEPTO
|
||||||
|
, idEMP);
|
||||||
|
|
||||||
|
SELECT LAST_INSERT_ID() as pago_id;
|
||||||
|
|
||||||
|
END$$
|
||||||
|
DELIMITER ;
|
|
@ -1,2 +0,0 @@
|
||||||
DELETE IGNORE FROM bs.nightTask
|
|
||||||
WHERE `procedure` = 'clean_launcher';
|
|
|
@ -1,31 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_addChild`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.balanceNestTree_addChild TO adminBoss;
|
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_delete`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.balanceNestTree_delete TO adminBoss;
|
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`balanceNestTree_move`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.balanceNestTree_move TO adminBoss;
|
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`payment_add`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.payment_add TO financial;
|
|
|
@ -1,15 +0,0 @@
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`confection_controlSource`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.confection_controlSource TO handmadeBoss, productionAssi, artificialBoss;
|
|
||||||
|
|
||||||
DELIMITER $$
|
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`remittance_calc`()
|
|
||||||
BEGIN
|
|
||||||
SELECT 1;
|
|
||||||
END$$
|
|
||||||
DELIMITER ;
|
|
||||||
GRANT EXECUTE ON PROCEDURE vn.remittance_calc TO financial;
|
|
Loading…
Reference in New Issue