@orbe-agro/client-core-prod 5.6.26 → 5.6.27
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.
- package/dist/@types/base/@types/api/response/originacao/TItemLiquidacaoResponse.d.ts +6 -0
- package/dist/@types/base/@types/api/response/originacao/TItemLiquidacaoResponse.d.ts.map +1 -1
- package/dist/@types/base/utils/functions/stringUtils.d.ts +15 -0
- package/dist/@types/base/utils/functions/stringUtils.d.ts.map +1 -1
- package/dist/base/utils/functions/stringUtils.js +17 -0
- package/dist/base/utils/functions/stringUtils.js.map +1 -1
- package/lib/base/@types/api/response/originacao/TItemLiquidacaoResponse.ts +7 -0
- package/lib/base/utils/functions/stringUtils.ts +30 -0
- package/package.json +1 -1
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export type TDiferencaImpostoResponse = {
|
|
2
|
+
tipoImposto: string;
|
|
3
|
+
valor: number;
|
|
4
|
+
};
|
|
1
5
|
export type TItemLiquidacaoResponse = {
|
|
2
6
|
id: number;
|
|
3
7
|
operacao: string;
|
|
@@ -20,5 +24,7 @@ export type TItemLiquidacaoResponse = {
|
|
|
20
24
|
valorSaldoResidualLiquido: number;
|
|
21
25
|
docSaldoResidual: string;
|
|
22
26
|
valorLiquidoSaldoConsumido: number;
|
|
27
|
+
diferencaImposto?: TDiferencaImpostoResponse[];
|
|
28
|
+
impostosEntrada?: string[];
|
|
23
29
|
};
|
|
24
30
|
//# sourceMappingURL=TItemLiquidacaoResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TItemLiquidacaoResponse.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/@types/api/response/originacao/TItemLiquidacaoResponse.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"TItemLiquidacaoResponse.d.ts","sourceRoot":"","sources":["../../../../../../../lib/base/@types/api/response/originacao/TItemLiquidacaoResponse.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB,EAAE,MAAM,CAAC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAA"}
|
|
@@ -53,5 +53,20 @@ export declare function extrairMensagemErro(error: ErroGenerico | string): strin
|
|
|
53
53
|
* Se não encontrado, retorna o status original.
|
|
54
54
|
*/
|
|
55
55
|
export declare function formataStatus(status: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Formata um valor numérico para o padrão de moeda brasileiro (BRL).
|
|
58
|
+
*
|
|
59
|
+
* @param valor - O número a ser formatado. Retorna 'R$ 0,00' se for nulo ou indefinido.
|
|
60
|
+
* @returns Retorna a string formatada em pt-BR como moeda.
|
|
61
|
+
*/
|
|
62
|
+
export declare function formatCurrency(valor?: number | null): string;
|
|
63
|
+
/**
|
|
64
|
+
* Formata um valor numérico para o padrão brasileiro indicando quantidade, volume ou peso.
|
|
65
|
+
*
|
|
66
|
+
* @param valor - O número a ser formatado. Retorna '0,00' se for nulo ou indefinido.
|
|
67
|
+
* @param suffix - Um sufixo opcional para a formatação (ex: 'KG', 'SC', 'UN').
|
|
68
|
+
* @returns Retorna a string formatada com duas casas decimais.
|
|
69
|
+
*/
|
|
70
|
+
export declare function formatQuantity(valor?: number | null, suffix?: string): string;
|
|
56
71
|
export {};
|
|
57
72
|
//# sourceMappingURL=stringUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringUtils.d.ts","sourceRoot":"","sources":["../../../../../lib/base/utils/functions/stringUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,MAAM,CAqBxE;AA4ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGpD"}
|
|
1
|
+
{"version":3,"file":"stringUtils.d.ts","sourceRoot":"","sources":["../../../../../lib/base/utils/functions/stringUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,KAAK,YAAY,GAAG;IAChB,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE;YACH,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,GAAG,MAAM,CAqBxE;AA4ED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAM5D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7E"}
|
|
@@ -82,8 +82,25 @@ function formataStatus(status) {
|
|
|
82
82
|
const item = statusList.find((s) => s.status === status);
|
|
83
83
|
return item ? item.statusFormatado : status;
|
|
84
84
|
}
|
|
85
|
+
function formatCurrency(valor) {
|
|
86
|
+
if (valor === void 0 || valor === null) return "R$ 0,00";
|
|
87
|
+
return new Intl.NumberFormat("pt-BR", {
|
|
88
|
+
style: "currency",
|
|
89
|
+
currency: "BRL"
|
|
90
|
+
}).format(valor);
|
|
91
|
+
}
|
|
92
|
+
function formatQuantity(valor, suffix) {
|
|
93
|
+
if (valor === void 0 || valor === null) return `0${suffix ? ` ${suffix}` : ""}`;
|
|
94
|
+
const formatted = new Intl.NumberFormat("pt-BR", {
|
|
95
|
+
minimumFractionDigits: 0,
|
|
96
|
+
maximumFractionDigits: 3
|
|
97
|
+
}).format(valor);
|
|
98
|
+
return suffix ? `${formatted} ${suffix}` : formatted;
|
|
99
|
+
}
|
|
85
100
|
export {
|
|
86
101
|
extrairMensagemErro,
|
|
102
|
+
formatCurrency,
|
|
103
|
+
formatQuantity,
|
|
87
104
|
formataStatus
|
|
88
105
|
};
|
|
89
106
|
//# 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_CONSULTA', statusFormatado: 'Aguardando consulta' },\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_APROVADA', statusFormatado: 'Parcialmente aprovada' },\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: 'VALIDADO', statusFormatado: 'Validado' },\n { status: 'VALOR_DIVERGENTE', statusFormatado: 'Valor divergente' },\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 // Ração - Juros Compostos\n { status: 'DENTRO_ESTADO', statusFormatado: 'Dentro do Estado' },\n { status: 'FORA_ESTADO', statusFormatado: 'Fora do Estado' },\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":[],"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_CONSULTA', statusFormatado: 'Aguardando consulta' },\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_APROVADA', statusFormatado: 'Parcialmente aprovada' },\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: 'VALIDADO', statusFormatado: 'Validado' },\n { status: 'VALOR_DIVERGENTE', statusFormatado: 'Valor divergente' },\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 // Ração - Juros Compostos\n { status: 'DENTRO_ESTADO', statusFormatado: 'Dentro do Estado' },\n { status: 'FORA_ESTADO', statusFormatado: 'Fora do Estado' },\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}\n\n/**\n * Formata um valor numérico para o padrão de moeda brasileiro (BRL).\n * \n * @param valor - O número a ser formatado. Retorna 'R$ 0,00' se for nulo ou indefinido.\n * @returns Retorna a string formatada em pt-BR como moeda.\n */\nexport function formatCurrency(valor?: number | null): string {\n if (valor === undefined || valor === null) return 'R$ 0,00';\n return new Intl.NumberFormat('pt-BR', {\n style: 'currency',\n currency: 'BRL',\n }).format(valor);\n}\n\n/**\n * Formata um valor numérico para o padrão brasileiro indicando quantidade, volume ou peso.\n * \n * @param valor - O número a ser formatado. Retorna '0,00' se for nulo ou indefinido.\n * @param suffix - Um sufixo opcional para a formatação (ex: 'KG', 'SC', 'UN').\n * @returns Retorna a string formatada com duas casas decimais.\n */\nexport function formatQuantity(valor?: number | null, suffix?: string): string {\n if (valor === undefined || valor === null) return `0${suffix ? ` ${suffix}` : ''}`;\n const formatted = new Intl.NumberFormat('pt-BR', {\n minimumFractionDigits: 0,\n maximumFractionDigits: 3\n }).format(valor);\n return suffix ? `${formatted} ${suffix}` : formatted;\n}"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
export type TDiferencaImpostoResponse = {
|
|
2
|
+
tipoImposto: string;
|
|
3
|
+
valor: number;
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
export type TItemLiquidacaoResponse = {
|
|
2
7
|
id: number;
|
|
3
8
|
operacao: string;
|
|
@@ -20,4 +25,6 @@ export type TItemLiquidacaoResponse = {
|
|
|
20
25
|
valorSaldoResidualLiquido: number;
|
|
21
26
|
docSaldoResidual: string;
|
|
22
27
|
valorLiquidoSaldoConsumido: number;
|
|
28
|
+
diferencaImposto?: TDiferencaImpostoResponse[];
|
|
29
|
+
impostosEntrada?: string[];
|
|
23
30
|
}
|
|
@@ -150,4 +150,34 @@ const statusList: DicionarioStatus[] = [
|
|
|
150
150
|
export function formataStatus(status: string): string {
|
|
151
151
|
const item = statusList.find(s => s.status === status)
|
|
152
152
|
return item ? item.statusFormatado : status
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Formata um valor numérico para o padrão de moeda brasileiro (BRL).
|
|
157
|
+
*
|
|
158
|
+
* @param valor - O número a ser formatado. Retorna 'R$ 0,00' se for nulo ou indefinido.
|
|
159
|
+
* @returns Retorna a string formatada em pt-BR como moeda.
|
|
160
|
+
*/
|
|
161
|
+
export function formatCurrency(valor?: number | null): string {
|
|
162
|
+
if (valor === undefined || valor === null) return 'R$ 0,00';
|
|
163
|
+
return new Intl.NumberFormat('pt-BR', {
|
|
164
|
+
style: 'currency',
|
|
165
|
+
currency: 'BRL',
|
|
166
|
+
}).format(valor);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Formata um valor numérico para o padrão brasileiro indicando quantidade, volume ou peso.
|
|
171
|
+
*
|
|
172
|
+
* @param valor - O número a ser formatado. Retorna '0,00' se for nulo ou indefinido.
|
|
173
|
+
* @param suffix - Um sufixo opcional para a formatação (ex: 'KG', 'SC', 'UN').
|
|
174
|
+
* @returns Retorna a string formatada com duas casas decimais.
|
|
175
|
+
*/
|
|
176
|
+
export function formatQuantity(valor?: number | null, suffix?: string): string {
|
|
177
|
+
if (valor === undefined || valor === null) return `0${suffix ? ` ${suffix}` : ''}`;
|
|
178
|
+
const formatted = new Intl.NumberFormat('pt-BR', {
|
|
179
|
+
minimumFractionDigits: 0,
|
|
180
|
+
maximumFractionDigits: 3
|
|
181
|
+
}).format(valor);
|
|
182
|
+
return suffix ? `${formatted} ${suffix}` : formatted;
|
|
153
183
|
}
|
package/package.json
CHANGED