26 lines
892 B
SQL
26 lines
892 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`supplier_disablePayMethodChecked`()
|
|
BEGIN
|
|
|
|
/*
|
|
* Deshabilita la comprobación de los datos bancarios de todos aquellos proveedores que tengan
|
|
* un número que no sea 0 en el campo graceMonthsDisableChecked de la tabla vn.payMethod
|
|
* y que no hayan recibido un pago desde el mes indicado
|
|
*/
|
|
|
|
UPDATE vn.supplier s
|
|
JOIN ( SELECT p.supplierFk
|
|
FROM supplier s
|
|
JOIN payMethod pm ON pm.id = s.payMethodFk
|
|
JOIN (SELECT supplierFk,MAX(created) created
|
|
FROM payment
|
|
GROUP BY supplierFk) p ON p.supplierFk = s.id
|
|
WHERE p.created < (util.VN_CURDATE() - INTERVAL pm.graceMonthsDisableChecked MONTH)
|
|
AND pm.graceMonthsDisableChecked
|
|
AND s.isPayMethodChecked
|
|
GROUP BY p.supplierFk) sdpmc ON sdpmc.supplierFk = s.id
|
|
SET s.isPayMethodChecked = FALSE;
|
|
|
|
END$$
|
|
DELIMITER ;
|