refactor: refs #7519 Refactor claim_ratio_routine #2394

Merged
guillermo merged 14 commits from 6701-claimRatioRoutine into dev 2024-06-21 05:05:21 +00:00
3 changed files with 22 additions and 27 deletions
Showing only changes of commit f0b814c79b - Show all commits

View File

@ -831,9 +831,9 @@ INSERT INTO `vn`.`config`(`id`, `mdbServer`, `fakeEmail`, `defaultersMaxAmount`,
INSERT INTO `vn`.`greugeType`(`id`, `name`, `code`)
VALUES
(1, 'Diff', 'diff'),
(2, 'Recover', 'recover'),
(3, 'Mana', 'mana'),
(4, 'Reclaim', 'reclaim'),
(2, 'Recobro', 'recovery'),
(3, 'Maná', 'mana'),
(4, 'Reclamación', 'claim'),
(5, 'Heritage', 'heritage'),
(6, 'Miscellaneous', 'miscellaneous'),
(7, 'Freight Pickup', 'freightPickUp');

View File

@ -2,9 +2,8 @@ DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`claimRatio_add`()
BEGIN
/*
* PAK 2015-11-20
* Se trata de añadir a la tabla Greuges todos los
* cargos que luego vamos a utilizar para calcular el recobro
* Añade a la tabla greuges todos los cargos necesario y
* que luego lo utilizamos para calcular el recobro.
*/
DECLARE vMonthToRefund INT DEFAULT 4;
guillermo marked this conversation as resolved Outdated

Eliminar los números

Eliminar los números
DECLARE vRecoveryGreugeType INT
@ -61,7 +60,8 @@ BEGIN
SELECT c.ticketCreated,
c.clientFk,
CONCAT('Claim_mana ', c.id,' : ', s.concept),
ROUND( ((c.responsibility -1)/4) * s.quantity * s.price * (100 - s.discount) / 100, 2),
ROUND(((c.responsibility - 1) / 4) * s.quantity *
s.price * (100 - s.discount) / 100, 2),
vManaGreugeType,
s.ticketFk
FROM sale s
@ -134,20 +134,7 @@ BEGIN
SET sc.isGreuge = TRUE
WHERE sc.componentFk = vDebtComponentType;
/*
* Recalculamos la ratio de las reclamaciones, que luego
* se va a utilizar en el recobro
*/
REPLACE claimRatio(
clientFk,
yearSale,
claimAmount,
claimingRate,
priceIncreasing
)
SELECT id, 0, 0, 0, 0 FROM client;
REPLACE claimRatio(
INSERT INTO claimRatio(
clientFk,
yearSale,
claimAmount,
@ -163,8 +150,8 @@ BEGIN
LEFT JOIN (
SELECT c.clientFk,
ROUND(SUM(-1 * ((c.responsibility - 1) / 4) *
s.quantity * s.price * (100 - s.discount)
/ 100)) totalClaims
s.quantity * s.price * (100 - s.discount)
/ 100)) totalClaims
FROM sale s
JOIN claimEnd ce ON ce.saleFk = s.id
JOIN claimDestination cd ON cd.id = ce.claimDestinationFk
@ -183,17 +170,19 @@ BEGIN
FROM greuge
WHERE shipped <= util.VN_CURDATE()
GROUP BY clientFk
) sub ON subg.clientFk = cr.clientFk
) sub ON sub.clientFk = cr.clientFk
SET cr.priceIncreasing = GREATEST(0, ROUND(IFNULL(sub.greuge, 0) /
(IFNULL(cr.yearSale, 0) * vMonthToRefund / 12 ), 3));
(IFNULL(cr.yearSale, 0) * vMonthToRefund / 12 ), 3))
WHERE cr.dated = util.VN_CURDATE();
guillermo marked this conversation as resolved Outdated

12

12

Entiendo que se refiere a los meses que tiene un año, en ese caso hablamos que se permitia.

Entiendo que se refiere a los meses que tiene un año, en ese caso hablamos que se permitia.
-- Protección neonatos
UPDATE claimRatio cr
JOIN firstTicketShipped fts ON fts.clientFk = cr.clientFk
SET cr.priceIncreasing = 0,
cr.claimingRate = 0
WHERE fts.shipped > util.VN_CURDATE() - INTERVAL 1 MONTH;
WHERE fts.shipped > util.VN_CURDATE() - INTERVAL 1 MONTH
AND cr.dated = util.VN_CURDATE();
DROP TEMPORARY TABLE tTicketList;
END$$
DELIMITER ;

View File

@ -2,3 +2,9 @@ UPDATE IGNORE bs.nightTask
SET `procedure` = 'claimRatio_add',
`schema` = 'vn'
WHERE `procedure` = 'claim_ratio_routine';
ALTER TABLE vn.claimRatio ADD dated DATE DEFAULT current_timestamp() NOT NULL;
ALTER TABLE vn.claimRatio CHANGE dated dated DATE DEFAULT current_timestamp() NOT NULL FIRST;
ALTER TABLE vn.claimRatio DROP FOREIGN KEY claimRatio_ibfk_1;
ALTER TABLE vn.claimRatio DROP PRIMARY KEY;
ALTER TABLE vn.claimRatio ADD CONSTRAINT claimRatio_pk PRIMARY KEY (dated,clientFk);