@orbe-agro/client-core 5.6.288 → 5.6.290

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/@ecme/components/template/Footer.js +1 -1
  2. package/dist/@types/base/@types/api/response/originacao/TRelatorioDinamicoResponse.d.ts +67 -0
  3. package/dist/@types/base/@types/api/response/originacao/TRelatorioDinamicoResponse.d.ts.map +1 -0
  4. package/dist/@types/base/@types/models/compras/Dashboard.d.ts +19 -18
  5. package/dist/@types/base/@types/models/compras/Dashboard.d.ts.map +1 -1
  6. package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts +4 -4
  7. package/dist/@types/base/configs/endpoints.config/compras/config/dashboard.d.ts +0 -4
  8. package/dist/@types/base/configs/endpoints.config/compras/config/dashboard.d.ts.map +1 -1
  9. package/dist/@types/base/configs/endpoints.config/compras/config/requisicaoCompra.d.ts +4 -0
  10. package/dist/@types/base/configs/endpoints.config/compras/config/requisicaoCompra.d.ts.map +1 -1
  11. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +13 -4
  12. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
  13. package/dist/@types/base/configs/endpoints.config/originacao/config/relatoriosDinamicos.d.ts +11 -0
  14. package/dist/@types/base/configs/endpoints.config/originacao/config/relatoriosDinamicos.d.ts.map +1 -0
  15. package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +9 -0
  16. package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
  17. package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos.d.ts +4 -0
  18. package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos.d.ts.map +1 -0
  19. package/dist/@types/base/configs/navigation.config/submenu/originacao/relatorios.submenu.d.ts.map +1 -1
  20. package/dist/@types/base/services/modules/compras/dashboard/DashboardService.d.ts +1 -2
  21. package/dist/@types/base/services/modules/compras/dashboard/DashboardService.d.ts.map +1 -1
  22. package/dist/@types/base/services/modules/compras/requisicaoCompra/RequisicaoCompraService.d.ts +2 -1
  23. package/dist/@types/base/services/modules/compras/requisicaoCompra/RequisicaoCompraService.d.ts.map +1 -1
  24. package/dist/@types/base/services/modules/originacao/index.d.ts +1 -0
  25. package/dist/@types/base/services/modules/originacao/index.d.ts.map +1 -1
  26. package/dist/@types/base/services/modules/originacao/relatoriosDinamicos/relatoriosDinamicosService.d.ts +14 -0
  27. package/dist/@types/base/services/modules/originacao/relatoriosDinamicos/relatoriosDinamicosService.d.ts.map +1 -0
  28. package/dist/base/@types/api/response/originacao/TRelatorioDinamicoResponse.js +2 -0
  29. package/dist/base/@types/api/response/originacao/TRelatorioDinamicoResponse.js.map +1 -0
  30. package/dist/base/configs/endpoints.config/compras/config/dashboard.js +0 -1
  31. package/dist/base/configs/endpoints.config/compras/config/dashboard.js.map +1 -1
  32. package/dist/base/configs/endpoints.config/compras/config/requisicaoCompra.js +2 -1
  33. package/dist/base/configs/endpoints.config/compras/config/requisicaoCompra.js.map +1 -1
  34. package/dist/base/configs/endpoints.config/originacao/config/relatoriosDinamicos.js +14 -0
  35. package/dist/base/configs/endpoints.config/originacao/config/relatoriosDinamicos.js.map +1 -0
  36. package/dist/base/configs/endpoints.config/originacao/originacao.js +2 -0
  37. package/dist/base/configs/endpoints.config/originacao/originacao.js.map +1 -1
  38. package/dist/base/configs/navigation.config/modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos.js +15 -0
  39. package/dist/base/configs/navigation.config/modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos.js.map +1 -0
  40. package/dist/base/configs/navigation.config/submenu/originacao/relatorios.submenu.js +3 -1
  41. package/dist/base/configs/navigation.config/submenu/originacao/relatorios.submenu.js.map +1 -1
  42. package/dist/base/index.js +12 -3
  43. package/dist/base/index.js.map +1 -1
  44. package/dist/base/services/index.js +12 -3
  45. package/dist/base/services/index.js.map +1 -1
  46. package/dist/base/services/modules/compras/dashboard/DashboardService.js +0 -8
  47. package/dist/base/services/modules/compras/dashboard/DashboardService.js.map +1 -1
  48. package/dist/base/services/modules/compras/index.js +3 -3
  49. package/dist/base/services/modules/compras/requisicaoCompra/RequisicaoCompraService.js +8 -0
  50. package/dist/base/services/modules/compras/requisicaoCompra/RequisicaoCompraService.js.map +1 -1
  51. package/dist/base/services/modules/index.js +12 -3
  52. package/dist/base/services/modules/index.js.map +1 -1
  53. package/dist/base/services/modules/originacao/index.js +9 -0
  54. package/dist/base/services/modules/originacao/index.js.map +1 -1
  55. package/dist/base/services/modules/originacao/relatoriosDinamicos/relatoriosDinamicosService.js +91 -0
  56. package/dist/base/services/modules/originacao/relatoriosDinamicos/relatoriosDinamicosService.js.map +1 -0
  57. package/lib/base/@types/api/response/originacao/TRelatorioDinamicoResponse.ts +74 -0
  58. package/lib/base/@types/models/compras/Dashboard.ts +19 -18
  59. package/lib/base/configs/endpoints.config/compras/config/dashboard.ts +0 -1
  60. package/lib/base/configs/endpoints.config/compras/config/requisicaoCompra.ts +2 -1
  61. package/lib/base/configs/endpoints.config/originacao/config/relatoriosDinamicos.ts +11 -0
  62. package/lib/base/configs/endpoints.config/originacao/originacao.ts +2 -0
  63. package/lib/base/configs/navigation.config/modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos.ts +13 -0
  64. package/lib/base/configs/navigation.config/submenu/originacao/relatorios.submenu.ts +2 -0
  65. package/lib/base/services/modules/compras/dashboard/DashboardService.ts +1 -11
  66. package/lib/base/services/modules/compras/requisicaoCompra/RequisicaoCompraService.ts +10 -0
  67. package/lib/base/services/modules/originacao/index.ts +1 -0
  68. package/lib/base/services/modules/originacao/relatoriosDinamicos/relatoriosDinamicosService.ts +120 -0
  69. package/package.json +1 -1
