@orbe-agro/client-core 5.3.221 → 5.3.223

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 (63) hide show
  1. package/dist/@ecme/assets/styles/app.css +1 -1
  2. package/dist/@ecme/assets/styles/tailwind/index.css +1 -1
  3. package/dist/@types/base/@types/models/insumos/compra.d.ts +15 -4
  4. package/dist/@types/base/@types/models/insumos/compra.d.ts.map +1 -1
  5. package/dist/@types/base/@types/models/insumos/itemCompra.d.ts +31 -0
  6. package/dist/@types/base/@types/models/insumos/itemCompra.d.ts.map +1 -0
  7. package/dist/@types/base/configs/endpoints.config/dm/config/frete.d.ts +1 -1
  8. package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +1 -1
  9. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +18 -2
  10. package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
  11. package/dist/@types/base/configs/endpoints.config/insumos/config/itemCompra.d.ts +17 -1
  12. package/dist/@types/base/configs/endpoints.config/insumos/config/itemCompra.d.ts.map +1 -1
  13. package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts +17 -1
  14. package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts.map +1 -1
  15. package/dist/@types/base/hooks/dm/frete/{useEquipeVendaByOrganizacaoVendasList.d.ts → useFindFreteByUniqueList.d.ts} +3 -3
  16. package/dist/@types/base/hooks/dm/frete/useFindFreteByUniqueList.d.ts.map +1 -0
  17. package/dist/@types/base/hooks/index.d.ts +1 -1
  18. package/dist/@types/base/hooks/index.d.ts.map +1 -1
  19. package/dist/@types/base/services/modules/dm/frete/FreteService.d.ts +2 -1
  20. package/dist/@types/base/services/modules/dm/frete/FreteService.d.ts.map +1 -1
  21. package/dist/@types/base/services/modules/insumos/itemCompra/ItemCompraService.d.ts +11 -0
  22. package/dist/@types/base/services/modules/insumos/itemCompra/ItemCompraService.d.ts.map +1 -0
  23. package/dist/@types/base/utils/colorClassName/badge.d.ts.map +1 -1
  24. package/dist/@types/base/utils/functions/stringUtils.d.ts.map +1 -1
  25. package/dist/base/@types/models/insumos/compra.js +5 -4
  26. package/dist/base/@types/models/insumos/compra.js.map +1 -1
  27. package/dist/base/@types/models/insumos/itemCompra.js +5 -0
  28. package/dist/base/@types/models/insumos/itemCompra.js.map +1 -0
  29. package/dist/base/assets/styles/init.css +1 -1
  30. package/dist/base/configs/endpoints.config/dm/config/frete.js +1 -1
  31. package/dist/base/configs/endpoints.config/dm/config/frete.js.map +1 -1
  32. package/dist/base/configs/endpoints.config/insumos/config/itemCompra.js +10 -6
  33. package/dist/base/configs/endpoints.config/insumos/config/itemCompra.js.map +1 -1
  34. package/dist/base/hooks/dm/frete/useFindFreteByUniqueList.js +26 -0
  35. package/dist/base/hooks/dm/frete/useFindFreteByUniqueList.js.map +1 -0
  36. package/dist/base/hooks/index.js +26 -26
  37. package/dist/base/index.js +57 -57
  38. package/dist/base/services/index.js +22 -22
  39. package/dist/base/services/modules/dm/frete/FreteService.js +16 -14
  40. package/dist/base/services/modules/dm/frete/FreteService.js.map +1 -1
  41. package/dist/base/services/modules/dm/index.js +17 -17
  42. package/dist/base/services/modules/index.js +25 -25
  43. package/dist/base/services/modules/insumos/itemCompra/ItemCompraService.js +68 -0
  44. package/dist/base/services/modules/insumos/itemCompra/ItemCompraService.js.map +1 -0
  45. package/dist/base/utils/colorClassName/badge.js +11 -1
  46. package/dist/base/utils/colorClassName/badge.js.map +1 -1
  47. package/dist/base/utils/functions/stringUtils.js +13 -3
  48. package/dist/base/utils/functions/stringUtils.js.map +1 -1
  49. package/lib/base/@types/models/insumos/compra.ts +16 -4
  50. package/lib/base/@types/models/insumos/itemCompra.ts +32 -0
  51. package/lib/base/configs/endpoints.config/dm/config/frete.ts +1 -1
  52. package/lib/base/configs/endpoints.config/insumos/config/itemCompra.ts +8 -4
  53. package/lib/base/hooks/dm/frete/useFindFreteByUniqueList.tsx +29 -0
  54. package/lib/base/hooks/index.ts +1 -1
  55. package/lib/base/services/modules/dm/frete/FreteService.ts +8 -3
  56. package/lib/base/services/modules/insumos/itemCompra/ItemCompraService.ts +68 -0
  57. package/lib/base/utils/colorClassName/badge.ts +10 -0
  58. package/lib/base/utils/functions/stringUtils.ts +10 -0
  59. package/package.json +1 -1
  60. package/dist/@types/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.d.ts.map +0 -1
  61. package/dist/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.js +0 -28
  62. package/dist/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.js.map +0 -1
  63. package/lib/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.tsx +0 -33
@@ -42,7 +42,17 @@ const e = {
42
42
  A: "bg-yellow-50 text-yellow-600 whitespace-nowrap",
43
43
  B: "bg-indigo-50 text-indigo-600 whitespace-nowrap",
44
44
  C: "bg-blue-50 text-blue-600 whitespace-nowrap",
45
- D: "bg-red-50 text-red-500 whitespace-nowrap"
45
+ D: "bg-red-50 text-red-500 whitespace-nowrap",
46
+ // Insumos - Compras
47
+ LIBERADO: "bg-green-50 text-green-600 whitespace-nowrap",
48
+ REJEITADO: "bg-red-50 text-red-500 whitespace-nowrap",
49
+ BONIFICACAO: "bg-purple-50 text-purple-600 whitespace-nowrap",
50
+ EFETIVA: "bg-blue-50 text-blue-600 whitespace-nowrap",
51
+ VIRTUAL: "bg-cyan-50 text-cyan-600 whitespace-nowrap",
52
+ EFETIVA_AO_CLIENTE: "bg-indigo-50 text-indigo-600 whitespace-nowrap",
53
+ VIRTUAL_AO_CLIENTE: "bg-teal-50 text-teal-600 whitespace-nowrap",
54
+ A_VISTA: "bg-green-50 text-green-600 whitespace-nowrap",
55
+ A_PRAZO: "bg-orange-50 text-orange-600 whitespace-nowrap"
46
56
  };
