salix/db/routines/vn/procedures/workerDisable.sql

38 lines
835 B
SQL

DELIMITER $$
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `vn`.`workerDisable`(vUserFk INT)
l:BEGIN
IF (SELECT COUNT(*)
FROM workerDisableExcluded
WHERE workerFk = vUserFk
AND (dated > util.VN_CURDATE() OR dated IS NULL)) > 0 THEN
LEAVE l;
END IF;
DELETE cp
FROM clientProtected cp
JOIN client c ON c.id = cp.clientFk
WHERE c.salesPersonFk = vUserFk;
DELETE FROM account.account WHERE id = vUserFk;
UPDATE account.user
SET role = 2
WHERE id = vUserFk;
DELETE FROM pbx.sip WHERE user_id = vUserFk;
UPDATE `client` c
JOIN payMethod p ON p.name = 'CONTADO'
SET c.credit = 0,
c.payMethodFk = p.id,
hasCoreVnl = FALSE
WHERE c.id = vUserFk;
UPDATE `client` c
SET c.salesPersonFk = NULL,
c.salesDepartmentFk = NULL
WHERE c.salesPersonFk = vUserFk;
END$$
DELIMITER ;