refactor: refs #5586 Optimized SQL negativeBases
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
gitea/salix/pipeline/pr-dev There was a failure building this commit
Details
This commit is contained in:
parent
42de1a7e51
commit
bdc6192a7c
|
@ -46,15 +46,6 @@ module.exports = Self => {
|
|||
|
||||
const stmts = [];
|
||||
let stmt;
|
||||
stmts.push(new ParameterizedSQL(
|
||||
`CREATE OR REPLACE TEMPORARY TABLE tmp.ticket
|
||||
(KEY (ticketFk))
|
||||
ENGINE = MEMORY
|
||||
SELECT id ticketFk
|
||||
FROM ticket t
|
||||
WHERE shipped BETWEEN ? AND util.dayEnd(?)
|
||||
AND refFk IS NULL`, [args.from, args.to]));
|
||||
stmts.push(`CALL vn.ticket_getTax(NULL)`);
|
||||
stmts.push(new ParameterizedSQL(
|
||||
`CREATE OR REPLACE TEMPORARY TABLE tmp.filter
|
||||
ENGINE = MEMORY
|
||||
|
@ -64,8 +55,8 @@ module.exports = Self => {
|
|||
c.socialName clientSocialName,
|
||||
u.nickname workerSocialName,
|
||||
SUM(s.quantity * s.price * ( 100 - s.discount ) / 100) amount,
|
||||
negativeBase.taxableBase,
|
||||
negativeBase.ticketFk,
|
||||
t.totalWithoutVat taxableBase,
|
||||
s.ticketFk,
|
||||
c.isActive,
|
||||
c.hasToInvoice,
|
||||
c.isTaxDataChecked,
|
||||
|
@ -78,16 +69,10 @@ module.exports = Self => {
|
|||
JOIN vn.country cou ON cou.id = c.countryFk
|
||||
LEFT JOIN vn.worker w ON w.id = c.salesPersonFk
|
||||
JOIN account.user u ON u.id = w.id
|
||||
LEFT JOIN (
|
||||
SELECT ticketFk, taxableBase
|
||||
FROM tmp.ticketAmount
|
||||
GROUP BY ticketFk
|
||||
HAVING taxableBase < 0
|
||||
) negativeBase ON negativeBase.ticketFk = t.id
|
||||
WHERE t.shipped BETWEEN ? AND ?
|
||||
WHERE t.shipped BETWEEN ? AND util.dayEnd(?)
|
||||
AND t.refFk IS NULL
|
||||
AND c.typeFk IN ('normal','trust')
|
||||
GROUP BY t.clientFk, negativeBase.taxableBase
|
||||
GROUP BY t.clientFk, t.totalWithoutVat
|
||||
HAVING amount < 0`, [args.from, args.to]));
|
||||
|
||||
stmt = new ParameterizedSQL(`SELECT * FROM tmp.filter`);
|
||||
|
@ -100,10 +85,7 @@ module.exports = Self => {
|
|||
|
||||
const negativeBasesIndex = stmts.push(stmt) - 1;
|
||||
|
||||
stmts.push(`DROP TEMPORARY TABLE tmp.filter,
|
||||
tmp.ticket,
|
||||
tmp.ticketTax,
|
||||
tmp.ticketAmount`);
|
||||
stmts.push(`DROP TEMPORARY TABLE tmp.filter`);
|
||||
|
||||
const sql = ParameterizedSQL.join(stmts, ';');
|
||||
const result = await conn.executeStmt(sql);
|
||||
|
|
Loading…
Reference in New Issue