47
57
  export {
48
58
  e as statusBadgeClasses
@@ -1 +1 @@
1
- {"version":3,"file":"badge.js","sources":["../../../../lib/base/utils/colorClassName/badge.ts"],"sourcesContent":["/**\n * Mapeia cada status técnico para uma combinação de classes CSS utilizadas no componente <Badge/>.\n *\n * Este dicionário define o estilo visual (cores de fundo e texto) associado a cada status do sistema,\n * permitindo uma apresentação visual coerente e padronizada para cada situação.\n *\n * Exemplo de uso:\n * ```tsx\n * const className = statusBadgeClasses[status] || \"bg-gray-100 text-gray-500\";\n * ```\n *\n * @constant\n * @type {Record<string, string>}\n */\nexport const statusBadgeClasses: Record<string, string> = {\n AGUARDANDO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n AGUARDANDO_APROVACAO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n AGUARDANDO_BOLETO: 'bg-red-50 text-red-500 whitespace-nowrap',\n AGUARDANDO_RECEPCAO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n AGUARDANDO_VINCULO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n APROVADA: \"bg-green-50 text-green-600 whitespace-nowrap\",\n APROVADO: \"bg-green-50 text-green-600 whitespace-nowrap\",\n ATENCAO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n CANCELADA: \"bg-red-50 text-red-500 whitespace-nowrap\",\n CANCELADO: \"bg-red-50 text-red-500 whitespace-nowrap\",\n COMPLETO: 'bg-green-50 text-green-600 whitespace-nowrap',\n CONCLUIDA: \"bg-green-50 text-green-600 whitespace-nowrap\",\n CONCLUIDO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n EM_PROCESSAMENTO: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n ENTREGUE: 'bg-green-50 text-green-600 whitespace-nowrap',\n ERRO: 'bg-red-50 text-red-500 whitespace-nowrap',\n ERRO_INTEGRACAO: 'bg-red-50 text-red-500 whitespace-nowrap',\n ESTORNADO: 'bg-red-50 text-red-500 whitespace-nowrap',\n NOVA: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n NOVO: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n PARCIALMENTE_UTILIZADO: \"bg-orange-50 text-orange-600 whitespace-nowrap\",\n PAUSADO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n RECEBIDO: \"bg-green-50 text-green-500 whitespace-nowrap\",\n REPROVADA: \"bg-red-50 text-red-500 whitespace-nowrap\",\n REPROVADO: \"bg-red-50 text-red-500 whitespace-nowrap\",\n VINCULADO: \"bg-green-50 text-green-500 whitespace-nowrap\",\n FINALIZADO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n // Status de Integração\n PENDENTE: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n PROCESSANDO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n ENVIADO_SAP: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n ENVIADO: \"bg-green-50 text-green-600 whitespace-nowrap\",\n PROCESSANDO_SAP: \"bg-purple-50 text-purple-600 whitespace-nowrap\",\n NAO_PROCESSADO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n EM_ANDAMENTO: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n // Tipo de Envio\n FISICO: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n FISICA: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n DIGITAL: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n // Status do SAP\n A: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n B: 'bg-indigo-50 text-indigo-600 whitespace-nowrap',\n C: 'bg-blue-50 text-blue-600 whitespace-nowrap',\n D: 'bg-red-50 text-red-500 whitespace-nowrap',\n};\n"],"names":["statusBadgeClasses"],"mappings":"AAcO,MAAMA,IAA6C;AAAA,EACxD,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,wBAAwB;AAAA,EACxB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA;AAAA,EAEZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,cAAc;AAAA;AAAA,EAEd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA;AAAA,EAET,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;"}
1
+ {"version":3,"file":"badge.js","sources":["../../../../lib/base/utils/colorClassName/badge.ts"],"sourcesContent":["/**\n * Mapeia cada status técnico para uma combinação de classes CSS utilizadas no componente <Badge/>.\n *\n * Este dicionário define o estilo visual (cores de fundo e texto) associado a cada status do sistema,\n * permitindo uma apresentação visual coerente e padronizada para cada situação.\n *\n * Exemplo de uso:\n * ```tsx\n * const className = statusBadgeClasses[status] || \"bg-gray-100 text-gray-500\";\n * ```\n *\n * @constant\n * @type {Record<string, string>}\n */\nexport const statusBadgeClasses: Record<string, string> = {\n AGUARDANDO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n AGUARDANDO_APROVACAO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n AGUARDANDO_BOLETO: 'bg-red-50 text-red-500 whitespace-nowrap',\n AGUARDANDO_RECEPCAO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n AGUARDANDO_VINCULO: \"bg-yellow-50 text-yellow-600 whitespace-nowrap\",\n APROVADA: \"bg-green-50 text-green-600 whitespace-nowrap\",\n APROVADO: \"bg-green-50 text-green-600 whitespace-nowrap\",\n ATENCAO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n CANCELADA: \"bg-red-50 text-red-500 whitespace-nowrap\",\n CANCELADO: \"bg-red-50 text-red-500 whitespace-nowrap\",\n COMPLETO: 'bg-green-50 text-green-600 whitespace-nowrap',\n CONCLUIDA: \"bg-green-50 text-green-600 whitespace-nowrap\",\n CONCLUIDO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n EM_PROCESSAMENTO: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n ENTREGUE: 'bg-green-50 text-green-600 whitespace-nowrap',\n ERRO: 'bg-red-50 text-red-500 whitespace-nowrap',\n ERRO_INTEGRACAO: 'bg-red-50 text-red-500 whitespace-nowrap',\n ESTORNADO: 'bg-red-50 text-red-500 whitespace-nowrap',\n NOVA: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n NOVO: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n PARCIALMENTE_UTILIZADO: \"bg-orange-50 text-orange-600 whitespace-nowrap\",\n PAUSADO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n RECEBIDO: \"bg-green-50 text-green-500 whitespace-nowrap\",\n REPROVADA: \"bg-red-50 text-red-500 whitespace-nowrap\",\n REPROVADO: \"bg-red-50 text-red-500 whitespace-nowrap\",\n VINCULADO: \"bg-green-50 text-green-500 whitespace-nowrap\",\n FINALIZADO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n // Status de Integração\n PENDENTE: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n PROCESSANDO: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n ENVIADO_SAP: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n ENVIADO: \"bg-green-50 text-green-600 whitespace-nowrap\",\n PROCESSANDO_SAP: \"bg-purple-50 text-purple-600 whitespace-nowrap\",\n NAO_PROCESSADO: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n EM_ANDAMENTO: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n // Tipo de Envio\n FISICO: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n FISICA: \"bg-gray-50 text-gray-600 whitespace-nowrap\",\n DIGITAL: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n // Status do SAP\n A: 'bg-yellow-50 text-yellow-600 whitespace-nowrap',\n B: 'bg-indigo-50 text-indigo-600 whitespace-nowrap',\n C: 'bg-blue-50 text-blue-600 whitespace-nowrap',\n D: 'bg-red-50 text-red-500 whitespace-nowrap',\n // Insumos - Compras\n LIBERADO: \"bg-green-50 text-green-600 whitespace-nowrap\",\n REJEITADO: \"bg-red-50 text-red-500 whitespace-nowrap\",\n BONIFICACAO: \"bg-purple-50 text-purple-600 whitespace-nowrap\",\n EFETIVA: \"bg-blue-50 text-blue-600 whitespace-nowrap\",\n VIRTUAL: \"bg-cyan-50 text-cyan-600 whitespace-nowrap\",\n EFETIVA_AO_CLIENTE: \"bg-indigo-50 text-indigo-600 whitespace-nowrap\",\n VIRTUAL_AO_CLIENTE: \"bg-teal-50 text-teal-600 whitespace-nowrap\",\n A_VISTA: \"bg-green-50 text-green-600 whitespace-nowrap\",\n A_PRAZO: \"bg-orange-50 text-orange-600 whitespace-nowrap\",\n};\n"],"names":["statusBadgeClasses"],"mappings":"AAcO,MAAMA,IAA6C;AAAA,EACxD,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AAAA,EACX,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,MAAM;AAAA,EACN,MAAM;AAAA,EACN,wBAAwB;AAAA,EACxB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,WAAW;AAAA,EACX,WAAW;AAAA,EACX,WAAW;AAAA,EACX,YAAY;AAAA;AAAA,EAEZ,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,cAAc;AAAA;AAAA,EAEd,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AAAA;AAAA,EAET,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA;AAAA,EAEH,UAAU;AAAA,EACV,WAAW;AAAA,EACX,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,SAAS;AACX;"}
@@ -59,14 +59,24 @@ const d = [
59
59
  { status: "A", statusFormatado: "Não Processado" },
60
60
  { status: "B", statusFormatado: "Em Andamento" },
61
61
  { status: "C", statusFormatado: "Concluído" },
62
- { status: "D", statusFormatado: "Cancelado" }
62
+ { status: "D", statusFormatado: "Cancelado" },
63
+ // Insumos - Compras
64
+ { status: "LIBERADO", statusFormatado: "Liberado" },
65
+ { status: "REJEITADO", statusFormatado: "Rejeitado" },
66
+ { status: "BONIFICACAO", statusFormatado: "Bonificação" },
67
+ { status: "EFETIVA", statusFormatado: "Efetiva" },
68
+ { status: "VIRTUAL", statusFormatado: "Virtual" },
69
+ { status: "EFETIVA_AO_CLIENTE", statusFormatado: "Efetiva ao Cliente" },
70
+ { status: "VIRTUAL_AO_CLIENTE", statusFormatado: "Virtual ao Cliente" },
71
+ { status: "A_VISTA", statusFormatado: "À Vista" },
72
+ { status: "A_PRAZO", statusFormatado: "A Prazo" }
63
73
  ];
64
- function m(t) {
74
+ function r(t) {
65
75
  const a = d.find((o) => o.status === t);
66
76
  return a ? a.statusFormatado : t;
67
77
  }
68
78
  export {
69
79
  A as extrairMensagemErro,
70
- m as formataStatus
80
+ r as formataStatus
71
81
  };
72
82
  //# sourceMappingURL=stringUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stringUtils.js","sources":["../../../../lib/base/utils/functions/stringUtils.ts"],"sourcesContent":["/**\n * Representa uma estrutura genérica de erro que pode ser retornada por APIs ou capturada em blocos try/catch.\n */\ntype ErroGenerico = {\n response?: {\n data?: {\n detail?: string;\n message?: string;\n };\n };\n mensagem?: string | { detail?: string };\n message?: string;\n error?: string;\n data?: {\n message?: string;\n } | string;\n};\n\n/**\n * Extrai uma mensagem de erro legível a partir de um objeto de erro genérico.\n * \n * A função tenta encontrar uma mensagem de erro válida a partir de múltiplas\n * estruturas comuns, como:\n * - `response.data.detail`\n * - `mensagem` (string ou objeto com `detail`)\n * - `message`\n * - `error`\n * - `data` (string ou objeto com `message`)\n * \n * Se nenhuma mensagem válida for encontrada, retorna \"Erro Inesperado\".\n *\n * @param {ErroGenerico | string} error - Objeto de erro genérico ou uma string diretamente.\n * @returns {string} Uma mensagem de erro sanitizada e legível.\n *\n * @example\n * extrairMensagemErro(\"Erro direto\"); // \"Erro direto\"\n * @example\n * extrairMensagemErro({ message: \"Falha na operação\" }); // \"Falha na operação\"\n * @example\n * extrairMensagemErro({ response: { data: { detail: \"Recurso não encontrado\" } } }); // \"Recurso não encontrado\"\n * @example\n * extrairMensagemErro({ data: \"Erro simples\" }); // \"Erro simples\"\n * @example\n * extrairMensagemErro({}); // \"Erro Inesperado\"\n */\nexport function extrairMensagemErro(error: ErroGenerico | string): string {\n const textoValido = (texto?: unknown): string =>\n typeof texto === \"string\" && texto.trim() ? texto.trim() : \"\";\n\n if (typeof error === \"string\") return textoValido(error) || \"Erro Inesperado\";\n\n const fontesDeMensagem = [\n error?.response?.data?.detail,\n error?.response?.data?.message,\n typeof error?.mensagem === \"object\" ? error.mensagem?.detail : error?.mensagem,\n error?.message,\n error?.error,\n typeof error?.data === \"string\" ? error.data : error?.data?.message,\n ];\n\n for (const fonte of fontesDeMensagem) {\n const msg = textoValido(fonte);\n if (msg) return msg;\n }\n\n return \"Erro Inesperado\";\n}\n\n/**\n * Dicionário com status e suas respectivas versões formatadas.\n */\ntype DicionarioStatus = {\n /** Status original em formato técnico (ex: 'AGUARDANDO_APROVACAO') */\n status: string\n /** Status formatado para exibição (ex: 'Aguardando aprovação') */\n statusFormatado: string\n};\n\nconst statusList: DicionarioStatus[] = [\n { status: 'AGUARDANDO', statusFormatado: 'Aguardando' },\n { status: 'AGUARDANDO_APROVACAO', statusFormatado: 'Aguardando aprovação' },\n { status: 'AGUARDANDO_BOLETO', statusFormatado: 'Aguardando boleto' },\n { status: 'AGUARDANDO_RECEPCAO', statusFormatado: 'Aguardando recepção' },\n { status: 'AGUARDANDO_VINCULO', statusFormatado: 'Aguardando vínculo' },\n { status: 'APROVADA', statusFormatado: 'Aprovada' },\n { status: 'APROVADO', statusFormatado: 'Aprovado' },\n { status: 'ATENCAO', statusFormatado: 'Atenção' },\n { status: 'CANCELADA', statusFormatado: 'Cancelada' },\n { status: 'CANCELADO', statusFormatado: 'Cancelado' },\n { status: 'COMPLETO', statusFormatado: 'Completo' },\n { status: 'CONCLUIDA', statusFormatado: 'Concluída' },\n { status: 'CONCLUIDO', statusFormatado: 'Concluído' },\n { status: 'EM_PROCESSAMENTO', statusFormatado: 'Em processamento' },\n { status: 'ENTREGUE', statusFormatado: 'Entregue' },\n { status: 'ERRO', statusFormatado: 'Erro' },\n { status: 'ERRO_INTEGRACAO', statusFormatado: 'Erro de integração' },\n { status: 'ESTORNADO', statusFormatado: 'Estornado' },\n { status: 'NOVA', statusFormatado: 'Nova' },\n { status: 'NOVO', statusFormatado: 'Novo' },\n { status: 'PARCIALMENTE_UTILIZADO', statusFormatado: 'Parcialmente utilizado' },\n { status: 'PAUSADO', statusFormatado: 'Pausado' },\n { status: 'RECEBIDO', statusFormatado: 'Recebido' },\n { status: 'REPROVADA', statusFormatado: 'Reprovada' },\n { status: 'REPROVADO', statusFormatado: 'Reprovado' },\n { status: 'VINCULADO', statusFormatado: 'Vinculado' },\n { status: 'FINALIZADO', statusFormatado: 'Finalizado' },\n // Status de Integração\n { status: 'PENDENTE', statusFormatado: 'Pendente' },\n { status: 'PROCESSANDO', statusFormatado: 'Processando' },\n { status: 'ENVIADO_SAP', statusFormatado: 'Enviado SAP' },\n { status: 'ENVIADO', statusFormatado: 'Enviado' },\n { status: 'PROCESSANDO_SAP', statusFormatado: 'Processando SAP' },\n { status: 'NAO_PROCESSADO', statusFormatado: 'Não Processado' },\n { status: 'EM_ANDAMENTO', statusFormatado: 'Em Andamento' },\n // Tipo de Envio\n { status: 'FISICO', statusFormatado: 'Físico' },\n { status: 'FISICA', statusFormatado: 'Física' },\n { status: 'DIGITAL', statusFormatado: 'Digital' },\n // Status do SAP\n { status: 'A', statusFormatado: 'Não Processado' },\n { status: 'B', statusFormatado: 'Em Andamento' },\n { status: 'C', statusFormatado: 'Concluído' },\n { status: 'D', statusFormatado: 'Cancelado' },\n];\n\n/**\n * Retorna o status formatado com base em um valor técnico.\n *\n * @param {string} status - O status técnico (ex: 'AGUARDANDO_APROVACAO').\n * @returns {string} O status formatado para exibição (ex: 'Aguardando aprovação').\n * Se não encontrado, retorna o status original.\n */\nexport function formataStatus(status: string): string {\n const item = statusList.find(s => s.status === status)\n return item ? item.statusFormatado : status\n}"],"names":["extrairMensagemErro","error","textoValido","texto","fontesDeMensagem","fonte","msg","statusList","formataStatus","status","item","s"],"mappings":"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"}
1
+ {"version":3,"file":"stringUtils.js","sources":["../../../../lib/base/utils/functions/stringUtils.ts"],"sourcesContent":["/**\n * Representa uma estrutura genérica de erro que pode ser retornada por APIs ou capturada em blocos try/catch.\n */\ntype ErroGenerico = {\n response?: {\n data?: {\n detail?: string;\n message?: string;\n };\n };\n mensagem?: string | { detail?: string };\n message?: string;\n error?: string;\n data?: {\n message?: string;\n } | string;\n};\n\n/**\n * Extrai uma mensagem de erro legível a partir de um objeto de erro genérico.\n * \n * A função tenta encontrar uma mensagem de erro válida a partir de múltiplas\n * estruturas comuns, como:\n * - `response.data.detail`\n * - `mensagem` (string ou objeto com `detail`)\n * - `message`\n * - `error`\n * - `data` (string ou objeto com `message`)\n * \n * Se nenhuma mensagem válida for encontrada, retorna \"Erro Inesperado\".\n *\n * @param {ErroGenerico | string} error - Objeto de erro genérico ou uma string diretamente.\n * @returns {string} Uma mensagem de erro sanitizada e legível.\n *\n * @example\n * extrairMensagemErro(\"Erro direto\"); // \"Erro direto\"\n * @example\n * extrairMensagemErro({ message: \"Falha na operação\" }); // \"Falha na operação\"\n * @example\n * extrairMensagemErro({ response: { data: { detail: \"Recurso não encontrado\" } } }); // \"Recurso não encontrado\"\n * @example\n * extrairMensagemErro({ data: \"Erro simples\" }); // \"Erro simples\"\n * @example\n * extrairMensagemErro({}); // \"Erro Inesperado\"\n */\nexport function extrairMensagemErro(error: ErroGenerico | string): string {\n const textoValido = (texto?: unknown): string =>\n typeof texto === \"string\" && texto.trim() ? texto.trim() : \"\";\n\n if (typeof error === \"string\") return textoValido(error) || \"Erro Inesperado\";\n\n const fontesDeMensagem = [\n error?.response?.data?.detail,\n error?.response?.data?.message,\n typeof error?.mensagem === \"object\" ? error.mensagem?.detail : error?.mensagem,\n error?.message,\n error?.error,\n typeof error?.data === \"string\" ? error.data : error?.data?.message,\n ];\n\n for (const fonte of fontesDeMensagem) {\n const msg = textoValido(fonte);\n if (msg) return msg;\n }\n\n return \"Erro Inesperado\";\n}\n\n/**\n * Dicionário com status e suas respectivas versões formatadas.\n */\ntype DicionarioStatus = {\n /** Status original em formato técnico (ex: 'AGUARDANDO_APROVACAO') */\n status: string\n /** Status formatado para exibição (ex: 'Aguardando aprovação') */\n statusFormatado: string\n};\n\nconst statusList: DicionarioStatus[] = [\n { status: 'AGUARDANDO', statusFormatado: 'Aguardando' },\n { status: 'AGUARDANDO_APROVACAO', statusFormatado: 'Aguardando aprovação' },\n { status: 'AGUARDANDO_BOLETO', statusFormatado: 'Aguardando boleto' },\n { status: 'AGUARDANDO_RECEPCAO', statusFormatado: 'Aguardando recepção' },\n { status: 'AGUARDANDO_VINCULO', statusFormatado: 'Aguardando vínculo' },\n { status: 'APROVADA', statusFormatado: 'Aprovada' },\n { status: 'APROVADO', statusFormatado: 'Aprovado' },\n { status: 'ATENCAO', statusFormatado: 'Atenção' },\n { status: 'CANCELADA', statusFormatado: 'Cancelada' },\n { status: 'CANCELADO', statusFormatado: 'Cancelado' },\n { status: 'COMPLETO', statusFormatado: 'Completo' },\n { status: 'CONCLUIDA', statusFormatado: 'Concluída' },\n { status: 'CONCLUIDO', statusFormatado: 'Concluído' },\n { status: 'EM_PROCESSAMENTO', statusFormatado: 'Em processamento' },\n { status: 'ENTREGUE', statusFormatado: 'Entregue' },\n { status: 'ERRO', statusFormatado: 'Erro' },\n { status: 'ERRO_INTEGRACAO', statusFormatado: 'Erro de integração' },\n { status: 'ESTORNADO', statusFormatado: 'Estornado' },\n { status: 'NOVA', statusFormatado: 'Nova' },\n { status: 'NOVO', statusFormatado: 'Novo' },\n { status: 'PARCIALMENTE_UTILIZADO', statusFormatado: 'Parcialmente utilizado' },\n { status: 'PAUSADO', statusFormatado: 'Pausado' },\n { status: 'RECEBIDO', statusFormatado: 'Recebido' },\n { status: 'REPROVADA', statusFormatado: 'Reprovada' },\n { status: 'REPROVADO', statusFormatado: 'Reprovado' },\n { status: 'VINCULADO', statusFormatado: 'Vinculado' },\n { status: 'FINALIZADO', statusFormatado: 'Finalizado' },\n // Status de Integração\n { status: 'PENDENTE', statusFormatado: 'Pendente' },\n { status: 'PROCESSANDO', statusFormatado: 'Processando' },\n { status: 'ENVIADO_SAP', statusFormatado: 'Enviado SAP' },\n { status: 'ENVIADO', statusFormatado: 'Enviado' },\n { status: 'PROCESSANDO_SAP', statusFormatado: 'Processando SAP' },\n { status: 'NAO_PROCESSADO', statusFormatado: 'Não Processado' },\n { status: 'EM_ANDAMENTO', statusFormatado: 'Em Andamento' },\n // Tipo de Envio\n { status: 'FISICO', statusFormatado: 'Físico' },\n { status: 'FISICA', statusFormatado: 'Física' },\n { status: 'DIGITAL', statusFormatado: 'Digital' },\n // Status do SAP\n { status: 'A', statusFormatado: 'Não Processado' },\n { status: 'B', statusFormatado: 'Em Andamento' },\n { status: 'C', statusFormatado: 'Concluído' },\n { status: 'D', statusFormatado: 'Cancelado' },\n // Insumos - Compras\n { status: 'LIBERADO', statusFormatado: 'Liberado' },\n { status: 'REJEITADO', statusFormatado: 'Rejeitado' },\n { status: 'BONIFICACAO', statusFormatado: 'Bonificação' },\n { status: 'EFETIVA', statusFormatado: 'Efetiva' },\n { status: 'VIRTUAL', statusFormatado: 'Virtual' },\n { status: 'EFETIVA_AO_CLIENTE', statusFormatado: 'Efetiva ao Cliente' },\n { status: 'VIRTUAL_AO_CLIENTE', statusFormatado: 'Virtual ao Cliente' },\n { status: 'A_VISTA', statusFormatado: 'À Vista' },\n { status: 'A_PRAZO', statusFormatado: 'A Prazo' },\n];\n\n/**\n * Retorna o status formatado com base em um valor técnico.\n *\n * @param {string} status - O status técnico (ex: 'AGUARDANDO_APROVACAO').\n * @returns {string} O status formatado para exibição (ex: 'Aguardando aprovação').\n * Se não encontrado, retorna o status original.\n */\nexport function formataStatus(status: string): string {\n const item = statusList.find(s => s.status === status)\n return item ? item.statusFormatado : status\n}"],"names":["extrairMensagemErro","error","textoValido","texto","fontesDeMensagem","fonte","msg","statusList","formataStatus","status","item","s"],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ export enum StatusCompra {
2
+ EM_PROCESSAMENTO = 'EM_PROCESSAMENTO',
3
+ CANCELADO = 'CANCELADO',
4
+ CONCLUIDO = 'CONCLUIDO'
5
+ }
6
+
1
7
  export enum StatusLiberacao {
2
8
  PENDENTE = 'PENDENTE',
3
9
  LIBERADO = 'LIBERADO',
@@ -22,10 +28,16 @@ export type TCompraColumnDef = {
22
28
  dataCriacao: string
23
29
  usuarioCriacaoId: number
24
30
  usuarioCriacaoNome: string
25
- produtoId: number
26
- codigoProduto: string
27
- descricaoProduto: string
28
- quantidade: number
31
+ fornecedorId?: number
32
+ fornecedorBusinessPartner?: string
33
+ fornecedorNomeCompleto?: string
34
+ numeroPedido?: string
35
+ safraId?: number
36
+ safra?: string
37
+ statusCompra?: StatusCompra | string
38
+ statusLiberacao?: StatusLiberacao | string
39
+ tipoPagamento?: TipoPagamento | string
40
+ tipoCompra?: TipoCompra | string
29
41
  }
30
42
 
31
43
  export type TCompra = {
@@ -0,0 +1,32 @@
1
+ export enum StatusCompra {
2
+ EM_PROCESSAMENTO = 'EM_PROCESSAMENTO',
3
+ CANCELADO = 'CANCELADO',
4
+ CONCLUIDO = 'CONCLUIDO'
5
+ }
6
+
7
+ export type TItemCompraColumnDef = {
8
+ id: number
9
+ dataCriacao: string
10
+ usuarioCriacaoId: number
11
+ usuarioCriacaoNome: string
12
+ produtoId: number
13
+ codigoProduto: string
14
+ descricaoProduto: string
15
+ quantidade: number
16
+ compraId?: number
17
+ disponivelVenda?: boolean
18
+ statusItemCompra?: StatusCompra | string
19
+ }
20
+
21
+ export type TItemCompra = {
22
+ produtoId: number
23
+ quantidade: number
24
+ quantidadeInicial?: number
25
+ quantidadeAConsumir?: number
26
+ precoFornecedor?: number
27
+ precoVenda?: number
28
+ precoCereal?: number
29
+ disponivelVenda?: boolean
30
+ motivo?: string
31
+ statusItemCompra?: StatusCompra | string
32
+ }
@@ -2,7 +2,7 @@ const FRETE_BASE_URL = '/dados-mestres/api/dm/frete'
2
2
 
3
3
  const frete = {
4
4
  find: { endpoint: `${FRETE_BASE_URL}/find`, method: 'get' },
5
- findFreteByOrganizacaoVendas: { endpoint: `${FRETE_BASE_URL}/find/`, method: 'get' },
5
+ findFreteByUnique: { endpoint: `${FRETE_BASE_URL}/find-frete`, method: 'post' },
6
6
  }
7
7
 
8
8
  export default frete
@@ -1,10 +1,14 @@
1
1
  const ITEM_COMPRA_BASE_URL = '/insumos/api/insumos/item-compra'
2
2
 
3
3
  const itemCompra = {
4
- findAll: { endpoint: `${ITEM_COMPRA_BASE_URL}`, method: 'get' },
5
- disponibilizar: { endpoint: `${ITEM_COMPRA_BASE_URL}/disponibilizar`, method: 'put' },
6
- indisponibilizar: { endpoint: `${ITEM_COMPRA_BASE_URL}/indisponibilizar`, method: 'put' },
7
- cancelar: { endpoint: `${ITEM_COMPRA_BASE_URL}/cancelar`, method: 'put' },
4
+ findOne: { endpoint: `${ITEM_COMPRA_BASE_URL}/`, method: 'get' },
5
+ add: { endpoint: `${ITEM_COMPRA_BASE_URL}`, method: 'post' },
6
+ update: { endpoint: `${ITEM_COMPRA_BASE_URL}`, method: 'put' },
7
+ delete: { endpoint: `${ITEM_COMPRA_BASE_URL}/`, method: 'delete' },
8
+ findMonitor: { endpoint: `${ITEM_COMPRA_BASE_URL}/find-monitor`, method: 'post' },
9
+ disponibilizar: { endpoint: `${ITEM_COMPRA_BASE_URL}/disponibilizar/`, method: 'post' },
10
+ indisponibilizar: { endpoint: `${ITEM_COMPRA_BASE_URL}/indisponibilizar/`, method: 'post' },
11
+ cancelar: { endpoint: `${ITEM_COMPRA_BASE_URL}/cancelar/`, method: 'post' },
8
12
  }
9
13
 
10
14
  export default itemCompra
@@ -0,0 +1,29 @@
1
+ import { apiFindDmFreteByUnique } from '@base/services';
2
+ import { useFreteListStore } from '@base/store/dm/frete/freteListStore';
3
+ import useSWR from 'swr';
4
+
5
+ export default function useFindFreteByUniqueList() {
6
+ const { tableParams, filterParams, setTableParams, setFilterParams } = useFreteListStore((state) => state)
7
+
8
+ const swrKey = ["/api/dm/frete/find-frete", filterParams];
9
+
10
+ const { data, error, isLoading, mutate } = useSWR(
11
+ swrKey,
12
+ () => apiFindDmFreteByUnique(filterParams),
13
+ { revalidateOnFocus: false }
14
+ );
15
+
16
+ const fretesByOrganizacaoVendasList = data || []
17
+
18
+ return {
19
+ data,
20
+ fretesByOrganizacaoVendasList,
21
+ error,
22
+ isLoading,
23
+ tableParams,
24
+ filterParams,
25
+ mutate,
26
+ setTableParams,
27
+ setFilterParams,
28
+ }
29
+ }
@@ -28,7 +28,7 @@ export { default as useEscritorioVendaByCodigoList } from './dm/escritorioVenda/
28
28
  export { default as useEscritorioVendaList } from './dm/escritorioVenda/useEscritorioVendaList';
29
29
  export { default as useFormaPagamentoByCodigoList } from './dm/formaPagamento/useFormaPagamentoByCodigoList';
30
30
  export { default as useFormaPagamentoList } from './dm/formaPagamento/useFormaPagamentoList';
31
- export { default as useFreteByOrganizacaoVendasList } from './dm/frete/useEquipeVendaByOrganizacaoVendasList';
31
+ export { default as useFindFreteByUniqueList } from './dm/frete/useFindFreteByUniqueList';
32
32
  export { default as useGrupoVendaByCodigoList } from './dm/grupoVenda/useGrupoVendaByCodigoList';
33
33
  export { default as useGrupoVendaList } from './dm/grupoVenda/useGrupoVendaList';
34
34
  export { default as useIncotermsList } from './dm/incoterms/useIncotermsList';
@@ -1,4 +1,5 @@
1
1
  import ApiService from "@/services/ApiService";
2
+ import { IFilterParams } from "@base/@types";
2
3
  import { TFrete } from "@base/@types/models/dm/frete";
3
4
  import { endpointsConfig } from "@base/configs";
4
5
 
@@ -12,9 +13,13 @@ export async function apiFindDmFrete(data = {}) {
12
13
  })
13
14
  }
14
15
 
15
- export async function apiFindDmFreteByOrganizacaoVendas(organizacaoVendas: string, incoterms: string) {
16
+ export async function apiFindDmFreteByUnique(body?: IFilterParams) {
17
+ if (!body || Object.keys(body).length === 0) {
18
+ return undefined
19
+ }
16
20
  return ApiService.fetchDataWithAxios<TFrete>({
17
- url: FRETE_ENDPOINT.findFreteByOrganizacaoVendas.endpoint + `${organizacaoVendas}/` + `${incoterms}`,
18
- method: FRETE_ENDPOINT.findFreteByOrganizacaoVendas.method,
21
+ url: FRETE_ENDPOINT.findFreteByUnique.endpoint,
22
+ method: FRETE_ENDPOINT.findFreteByUnique.method,
23
+ data: body,
19
24
  })
20
25
  }
@@ -0,0 +1,68 @@
1
+ import ApiService from "@/services/ApiService";
2
+ import { IFilterParams, TQueryResponse } from "@base/@types/api";
3
+ import { TItemCompra } from "@base/@types/models/insumos/itemCompra";
4
+ import endpointConfig from "@base/configs/endpoints.config/endpoints.navigation";
5
+
6
+ const ITEM_COMPRA_ENDPOINT = endpointConfig.insumos.itemCompra;
7
+
8
+ export async function apiGetInsumosItemCompra(id: number) {
9
+ return ApiService.fetchDataWithAxios<TItemCompra>({
10
+ url: ITEM_COMPRA_ENDPOINT.findOne.endpoint + `${id}`,
11
+ method: ITEM_COMPRA_ENDPOINT.findOne.method,
12
+ })
13
+ }
14
+
15
+ export async function apiAddInsumosItemCompra(body: TItemCompra) {
16
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
17
+ url: ITEM_COMPRA_ENDPOINT.add.endpoint,
18
+ method: ITEM_COMPRA_ENDPOINT.add.method,
19
+ data: body,
20
+ })
21
+ }
22
+
23
+ export async function apiUpdateInsumosItemCompra(body: TItemCompra) {
24
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
25
+ url: ITEM_COMPRA_ENDPOINT.update.endpoint,
26
+ method: ITEM_COMPRA_ENDPOINT.update.method,
27
+ data: body,
28
+ })
29
+ }
30
+
31
+ export async function apiDeleteInsumosItemCompra(id: number) {
32
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
33
+ url: ITEM_COMPRA_ENDPOINT.delete.endpoint + `${id}`,
34
+ method: ITEM_COMPRA_ENDPOINT.delete.method,
35
+ })
36
+ }
37
+
38
+ export async function apiDisponibilizarInsumosItemCompra(id: number, motivo: string) {
39
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
40
+ url: ITEM_COMPRA_ENDPOINT.disponibilizar.endpoint + `${id}`,
41
+ method: ITEM_COMPRA_ENDPOINT.disponibilizar.method,
42
+ data: { motivo: motivo }
43
+ })
44
+ }
45
+
46
+ export async function apiIndisponibilizarInsumosItemCompra(id: number, motivo: string) {
47
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
48
+ url: ITEM_COMPRA_ENDPOINT.indisponibilizar.endpoint + `${id}`,
49
+ method: ITEM_COMPRA_ENDPOINT.indisponibilizar.method,
50
+ data: { motivo: motivo }
51
+ })
52
+ }
53
+
54
+ export async function apiCancelarInsumosItemCompra(id: number, motivo: string) {
55
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
56
+ url: ITEM_COMPRA_ENDPOINT.cancelar.endpoint + `${id}`,
57
+ method: ITEM_COMPRA_ENDPOINT.cancelar.method,
58
+ data: { motivo: motivo }
59
+ })
60
+ }
61
+
62
+ export async function apiFindMonitorInsumosItemCompra(body?: IFilterParams) {
63
+ return ApiService.fetchDataWithAxios<TQueryResponse<TItemCompra>>({
64
+ url: ITEM_COMPRA_ENDPOINT.findMonitor.endpoint,
65
+ method: ITEM_COMPRA_ENDPOINT.findMonitor.method,
66
+ data: body,
67
+ })
68
+ }
@@ -57,4 +57,14 @@ export const statusBadgeClasses: Record<string, string> = {
57
57
  B: 'bg-indigo-50 text-indigo-600 whitespace-nowrap',
58
58
  C: 'bg-blue-50 text-blue-600 whitespace-nowrap',
59
59
  D: 'bg-red-50 text-red-500 whitespace-nowrap',
60
+ // Insumos - Compras
61
+ LIBERADO: "bg-green-50 text-green-600 whitespace-nowrap",
62
+ REJEITADO: "bg-red-50 text-red-500 whitespace-nowrap",
63
+ BONIFICACAO: "bg-purple-50 text-purple-600 whitespace-nowrap",
64
+ EFETIVA: "bg-blue-50 text-blue-600 whitespace-nowrap",
65
+ VIRTUAL: "bg-cyan-50 text-cyan-600 whitespace-nowrap",
66
+ EFETIVA_AO_CLIENTE: "bg-indigo-50 text-indigo-600 whitespace-nowrap",
67
+ VIRTUAL_AO_CLIENTE: "bg-teal-50 text-teal-600 whitespace-nowrap",
68
+ A_VISTA: "bg-green-50 text-green-600 whitespace-nowrap",
69
+ A_PRAZO: "bg-orange-50 text-orange-600 whitespace-nowrap",
60
70
  };
