+
) => {
+
+ const [TServicoItemPedido, setTServicoItemPedido] = useState([]);
+
+ const addTServicoItemPedido = async (data: TServicoItemPedidoAddInterface) => {
+
+ console.log(data.emolumento)
+
+ data.sistema_id = 2
+ data.valor_documento = 0
+ data.quantidade = 1
+ data.emolumento_id = data.emolumento.emolumento_id
+
+ const response = await GCalculoServicoService(data)
+
+ const item = {
+ emolumento_id: data.emolumento.emolumento_id,
+ emolumento_item_id: data.emolumento.emolumento_item_id,
+ servico_tipo_id: data.servico_tipo.servico_tipo_id,
+ descricao: data.servico_tipo.descricao,
+ tabela: data.emolumento.descricao,
+ situacao: 'F',
+ qtd: 1,
+ valor: response.data.valor_total,
+ emolumento: response.data.valor_emolumento,
+ fundesp: response.data.valor_fundos,
+ taxa_judiciaria: response.data.taxa_judiciaria,
+ valor_iss: response.data.valor_iss,
+ }
+
+ setTServicoItemPedido((prev) => {
+ const novoItem = [...prev, item]
+ if (setValue) setValue('itens', novoItem)
+ return novoItem
+ });
+
+ };
+
+ return {
+ TServicoItemPedido,
+ addTServicoItemPedido,
+ };
+};
diff --git a/src/packages/servicos/hooks/TServicoPedido/useTServicoPedidoFormHook.ts b/src/packages/servicos/hooks/TServicoPedido/useTServicoPedidoFormHook.ts
index fc60cba..b8fef59 100644
--- a/src/packages/servicos/hooks/TServicoPedido/useTServicoPedidoFormHook.ts
+++ b/src/packages/servicos/hooks/TServicoPedido/useTServicoPedidoFormHook.ts
@@ -13,7 +13,7 @@ export function useTServicoPedidoFormHook(defaults?: Partial texto longo ou base64
+ certidao_texto?: string | null
ato_antigo_tipo?: string
valor_iss?: number
id_ato_isentado?: number
@@ -63,4 +63,5 @@ export default interface TServicoItemPedidoInterface {
vrcext?: number
valor_fundo_selo?: number
averbacao?: string
+ descricao?: string
}
diff --git a/src/packages/servicos/interfaces/TServicoPedido/TServicoPedidoInterface.ts b/src/packages/servicos/interfaces/TServicoPedido/TServicoPedidoInterface.ts
index 05342c5..ca0df03 100644
--- a/src/packages/servicos/interfaces/TServicoPedido/TServicoPedidoInterface.ts
+++ b/src/packages/servicos/interfaces/TServicoPedido/TServicoPedidoInterface.ts
@@ -17,4 +17,7 @@ export default interface TServicoPedidoInterface {
selo_pessoa_cpfcnpj?: string;
login?: string;
funcao?: string;
+ itens?: [];
+ servico_tipo_id: object;
+ emolumento_id: object;
}
\ No newline at end of file
diff --git a/src/packages/servicos/schemas/TServicoPedido/TServicoPedidoSchema.ts b/src/packages/servicos/schemas/TServicoPedido/TServicoPedidoSchema.ts
index 85c2d92..499aedb 100644
--- a/src/packages/servicos/schemas/TServicoPedido/TServicoPedidoSchema.ts
+++ b/src/packages/servicos/schemas/TServicoPedido/TServicoPedidoSchema.ts
@@ -1,5 +1,7 @@
import z from "zod";
+import { TServicoItemPedidoSchema } from "../TServicoItemPedido/TServicoItemPedidoSchema";
+
export const TServicoPedidoSchema = z.object({
servico_pedido_id: z.number().optional(),
@@ -9,7 +11,7 @@ export const TServicoPedidoSchema = z.object({
data_pedido: z.string().optional(),
mensalista_livrocaixa_id: z.number().optional(),
observacao: z.string().optional(),
- escrevente_id: z.number().optional(),
+ escrevente_id: z.number(),
situacao: z.string().optional(),
estornado: z.string().optional(),
nfse_id: z.number().optional(),
@@ -18,7 +20,10 @@ export const TServicoPedidoSchema = z.object({
selo_pessoa_nome: z.string().optional(),
selo_pessoa_cpfcnpj: z.string().optional(),
login: z.string().optional(),
- funcao: z.string().optional()
+ funcao: z.string().optional(),
+ itens: z.array(TServicoItemPedidoSchema).default([]),
+ servico_tipo_id: z.object(),
+ emolumento_id: z.object(),
});
export type TServicoPedidoFormValues = z.infer;
\ No newline at end of file
diff --git a/src/shared/actions/data/ToMoney.ts b/src/shared/actions/data/ToMoney.ts
new file mode 100644
index 0000000..95a5c24
--- /dev/null
+++ b/src/shared/actions/data/ToMoney.ts
@@ -0,0 +1,6 @@
+// Helper: garante número com 2 casas decimais
+export const toMoney = (v: unknown): number => {
+ const n = Number(v ?? 0);
+ // evita problemas de ponto flutuante
+ return Math.round((n + Number.EPSILON) * 100) / 100;
+};