feat(db): sql for supplier isPayMethodChecked
This commit is contained in:
parent
bcc50b0618
commit
9247bc98f1
|
@ -1 +1 @@
|
|||
ALTER TABLE vn.payMethod ADD hasVerified TINYINT(1) DEFAULT 0 NULL;
|
||||
ALTER TABLE `vn`.`payMethod` ADD hasVerified TINYINT(1) DEFAULT 0 NULL;
|
|
@ -1,15 +1,15 @@
|
|||
DROP TRIGGER IF EXISTS vn.payment_beforeInsert;
|
||||
DROP TRIGGER IF EXISTS `vn`.`payment_beforeInsert`;
|
||||
|
||||
DELIMITER $$
|
||||
$$
|
||||
CREATE DEFINER=`root`@`%` TRIGGER `payment_beforeInsert` BEFORE INSERT ON `payment` FOR EACH ROW
|
||||
CREATE DEFINER=`root`@`%` TRIGGER `vn`.`payment_beforeInsert` BEFORE INSERT ON `payment` FOR EACH ROW
|
||||
-- Edit trigger body code below this line. Do not edit lines above this one
|
||||
BEGIN
|
||||
DECLARE cuenta_banco,cuenta_proveedor DOUBLE;
|
||||
DECLARE vNewBookEntry INT;
|
||||
DECLARE bolCASH BOOLEAN;
|
||||
DECLARE isSupplierActive BOOLEAN;
|
||||
DECLARE vIsPayMethodChecked BOOLEAN;
|
||||
DECLARE vIsSupplierActive BOOLEAN;
|
||||
DECLARE vIsPayMethodChecked BOOLEAN;
|
||||
|
||||
-- PAK 10/02/15 No se asientan los pagos directamente, salvo en el caso de las cajas de CASH
|
||||
SELECT (at2.code = 'cash') INTO bolCASH FROM vn.bank b JOIN vn.accountingType at2 ON at2.id = b.cash WHERE b.id = NEW.bankFk ;
|
||||
|
@ -45,16 +45,25 @@ BEGIN
|
|||
|
||||
SET NEW.dueDated = IFNULL(NEW.dueDated, NEW.received);
|
||||
|
||||
SELECT isActive, isPayMethodChecked INTO vIsSupplierActive, vIsPayMethodChecked
|
||||
SELECT isActive, isPayMethodChecked INTO vIsSupplierActive, vIsPayMethodChecked
|
||||
FROM supplier
|
||||
WHERE id = NEW.supplierFk;
|
||||
|
||||
IF isSupplierActive = FALSE THEN
|
||||
IF vIsSupplierActive = FALSE THEN
|
||||
CALL util.throw('SUPPLIER_INACTIVE');
|
||||
END IF;
|
||||
|
||||
IF vIsPayMethodChecked = FALSE THEN
|
||||
CALL util.throw('SUPPLIER_DOES_NOT_HAVE_PAYMETHODCHECKED');
|
||||
IF vIsPayMethodChecked = FALSE THEN
|
||||
CALL mail_insert('finanzas@verdnatura.es',
|
||||
null,
|
||||
'Pago con método sin verificar',
|
||||
CONCAT('Se ha realizado el pago ',
|
||||
LAST_INSERT_ID(),
|
||||
' al proveedor ',
|
||||
NEW.supplierFk,
|
||||
' con el método de pago sin verificar.'
|
||||
)
|
||||
);
|
||||
END IF;
|
||||
|
||||
END$$
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
DELIMITER $$
|
||||
$$
|
||||
CREATE DEFINER=`root`@`%` TRIGGER `vn`.`supplier_beforeUpdate`
|
||||
BEFORE UPDATE ON `vn`.`supplier` FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE vHasChange BOOL;
|
||||
SET vHasChange = !((NEW.payMethodFk <=> OLD.payMethodFk)
|
||||
AND (NEW.payDemFk <=> OLD.payDemFk)
|
||||
AND (NEW.payDay <=> OLD.payDay));
|
||||
|
||||
IF vHasChange THEN
|
||||
SET NEW.isPayMethodChecked = false;
|
||||
END IF;
|
||||
|
||||
END
|
||||
$$
|
||||
DELIMITER ;
|
|
@ -0,0 +1,26 @@
|
|||
DROP TRIGGER IF EXISTS `vn`.`supplier_beforeUpdate`;
|
||||
|
||||
DELIMITER $$
|
||||
$$
|
||||
CREATE DEFINER=`root`@`%` TRIGGER `vn`.`supplier_beforeUpdate`
|
||||
BEFORE UPDATE ON `vn`.`supplier` FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE vHasChange BOOL DEFAULT FALSE;
|
||||
DECLARE vPayMethodHasVerified BOOL;
|
||||
|
||||
SELECT hasVerified INTO vPayMethodHasVerified
|
||||
FROM payMethod
|
||||
WHERE id = NEW.payMethodFk;
|
||||
|
||||
SET vHasChange = (NEW.payDemFk <> OLD.payDemFk) OR (NEW.payDay <> OLD.payDay);
|
||||
|
||||
IF vPayMethodHasVerified AND !vHasChange THEN
|
||||
SET vHasChange = (NEW.payMethodFk <> OLD.payMethodFk);
|
||||
END IF;
|
||||
|
||||
IF vHasChange THEN
|
||||
SET NEW.isPayMethodChecked = FALSE;
|
||||
END IF;
|
||||
|
||||
END$$
|
||||
DELIMITER ;
|
|
@ -217,14 +217,14 @@ UPDATE `vn`.`agencyMode` SET `web` = 1, `reportMail` = 'no-reply@gothamcity.com'
|
|||
|
||||
UPDATE `vn`.`agencyMode` SET `code` = 'refund' WHERE `id` = 23;
|
||||
|
||||
INSERT INTO `vn`.`payMethod`(`id`,`code`, `name`, `graceDays`, `outstandingDebt`, `isIbanRequiredForClients`, `isIbanRequiredForSuppliers`)
|
||||
INSERT INTO `vn`.`payMethod`(`id`,`code`, `name`, `graceDays`, `outstandingDebt`, `isIbanRequiredForClients`, `isIbanRequiredForSuppliers`, `hasVerified`)
|
||||
VALUES
|
||||
(1, NULL, 'PayMethod one', 0, 001, 0, 0),
|
||||
(2, NULL, 'PayMethod two', 10, 001, 0, 0),
|
||||
(3, 'compensation', 'PayMethod three', 0, 001, 0, 0),
|
||||
(4, NULL, 'PayMethod with IBAN', 0, 001, 1, 0),
|
||||
(5, NULL, 'PayMethod five', 10, 001, 0, 0),
|
||||
(8,'wireTransfer', 'WireTransfer', 5, 001, 1, 1);
|
||||
(1, NULL, 'PayMethod one', 0, 001, 0, 0, 0),
|
||||
(2, NULL, 'PayMethod two', 10, 001, 0, 0, 1),
|
||||
(3, 'compensation', 'PayMethod three', 0, 001, 0, 0, 0),
|
||||
(4, NULL, 'PayMethod with IBAN', 0, 001, 1, 0, 0),
|
||||
(5, NULL, 'PayMethod five', 10, 001, 0, 0, 0),
|
||||
(8,'wireTransfer', 'WireTransfer', 5, 001, 1, 1, 0);
|
||||
|
||||
INSERT INTO `vn`.`payDem`(`id`, `payDem`)
|
||||
VALUES
|
||||
|
|
Loading…
Reference in New Issue