Merge pull request '8700_invoiceOut' (!3513) from 8700_invoiceOut into master
gitea/salix/pipeline/head This commit looks good Details

Reviewed-on: #3513
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
This commit is contained in:
Carlos Andrés 2025-03-03 13:12:14 +00:00
commit 6861f2d4a0
2 changed files with 36 additions and 17 deletions

View File

@ -11,15 +11,18 @@ BEGIN
DECLARE vSpainCountryFk INT; DECLARE vSpainCountryFk INT;
DECLARE vOldBookNumber INT; DECLARE vOldBookNumber INT;
DECLARE vFiscalYear INT; DECLARE vFiscalYear INT;
DECLARE vSerial VARCHAR(2);
DECLARE vRef VARCHAR(25);
SELECT id INTO vSpainCountryFk FROM country WHERE `code` = 'ES'; SELECT id INTO vSpainCountryFk FROM country WHERE `code` = 'ES';
SELECT ASIEN SELECT serial, RIGHT(ref, LENGTH(ref) - LENGTH(serial)) INTO vSerial, vRef
INTO vOldBookNumber FROM invoiceOut
FROM XDiario x WHERE id = vInvoice;
JOIN invoiceOut io ON io.id = vInvoice
WHERE x.SERIE = io.serial SELECT ASIEN INTO vOldBookNumber
AND x.FACTURA = RIGHT(io.ref, LENGTH(io.ref) - 1) FROM XDiario
WHERE SERIE = vSerial AND FACTURA = vRef
LIMIT 1; LIMIT 1;
DELETE DELETE
@ -32,7 +35,7 @@ BEGIN
io.amount totalAmount, io.amount totalAmount,
CONCAT('n/fra ', io.ref) simpleConcept, CONCAT('n/fra ', io.ref) simpleConcept,
CONCAT('n/fra ', io.ref, ' ', c.name) Concept, CONCAT('n/fra ', io.ref, ' ', c.name) Concept,
io.serial SERIE, vSerial SERIE,
io.issued FECHA_EX, io.issued FECHA_EX,
io.issued FECHA_OP, io.issued FECHA_OP,
io.issued FECHA, io.issued FECHA,
@ -44,21 +47,21 @@ BEGIN
io.siiTypeInvoiceOutFk TIPOFACT, io.siiTypeInvoiceOutFk TIPOFACT,
ic.cplusRectificationTypeFk TIPORECTIF, ic.cplusRectificationTypeFk TIPORECTIF,
io.companyFk, io.companyFk,
RIGHT(io.ref, LENGTH(io.ref) - 1) invoiceNum, vRef invoiceNum,
IF(c.countryFk = vSpainCountryFk, vSpainCountryFk, IF(ct.isUeeMember,2,4)) TERIDNIF, IF(c.countryFk = vSpainCountryFk, vSpainCountryFk, IF(ct.isUeeMember,2,4)) TERIDNIF,
CONCAT(IF(ct.isUeeMember AND c.countryFk <> vSpainCountryFk,ct.code,''),c.fi) TERNIF, CONCAT(IF(ct.isUeeMember AND c.countryFk <> vSpainCountryFk,ct.code,''),c.fi) TERNIF,
c.socialName TERNOM, c.socialName TERNOM,
ior.serial SERIE_RT, 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, ior.issued FECHA_RT,
IF(ior.id,TRUE,FALSE) RECTIFICA IF(ior.id,TRUE,FALSE) RECTIFICA
FROM invoiceOut io 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 client c ON c.id = io.clientFk
JOIN country ct ON ct.id = c.countryFk JOIN country ct ON ct.id = c.countryFk
LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id LEFT JOIN invoiceCorrection ic ON ic.correctingFk = io.id
LEFT JOIN invoiceOut ior ON ior.id = ic.correctedFk 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; SELECT YEAR(FECHA) INTO vFiscalYear FROM rs LIMIT 1;
CALL ledger_nextTx(vFiscalYear, vBookNumber); CALL ledger_nextTx(vFiscalYear, vBookNumber);
@ -89,7 +92,7 @@ BEGIN
SUBCTA, SUBCTA,
CONTRA, CONTRA,
EUROHABER, EUROHABER,
CONCEPTO, CONCEPTO,
FECHA_EX, FECHA_EX,
FECHA_OP, FECHA_OP,
empresa_id) empresa_id)
@ -106,8 +109,8 @@ BEGIN
JOIN invoiceOutExpense ioe JOIN invoiceOutExpense ioe
WHERE ioe.invoiceOutFk = vInvoice; WHERE ioe.invoiceOutFk = vInvoice;
SELECT GROUP_CONCAT(`name` SEPARATOR ',') SELECT GROUP_CONCAT(`name` SEPARATOR ',')
INTO vExpenseConcept INTO vExpenseConcept
FROM expense e FROM expense e
JOIN invoiceOutExpense ioe ON ioe.expenseFk = e.id JOIN invoiceOutExpense ioe ON ioe.expenseFk = e.id
WHERE ioe.invoiceOutFk = vInvoice; WHERE ioe.invoiceOutFk = vInvoice;
@ -175,13 +178,13 @@ BEGIN
rs.TIPORECTIF, rs.TIPORECTIF,
rs.companyFk rs.companyFk
FROM rs FROM rs
JOIN invoiceOutTax iot JOIN invoiceOutTax iot
JOIN pgc ON pgc.code = iot.pgcFk 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 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. LEFT JOIN pgcEqu pe2 ON pe2.equFk = iot.pgcFk -- --------------- Comprueba si la linea es de rec.equiv.
WHERE iot.invoiceOutFk = vInvoice; WHERE iot.invoiceOutFk = vInvoice;
UPDATE invoiceOut UPDATE invoiceOut
SET booked = util.VN_CURDATE() SET booked = util.VN_CURDATE()
WHERE id = vInvoice; WHERE id = vInvoice;

View File

@ -0,0 +1,16 @@
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;
ALTER TABLE vn.XDiario MODIFY COLUMN SERIE varchar(2) CHARACTER
SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT NULL NULL;
ALTER TABLE vn.XDiario MODIFY COLUMN FACTURA varchar(25) CHARACTER
SET utf8mb3 COLLATE utf8mb3_unicode_ci DEFAULT '0' NULL;