@@ -95,40 +95,41 @@ export type TDashboardEvolucaoMensal = {
95
95
  tempoMedioDiasUteis: number
96
96
  }
97
97
 
98
- export type TDashboardComprasDiretasPayload = TDashboardPeriodo & {
98
+ export type TDashboardComprasDiretasPayload = {
99
99
  departamento?: string
100
- idUsuario?: number
101
- idMaterial?: number
100
+ dtInicial?: string
101
+ dtFinal?: string
102
+ usuario?: number
103
+ material?: number
102
104
  }
103
105
 
104
106
  export type TDashboardComprasDiretasUsuario = {
105
107
  idUsuario: number
106
108
  nomeUsuario: string
107
- totalPedidos: number
108
- valorTotal: number
109
+ quantidadePedidos: number
110
+ valorTotal: number | string | null
109
111
  }
110
112
 
111
113
  export type TDashboardComprasDiretasDepartamento = {
112
- idDepartamento: number
113
- nomeDepartamento: string
114
- totalPedidos: number
115
- valorTotal: number
114
+ posicao: number
115
+ departamento: string
116
+ quantidadePedidos: number
117
+ valorTotal: number | string | null
116
118
  }
117
119
 
118
120
  export type TDashboardComprasDiretasMaterial = {
119
121
  idMaterial: number
120
- codigo: string
121
- descricao: string
122
- unidadeMedida?: string
123
- quantidade: number
124
- valorTotal: number
122
+ codigoMaterial: string
123
+ descricaoMaterial: string
124
+ quantidadePedidos: number
125
+ quantidadeTotal: number | string | null
125
126
  }
126
127
 
127
128
  export type TDashboardComprasDiretasResponse = {
128
- valorTotal: number
129
- totalPedidos: number
130
- porUsuario: TDashboardComprasDiretasUsuario[]
131
- porDepartamento: TDashboardComprasDiretasDepartamento[]
129
+ valorTotalComprasDiretas: number | string | null
130
+ quantidadePedidosGerados: number
131
+ comprasPorUsuario: TDashboardComprasDiretasUsuario[]
132
+ rankingDepartamentos: TDashboardComprasDiretasDepartamento[]
132
133
  materiaisMaisComprados: TDashboardComprasDiretasMaterial[]
133
134
  }
134
135
 
@@ -1,7 +1,6 @@
1
1
  const DASHBOARD_BASE_URL = '/compras/api/dashboard'
2
2
 
3
3
  const dashboard = {
4
- comprasDiretas: { endpoint: `${DASHBOARD_BASE_URL}/compras-diretas`, httpMethod: 'post' },
5
4
  pedidosPendentes: { endpoint: `${DASHBOARD_BASE_URL}/pedidos-pendentes`, httpMethod: 'post' },
6
5
  opcoesFiltro: { endpoint: `${DASHBOARD_BASE_URL}/opcoes-filtro`, httpMethod: 'get' },
7
6
  }
@@ -11,7 +11,8 @@ const requisicaoCompra = {
11
11
  adicionarObservacao: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/{id}/observacao`, httpMethod: 'post' },
12
12
  lock: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/lock`, httpMethod: 'post' },
13
13
  dashboard: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/dashboard`, httpMethod: 'post' },
14
- dashboardRankings: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/dashboard/rankings`, httpMethod: 'post' }
14
+ dashboardRankings: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/dashboard/rankings`, httpMethod: 'post' },
15
+ dashboardComprasDiretas: { endpoint: `${REQUISICAO_COMPRA_BASE_URL}/dashboard/compras-diretas`, httpMethod: 'post' }
15
16
  }
16
17
 
17
18
  export default requisicaoCompra
@@ -0,0 +1,11 @@
1
+ const root = '/originacao/api/relatorios-dinamicos'
2
+ const relatoriosDinamicos = {
3
+ catalogo: (base?: string) => `${root}/catalogo${base ? `?base=${encodeURIComponent(base)}` : ''}`,
4
+ findAll: (params?: string) => `${root}${params ? `?${params}` : ''}`,
5
+ add: root,
6
+ findOne: (id: number | string) => `${root}/${id}`,
7
+ editarCompartilhado: (id: number | string) => `${root}/${id}/compartilhado`,
8
+ consultar: (id: number | string) => `${root}/${id}/consultar`,
9
+ exportar: (id: number | string) => `${root}/${id}/exportar`,
10
+ }
11
+ export default relatoriosDinamicos
@@ -36,8 +36,10 @@ import tarefaLiquidacao from "./config/tarefaLiquidacao";
36
36
  import campoFixo from "./config/campoFixo";
37
37
  import relatorioAuditoriaMensal from "./config/relatorios/relatorioAuditoriaMensal";
38
38
  import alteracaoTransgenia from "./config/alteracaoTransgenia";
39
+ import relatoriosDinamicos from "./config/relatoriosDinamicos";
39
40
 
40
41
  const originacao = {
42
+ relatoriosDinamicos,
41
43
  alteracaoTransgenia,
42
44
  preContrato,
43
45
  contrato,
@@ -0,0 +1,13 @@
1
+ import type { NavigationTree } from '@/@types/navigation'
2
+ const subMenuRelatoriosDinamicos: NavigationTree = {
3
+ key: 'originacao.relatoriosDinamicos',
4
+ path: '/originacao/relatorios-dinamicos',
5
+ title: 'Relatórios dinâmicos',
6
+ translateKey: 'modules.originacao.relatoriosDinamicos.title',
7
+ icon: 'form',
8
+ type: 'item',
9
+ authority: [],
10
+ subMenu: [],
11
+ forceShowTitle: true,
12
+ }
13
+ export default subMenuRelatoriosDinamicos
@@ -1,8 +1,10 @@
1
1
  import { NavigationTree } from "@/@types/navigation"
2
2
  import relatorioAuditoriaMensalSubmenu from "./config/relatorioAuditoriaMensal.submenu"
3
+ import subMenuRelatoriosDinamicos from '../../modules.submenu/originacao/relatoriosDinamicos/submenu.relatoriosDinamicos'
3
4
 
4
5
  const relatorioSubmenu: NavigationTree[] = [
5
6
  relatorioAuditoriaMensalSubmenu,
7
+ subMenuRelatoriosDinamicos,
6
8
  ]
7
9
 
8
10
  export default relatorioSubmenu
@@ -1,24 +1,14 @@
1
1
  import ApiService from "@/services/ApiService";
2
2
  import endpointConfig from "@base/configs/endpoints.config/endpoints.navigation";
3
3
  import {
4
- TDashboardComprasDiretasPayload,
5
- TDashboardComprasDiretasResponse,
6
4
  TDashboardOpcoesFiltro,
7
5
  TDashboardPedidosPendentesPayload,
8
6
  TDashboardPedidosPendentesResponse,
9
7
  } from "@base/@types/models/compras/Dashboard";
10
8
 
11
- // a aba de compras e requisições usa POST /requisicao-compra/dashboard (RequisicaoCompraService)
9
+ // compras e requisições e compras diretas usam /requisicao-compra/dashboard/* (RequisicaoCompraService)
12
10
  const DASHBOARD_ENDPOINT = endpointConfig.compras.dashboard;
13
11
 
14
- export async function apiGetDashboardComprasDiretas(data: TDashboardComprasDiretasPayload) {
15
- return ApiService.fetchDataWithAxios<TDashboardComprasDiretasResponse>({
16
- url: DASHBOARD_ENDPOINT.comprasDiretas.endpoint,
17
- method: DASHBOARD_ENDPOINT.comprasDiretas.httpMethod,
18
- data,
19
- })
20
- }
21
-
22
12
  export async function apiGetDashboardPedidosPendentes(data: TDashboardPedidosPendentesPayload) {
23
13
  return ApiService.fetchDataWithAxios<TDashboardPedidosPendentesResponse>({
24
14
  url: DASHBOARD_ENDPOINT.pedidosPendentes.endpoint,
@@ -3,6 +3,8 @@ import { IFilterParams, TQueryResponse } from "@base/@types/api";
3
3
  import endpointConfig from "@base/configs/endpoints.config/endpoints.navigation";
4
4
  import { TObservacaoRequisicaoCompra } from "@base/@types/models/compras/RequisicaoCompra";
5
5
  import {
6
+ TDashboardComprasDiretasPayload,
7
+ TDashboardComprasDiretasResponse,
6
8
  TDashboardRankingsPayload,
7
9
  TDashboardRankingsResponse,
8
10
  TDashboardRequisicaoCompraPayload,
@@ -94,4 +96,12 @@ export async function apiDashboardRankingsRequisicaoCompra(data: TDashboardRanki
94
96
  method: REQUISICAO_COMPRA_ENDPOINT.dashboardRankings.httpMethod,
95
97
  data
96
98
  })
99
+ }
100
+
101
+ export async function apiDashboardComprasDiretasRequisicaoCompra(data: TDashboardComprasDiretasPayload) {
102
+ return ApiService.fetchDataWithAxios<TDashboardComprasDiretasResponse>({
103
+ url: REQUISICAO_COMPRA_ENDPOINT.dashboardComprasDiretas.endpoint,
104
+ method: REQUISICAO_COMPRA_ENDPOINT.dashboardComprasDiretas.httpMethod,
105
+ data
106
+ })
97
107
  }
@@ -21,3 +21,4 @@ export * from './vinculoOperacaoLiquidacao/vinculoOperacaoLiquidacaoService';
21
21
  export * from './alteracaoTransgenia/alteracaoTransgeniaService';
22
22
  export * from './tarefaLiquidacao/tarefaLiquidacaoService';
23
23
  export * from './campoFixo/campoFixoService';
24
+ export * from './relatoriosDinamicos/relatoriosDinamicosService';
@@ -0,0 +1,120 @@
1
+ import ApiService from '@/services/ApiService'
2
+ import { isAxiosError } from 'axios'
3
+ import AxiosBase from '@/services/axios/AxiosBase'
4
+ import endpointNavigationConfig from '@base/configs/endpoints.config/endpoints.navigation'
5
+ import type { TQueryResponse } from '@base/@types/api'
6
+ import type {
7
+ TBaseRelatorioDinamico,
8
+ TCatalogoRelatorioDinamico,
9
+ TRelatorioDinamicoResponse,
10
+ TCriarRelatorioDinamicoRequest,
11
+ TEditarRelatorioDinamicoRequest,
12
+ TConsultarRelatorioDinamicoRequest,
13
+ TExportarRelatorioDinamicoRequest,
14
+ TResultadoRelatorioDinamico,
15
+ } from '@base/@types/api/response/originacao/TRelatorioDinamicoResponse'
16
+
17
+ const endpoints = endpointNavigationConfig.originacao.relatoriosDinamicos
18
+ export const apiCatalogoRelatorioDinamico = (base?: TBaseRelatorioDinamico) =>
19
+ ApiService.fetchDataWithAxios<TCatalogoRelatorioDinamico>({
20
+ url: endpoints.catalogo(base),
21
+ method: 'get',
22
+ })
23
+ export const apiListarRelatoriosDinamicos = (params?: string) =>
24
+ ApiService.fetchDataWithAxios<TQueryResponse<TRelatorioDinamicoResponse>>({
25
+ url: endpoints.findAll(params),
26
+ method: 'get',
27
+ })
28
+ export const apiObterRelatorioDinamico = (id: string | number) =>
29
+ ApiService.fetchDataWithAxios<TRelatorioDinamicoResponse>({
30
+ url: endpoints.findOne(id),
31
+ method: 'get',
32
+ })
33
+ export const apiCriarRelatorioDinamico = (
34
+ data: TCriarRelatorioDinamicoRequest,
35
+ ) =>
36
+ ApiService.fetchDataWithAxios<TRelatorioDinamicoResponse>({
37
+ url: endpoints.add,
38
+ method: 'post',
39
+ data,
40
+ })
41
+ export const apiEditarRelatorioDinamico = (
42
+ id: string | number,
43
+ data: TEditarRelatorioDinamicoRequest,
44
+ compartilhado: boolean,
45
+ ) =>
46
+ ApiService.fetchDataWithAxios<TRelatorioDinamicoResponse>({
47
+ url: compartilhado
48
+ ? endpoints.editarCompartilhado(id)
49
+ : endpoints.findOne(id),
50
+ method: 'put',
51
+ data,
52
+ })
53
+ export const apiExcluirRelatorioDinamico = (id: string | number) =>
54
+ ApiService.fetchDataWithAxios<void>({
55
+ url: endpoints.findOne(id),
56
+ method: 'delete',
57
+ })
58
+ export const apiConsultarRelatorioDinamico = (
59
+ id: string | number,
60
+ data: TConsultarRelatorioDinamicoRequest,
61
+ ) =>
62
+ ApiService.fetchDataWithAxios<TResultadoRelatorioDinamico>({
63
+ url: endpoints.consultar(id),
64
+ method: 'post',
65
+ data,
66
+ })
67
+
68
+ export async function apiExportarRelatorioDinamico(
69
+ id: string | number,
70
+ data: TExportarRelatorioDinamicoRequest,
71
+ ): Promise<{ arquivo: Blob; nome: string }> {
72
+ try {
73
+ const response = await AxiosBase<Blob>({
74
+ url: endpoints.exportar(id),
75
+ method: 'post',
76
+ data,
77
+ responseType: 'blob',
78
+ })
79
+ const disposition = String(
80
+ response.headers['content-disposition'] ?? '',
81
+ )
82
+ const encoded = /filename\*=UTF-8''([^;]+)/i.exec(disposition)?.[1]
83
+ const plain = /filename="?([^";]+)"?/i.exec(disposition)?.[1]
84
+ let nome = plain ?? `relatorio-${id}.xlsx`
85
+ if (encoded) {
86
+ try {
87
+ nome = decodeURIComponent(encoded)
88
+ } catch {
89
+ nome = `relatorio-${id}.xlsx`
90
+ }
91
+ }
92
+ return { arquivo: response.data, nome: nome.replace(/[\\/]/g, '_') }
93
+ } catch (error: unknown) {
94
+ const response = isAxiosError(error) ? error.response : undefined
95
+ if (response?.data instanceof Blob) {
96
+ const text = await response.data.text()
97
+ let message = 'Não foi possível exportar o relatório.'
98
+ try {
99
+ const problem: unknown = JSON.parse(text)
100
+ if (problem && typeof problem === 'object') {
101
+ if (
102
+ 'detail' in problem &&
103
+ typeof problem.detail === 'string'
104
+ )
105
+ message = problem.detail
106
+ else if (
107
+ 'title' in problem &&
108
+ typeof problem.title === 'string'
109
+ )
110
+ message = problem.title
111
+ }
112
+ } catch {
113
+ if (text && text.length < 500 && !text.includes('<html'))
114
+ message = text
115
+ }
116
+ throw new Error(message)
117
+ }
118
+ throw error
119
+ }
120
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbe-agro/client-core",
3
- "version": "5.6.288",
3
+ "version": "5.6.290",
4
4
  "description": "Biblioteca principal de componentes e utilidades para os microfrontends do Orbe Agro.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",