diff --git a/convex/schema.ts b/convex/schema.ts
index 2126fb6..a6beda2 100644
--- a/convex/schema.ts
+++ b/convex/schema.ts
@@ -82,6 +82,7 @@ export default defineSchema({
contacts: v.optional(v.any()),
locations: v.optional(v.any()),
sla: v.optional(v.any()),
+ reopenWindowDays: v.optional(v.number()),
tags: v.optional(v.array(v.string())),
customFields: v.optional(v.any()),
notes: v.optional(v.string()),
diff --git a/convex/tickets.ts b/convex/tickets.ts
index fa79353..5fb123d 100644
--- a/convex/tickets.ts
+++ b/convex/tickets.ts
@@ -3175,7 +3175,18 @@ export async function resolveTicketHandler(
throw new ConvexError("Chamado vinculado não encontrado")
}
- const reopenDays = resolveReopenWindowDays(reopenWindowDays)
+ // Buscar prazo de reabertura da empresa do ticket (se existir)
+ let companyReopenDays: number | null = null
+ if (ticketDoc.companyId) {
+ const company = await ctx.db.get(ticketDoc.companyId)
+ if (company && typeof company.reopenWindowDays === "number") {
+ companyReopenDays = company.reopenWindowDays
+ }
+ }
+
+ // Prioridade: 1) valor passado explicitamente, 2) valor da empresa, 3) padrão
+ const effectiveReopenDays = reopenWindowDays ?? companyReopenDays
+ const reopenDays = resolveReopenWindowDays(effectiveReopenDays)
const reopenDeadline = computeReopenDeadline(now, reopenDays)
const normalizedStatus = "RESOLVED"
const relatedIdList = Array.from(
diff --git a/src/components/admin/companies/admin-companies-manager.tsx b/src/components/admin/companies/admin-companies-manager.tsx
index 53de367..b1daf38 100644
--- a/src/components/admin/companies/admin-companies-manager.tsx
+++ b/src/components/admin/companies/admin-companies-manager.tsx
@@ -238,6 +238,7 @@ function emptyCompany(tenantId: string): CompanyFormValues {
customFields: [],
notes: null,
isAvulso: false,
+ reopenWindowDays: 7,
}
}
@@ -1232,18 +1233,37 @@ export function CompanySheet({ tenantId, editor, onClose, onCreated, onUpdated }
/>
+ Dias que o cliente pode reabrir tickets resolvidos. +
+Após esse período o ticket não poderá ser reaberto automaticamente.
-