diff --git a/backend/src/modules/organization/services/organization-general.service.ts b/backend/src/modules/organization/services/organization-general.service.ts index f15a2d81..a66ed070 100644 --- a/backend/src/modules/organization/services/organization-general.service.ts +++ b/backend/src/modules/organization/services/organization-general.service.ts @@ -156,6 +156,14 @@ export class OrganizationGeneralService { { id: Not(orgGeneralId), alias: newDTO?.alias }, { id: Not(orgGeneralId), email: newDTO?.email }, { id: Not(orgGeneralId), phone: newDTO?.phone }, + { + id: Not(orgGeneralId), + nationalRegistryNumber: newDTO?.nationalRegistryNumber, + }, + { + id: Not(orgGeneralId), + associationRegistryNumber: newDTO?.associationRegistryNumber, + }, ], }); for (let i = 0; i < existing.length; i++) { @@ -179,6 +187,21 @@ export class OrganizationGeneralService { ORGANIZATION_REQUEST_ERRORS.CREATE.ORGANIZATION_PHONE_EXISTS, ); } + if ( + existing[i].nationalRegistryNumber === newDTO?.nationalRegistryNumber + ) { + errors.push( + ORGANIZATION_REQUEST_ERRORS.CREATE.NATIONAL_REGISTRY_NUMBER_EXISTS, + ); + } + if ( + existing[i].associationRegistryNumber === + newDTO?.associationRegistryNumber + ) { + errors.push( + ORGANIZATION_REQUEST_ERRORS.CREATE.ASSOCIATION_REGISTRY_NUMBER_EXISTS, + ); + } } if (errors.length) { diff --git a/frontend/src/assets/locales/ro/translation.json b/frontend/src/assets/locales/ro/translation.json index f2d6a412..bb999db0 100644 --- a/frontend/src/assets/locales/ro/translation.json +++ b/frontend/src/assets/locales/ro/translation.json @@ -183,6 +183,8 @@ "REQ_010": "Există deja o organizație cu acest alias", "REQ_011": "Există deja o organizație cu acest e-mail", "REQ_012": "Există deja o organizație cu acest număr de telefon", + "REQ_013": "Există deja o organizație cu acest Număr si data de înscriere în Registrul Special", + "REQ_014": "Există deja o organizație cu acest Numărul de înregistrare în Registrul Național", "REQ_002": "Există deja o cerere cu acest e-mail sau cu acest număr de telefon.", "ORG_026": "Eroare la actualizarea datelor generale" } @@ -330,7 +332,7 @@ "required": "Secțiunea din Registrul Special este obligatorie", "max": "Secțiunea din Registrul Special poate avea maxim 10 de caractere", "helper": "Secțiunea care apare pe Certificatul de înscriere a persoanei juridice fără scop patrimonial, după număr, dată și parte.", - "label": "Secțiuna", + "label": "Secțiunea", "placeholder": "I" }, "association_registry_issuer": { diff --git a/frontend/src/common/errors/entities/create-organization-errors.class.ts b/frontend/src/common/errors/entities/create-organization-errors.class.ts index 28edc389..4cf723a0 100644 --- a/frontend/src/common/errors/entities/create-organization-errors.class.ts +++ b/frontend/src/common/errors/entities/create-organization-errors.class.ts @@ -10,6 +10,8 @@ export const enum CREATE_ORGANIZARION_ERRORS { REQ_010 = 'REQ_010', REQ_011 = 'REQ_011', REQ_012 = 'REQ_012', + REQ_013 = 'REQ_013', + REQ_014 = 'REQ_014', FILE_002 = 'FILE_002', FILE_003 = 'FILE_003', FILE_004 = 'FILE_004', @@ -39,6 +41,8 @@ export class CreateOrganizationError extends ErrorClass { export const useIssuersQuery = () => { const { setIssuers } = useStore(); - return useQuery('issuers', () => getIssuers(), { + return useQuery(['issuers'], () => getIssuers(), { + cacheTime: 1000 * 60 * 60, + staleTime: 1000 * 60 * 60, onSuccess: (data: Issuer[]) => { setIssuers(data); },