feat(registratura): restructure Autorizare deadlines — no tacit approval

- ac-verificare (5z lucr.) now auto-track, created automatically with
  any AC emitere type. Informational: authority notifies if incomplete.
- ac-emitere (30z cal.) now chains to ac-emitere-dupa-completari when
  interrupted — term recalculates from completion submission date.
- ac-emitere-urgenta (7z lucr.) and ac-emitere-anexe (15z cal.) kept.
- New: ac-prelungire-emitere (15z lucr.) — authority communicates
  decision on AC extension within 15 working days.
- Info box in DeadlineAddDialog for autorizare category explaining
  auto-tracked verification + interruption mechanism.
- None of the autorizare deadlines have tacit approval.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
AI Assistant
2026-03-10 23:55:39 +02:00
parent a96dce56a2
commit a2b9ff75b5
3 changed files with 86 additions and 10 deletions
@@ -330,6 +330,26 @@ export function DeadlineAddDialog({
</div>
)}
{/* Info about auto-tracked deadlines for Autorizare */}
{selectedCategory === "autorizare" && (
<div className="flex items-start gap-2 rounded-lg bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 p-2.5">
<Info className="h-3.5 w-3.5 mt-0.5 text-blue-600 shrink-0" />
<div className="text-[11px] text-blue-800 dark:text-blue-300">
<p className="font-medium">Termene automate (in fundal):</p>
<p className="mt-0.5">
Verificare documentatie AC (5 zile lucr.) se creeaza
automat. In acest termen autoritatea notifica daca dosarul
este incomplet.
</p>
<p className="mt-1 text-[10px] opacity-75">
Daca autoritatea solicita completari, rezolvati termenul ca
&quot;Intrerupt&quot; se va crea automat termen nou de 30
zile de la depunerea completarilor.
</p>
</div>
</div>
)}
{/* Info about auto-tracked deadlines for Avize */}
{selectedCategory === "avize" && (
<div className="flex items-start gap-2 rounded-lg bg-blue-50 dark:bg-blue-950/20 border border-blue-200 dark:border-blue-800 p-2.5">
@@ -301,6 +301,19 @@ export function RegistryEntryForm({
}
}
// Auto-create verification deadline for AC emitere types
const isACEmitere =
typeId === "ac-emitere" ||
typeId === "ac-emitere-urgenta" ||
typeId === "ac-emitere-anexe";
if (isACEmitere) {
const acVerification = createTrackedDeadline(
"ac-verificare",
startDate,
);
if (acVerification) newDeadlines.push(acVerification);
}
// Auto-create completari limit for avize (when Comisie toggle is OFF)
const addedDef = getDeadlineType(typeId);
if (addedDef?.category === "avize" && !options?.isComisie) {
@@ -647,13 +647,15 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
},
// ═══════════════════════════════════════════════════════════════
// AUTORIZARE (AD/AC)
// AUTORIZARE (AD/AC) — nu se aproba tacit
// ═══════════════════════════════════════════════════════════════
// ── Auto-track: verificare dosar (informativ) ──
{
id: "ac-verificare",
label: "Verificare documentatie AC",
description:
"Autoritatea verifica operativ documentatia depusa pentru AC. Daca e incompleta, notifica solicitantul in scris in acest termen.",
"Documentatia este verificata in 5 zile lucratoare de la inregistrare. In acest termen se notifica solicitantul daca dosarul este incomplet.",
days: 5,
dayType: "working",
startDateLabel: "Data depunerii",
@@ -662,12 +664,15 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
autoTrack: true,
},
// ── Emitere AC (user-selectable) ──
{
id: "ac-emitere",
label: "Emitere AC (standard)",
label: "Emitere AC (standard — 30 zile cal.)",
description:
"Termen standard de emitere a Autorizatiei de Construire de la data depunerii documentatiei complete.",
"Cel mult 30 de zile calendaristice de la depunerea documentatiei complete. Daca autoritatea a cerut completari, termenul se recalculeaza de la data depunerii completarilor.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii documentatiei complete",
@@ -676,12 +681,32 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
chainNextTypeId: "ac-emitere-dupa-completari",
chainNextActionLabel:
"Adauga termen emitere AC dupa completari (30 zile cal.)",
},
{
id: "ac-emitere-dupa-completari",
label: "Emitere AC dupa completari",
description:
"Termenul de 30 de zile calendaristice se recalculeaza de la data la care s-au depus completarile/modificarile solicitate de autoritate.",
days: 30,
dayType: "calendar",
startDateLabel: "Data depunerii completarilor",
requiresCustomStartDate: true,
startDateHint:
"Data la care s-au depus completarile/modificarile solicitate de autoritate",
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (1)",
directionFilter: ["iesit"],
autoTrack: true,
},
{
id: "ac-emitere-urgenta",
label: "Emitere AC (urgenta)",
label: "Emitere AC (urgenta — 7 zile lucr.)",
description:
"Termen de emitere a AC in regim de urgenta, la solicitarea beneficiarului si cu perceperea unei taxe suplimentare stabilite de consiliul local/judetean.",
"Regim de urgenta, la solicitarea beneficiarului si cu perceperea unei taxe suplimentare stabilite de consiliul local/judetean. Maximum 7 zile lucratoare.",
days: 7,
dayType: "working",
startDateLabel: "Data depunerii (urgenta)",
@@ -692,8 +717,8 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
directionFilter: ["iesit"],
},
{
id: "ac-emitere-agricol",
label: "Emitere AC (anexe agricole)",
id: "ac-emitere-anexe",
label: "Emitere AC (anexe — 15 zile cal.)",
description:
"Termen de emitere a AC pentru constructii reprezentand anexe gospodaresti ale exploatatiilor agricole.",
days: 15,
@@ -705,11 +730,13 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
legalReference: "Legea 50/1991, art. 7 alin. (1^3)",
directionFilter: ["iesit"],
},
// ── Prelungire AC ──
{
id: "ac-prelungire",
label: "Depunere prelungire AC",
label: "Depunere prelungire AC (inapoi)",
description:
"Cererea de prelungire trebuie depusa cu minim 45 zile lucratoare INAINTE de expirarea AC. Se calculeaza inapoi.",
"Cererea de prelungire trebuie depusa cu minim 45 zile lucratoare INAINTE de expirarea AC. Se calculeaza inapoi de la data expirarii.",
days: 45,
dayType: "working",
startDateLabel: "Data expirare AC",
@@ -721,6 +748,22 @@ export const DEADLINE_CATALOG: DeadlineTypeDef[] = [
legalReference: "Legea 50/1991, art. 7 alin. (8)",
directionFilter: ["iesit"],
},
{
id: "ac-prelungire-emitere",
label: "Emitere decizie prelungire AC (15 zile lucr.)",
description:
"Emitentul comunica decizia privind prelungirea valabilitatii AC in 15 zile lucratoare de la depunerea cererii de prelungire.",
days: 15,
dayType: "working",
startDateLabel: "Data depunerii cererii de prelungire",
requiresCustomStartDate: true,
startDateHint:
"Data la care s-a depus cererea de prelungire a AC",
tacitApprovalApplicable: false,
category: "autorizare",
legalReference: "Legea 50/1991, art. 7 alin. (8)",
directionFilter: ["iesit"],
},
// ═══════════════════════════════════════════════════════════════
// CONTESTATIE