35 lines
807 B
SQL
35 lines
807 B
SQL
DELIMITER $$
|
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`worker_updateBusiness`(vSelf INT)
|
|
BEGIN
|
|
/**
|
|
* Activates an account and configures its email settings.
|
|
*
|
|
* @param vSelf account id.
|
|
*/
|
|
DECLARE vOldBusinessFk INT;
|
|
DECLARE vNewBusinessFk INT;
|
|
|
|
SELECT businessFk INTO vOldBusinessFk FROM worker WHERE id = vSelf;
|
|
|
|
SELECT id INTO vNewBusinessFk
|
|
FROM business
|
|
WHERE workerFk = vSelf
|
|
AND util.VN_CURDATE() BETWEEN started AND IFNULL(ended, util.VN_CURDATE())
|
|
LIMIT 1;
|
|
|
|
UPDATE worker
|
|
SET businessFk = vNewBusinessFk
|
|
WHERE id = vSelf;
|
|
|
|
IF vOldBusinessFk IS NULL THEN
|
|
CALL account.account_enable(vSelf);
|
|
|
|
UPDATE client c
|
|
JOIN payMethod pm ON pm.code = 'bankDraft'
|
|
SET c.payMethodFk = pm.id
|
|
WHERE c.id = vSelf
|
|
AND c.iban;
|
|
END IF;
|
|
END$$
|
|
DELIMITER ;
|