diff --git a/db/routines/vn/procedures/invoiceOutBooking.sql b/db/routines/vn/procedures/invoiceOutBooking.sql index 86f64ffcbf..199ca2780e 100644 --- a/db/routines/vn/procedures/invoiceOutBooking.sql +++ b/db/routines/vn/procedures/invoiceOutBooking.sql @@ -11,15 +11,18 @@ BEGIN DECLARE vSpainCountryFk INT; DECLARE vOldBookNumber INT; DECLARE vFiscalYear INT; + DECLARE vSerial VARCHAR(2); + DECLARE vRef VARCHAR(25); SELECT id INTO vSpainCountryFk FROM country WHERE `code` = 'ES'; - SELECT ASIEN - INTO vOldBookNumber - FROM XDiario x - JOIN invoiceOut io ON io.id = vInvoice - WHERE x.SERIE = io.serial - AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) + SELECT serial, RIGHT(ref, LENGTH(ref) - LENGTH(serial)) INTO vSerial, vRef + FROM invoiceOut + WHERE id = vInvoice; + + SELECT ASIEN INTO vOldBookNumber + FROM XDiario + WHERE SERIE = vSerial AND FACTURA = vRef LIMIT 1; DELETE @@ -32,7 +35,7 @@ BEGIN io.amount totalAmount, CONCAT('n/fra ', io.ref) simpleConcept, CONCAT('n/fra ', io.ref, ' ', c.name) Concept, - io.serial SERIE, + vSerial SERIE, io.issued FECHA_EX, io.issued FECHA_OP, io.issued FECHA, @@ -44,21 +47,21 @@ BEGIN io.siiTypeInvoiceOutFk TIPOFACT, ic.cplusRectificationTypeFk TIPORECTIF, io.companyFk, - RIGHT(io.ref, LENGTH(io.ref) - 1) invoiceNum, + vRef invoiceNum, IF(c.countryFk = vSpainCountryFk, vSpainCountryFk, IF(ct.isUeeMember,2,4)) TERIDNIF, CONCAT(IF(ct.isUeeMember AND c.countryFk <> vSpainCountryFk,ct.code,''),c.fi) TERNIF, c.socialName TERNOM, ior.serial SERIE_RT, - RIGHT(ior.ref, LENGTH(ior.ref) - 1) FACTU_RT, + RIGHT(ior.ref, LENGTH(ior.ref) - LENGTH(ior.serial)) FACTU_RT, ior.issued FECHA_RT, IF(ior.id,TRUE,FALSE) RECTIFICA FROM invoiceOut io - JOIN invoiceOutSerial ios ON ios.code = io.serial + JOIN invoiceOutSerial ios ON ios.code = vSerial JOIN client c ON c.id = io.clientFk JOIN country ct ON ct.id = c.countryFk LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk - WHERE io.id = vInvoice; + WHERE io.id = vInvoice; SELECT YEAR(FECHA) INTO vFiscalYear FROM rs LIMIT 1; CALL ledger_nextTx(vFiscalYear, vBookNumber); @@ -89,7 +92,7 @@ BEGIN SUBCTA, CONTRA, EUROHABER, - CONCEPTO, + CONCEPTO, FECHA_EX, FECHA_OP, empresa_id) @@ -106,8 +109,8 @@ BEGIN JOIN invoiceOutExpense ioe WHERE ioe.invoiceOutFk = vInvoice; - SELECT GROUP_CONCAT(`name` SEPARATOR ',') - INTO vExpenseConcept + SELECT GROUP_CONCAT(`name` SEPARATOR ',') + INTO vExpenseConcept FROM expense e JOIN invoiceOutExpense ioe ON ioe.expenseFk = e.id WHERE ioe.invoiceOutFk = vInvoice; @@ -175,13 +178,13 @@ BEGIN rs.TIPORECTIF, rs.companyFk FROM rs - JOIN invoiceOutTax iot + JOIN invoiceOutTax iot JOIN pgc ON pgc.code = iot.pgcFk LEFT JOIN pgcEqu pe ON pe.vatFk = iot.pgcFk -- --------------- Comprueba si la linea es de iva con rec.equiv. asociado - LEFT JOIN pgc pgce ON pgce.code = pe.equFk + LEFT JOIN pgc pgce ON pgce.code = pe.equFk LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv. WHERE iot.invoiceOutFk = vInvoice; - + UPDATE invoiceOut SET booked = util.VN_CURDATE() WHERE id = vInvoice; diff --git a/db/versions/11468-maroonErica/00-firstScript.sql b/db/versions/11468-maroonErica/00-firstScript.sql new file mode 100644 index 0000000000..f343a31a4c --- /dev/null +++ b/db/versions/11468-maroonErica/00-firstScript.sql @@ -0,0 +1,10 @@ +ALTER TABLE vn.ticket DROP FOREIGN KEY IF EXISTS ticket_invoiceOut_FK; + +ALTER TABLE vn.invoiceOut MODIFY COLUMN `ref` varchar(25) CHARACTER + SET utf8mb3 COLLATE utf8mb3_unicode_ci NOT NULL; + +ALTER TABLE vn.ticket MODIFY COLUMN refFk varchar(25) CHARACTER + SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL NULL; + +ALTER TABLE vn.ticket ADD CONSTRAINT ticket_invoiceOut_FK + FOREIGN KEY (`refFk`) REFERENCES vn.invoiceOut(`ref`) ON UPDATE CASCADE;