From edb93632ed8c971735af44076d2be10ad14cfd0d Mon Sep 17 00:00:00 2001 From: "lucas.favaro" Date: Tue, 28 Apr 2026 14:22:42 -0300 Subject: [PATCH 1/3] =?UTF-8?q?Altera=C3=A7=C3=B5es=20em=20query?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/flash/flash.module.ts | 151 ++++++++++++++++++++++++++++++++------ 1 file changed, 130 insertions(+), 21 deletions(-) diff --git a/src/flash/flash.module.ts b/src/flash/flash.module.ts index c042f82..35600a7 100644 --- a/src/flash/flash.module.ts +++ b/src/flash/flash.module.ts @@ -1,6 +1,6 @@ import { createModuleFactory } from "@davinti/jeff"; -const moduleFactory = createModuleFactory(["C5"]); +const moduleFactory = createModuleFactory(["C5", "C5_big", "C5_mambo"]); export default moduleFactory .createModule({ @@ -30,40 +30,49 @@ export default moduleFactory format: "currency_short", }, { - label: "VDA", - column: "vda", + label: "Mês Atual", + column: "mes_atual", format: "currency_short", }, { - label: "DMA", - column: "dma", + label: "Dif ($)", + column: "dif_mes_atual", format: "currency_short", }, { - label: "Meta Dia", - column: "meta_dia", - format: "currency_short", - }, - { - label: "Meta Margem Dia", - column: "meta_margem_dia", + label: "% Variação", + column: "variacao_atual", format: "percentage", }, { - label: "Qtd Clientes", - column: "qtd_clientes", - format: "integer", + label: "Mês Anterior", + column: "mes_anterior", + format: "currency_short", }, { - label: "Ticket Médio", - column: "ticket_medio", - format: "currency", + label: "Dif ($)", + column: "dif_mes_anterior", + format: "currency_short", }, { - label: "Margem", - column: "margem", + label: "% Variação", + column: "variacao_mes_anterior", + format: "percentage", + }, + { + label: "Ano Anterior", + column: "ano_anterior", + format: "currency_short", + }, + { + label: "Dif ($)", + column: "dif_ano_anterior", + format: "currency_short", + }, + { + label: "% Variação", + column: "variacao_ano_anterior", format: "percentage", - accent: true, }, ], }, @@ -99,9 +108,109 @@ inner join mboard.tb_empresa_segmento tes where 1=1 and tvf.vlrvendaacumulada > 0 and tvf.dtavda = TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + and (tvf.nroempresa in (${args.ctx_user_companies_for_module})) group by rollup(canalapp, nomeempresaapp) order by grouping(canalapp) desc, grouping(nomeempresaapp) desc`, }; }, }, + C5_big: {flash: (args) => { + return { + sql: /*sql*/ ` + SELECT + CASE + WHEN GROUPING(x.canalapp) = 1 THEN null + ELSE x.canalapp + END AS canalapp, + + x.canalapp AS nomeempresaapp, + + CASE + WHEN GROUPING(x.canalapp) = 1 THEN 1 + ELSE 0 + END AS is_total, + + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) AS mes_atual, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, + + CASE + WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_atual, + + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes_anterior, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS mes_anterior, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_anterior, + + CASE + WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_mes_anterior, + + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_ano_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS ano_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_ano_anterior, + + CASE + WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_ano_anterior + + FROM ( + SELECT + n.codigo, + n.nome AS canalapp, + r.valor_meta_efetiva, + r.valor_venda, + CASE + WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + THEN 'ATUAL' + + WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + THEN 'MES_ANTERIOR' + + WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + THEN 'ANO_ANTERIOR' + END AS periodo + + FROM tb_flash_nodo_resumo_venda r + JOIN tb_flash_nodo n + ON n.id_nodo = r.id_nodo + WHERE n.tipo_nodo = 'EMPRESA' + AND ( + r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + ) + ) x + + GROUP BY GROUPING SETS ( + (x.codigo, x.canalapp), + () + ) + ORDER BY + CASE WHEN GROUPING(x.canalapp) = 1 THEN 1 ELSE 0 END, + x.canalapp + `,}; + }, + }, + C5_mambo: {flash: (args) => { + return { + sql: /*sql*/ ``,}; + }, + }, }); From b8c3cf5eb7d101577ca2a0888ddc852e42d50f88 Mon Sep 17 00:00:00 2001 From: "lucas.favaro" Date: Tue, 28 Apr 2026 14:57:36 -0300 Subject: [PATCH 2/3] =?UTF-8?q?Atualiza=C3=A7=C3=A3o=20de=20query?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/flash/flash.module.ts | 145 ++++++++++++++++++-------------------- 1 file changed, 70 insertions(+), 75 deletions(-) diff --git a/src/flash/flash.module.ts b/src/flash/flash.module.ts index 35600a7..38371f0 100644 --- a/src/flash/flash.module.ts +++ b/src/flash/flash.module.ts @@ -118,93 +118,88 @@ order by grouping(canalapp) desc, grouping(nomeempresaapp) desc`, return { sql: /*sql*/ ` SELECT - CASE - WHEN GROUPING(x.canalapp) = 1 THEN null - ELSE x.canalapp - END AS canalapp, + 'Lojas' AS canalapp, + + x.nomeempresaapp AS nomeempresaapp, - x.canalapp AS nomeempresaapp, + CASE + WHEN GROUPING(x.nomeempresaapp) = 1 THEN 1 + ELSE 0 + END AS is_total, - CASE - WHEN GROUPING(x.canalapp) = 1 THEN 1 - ELSE 0 - END AS is_total, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) AS mes_atual, + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) AS mes_atual, - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_atual, + CASE + WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_atual, - CASE - WHEN SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'ATUAL' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_atual, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes_anterior, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS mes_anterior, + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_anterior, - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_mes_anterior, - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS mes_anterior, - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_mes_anterior, + CASE + WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_mes_anterior, - CASE - WHEN SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'MES_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_mes_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_ano_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS ano_anterior, + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_ano_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) AS meta_ano_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) AS ano_anterior, - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda - x.valor_meta_efetiva ELSE 0 END) AS dif_ano_anterior, + CASE + WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 + ELSE ROUND( + ((SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) / + SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 + , 2) + END AS variacao_ano_anterior - CASE - WHEN SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END) = 0 THEN 0 - ELSE ROUND( - ((SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_venda ELSE 0 END) / - SUM(CASE WHEN x.periodo = 'ANO_ANTERIOR' THEN x.valor_meta_efetiva ELSE 0 END)) * 100) - 100 - , 2) - END AS variacao_ano_anterior + FROM ( + SELECT + n.codigo, + n.nome AS nomeempresaapp, + r.valor_meta_efetiva, + r.valor_venda, + CASE + WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + THEN 'ATUAL' - FROM ( - SELECT - n.codigo, - n.nome AS canalapp, - r.valor_meta_efetiva, - r.valor_venda, - CASE - WHEN r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') - THEN 'ATUAL' + WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + THEN 'MES_ANTERIOR' - WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) - THEN 'MES_ANTERIOR' + WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + THEN 'ANO_ANTERIOR' + END AS periodo - WHEN r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) - THEN 'ANO_ANTERIOR' - END AS periodo + FROM tb_flash_nodo_resumo_venda r + JOIN tb_flash_nodo n + ON n.id_nodo = r.id_nodo + WHERE n.tipo_nodo = 'EMPRESA' + AND ( + r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) + OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) + AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) + ) + ) x - FROM tb_flash_nodo_resumo_venda r - JOIN tb_flash_nodo n - ON n.id_nodo = r.id_nodo - WHERE n.tipo_nodo = 'EMPRESA' - AND ( - r.data_referencia BETWEEN TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM') AND TO_DATE(${args.data_venda}, 'YYYY-MM-DD') - OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -1) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -1) - OR r.data_referencia BETWEEN ADD_MONTHS(TRUNC(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), 'MM'), -12) - AND ADD_MONTHS(TO_DATE(${args.data_venda}, 'YYYY-MM-DD'), -12) - ) - ) x - - GROUP BY GROUPING SETS ( - (x.codigo, x.canalapp), - () - ) - ORDER BY - CASE WHEN GROUPING(x.canalapp) = 1 THEN 1 ELSE 0 END, - x.canalapp + /*GROUP BY GROUPING SETS ( + (x.codigo, x.canalapp), + () + )*/ + group by rollup(x.nomeempresaapp) `,}; }, }, From f130d9780399226f8164d6b8016a79e4299d96a4 Mon Sep 17 00:00:00 2001 From: tkinaba Date: Wed, 29 Apr 2026 14:26:30 -0300 Subject: [PATCH 3/3] =?UTF-8?q?build:=20atualizar=20depend=C3=AAncia=20jef?= =?UTF-8?q?f?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 7 ++++--- package.json | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7c165e0..97166a1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,15 +9,16 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@davinti/jeff": "git+https://git.davinti.com.br/davinTI/jeff.git#v1.0.7" + "@davinti/jeff": "^1.0.9" }, "devDependencies": { "tsx": "^4.21.0" } }, "node_modules/@davinti/jeff": { - "version": "1.0.7", - "resolved": "git+https://git.davinti.com.br/davinTI/jeff.git#07860417cc408cbc691f3d52a169dc6daf1b21bc", + "version": "1.0.9", + "resolved": "https://git.davinti.com.br/api/packages/davinTI/npm/%40davinti%2Fjeff/-/1.0.9/jeff-1.0.9.tgz", + "integrity": "sha512-qrpcShdzY/xUlUCXzcgmRAMWIlEkA4zXhhgdBKPULYxU1l8gS6jKA1h1Bf/omIdE8NTATBC2aTRbgew8NsBv5g==", "license": "ISC", "dependencies": { "@types/glob": "^8.1.0", diff --git a/package.json b/package.json index 9026756..6735d68 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "license": "ISC", "description": "", "dependencies": { - "@davinti/jeff": "git+https://git.davinti.com.br/davinTI/jeff.git#v1.0.7" + "@davinti/jeff": "^1.0.9" }, "devDependencies": { "tsx": "^4.21.0"