feat: comprobaciones facturas contabilizadas refs #6932 #2091
|
@ -6,6 +6,7 @@ BEGIN
|
|||
DECLARE vIsVirtual BOOL;
|
||||
DECLARE vPrintedCount INT;
|
||||
DECLARE vHasDistinctWarehouses BOOL;
|
||||
DECLARE vHasAnyInvoiceBooked BOOL;
|
||||
|
||||
|
||||
SET NEW.editorFk = account.myUser_getId();
|
||||
|
||||
|
@ -49,15 +50,13 @@ BEGIN
|
|||
END IF;
|
||||
|
||||
IF NOT (NEW.invoiceInFk <=> OLD.invoiceInFk)THEN
|
||||
DECLARE vHanAnyInvoiceBooked BOOL;
|
||||
|
||||
SELECT COUNT(*) INTO vHanAnyInvoiceBooked
|
||||
SELECT COUNT(*) INTO vHasAnyInvoiceBooked
|
||||
FROM entry e
|
||||
JOIN invoiceIn ii ON ii.id = e.invoiceInFk
|
||||
WHERE e.id = NEW.id
|
||||
AND ii.isBooked;
|
||||
|
||||
IF vHanAnyInvoiceBooked THEN
|
||||
IF vHasAnyInvoiceBooked THEN
|
||||
CALL util.throw('The travel has entries with booked invoices')
|
||||
jgallego
commented
Ademés de que estem repentint codi, crec que teniem un altre cau de fer que en les entrades pasara igual que en tpv que si un ticket esta facturat ja no es pot modificar, es pot fer igual? si el contabilicen mirar quines coses no es poden tocar. Ademés de que estem repentint codi, crec que teniem un altre cau de fer que en les entrades pasara igual que en tpv que si un ticket esta facturat ja no es pot modificar, es pot fer igual? si el contabilicen mirar quines coses no es poden tocar.
Si vols seguir en la linea que ho has plantejat, jo faria una funcion travel_hasInvoiceBooked o similar que li pases el travel et torna l'error i estos dos triggers que li pasen el travel. La unica diferencia es que en el trigger de entry tu estas sols comprobant l'entrada actual i en el que jo planteje es comprobarien totes les del travel, pero llegint el mensage d'error crec que es lo correcte.
carlosap
commented
Se decide dejar solamente las verificaciones a nivel de travel Se decide dejar solamente las verificaciones a nivel de travel
|
||||
END IF;
|
||||
END IF;
|
||||
|
|
|
@ -3,6 +3,8 @@ CREATE OR REPLACE DEFINER=`root`@`localhost` TRIGGER `vn`.`travel_beforeUpdate`
|
|||
BEFORE UPDATE ON `travel`
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
DECLARE vHasAnyInvoiceBooked BOOL;
|
||||
|
||||
SET NEW.editorFk = account.myUser_getId();
|
||||
|
||||
IF NOT (NEW.landed <=> OLD.landed)
|
||||
|
@ -19,16 +21,15 @@ BEGIN
|
|||
END IF;
|
||||
|
||||
IF NOT (NEW.awbFk <=> OLD.awbFk)THEN
|
||||
DECLARE vHanAnyInvoiceBooked BOOL;
|
||||
|
||||
SELECT COUNT(*) INTO vHanAnyInvoiceBooked
|
||||
|
||||
carlosap marked this conversation as resolved
jgallego
commented
duplicat duplicat
|
||||
SELECT COUNT(*) INTO vHasAnyInvoiceBooked
|
||||
FROM travel t
|
||||
JOIN entry e ON e.travelFk =t.id
|
||||
JOIN invoiceIn ii ON ii.id = e.invoiceInFk
|
||||
WHERE t.id = NEW.id
|
||||
AND ii.isBooked;
|
||||
|
||||
IF vHanAnyInvoiceBooked THEN
|
||||
|
||||
IF vHasAnyInvoiceBooked THEN
|
||||
CALL util.throw('The travel has entries with booked invoices')
|
||||
END IF;
|
||||
END IF;
|
||||
|
|
Loading…
Reference in New Issue
no hem parlat de deixar sols el trigger de travel?