fix: ticket 147437: Fix packages in incoterms
gitea/salix/pipeline/head This commit looks good Details

This commit is contained in:
Guillermo Bonet 2024-01-11 10:09:35 +01:00
parent 9b15551013
commit 4673145c58
4 changed files with 61 additions and 78 deletions

View File

@ -7,7 +7,7 @@ module.exports = {
this.invoice = await this.findOneFromDef('invoice', [this.reference]); this.invoice = await this.findOneFromDef('invoice', [this.reference]);
this.checkMainEntity(this.invoice); this.checkMainEntity(this.invoice);
this.client = await this.findOneFromDef('client', [this.reference]); this.client = await this.findOneFromDef('client', [this.reference]);
this.incoterms = await this.findOneFromDef('incoterms', [this.reference, this.reference, this.reference]); this.incoterms = await this.findOneFromDef('incoterms', [this.reference, this.reference, this.reference, this.reference]);
}, },
props: { props: {
reference: { reference: {

View File

@ -1,13 +1,12 @@
SELECT SELECT c.id,
c.id, c.socialName,
c.socialName, c.street postalAddress,
c.street AS postalAddress, IF (ios.taxAreaFk IS NOT NULL, CONCAT(cty.code, c.fi), c.fi) fi,
IF (ios.taxAreaFk IS NOT NULL, CONCAT(cty.code, c.fi), c.fi) fi, CONCAT(c.postcode, ' - ', c.city) postcodeCity
CONCAT(c.postcode, ' - ', c.city) postcodeCity FROM vn.invoiceOut io
FROM vn.invoiceOut io JOIN vn.client c ON c.id = io.clientFk
JOIN vn.client c ON c.id = io.clientFk JOIN vn.country cty ON cty.id = c.countryFk
JOIN vn.country cty ON cty.id = c.countryFk LEFT JOIN vn.invoiceOutSerial ios ON ios.code = io.serial
LEFT JOIN vn.invoiceOutSerial ios ON ios.code = io.serial AND ios.taxAreaFk = 'CEE'
AND ios.taxAreaFk = 'CEE' LEFT JOIN ticket t ON t.refFk = io.ref
LEFT JOIN ticket t ON t.refFk = io.ref WHERE t.refFk = ?
WHERE t.refFk = ?

View File

@ -1,38 +1,14 @@
SELECT io.issued, SELECT pack.packages,
c.socialName,
c.street postalAddress,
c.fi,
io.clientFk,
c.postcode,
c.city,
io.companyFk,
io.ref,
tc.code,
s.concept,
s.quantity,
s.price,
s.discount,
s.ticketFk,
t.shipped,
t.refFk,
a.nickname,
s.itemFk,
s.id saleFk,
pm.name AS pmname,
sa.iban,
c.phone,
MAX(t.packages) packages,
a.incotermsFk, a.incotermsFk,
ic.name incotermsName , ic.name incotermsName,
t.weight, t.weight,
t.observations,
ca.fiscalName customsAgentName, ca.fiscalName customsAgentName,
ca.street customsAgentStreet, ca.street customsAgentStreet,
ca.nif customsAgentNif, ca.nif customsAgentNif,
ca.phone customsAgentPhone, ca.phone customsAgentPhone,
ca.email customsAgentEmail, ca.email customsAgentEmail,
CAST(sub2.volume AS DECIMAL (10,2)) volume, CAST(vol.volume AS DECIMAL (10,2)) volume,
sub3.intrastat intr.intrastat
FROM vn.invoiceOut io FROM vn.invoiceOut io
JOIN vn.supplier su ON su.id = io.companyFk JOIN vn.supplier su ON su.id = io.companyFk
JOIN vn.client c ON c.id = io.clientFk JOIN vn.client c ON c.id = io.clientFk
@ -42,26 +18,35 @@ SELECT io.issued,
LEFT JOIN vn.incoterms ic ON ic.code = a.incotermsFk LEFT JOIN vn.incoterms ic ON ic.code = a.incotermsFk
LEFT JOIN vn.customsAgent ca ON ca.id = a.customsAgentFk LEFT JOIN vn.customsAgent ca ON ca.id = a.customsAgentFk
JOIN vn.sale s ON s.ticketFk = t.id JOIN vn.sale s ON s.ticketFk = t.id
JOIN (SELECT SUM(volume) volume JOIN (
FROM vn.invoiceOut io SELECT SUM(volume) volume, COUNT(*) packages
JOIN vn.ticket t ON t.refFk = io.ref FROM vn.invoiceOut io
JOIN vn.saleVolume sv ON sv.ticketFk = t.id JOIN vn.ticket t ON t.refFk = io.ref
WHERE t.refFk = ? JOIN vn.saleVolume sv ON sv.ticketFk = t.id
) sub2 ON TRUE WHERE t.refFk = ?
JOIN vn.itemTaxCountry itc ON itc.countryFk = su.countryFk AND itc.itemFk = s.itemFk ) vol
JOIN vn.itemTaxCountry itc ON itc.countryFk = su.countryFk
AND itc.itemFk = s.itemFk
JOIN vn.taxClass tc ON tc.id = itc.taxClassFk JOIN vn.taxClass tc ON tc.id = itc.taxClassFk
JOIN vn.invoiceOutSerial ios ON ios.code = io.serial AND ios.taxAreaFk = 'WORLD' JOIN vn.invoiceOutSerial ios ON ios.code = io.serial
AND ios.taxAreaFk = 'WORLD'
JOIN vn.country cty ON cty.id = c.countryFk JOIN vn.country cty ON cty.id = c.countryFk
JOIN vn.payMethod pm ON pm.id = c .payMethodFk JOIN vn.payMethod pm ON pm.id = c .payMethodFk
JOIN vn.company co ON co.id=io.companyFk JOIN vn.company co ON co.id=io.companyFk
JOIN vn.supplierAccount sa ON sa.id=co.supplierAccountFk JOIN vn.supplierAccount sa ON sa.id=co.supplierAccountFk
LEFT JOIN (SELECT GROUP_CONCAT(DISTINCT ir.description ORDER BY ir.description SEPARATOR '. ' ) as intrastat JOIN (
FROM vn.ticket t SELECT GROUP_CONCAT(DISTINCT ir.description ORDER BY ir.description SEPARATOR '. ' ) intrastat
JOIN vn.invoiceOut io ON io.ref = t.refFk FROM vn.ticket t
JOIN vn.sale s ON t.id = s.ticketFk JOIN vn.invoiceOut io ON io.ref = t.refFk
JOIN vn.item i ON i.id = s.itemFk JOIN vn.sale s ON t.id = s.ticketFk
JOIN vn.intrastat ir ON ir.id = i.intrastatFk JOIN vn.item i ON i.id = s.itemFk
WHERE t.refFk = ? JOIN vn.intrastat ir ON ir.id = i.intrastatFk
)sub3 ON TRUE WHERE t.refFk = ?
WHERE t.refFk = ? ) intr
JOIN (
SELECT SUM(packages) packages
FROM ticket
WHERE refFk = ?
) pack
WHERE t.refFk = ?
LIMIT 1

View File

@ -1,18 +1,17 @@
SELECT SELECT io.id,
io.id, io.issued,
io.issued, io.clientFk,
io.clientFk, io.companyFk,
io.companyFk, io.ref,
io.ref, pm.code payMethodCode,
pm.code AS payMethodCode, cny.code companyCode,
cny.code companyCode, sa.iban,
sa.iban, ios.footNotes
ios.footNotes FROM invoiceOut io
FROM invoiceOut io JOIN client c ON c.id = io.clientFk
JOIN client c ON c.id = io.clientFk JOIN payMethod pm ON pm.id = c.payMethodFk
JOIN payMethod pm ON pm.id = c.payMethodFk JOIN company cny ON cny.id = io.companyFk
JOIN company cny ON cny.id = io.companyFk JOIN supplierAccount sa ON sa.id = cny.supplierAccountFk
JOIN supplierAccount sa ON sa.id = cny.supplierAccountFk LEFT JOIN invoiceOutSerial ios ON ios.code = io.serial
LEFT JOIN invoiceOutSerial ios ON ios.code = io.serial LEFT JOIN ticket t ON t.refFk = io.ref
LEFT JOIN ticket t ON t.refFk = io.ref WHERE t.refFk = ?
WHERE t.refFk = ?