From a2b9ff75b55f8c1952eb73bcc6d2c8db1ffd7e28 Mon Sep 17 00:00:00 2001 From: AI Assistant Date: Tue, 10 Mar 2026 23:55:39 +0200 Subject: [PATCH] =?UTF-8?q?feat(registratura):=20restructure=20Autorizare?= =?UTF-8?q?=20deadlines=20=E2=80=94=20no=20tacit=20approval?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- .../components/deadline-add-dialog.tsx | 20 ++++++ .../components/registry-entry-form.tsx | 13 ++++ .../registratura/services/deadline-catalog.ts | 63 ++++++++++++++++--- 3 files changed, 86 insertions(+), 10 deletions(-) diff --git a/src/modules/registratura/components/deadline-add-dialog.tsx b/src/modules/registratura/components/deadline-add-dialog.tsx index 38117e9..9413398 100644 --- a/src/modules/registratura/components/deadline-add-dialog.tsx +++ b/src/modules/registratura/components/deadline-add-dialog.tsx @@ -330,6 +330,26 @@ export function DeadlineAddDialog({ )} + {/* Info about auto-tracked deadlines for Autorizare */} + {selectedCategory === "autorizare" && ( +
+ +
+

Termene automate (in fundal):

+

+ Verificare documentatie AC (5 zile lucr.) — se creeaza + automat. In acest termen autoritatea notifica daca dosarul + este incomplet. +

+

+ Daca autoritatea solicita completari, rezolvati termenul ca + "Intrerupt" — se va crea automat termen nou de 30 + zile de la depunerea completarilor. +

+
+
+ )} + {/* Info about auto-tracked deadlines for Avize */} {selectedCategory === "avize" && (
diff --git a/src/modules/registratura/components/registry-entry-form.tsx b/src/modules/registratura/components/registry-entry-form.tsx index cf3cafc..323bbb6 100644 --- a/src/modules/registratura/components/registry-entry-form.tsx +++ b/src/modules/registratura/components/registry-entry-form.tsx @@ -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) { diff --git a/src/modules/registratura/services/deadline-catalog.ts b/src/modules/registratura/services/deadline-catalog.ts index fb0ef79..44b04e5 100644 --- a/src/modules/registratura/services/deadline-catalog.ts +++ b/src/modules/registratura/services/deadline-catalog.ts @@ -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