@@ -121,6 +121,16 @@ const statusList: DicionarioStatus[] = [
121
121
  { status: 'B', statusFormatado: 'Em Andamento' },
122
122
  { status: 'C', statusFormatado: 'Concluído' },
123
123
  { status: 'D', statusFormatado: 'Cancelado' },
124
+ // Insumos - Compras
125
+ { status: 'LIBERADO', statusFormatado: 'Liberado' },
126
+ { status: 'REJEITADO', statusFormatado: 'Rejeitado' },
127
+ { status: 'BONIFICACAO', statusFormatado: 'Bonificação' },
128
+ { status: 'EFETIVA', statusFormatado: 'Efetiva' },
129
+ { status: 'VIRTUAL', statusFormatado: 'Virtual' },
130
+ { status: 'EFETIVA_AO_CLIENTE', statusFormatado: 'Efetiva ao Cliente' },
131
+ { status: 'VIRTUAL_AO_CLIENTE', statusFormatado: 'Virtual ao Cliente' },
132
+ { status: 'A_VISTA', statusFormatado: 'À Vista' },
133
+ { status: 'A_PRAZO', statusFormatado: 'A Prazo' },
124
134
  ];
125
135
 
126
136
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbe-agro/client-core",
3
- "version": "5.3.221",
3
+ "version": "5.3.223",
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",
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEquipeVendaByOrganizacaoVendasList.d.ts","sourceRoot":"","sources":["../../../../../../lib/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,+BAA+B;;;;;;;;;;EA4BtD"}
@@ -1,28 +0,0 @@
1
- import "../../../services/index.js";
2
- import { useFreteListStore as l } from "../../../store/dm/frete/freteListStore.js";
3
- import u from "swr";
4
- import { apiFindDmFreteByOrganizacaoVendas as g } from "../../../services/modules/dm/frete/FreteService.js";
5
- function O() {
6
- const { tableParams: o, filterParams: a, setTableParams: n, setFilterParams: i } = l((t) => t), e = a?.organizacaoVendas, r = a?.incoterms, { data: s, error: m, isLoading: c, mutate: d } = u(
7
- e && r ? [`/api/dm/frete/find/${e}/${r}`, e, r] : null,
8
- ([, t, f]) => g(t, f),
9
- {
10
- revalidateOnFocus: !1
11
- }
12
- );
13
- return {
14
- data: s,
15
- fretesByOrganizacaoVendasList: s || [],
16
- error: m,
17
- isLoading: c,
18
- tableParams: o,
19
- filterParams: a,
20
- mutate: d,
21
- setTableParams: n,
22
- setFilterParams: i
23
- };
24
- }
25
- export {
26
- O as default
27
- };
28
- //# sourceMappingURL=useEquipeVendaByOrganizacaoVendasList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEquipeVendaByOrganizacaoVendasList.js","sources":["../../../../../lib/base/hooks/dm/frete/useEquipeVendaByOrganizacaoVendasList.tsx"],"sourcesContent":["import { apiFindDmFreteByOrganizacaoVendas } from '@base/services'\nimport { useFreteListStore } from '@base/store/dm/frete/freteListStore'\nimport useSWR from 'swr'\n\nexport default function useFreteByOrganizacaoVendasList() {\n const { tableParams, filterParams, setTableParams, setFilterParams } = useFreteListStore((state) => state)\n\n const organizacaoVendas = filterParams?.organizacaoVendas\n const incoterms = filterParams?.incoterms\n\n const { data, error, isLoading, mutate } = useSWR(\n organizacaoVendas && incoterms ? [`/api/dm/frete/find/${organizacaoVendas}/${incoterms}`, organizacaoVendas, incoterms] : null,\n\n ([, organizacaoVendas, incoterms]: [string, string, string]) => apiFindDmFreteByOrganizacaoVendas(organizacaoVendas, incoterms),\n {\n revalidateOnFocus: false,\n },\n )\n\n const fretesByOrganizacaoVendasList = data || []\n\n return {\n data,\n fretesByOrganizacaoVendasList,\n error,\n isLoading,\n tableParams,\n filterParams,\n mutate,\n setTableParams,\n setFilterParams,\n }\n}\n"],"names":["useFreteByOrganizacaoVendasList","tableParams","filterParams","setTableParams","setFilterParams","useFreteListStore","state","organizacaoVendas","incoterms","data","error","isLoading","mutate","useSWR","apiFindDmFreteByOrganizacaoVendas"],"mappings":";;;;AAIA,SAAwBA,IAAkC;AAChD,QAAA,EAAE,aAAAC,GAAa,cAAAC,GAAc,gBAAAC,GAAgB,iBAAAC,MAAoBC,EAAkB,CAACC,MAAUA,CAAK,GAEnGC,IAAoBL,GAAc,mBAClCM,IAAYN,GAAc,WAE1B,EAAE,MAAAO,GAAM,OAAAC,GAAO,WAAAC,GAAW,QAAAC,EAAW,IAAAC;AAAA,IACvCN,KAAqBC,IAAY,CAAC,sBAAsBD,CAAiB,IAAIC,CAAS,IAAID,GAAmBC,CAAS,IAAI;AAAA,IAE1H,CAAC,CAAA,EAAGD,GAAmBC,CAAS,MAAgCM,EAAkCP,GAAmBC,CAAS;AAAA,IAC9H;AAAA,MACI,mBAAmB;AAAA,IAAA;AAAA,EAE3B;AAIO,SAAA;AAAA,IACH,MAAAC;AAAA,IACA,+BAJkCA,KAAQ,CAAC;AAAA,IAK3C,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAV;AAAA,IACA,cAAAC;AAAA,IACA,QAAAU;AAAA,IACA,gBAAAT;AAAA,IACA,iBAAAC;AAAA,EACJ;AACJ;"}
@@ -1,33 +0,0 @@
1
- import { apiFindDmFreteByOrganizacaoVendas } from '@base/services'
2
- import { useFreteListStore } from '@base/store/dm/frete/freteListStore'
3
- import useSWR from 'swr'
4
-
5
- export default function useFreteByOrganizacaoVendasList() {
6
- const { tableParams, filterParams, setTableParams, setFilterParams } = useFreteListStore((state) => state)
7
-
8
- const organizacaoVendas = filterParams?.organizacaoVendas
9
- const incoterms = filterParams?.incoterms
10
-
11
- const { data, error, isLoading, mutate } = useSWR(
12
- organizacaoVendas && incoterms ? [`/api/dm/frete/find/${organizacaoVendas}/${incoterms}`, organizacaoVendas, incoterms] : null,
13
-
14
- ([, organizacaoVendas, incoterms]: [string, string, string]) => apiFindDmFreteByOrganizacaoVendas(organizacaoVendas, incoterms),
15
- {
16
- revalidateOnFocus: false,
17
- },
18
- )
19
-
20
- const fretesByOrganizacaoVendasList = data || []
21
-
22
- return {
23
- data,
24
- fretesByOrganizacaoVendasList,
25
- error,
26
- isLoading,
27
- tableParams,
28
- filterParams,
29
- mutate,
30
- setTableParams,
31
- setFilterParams,
32
- }
33
- }