From f89f5d2f85da6af2b2c838e8c67e342948e70ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florin=20Bobi=C8=99?= Date: Sun, 30 Jan 2022 14:05:21 +0200 Subject: [PATCH] Initial commit (#1) * Initial commit --- .editorconfig | 124 + .gitignore | 267 + CAEN.sln | 47 + LICENSE | 21 + README.md | 30 +- nuget.config | 6 + src/CAEN.Api/CAEN.Api.csproj | 29 + src/CAEN.Api/Controllers/CaenController.cs | 75 + src/CAEN.Api/Models/CaenCode.cs | 75 + src/CAEN.Api/Models/ISearchableCaen.cs | 9 + src/CAEN.Api/Program.cs | 36 + src/CAEN.Api/Properties/launchSettings.json | 31 + src/CAEN.Api/Services/CaenService.cs | 51 + src/CAEN.Api/Services/ICaenService.cs | 13 + src/CAEN.Api/Store/caen.json | 5978 +++++++++++++++++++ src/CAEN.Api/appsettings.Development.json | 8 + src/CAEN.Api/appsettings.json | 21 + src/CAEN.Import/CAEN.Import.csproj | 20 + src/CAEN.Import/CaenDataImportService.cs | 155 + src/CAEN.Import/Program.cs | 15 + src/CAEN.Import/data/CoduriCAEN.xlsx | Bin 0 -> 74048 bytes 21 files changed, 7010 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 CAEN.sln create mode 100644 LICENSE create mode 100644 nuget.config create mode 100644 src/CAEN.Api/CAEN.Api.csproj create mode 100644 src/CAEN.Api/Controllers/CaenController.cs create mode 100644 src/CAEN.Api/Models/CaenCode.cs create mode 100644 src/CAEN.Api/Models/ISearchableCaen.cs create mode 100644 src/CAEN.Api/Program.cs create mode 100644 src/CAEN.Api/Properties/launchSettings.json create mode 100644 src/CAEN.Api/Services/CaenService.cs create mode 100644 src/CAEN.Api/Services/ICaenService.cs create mode 100644 src/CAEN.Api/Store/caen.json create mode 100644 src/CAEN.Api/appsettings.Development.json create mode 100644 src/CAEN.Api/appsettings.json create mode 100644 src/CAEN.Import/CAEN.Import.csproj create mode 100644 src/CAEN.Import/CaenDataImportService.cs create mode 100644 src/CAEN.Import/Program.cs create mode 100644 src/CAEN.Import/data/CoduriCAEN.xlsx diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..92abb9d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,124 @@ +# To learn more about .editorconfig see https://aka.ms/editorconfigdocs +############################### +# Core EditorConfig Options # +############################### +# All files +[*] +indent_style = space +# Code files +[*.{cs,csx,vb,vbx}] +file_header_template = Copyright (c) Florin Bobis. All Rights Reserved. +indent_size = 4 +insert_final_newline = true +charset = utf-8-bom +############################### +# .NET Coding Conventions # +############################### +[*.{cs,vb}] +# Organize usings +dotnet_sort_system_directives_first = true +# this. preferences +dotnet_style_qualification_for_field = false:silent +dotnet_style_qualification_for_property = false:silent +dotnet_style_qualification_for_method = false:silent +dotnet_style_qualification_for_event = false:silent +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true:silent +dotnet_style_predefined_type_for_member_access = true:silent +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent +dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent +dotnet_style_readonly_field = true:suggestion +# Expression-level preferences +dotnet_style_object_initializer = true:suggestion +dotnet_style_collection_initializer = true:suggestion +dotnet_style_explicit_tuple_names = true:suggestion +dotnet_style_null_propagation = true:suggestion +dotnet_style_coalesce_expression = true:suggestion +dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent +dotnet_style_prefer_inferred_tuple_names = true:suggestion +dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion +dotnet_style_prefer_auto_properties = true:silent +dotnet_style_prefer_conditional_expression_over_assignment = true:silent +dotnet_style_prefer_conditional_expression_over_return = true:silent +############################### +# Naming Conventions # +############################### +# Style Definitions +dotnet_naming_style.pascal_case_style.capitalization = pascal_case +# Use PascalCase for constant fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields +dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style +dotnet_naming_symbols.constant_fields.applicable_kinds = field +dotnet_naming_symbols.constant_fields.applicable_accessibilities = * +dotnet_naming_symbols.constant_fields.required_modifiers = const +############################### +# C# Coding Conventions # +############################### +[*.cs] +# var preferences +csharp_style_var_for_built_in_types = true:silent +csharp_style_var_when_type_is_apparent = true:silent +csharp_style_var_elsewhere = true:silent +# Expression-bodied members +csharp_style_expression_bodied_methods = false:silent +csharp_style_expression_bodied_constructors = false:silent +csharp_style_expression_bodied_operators = false:silent +csharp_style_expression_bodied_properties = true:silent +csharp_style_expression_bodied_indexers = true:silent +csharp_style_expression_bodied_accessors = true:silent +# Pattern matching preferences +csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion +csharp_style_pattern_matching_over_as_with_null_check = true:suggestion +# Null-checking preferences +csharp_style_throw_expression = true:suggestion +csharp_style_conditional_delegate_call = true:suggestion +# Modifier preferences +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion +# Expression-level preferences +csharp_prefer_braces = true:silent +csharp_style_deconstructed_variable_declaration = true:suggestion +csharp_prefer_simple_default_expression = true:suggestion +csharp_style_pattern_local_over_anonymous_function = true:suggestion +csharp_style_inlined_variable_declaration = true:suggestion +############################### +# C# Formatting Rules # +############################### +# New line preferences +csharp_new_line_before_open_brace = all +csharp_new_line_before_else = true +csharp_new_line_before_catch = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_between_query_expression_clauses = true +# Indentation preferences +csharp_indent_case_contents = true +csharp_indent_switch_labels = true +csharp_indent_labels = flush_left +# Space preferences +csharp_space_after_cast = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_around_binary_operators = before_and_after +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +# Wrapping preferences +csharp_preserve_single_line_statements = true +csharp_preserve_single_line_blocks = true +############################### +# VB Coding Conventions # +############################### +[*.vb] +# Modifier preferences +visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..501b308 --- /dev/null +++ b/.gitignore @@ -0,0 +1,267 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# Azure Functions localsettings file +local.settings.json + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates +logs/ + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs +ASALocalRun + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +#*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ +PublishProfiles/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc \ No newline at end of file diff --git a/CAEN.sln b/CAEN.sln new file mode 100644 index 0000000..6f95bdd --- /dev/null +++ b/CAEN.sln @@ -0,0 +1,47 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.32014.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{389178F6-639B-44A5-836B-6AFE64E815D3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{7086685D-2F1A-4305-9F8B-DC07BBFDAD9C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EF93A37-7D35-4CFF-A1EF-6C1D0FCFDD9F}" + ProjectSection(SolutionItems) = preProject + .editorconfig = .editorconfig + LICENSE = LICENSE + nuget.config = nuget.config + README.md = README.md + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CAEN.Api", "src\CAEN.Api\CAEN.Api.csproj", "{5C0603AF-6261-48F2-A2AD-928AB08DAAF3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CAEN.Import", "src\CAEN.Import\CAEN.Import.csproj", "{229409BB-F2BC-4F2A-9D72-5199D55898BD}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5C0603AF-6261-48F2-A2AD-928AB08DAAF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5C0603AF-6261-48F2-A2AD-928AB08DAAF3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5C0603AF-6261-48F2-A2AD-928AB08DAAF3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5C0603AF-6261-48F2-A2AD-928AB08DAAF3}.Release|Any CPU.Build.0 = Release|Any CPU + {229409BB-F2BC-4F2A-9D72-5199D55898BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {229409BB-F2BC-4F2A-9D72-5199D55898BD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {229409BB-F2BC-4F2A-9D72-5199D55898BD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {229409BB-F2BC-4F2A-9D72-5199D55898BD}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {5C0603AF-6261-48F2-A2AD-928AB08DAAF3} = {389178F6-639B-44A5-836B-6AFE64E815D3} + {229409BB-F2BC-4F2A-9D72-5199D55898BD} = {389178F6-639B-44A5-836B-6AFE64E815D3} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {C4E7ECE3-9778-45FE-8487-703BDB28652D} + EndGlobalSection +EndGlobal diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..be7c596 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 Florin Bobiș + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index dce9c05..5433326 100644 --- a/README.md +++ b/README.md @@ -1 +1,29 @@ -# caen-api \ No newline at end of file +

CAEN API

+ +

+ + + + + + + + + + +
+ +

+ +
+This is an open-source effort to democratize access to the Romanian CAEN codes. +Any person who wishes to use CAEN codes in their project can use this API. +
+ +--- +## Official reference + +The data was parsed and curated from [here](http://legislatie.just.ro/Public/DetaliiDocument/81727) + +--- +MIT licensed | Copyright © 2022 Florin Bobiș diff --git a/nuget.config b/nuget.config new file mode 100644 index 0000000..83a2e37 --- /dev/null +++ b/nuget.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/CAEN.Api/CAEN.Api.csproj b/src/CAEN.Api/CAEN.Api.csproj new file mode 100644 index 0000000..3b54de3 --- /dev/null +++ b/src/CAEN.Api/CAEN.Api.csproj @@ -0,0 +1,29 @@ + + + net6.0 + enable + true + + + + + + + + + + + + + Always + + + + + + + + + + + diff --git a/src/CAEN.Api/Controllers/CaenController.cs b/src/CAEN.Api/Controllers/CaenController.cs new file mode 100644 index 0000000..49e8291 --- /dev/null +++ b/src/CAEN.Api/Controllers/CaenController.cs @@ -0,0 +1,75 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using CAEN.Api.Services; +using Microsoft.AspNetCore.Mvc; + +namespace CAEN.Api.Controllers +{ + [ApiController] + [Route("api/caen")] + [Produces("application/json")] + public class CaenController : ControllerBase + { + private readonly ICaenService caenService; + + public CaenController(ICaenService caenService) + { + this.caenService = caenService; + } + + [HttpGet()] + public IActionResult GetAllCodes() + { + var result = caenService.GetCodesByFilter(); + if (result.Count == 0) + { + return NotFound(); + } + return Ok(result); + } + + [HttpGet("search/{query}")] + public IActionResult SearchCodes(string query) + { + var result = caenService.SearchCode(query); + if (result.Count == 0) + { + return NotFound(); + } + return Ok(result); + } + + [HttpGet("{sectionId}")] + public IActionResult GetCodesBySection(string sectionId) + { + var result = caenService.GetCodesByFilter(sectionId); + if (result.Count == 0) + { + return NotFound(); + } + return Ok(result); + } + + [HttpGet("{sectionId}/{divisionId}")] + public IActionResult GetCodesByDivision(string sectionId, string divisionId) + { + var result = caenService.GetCodesByFilter(sectionId, divisionId); + if (result.Count == 0) + { + return NotFound(); + } + return Ok(result); + } + + [HttpGet("{sectionId}/{divisionId}/{groupId}")] + public IActionResult GetCodesByGroup(string sectionId, string divisionId, string groupId) + { + var result = caenService.GetCodesByFilter(sectionId, divisionId, groupId); + if (result.Count == 0) + { + return NotFound(); + } + return Ok(result); + } + } +} diff --git a/src/CAEN.Api/Models/CaenCode.cs b/src/CAEN.Api/Models/CaenCode.cs new file mode 100644 index 0000000..40a5f9a --- /dev/null +++ b/src/CAEN.Api/Models/CaenCode.cs @@ -0,0 +1,75 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace CAEN.Api.Models +{ + public class Section : ISearchableCaen + { + [JsonPropertyName("Sectiune")] + public string ID { get; set; } + [JsonPropertyName("Denumire")] + public string Name { get; set; } + [JsonPropertyName("Diviziuni")] + public List Divisions { get; set; } + + public bool Search(string query) + { + return ID.ToLower().Contains(query.ToLower()) || + Name.ToLower().Contains(query.ToLower()); + } + } + + public class Division : ISearchableCaen + { + [JsonPropertyName("Diviziune")] + public string ID { get; set; } + [JsonPropertyName("Denumire")] + public string Name { get; set; } + [JsonPropertyName("Grupe")] + public List Groups { get; set; } + + public bool Search(string query) + { + return ID.ToLower().Contains(query.ToLower()) || + Name.ToLower().Contains(query.ToLower()); + } + } + + public class Group : ISearchableCaen + { + [JsonPropertyName("Grupa")] + public string ID { get; set; } + [JsonPropertyName("Denumire")] + public string Name { get; set; } + [JsonPropertyName("Clase")] + public List Codes { get; set; } + + public bool Search(string query) + { + return ID.ToLower().Contains(query.ToLower()) || + Name.ToLower().Contains(query.ToLower()); + } + } + + public class CaenCode : ISearchableCaen + { + [JsonPropertyName("CAENRev2")] + public string CAENRev2 { get; set; } + [JsonPropertyName("Denumire")] + public string Name { get; set; } + [JsonPropertyName("CAENRev1")] + public string CAENRev1 { get; set; } + [JsonPropertyName("ISICRev4")] + public string ISICRev4 { get; set; } + + public bool Search(string query) + { + return Name.ToLower().Contains(query.ToLower()) || + CAENRev2.ToLower().Contains(query.ToLower()) || + CAENRev1.ToLower().Contains(query.ToLower()) || + ISICRev4.ToLower().Contains(query.ToLower()); + } + } +} diff --git a/src/CAEN.Api/Models/ISearchableCaen.cs b/src/CAEN.Api/Models/ISearchableCaen.cs new file mode 100644 index 0000000..e70db44 --- /dev/null +++ b/src/CAEN.Api/Models/ISearchableCaen.cs @@ -0,0 +1,9 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +namespace CAEN.Api.Models +{ + public interface ISearchableCaen + { + bool Search(string query); + } +} diff --git a/src/CAEN.Api/Program.cs b/src/CAEN.Api/Program.cs new file mode 100644 index 0000000..6dd2529 --- /dev/null +++ b/src/CAEN.Api/Program.cs @@ -0,0 +1,36 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using CAEN.Api.Services; +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using Serilog; + +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(); +builder.Services.AddHealthChecks(); +builder.Services.AddSingleton(); + +builder.Host.UseSerilog((ctx, lc) => lc + .WriteTo.Console() + .ReadFrom.Configuration(ctx.Configuration)); + +var app = builder.Build(); + +// Configure the HTTP request pipeline. +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(); +} + +app.UseHttpsRedirection(); + +app.MapHealthChecks("/health"); +app.MapControllers(); + + +app.Run(); diff --git a/src/CAEN.Api/Properties/launchSettings.json b/src/CAEN.Api/Properties/launchSettings.json new file mode 100644 index 0000000..237c4bc --- /dev/null +++ b/src/CAEN.Api/Properties/launchSettings.json @@ -0,0 +1,31 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:41997", + "sslPort": 44362 + } + }, + "profiles": { + "CAEN.Api": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "launchUrl": "swagger", + "applicationUrl": "https://localhost:7190;http://localhost:5190", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "launchUrl": "swagger", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/src/CAEN.Api/Services/CaenService.cs b/src/CAEN.Api/Services/CaenService.cs new file mode 100644 index 0000000..45e1770 --- /dev/null +++ b/src/CAEN.Api/Services/CaenService.cs @@ -0,0 +1,51 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text.Json; +using CAEN.Api.Models; + +namespace CAEN.Api.Services +{ + public class CaenService : ICaenService + { + private readonly JsonDocument caenStore; + private readonly List
list; + private const string storePath = "Store\\caen.json"; + + public CaenService() + { + caenStore = JsonDocument.Parse(File.ReadAllText(storePath)); + list = caenStore.Deserialize>(); + } + + public List GetCodesByFilter(string sectionId = null, string divisionId = null, string groupId = null) + { + var result = (from section in list + from division in section.Divisions + from gr in division.Groups + from code in gr.Codes + where (sectionId != null ? section.ID.ToLower() == sectionId.ToLower() : true) && + (divisionId != null ? division.ID.ToLower() == divisionId.ToLower() : true) && + (groupId != null ? gr.ID.ToLower() == groupId.ToLower() : true) + select code).ToList(); + return result; + } + + public List
SearchCode(string query) + { + var result = (from section in list + from division in section.Divisions + from gr in division.Groups + from code in gr.Codes + where section.Search(query.ToLower()) || + division.Search(query.ToLower()) || + gr.Search(query.ToLower()) || + code.Search(query.ToLower()) + select section) + .Distinct().ToList(); + return result; + } + } +} diff --git a/src/CAEN.Api/Services/ICaenService.cs b/src/CAEN.Api/Services/ICaenService.cs new file mode 100644 index 0000000..6e04fb7 --- /dev/null +++ b/src/CAEN.Api/Services/ICaenService.cs @@ -0,0 +1,13 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using System.Collections.Generic; +using CAEN.Api.Models; + +namespace CAEN.Api.Services +{ + public interface ICaenService + { + List GetCodesByFilter(string sectionId = null, string divisionId = null, string groupId = null); + List
SearchCode(string query); + } +} diff --git a/src/CAEN.Api/Store/caen.json b/src/CAEN.Api/Store/caen.json new file mode 100644 index 0000000..f2cbcec --- /dev/null +++ b/src/CAEN.Api/Store/caen.json @@ -0,0 +1,5978 @@ +[ + { + "Sectiune": "A", + "Denumire": "SECȚIUNEA A - AGRICULTURA, SILVICULTURĂ ȘI PESCUIT", + "Diviziuni": [ + { + "Diviziune": "1", + "Denumire": "Agricultură, vânătoare și servicii anexe", + "Grupe": [ + { + "Grupa": "11", + "Denumire": "Cultivarea plantelor nepermanente", + "Clase": [ + { + "CAENRev2": "111", + "Denumire": "Cultivarea cerealelor (exclusiv orez) plantelor leguminoase și a plantelor producătoare de semințe oleaginoase", + "CAENRev1": "0111*0112*", + "ISICRev4": "111" + }, + { + "CAENRev2": "112", + "Denumire": "Cultivarea orezului", + "CAENRev1": "0111*", + "ISICRev4": "112" + }, + { + "CAENRev2": "113", + "Denumire": "Cultivarea legumelor și a pepenilor, a rădăcinoaselor și tuberculilor", + "CAENRev1": "0111*0112*", + "ISICRev4": "113" + }, + { + "CAENRev2": "114", + "Denumire": "Cultivarea trestiei de zahăr", + "CAENRev1": "0111*", + "ISICRev4": "114" + }, + { + "CAENRev2": "115", + "Denumire": "Cultivarea tutunului", + "CAENRev1": "0111*", + "ISICRev4": "0115*" + }, + { + "CAENRev2": "116", + "Denumire": "Cultivarea plantelor pentru fibre textile", + "CAENRev1": "0111*", + "ISICRev4": "116" + }, + { + "CAENRev2": "119", + "Denumire": "Cultivarea altor plante din culturi nepermanente", + "CAENRev1": "0111*0112*", + "ISICRev4": "119" + } + ] + }, + { + "Grupa": "12", + "Denumire": "Cultivarea plantelor din culturi permanente", + "Clase": [ + { + "CAENRev2": "121", + "Denumire": "Cultivarea strugurilor", + "CAENRev1": "0113*", + "ISICRev4": "121" + }, + { + "CAENRev2": "122", + "Denumire": "Cultivarea fructelor tropicale și subtropicale", + "CAENRev1": "0113*", + "ISICRev4": "122" + }, + { + "CAENRev2": "123", + "Denumire": "Cultivarea fructelor citrice", + "CAENRev1": "0113*", + "ISICRev4": "123" + }, + { + "CAENRev2": "124", + "Denumire": "Cultivarea fructelor semințoase și sâmburoase", + "CAENRev1": "0113*", + "ISICRev4": "124" + }, + { + "CAENRev2": "125", + "Denumire": "Cultivarea fructelor arbuștilor fructiferi, căpșunilor, nuciferilor și a altor pomi fructiferi", + "CAENRev1": "0112*0113*", + "ISICRev4": "125" + }, + { + "CAENRev2": "126", + "Denumire": "Cultivarea fructelor oleaginoase", + "CAENRev1": "0111*0113*", + "ISICRev4": "126" + }, + { + "CAENRev2": "127", + "Denumire": "Cultivarea plantelor pentru prepararea băuturilor", + "CAENRev1": "0113*", + "ISICRev4": "127" + }, + { + "CAENRev2": "128", + "Denumire": "Cultivarea condimentelor, plantelor aromatice,medicinale și a plantelor de uz farmaceutic", + "CAENRev1": "0111*0112*0113*", + "ISICRev4": "128" + }, + { + "CAENRev2": "129", + "Denumire": "Cultivarea altor plante permanente", + "CAENRev1": "0111*0201*", + "ISICRev4": "129" + } + ] + }, + { + "Grupa": "13", + "Denumire": "Cultivarea plantelor pentru înmulțire", + "Clase": [ + { + "CAENRev2": "130", + "Denumire": "Cultivarea plantelor pentru înmulțire", + "CAENRev1": "0112*", + "ISICRev4": "130" + } + ] + }, + { + "Grupa": "14", + "Denumire": "Creșterea animalelor", + "Clase": [ + { + "CAENRev2": "141", + "Denumire": "Creșterea bovinelor de lapte", + "CAENRev1": "0121*", + "ISICRev4": "0141*" + }, + { + "CAENRev2": "142", + "Denumire": "Creșterea altor bovine", + "CAENRev1": "0121*", + "ISICRev4": "0141*" + }, + { + "CAENRev2": "143", + "Denumire": "Creșterea cailor și a altor cabaline", + "CAENRev1": "0122*", + "ISICRev4": "142" + }, + { + "CAENRev2": "144", + "Denumire": "Creșterea cămilelor și a camelidelor", + "CAENRev1": "0125*", + "ISICRev4": "143" + }, + { + "CAENRev2": "145", + "Denumire": "Creșterea ovinelor și caprinelor", + "CAENRev1": "0122*", + "ISICRev4": "144" + }, + { + "CAENRev2": "146", + "Denumire": "Creșterea porcinelor", + "CAENRev1": "123", + "ISICRev4": "145" + }, + { + "CAENRev2": "147", + "Denumire": "Creșterea pasărilor", + "CAENRev1": "124", + "ISICRev4": "146" + }, + { + "CAENRev2": "149", + "Denumire": "Creșterea altor animale", + "CAENRev1": "0122*0125*", + "ISICRev4": "149" + } + ] + }, + { + "Grupa": "15", + "Denumire": "Activităti în ferme mixte (cultura vegetală combinata cu creșterea animalelor)", + "Clase": [ + { + "CAENRev2": "150", + "Denumire": "Activități în ferme mixte (cultura vegetală combinată cu creșterea animalelor)", + "CAENRev1": "130", + "ISICRev4": "150" + } + ] + }, + { + "Grupa": "16", + "Denumire": "Activități auxiliare agriculturii și activitati după recoltare", + "Clase": [ + { + "CAENRev2": "161", + "Denumire": "Activități auxiliare pentru producția vegetală", + "CAENRev1": "0141*", + "ISICRev4": "161" + }, + { + "CAENRev2": "162", + "Denumire": "Activități auxiliare pentru creșterea animale-lor", + "CAENRev1": "0142 9272*", + "ISICRev4": "162" + }, + { + "CAENRev2": "163", + "Denumire": "Activități după recoltare", + "CAENRev1": "0141*0111*0113*", + "ISICRev4": "163" + }, + { + "CAENRev2": "164", + "Denumire": "Pregătirea semințelor", + "CAENRev1": "0111*0112*0113*0141*", + "ISICRev4": "164" + } + ] + }, + { + "Grupa": "17", + "Denumire": "Vânătoare, capturarea cu capcane a vânatului și activități de servicii anexe vânătorii", + "Clase": [ + { + "CAENRev2": "170", + "Denumire": "Vânătoare, capturarea cu capcane a vânatului și activităti de servicii anexe vânatorii", + "CAENRev1": "0150*", + "ISICRev4": "170" + } + ] + } + ] + }, + { + "Diviziune": "2", + "Denumire": "Silvicultură și exploatare forestieră", + "Grupe": [ + { + "Grupa": "21", + "Denumire": "Silvicultură și alte activități forestiere", + "Clase": [ + { + "CAENRev2": "210", + "Denumire": "Silvicultură și alte activități forestiere", + "CAENRev1": "0112*0201*", + "ISICRev4": "210" + } + ] + }, + { + "Grupa": "22", + "Denumire": "Exploatarea forestieră", + "Clase": [ + { + "CAENRev2": "220", + "Denumire": "Exploatarea forestieră", + "CAENRev1": "0201*", + "ISICRev4": "220" + } + ] + }, + { + "Grupa": "23", + "Denumire": "Colectarea produselor forestiere nelemnoase din flora spontană", + "Clase": [ + { + "CAENRev2": "230", + "Denumire": "Colectarea produselor forestiere nelemnoase din flora spontană", + "CAENRev1": "0112*0113*0201*", + "ISICRev4": "230" + } + ] + }, + { + "Grupa": "24", + "Denumire": "Activități de servicii anexe silviculturii", + "Clase": [ + { + "CAENRev2": "240", + "Denumire": "Activități de servicii anexe silviculturii", + "CAENRev1": "0202 7414*", + "ISICRev4": "240" + } + ] + } + ] + }, + { + "Diviziune": "3", + "Denumire": "Pescuitul și acvacultura", + "Grupe": [ + { + "Grupa": "31", + "Denumire": "Pescuitul", + "Clase": [ + { + "CAENRev2": "311", + "Denumire": "Pescuitul maritim", + "CAENRev1": "0501*", + "ISICRev4": "311" + }, + { + "CAENRev2": "312", + "Denumire": "Pescuitul în ape dulci", + "CAENRev1": "0501*", + "ISICRev4": "312" + } + ] + }, + { + "Grupa": "32", + "Denumire": "Acvacultura", + "Clase": [ + { + "CAENRev2": "321", + "Denumire": "Acvacultura maritimă", + "CAENRev1": "0502*", + "ISICRev4": "321" + }, + { + "CAENRev2": "322", + "Denumire": "Acvacultura în ape dulci", + "CAENRev1": "0502*0125*", + "ISICRev4": "322" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "B", + "Denumire": "SECȚIUNEA B - INDUSTRIA EXTRACTIVĂ", + "Diviziuni": [ + { + "Diviziune": "5", + "Denumire": "Extracția cărbunelui superior și inferior", + "Grupe": [ + { + "Grupa": "51", + "Denumire": "Extracția cărbunelui superior (PCS =\u003E 23865 kJ/kg)", + "Clase": [ + { + "CAENRev2": "510", + "Denumire": "Extracția cărbunelui superior (PCS=\u003E23865 kJ/kg)", + "CAENRev1": "1010*", + "ISICRev4": "510" + } + ] + }, + { + "Grupa": "52", + "Denumire": "Extracția cărbunelui inferior(PCS\u003C23865 kJ/kg)", + "Clase": [ + { + "CAENRev2": "520", + "Denumire": "Extracția carbunelui inferior(PCS\u003C23865 kJ/kg)", + "CAENRev1": "1020*", + "ISICRev4": "520" + } + ] + } + ] + }, + { + "Diviziune": "6", + "Denumire": "Extracția petrolului brut și a gazelor naturale", + "Grupe": [ + { + "Grupa": "61", + "Denumire": "Extracția petrolului brut", + "Clase": [ + { + "CAENRev2": "610", + "Denumire": "Extracția petrolului brut", + "CAENRev1": "1110*", + "ISICRev4": "610" + } + ] + }, + { + "Grupa": "62", + "Denumire": "Extracția gazelor naturale", + "Clase": [ + { + "CAENRev2": "620", + "Denumire": "Extracția gazelor naturale", + "CAENRev1": "1110*", + "ISICRev4": "620" + } + ] + } + ] + }, + { + "Diviziune": "7", + "Denumire": "Extracția minereurilor metalifere", + "Grupe": [ + { + "Grupa": "71", + "Denumire": "Extracția minereurilor feroase", + "Clase": [ + { + "CAENRev2": "710", + "Denumire": "Extracția minereurilor feroase", + "CAENRev1": "1310*", + "ISICRev4": "710" + } + ] + }, + { + "Grupa": "72", + "Denumire": "Extracția minereurilor metalifere neferoase", + "Clase": [ + { + "CAENRev2": "721", + "Denumire": "Extracția minereurilor de uraniu și toriu", + "CAENRev1": "1200*", + "ISICRev4": "721" + }, + { + "CAENRev2": "729", + "Denumire": "Extracția altor minereuri metalifere neferoase", + "CAENRev1": "1320*", + "ISICRev4": "729" + } + ] + } + ] + }, + { + "Diviziune": "8", + "Denumire": "Alte activități extractive", + "Grupe": [ + { + "Grupa": "81", + "Denumire": "Extracția pietrei, nisipului și argilei", + "Clase": [ + { + "CAENRev2": "811", + "Denumire": "Extracția pietrei ornamentale și a pietrei pentru construcții, extracția pietrei calcaroase, gipsului, cretei și a ardeziei", + "CAENRev1": "1411*1412*1413*", + "ISICRev4": "0810*" + }, + { + "CAENRev2": "812", + "Denumire": "Extracția pietrișului și nisipului; extracția argilei și caolinului", + "CAENRev1": "1421*1422*", + "ISICRev4": "0810*" + } + ] + }, + { + "Grupa": "89", + "Denumire": "Alte activități extractive n.c.a.", + "Clase": [ + { + "CAENRev2": "891", + "Denumire": "Extracția mineralelor pentru industria chimicași a îngrășămintelor naturale", + "CAENRev1": "1430*", + "ISICRev4": "891" + }, + { + "CAENRev2": "892", + "Denumire": "Extracția turbei", + "CAENRev1": "1030*", + "ISICRev4": "892" + }, + { + "CAENRev2": "893", + "Denumire": "Extracția sării", + "CAENRev1": "1440*", + "ISICRev4": "893" + }, + { + "CAENRev2": "899", + "Denumire": "Alte activităti extractive n.c.a", + "CAENRev1": "1450*", + "ISICRev4": "899" + } + ] + } + ] + }, + { + "Diviziune": "9", + "Denumire": "Activități de servicii anexe extracției", + "Grupe": [ + { + "Grupa": "91", + "Denumire": "Activități de servicii anexe extracției petrolului brut și gazelor naturale", + "Clase": [ + { + "CAENRev2": "910", + "Denumire": "Activități de servicii anexe extracției petrolului brut și gazelor naturale", + "CAENRev1": "1120 1110*", + "ISICRev4": "910" + } + ] + }, + { + "Grupa": "99", + "Denumire": "Activități de servicii anexe pentru extracția mineralelor", + "Clase": [ + { + "CAENRev2": "990", + "Denumire": "Activități de servicii anexe pentru extracția mineralelor", + "CAENRev1": "1010*1020*1030*1200*1310*1320*1411*1412*1413*1421*1422*1430*1440*1450*", + "ISICRev4": "990" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "C", + "Denumire": "SECȚIUNEA C - INDUSTRIA PRELUCRATOARE", + "Diviziuni": [ + { + "Diviziune": "10", + "Denumire": "Industria alimentara", + "Grupe": [ + { + "Grupa": "101", + "Denumire": "Producția, prelucrarea și conservarea cărnii și a produselor din carne", + "Clase": [ + { + "CAENRev2": "1011", + "Denumire": "Prelucrarea și conservarea cărnii", + "CAENRev1": "1511 1512*", + "ISICRev4": "1010*" + }, + { + "CAENRev2": "1012", + "Denumire": "Prelucrarea și conservarea cărnii de pasare", + "CAENRev1": "1512*", + "ISICRev4": "1010*" + }, + { + "CAENRev2": "1013", + "Denumire": "Fabricarea produselor din carne (inclusiv din carne de pasăre)", + "CAENRev1": "1513*", + "ISICRev4": "1010*" + } + ] + }, + { + "Grupa": "102", + "Denumire": "Prelucrarea și conservarea peștelui, crustaceelor și moluștelor", + "Clase": [ + { + "CAENRev2": "1020", + "Denumire": "Prelucrarea și conservarea peștelui, crustaceelor și moluștelor", + "CAENRev1": "1520*", + "ISICRev4": "1020" + } + ] + }, + { + "Grupa": "103", + "Denumire": "Prelucrarea și conservarea fructelor și legumelor", + "Clase": [ + { + "CAENRev2": "1031", + "Denumire": "Prelucrarea și conservarea cartofilor", + "CAENRev1": "1531", + "ISICRev4": "1030*" + }, + { + "CAENRev2": "1032", + "Denumire": "Fabricarea sucurilor de fructe și legume", + "CAENRev1": "1532", + "ISICRev4": "1030*" + }, + { + "CAENRev2": "1039", + "Denumire": "Prelucrarea și conservarea fructelor și legumelor n.c.a.", + "CAENRev1": "0141*1533*5131*", + "ISICRev4": "1030*" + } + ] + }, + { + "Grupa": "104", + "Denumire": "Fabricarea uleiurilor și a grăsimilor vegetaleși animale", + "Clase": [ + { + "CAENRev2": "1041", + "Denumire": "Fabricarea uleiurilor și grăsimilor", + "CAENRev1": "1541 1542 0113*", + "ISICRev4": "1040*" + }, + { + "CAENRev2": "1042", + "Denumire": "Fabricarea margarinei și a altor produse comestibile similare", + "CAENRev1": "1543", + "ISICRev4": "1040*" + } + ] + }, + { + "Grupa": "105", + "Denumire": "Fabricarea produselor lactate", + "Clase": [ + { + "CAENRev2": "1051", + "Denumire": "Fabricarea produselor lactate și a brânzeturilor", + "CAENRev1": "1551", + "ISICRev4": "1050*" + }, + { + "CAENRev2": "1052", + "Denumire": "Fabricarea înghetatei", + "CAENRev1": "1552", + "ISICRev4": "1050*" + } + ] + }, + { + "Grupa": "106", + "Denumire": "Fabricarea produselor de morărit, a amidonuluiși produselor din amidon", + "Clase": [ + { + "CAENRev2": "1061", + "Denumire": "Fabricarea produselor de morărit", + "CAENRev1": "1561", + "ISICRev4": "1061" + }, + { + "CAENRev2": "1062", + "Denumire": "Fabricarea amidonului și a produselor din amidon", + "CAENRev1": "1562*", + "ISICRev4": "1062" + } + ] + }, + { + "Grupa": "107", + "Denumire": "Fabricarea produselor de brutărie și a produselor făinoase", + "Clase": [ + { + "CAENRev2": "1071", + "Denumire": "Fabricarea pâinii; fabricarea prăjiturilor și a produselor proaspete de patiserie", + "CAENRev1": "1581*", + "ISICRev4": "1071*" + }, + { + "CAENRev2": "1072", + "Denumire": "Fabricarea biscuiților și pișcoturilor; fabricarea prăjiturilor și a produselor conservate de patiserie", + "CAENRev1": "1582", + "ISICRev4": "1071*" + }, + { + "CAENRev2": "1073", + "Denumire": "Fabricarea macaroanelor, tăițeilor, cuș-cuș-ului și a altor produse făinoase similare", + "CAENRev1": "1585*", + "ISICRev4": "1074" + } + ] + }, + { + "Grupa": "108", + "Denumire": "Fabricarea altor produse alimentare", + "Clase": [ + { + "CAENRev2": "1081", + "Denumire": "Fabricarea zahărului", + "CAENRev1": "1583", + "ISICRev4": "1072" + }, + { + "CAENRev2": "1082", + "Denumire": "Fabricarea produselor din cacao, a ciocolatei și a produselor zaharoase", + "CAENRev1": "1584", + "ISICRev4": "1073" + }, + { + "CAENRev2": "1083", + "Denumire": "Prelucrarea ceaiului și cafelei", + "CAENRev1": "1586", + "ISICRev4": "1079*" + }, + { + "CAENRev2": "1084", + "Denumire": "Fabricarea condimentelor și ingredientelor", + "CAENRev1": "1587 1440*", + "ISICRev4": "1079*" + }, + { + "CAENRev2": "1085", + "Denumire": "Fabricarea de mâncăruri preparate", + "CAENRev1": "1513*1520*1533*1581*1585*", + "ISICRev4": "1075" + }, + { + "CAENRev2": "1086", + "Denumire": "Fabricarea preparatelor alimentare omogenizateși alimentelor dietetice", + "CAENRev1": "1588", + "ISICRev4": "1079*" + }, + { + "CAENRev2": "1089", + "Denumire": "Fabricarea altor produse alimentare n.c.a.", + "CAENRev1": "1513*1589 1562*1581*", + "ISICRev4": "1079*" + } + ] + }, + { + "Grupa": "109", + "Denumire": "Fabricarea preparatelor pentru hrana animalelor", + "Clase": [ + { + "CAENRev2": "1091", + "Denumire": "Fabricarea preparatelor pentru hrana animalelor de fermă", + "CAENRev1": "1571", + "ISICRev4": "1080*" + }, + { + "CAENRev2": "1092", + "Denumire": "Fabricarea preparatelor pentru hrana animalelor de companie", + "CAENRev1": "1572", + "ISICRev4": "1080*" + } + ] + } + ] + }, + { + "Diviziune": "11", + "Denumire": "Fabricarea băuturilor", + "Grupe": [ + { + "Grupa": "110", + "Denumire": "Fabricarea băuturilor", + "Clase": [ + { + "CAENRev2": "1101", + "Denumire": "Distilarea, rafinarea și mixarea băuturilor alcoolice", + "CAENRev1": "1591 1592*5134*", + "ISICRev4": "1101" + }, + { + "CAENRev2": "1102", + "Denumire": "Fabricarea vinurilor din struguri", + "CAENRev1": "0113*1593 5134*", + "ISICRev4": "1102*" + }, + { + "CAENRev2": "1103", + "Denumire": "Fabricarea cidrului și a altor vinuri din fructe", + "CAENRev1": "1594", + "ISICRev4": "1102*" + }, + { + "CAENRev2": "1104", + "Denumire": "Fabricarea altor băuturi nedistilate, obținuteprin fermentare", + "CAENRev1": "1595", + "ISICRev4": "1102*" + }, + { + "CAENRev2": "1105", + "Denumire": "Fabricarea berii", + "CAENRev1": "1596", + "ISICRev4": "1103*" + }, + { + "CAENRev2": "1106", + "Denumire": "Fabricarea malțului", + "CAENRev1": "1597", + "ISICRev4": "1103*" + }, + { + "CAENRev2": "1107", + "Denumire": "Producția de băuturi răcoritoare nealcoolice; producția de ape minerale și alte ape imbuteliate", + "CAENRev1": "1598", + "ISICRev4": "1104" + } + ] + } + ] + }, + { + "Diviziune": "12", + "Denumire": "Fabricarea produselor din tutun", + "Grupe": [ + { + "Grupa": "120", + "Denumire": "Fabricarea produselor din tutun", + "Clase": [ + { + "CAENRev2": "1200", + "Denumire": "Fabricarea produselor din tutun", + "CAENRev1": "1600", + "ISICRev4": "1200" + } + ] + } + ] + }, + { + "Diviziune": "13", + "Denumire": "Fabricarea produselor textile", + "Grupe": [ + { + "Grupa": "131", + "Denumire": "Pregătirea fibrelor și filarea fibrelor textile", + "Clase": [ + { + "CAENRev2": "1310", + "Denumire": "Pregătirea fibrelor și filarea fibrelor textile", + "CAENRev1": "1711 1712 1713 1714 1715 1716 1717", + "ISICRev4": "1311" + } + ] + }, + { + "Grupa": "132", + "Denumire": "Producția de țesături", + "Clase": [ + { + "CAENRev2": "1320", + "Denumire": "Producția de țesături", + "CAENRev1": "1721 1722 1723 1724 1725 1830*", + "ISICRev4": "1312" + } + ] + }, + { + "Grupa": "133", + "Denumire": "Finisarea materialelor textile", + "Clase": [ + { + "CAENRev2": "1330", + "Denumire": "Finisarea materialelor textile", + "CAENRev1": "1730 5271*", + "ISICRev4": "1313" + } + ] + }, + { + "Grupa": "139", + "Denumire": "Fabricarea altor articole textile", + "Clase": [ + { + "CAENRev2": "1391", + "Denumire": "Fabricarea de metraje prin tricotare sau croșetare", + "CAENRev1": "1760 1830*", + "ISICRev4": "1391" + }, + { + "CAENRev2": "1392", + "Denumire": "Fabricarea de articole confecționate din textile (cu excepția îmbrăcămintei și lenjeriei de corp)", + "CAENRev1": "1740*", + "ISICRev4": "1392" + }, + { + "CAENRev2": "1393", + "Denumire": "Fabricarea de covoare și mochete", + "CAENRev1": "1751", + "ISICRev4": "1393" + }, + { + "CAENRev2": "1394", + "Denumire": "Fabricarea de odgoane, frânghii, sfori și plase", + "CAENRev1": "1752*", + "ISICRev4": "1394" + }, + { + "CAENRev2": "1395", + "Denumire": "Fabricarea de textile nețesute și articole dinacestea, cu excepția confecțiilor de imbracaminte", + "CAENRev1": "1753", + "ISICRev4": "1399*" + }, + { + "CAENRev2": "1396", + "Denumire": "Fabricarea de articole tehnice și industriale din textile", + "CAENRev1": "1754*", + "ISICRev4": "1399" + }, + { + "CAENRev2": "1399", + "Denumire": "Fabricarea altor articole textile n.c.a.", + "CAENRev1": "1754*3663*", + "ISICRev4": "1399" + } + ] + } + ] + }, + { + "Diviziune": "14", + "Denumire": "Fabricarea articolelor de imbrăcaminte", + "Grupe": [ + { + "Grupa": "141", + "Denumire": "Fabricarea articolelor de îmbrăcăminte, cu excepția articolelor din blană", + "Clase": [ + { + "CAENRev2": "1411", + "Denumire": "Fabricarea articolelor de imbrăcaminte din piele", + "CAENRev1": "1810*", + "ISICRev4": "1410*" + }, + { + "CAENRev2": "1412", + "Denumire": "Fabricarea de articole de îmbrăcăminte pentru lucru", + "CAENRev1": "1821", + "ISICRev4": "1410*" + }, + { + "CAENRev2": "1413", + "Denumire": "Fabricarea altor articole de imbrăcăminte exclusiv lenjeria de corp", + "CAENRev1": "1822", + "ISICRev4": "1410*" + }, + { + "CAENRev2": "1414", + "Denumire": "Fabricarea de articole de lenjerie de corp", + "CAENRev1": "1823", + "ISICRev4": "1410*" + }, + { + "CAENRev2": "1419", + "Denumire": "Fabricarea altor articole de îmbrăcăminte și accesorii n.c.a.", + "CAENRev1": "1771*1824*", + "ISICRev4": "1410*" + } + ] + }, + { + "Grupa": "142", + "Denumire": "Fabricarea articolelor din blană", + "Clase": [ + { + "CAENRev2": "1420", + "Denumire": "Fabricarea articolelor din blană", + "CAENRev1": "1830*", + "ISICRev4": "1420" + } + ] + }, + { + "Grupa": "143", + "Denumire": "Fabricarea articolelor de îmbrăcăminte prin tricotare sau croșetare", + "Clase": [ + { + "CAENRev2": "1431", + "Denumire": "Fabricarea prin tricotare sau croșetare a ciorapilor și articolelor de galanterie", + "CAENRev1": "1771*", + "ISICRev4": "1430*" + }, + { + "CAENRev2": "1439", + "Denumire": "Fabricarea prin tricotare sau croșetare a articolelor de imbracaminte", + "CAENRev1": "1772", + "ISICRev4": "1430*" + } + ] + } + ] + }, + { + "Diviziune": "15", + "Denumire": "Tăbacirea și finisarea pieilor; fabricarea articolelor de voiaj și marochinărie, harnașamentelor și încălțamintei; prepararea și vopsirea blanurilor", + "Grupe": [ + { + "Grupa": "151", + "Denumire": "Tăbăcirea și finisarea pieilor; fabricarea articolelor de voiaj și marochinărie și a articolelor de harnașament; prepararea și vopsirea blănurilor", + "Clase": [ + { + "CAENRev2": "1511", + "Denumire": "Tăbăcirea și finisarea pieilor; prepararea și vopsirea blanurilor", + "CAENRev1": "1910 1830*", + "ISICRev4": "1511" + }, + { + "CAENRev2": "1512", + "Denumire": "Fabricarea, articolelor de voiaj și marochinarie și a articolelor de harnașament", + "CAENRev1": "1920*3663*", + "ISICRev4": "1512" + } + ] + }, + { + "Grupa": "152", + "Denumire": "Fabricarea încălțămintei", + "Clase": [ + { + "CAENRev2": "1520", + "Denumire": "Fabricarea incaltamintei", + "CAENRev1": "1930*", + "ISICRev4": "1520" + } + ] + } + ] + }, + { + "Diviziune": "16", + "Denumire": "Prelucrarea lemnului, fabricarea produselor din lemn și pluta, cu excepția mobilei; fabricarea articolelor din paie și din alte materiale vegetale împletite", + "Grupe": [ + { + "Grupa": "161", + "Denumire": "Tăierea și rindeluirea lemnului", + "Clase": [ + { + "CAENRev2": "1610", + "Denumire": "Tăierea și rindeluirea lemnului", + "CAENRev1": "2010", + "ISICRev4": "1610" + } + ] + }, + { + "Grupa": "162", + "Denumire": "Fabricarea produselor din lemn, plută, paie șidin alte materiale vegetale", + "Clase": [ + { + "CAENRev2": "1621", + "Denumire": "Fabricarea de furnire și a panourilor din lemn", + "CAENRev1": "2020", + "ISICRev4": "1621" + }, + { + "CAENRev2": "1622", + "Denumire": "Fabricarea parchetului asamblat în panouri", + "CAENRev1": "2030*", + "ISICRev4": "1622*" + }, + { + "CAENRev2": "1623", + "Denumire": "Fabricarea altor elemente de dulgherie și tâmplărie, pentru construcții", + "CAENRev1": "2030*", + "ISICRev4": "1622*" + }, + { + "CAENRev2": "1624", + "Denumire": "Fabricarea ambalajelor din lemn", + "CAENRev1": "2040*", + "ISICRev4": "1623" + }, + { + "CAENRev2": "1629", + "Denumire": "Fabricarea altor produse din lemn; fabricarea articolelor din plută, paie și din alte materiale vegetale împletite", + "CAENRev1": "1930*2051*2052*3663*", + "ISICRev4": "1629" + } + ] + } + ] + }, + { + "Diviziune": "17", + "Denumire": "Fabricarea hârtiei și a produselor din hârtie", + "Grupe": [ + { + "Grupa": "171", + "Denumire": "Fabricarea celulozei hârtiei și cartonului", + "Clase": [ + { + "CAENRev2": "1711", + "Denumire": "Fabricarea celulozei", + "CAENRev1": "2111", + "ISICRev4": "1701*" + }, + { + "CAENRev2": "1712", + "Denumire": "Fabricarea hârtiei și cartonului", + "CAENRev1": "2112", + "ISICRev4": "1701*" + } + ] + }, + { + "Grupa": "172", + "Denumire": "Fabricarea articolelor din hârtie și carton", + "Clase": [ + { + "CAENRev2": "1721", + "Denumire": "Fabricarea hârtiei și cartonului ondulat și a ambalajelor din hârtie și carton", + "CAENRev1": "2121", + "ISICRev4": "1702" + }, + { + "CAENRev2": "1722", + "Denumire": "Fabricarea produselor de uz gospodăresc și sanitar, din hârtie sau carton", + "CAENRev1": "1754*2122*", + "ISICRev4": "1709*" + }, + { + "CAENRev2": "1723", + "Denumire": "Fabricarea articolelor de papetarie", + "CAENRev1": "2123 2222*", + "ISICRev4": "1709*" + }, + { + "CAENRev2": "1724", + "Denumire": "Fabricarea tapetului", + "CAENRev1": "2124", + "ISICRev4": "1709*" + }, + { + "CAENRev2": "1729", + "Denumire": "Fabricarea altor articole din hârtie și cartonn.c.a.", + "CAENRev1": "2125*3663*", + "ISICRev4": "1709*" + } + ] + } + ] + }, + { + "Diviziune": "18", + "Denumire": "Tipărire și reproducerea pe suporți a înregistrarilor", + "Grupe": [ + { + "Grupa": "181", + "Denumire": "Tipărire și activități de servicii conexe tiparirii", + "Clase": [ + { + "CAENRev2": "1811", + "Denumire": "Tipărirea ziarelor", + "CAENRev1": "2221", + "ISICRev4": "1811*" + }, + { + "CAENRev2": "1812", + "Denumire": "Alte activități de tipărire n.c.a.", + "CAENRev1": "2222*2122*2125*", + "ISICRev4": "1811*" + }, + { + "CAENRev2": "1813", + "Denumire": "Servicii pregătitoare pentru pretipărire", + "CAENRev1": "2224 2225", + "ISICRev4": "1812*" + }, + { + "CAENRev2": "1814", + "Denumire": "Legătorie și servicii conexe", + "CAENRev1": "2223", + "ISICRev4": "1812*" + } + ] + }, + { + "Grupa": "182", + "Denumire": "Reproducerea înregistrărilor", + "Clase": [ + { + "CAENRev2": "1820", + "Denumire": "Reproducerea înregistrărilor", + "CAENRev1": "2231 2232 2233", + "ISICRev4": "1820" + } + ] + } + ] + }, + { + "Diviziune": "19", + "Denumire": "Fabricarea produselor de cocserie și a produselor obținute din prelucrarea titeiului", + "Grupe": [ + { + "Grupa": "191", + "Denumire": "Fabricarea produselor de cocserie", + "Clase": [ + { + "CAENRev2": "1910", + "Denumire": "Fabricarea produselor de cocserie", + "CAENRev1": "2310 2414*", + "ISICRev4": "1910" + } + ] + }, + { + "Grupa": "192", + "Denumire": "Fabricarea produselor obținute din prelucrareațițeiului", + "Clase": [ + { + "CAENRev2": "1920", + "Denumire": "Fabricarea produselor obtinute din prelucrareațițeiului", + "CAENRev1": "2320 1010*1020*1030*", + "ISICRev4": "1920" + } + ] + } + ] + }, + { + "Diviziune": "20", + "Denumire": "Fabricarea substanțelor și a produselor chimice", + "Grupe": [ + { + "Grupa": "201", + "Denumire": "Fabricarea produselor chimice de bază, a îngrașămintelor și produselor azotoase; fabricarea materialelor plastice și a cauciucului sintetic, în forme primare", + "Clase": [ + { + "CAENRev2": "2011", + "Denumire": "Fabricarea gazelor industriale", + "CAENRev1": "2411", + "ISICRev4": "2011*" + }, + { + "CAENRev2": "2012", + "Denumire": "Fabricarea colorantilor și a pigmentilor", + "CAENRev1": "2412", + "ISICRev4": "2011*" + }, + { + "CAENRev2": "2013", + "Denumire": "Fabricarea altor produse chimice anorganice de bază", + "CAENRev1": "2413 2330*", + "ISICRev4": "2011*" + }, + { + "CAENRev2": "2014", + "Denumire": "Fabricarea altor produse chimice organice, de bază", + "CAENRev1": "2414*1592*", + "ISICRev4": "2011*" + }, + { + "CAENRev2": "2015", + "Denumire": "Fabricarea îngrășămintelor și produselor azotoase", + "CAENRev1": "2415", + "ISICRev4": "2012" + }, + { + "CAENRev2": "2016", + "Denumire": "Fabricarea materialelor plastice în forme primare", + "CAENRev1": "2416", + "ISICRev4": "2013*" + }, + { + "CAENRev2": "2017", + "Denumire": "Fabricarea cauciucului sintetic în forme primare", + "CAENRev1": "2417", + "ISICRev4": "2013*" + } + ] + }, + { + "Grupa": "202", + "Denumire": "Fabricarea pesticidelor și a altor produse agrochimice", + "Clase": [ + { + "CAENRev2": "2020", + "Denumire": "Fabricarea pesticidelor și a altor produse agrochimice", + "CAENRev1": "2420", + "ISICRev4": "2021" + } + ] + }, + { + "Grupa": "203", + "Denumire": "Fabricarea vopselelor, lacurilor, cernelii tipografice și masticurilor", + "Clase": [ + { + "CAENRev2": "2030", + "Denumire": "Fabricarea vopselelor, lacurilor, cernelii tipografice și masticurilor", + "CAENRev1": "2430", + "ISICRev4": "2022" + } + ] + }, + { + "Grupa": "204", + "Denumire": "Fabricarea sapunurilor, detergenților și a produselor de întreținere cosmetice și de parfumerie", + "Clase": [ + { + "CAENRev2": "2041", + "Denumire": "Fabricarea săpunurilor, detergentilor și a produselor de întreținere", + "CAENRev1": "2451*", + "ISICRev4": "2023*" + }, + { + "CAENRev2": "2042", + "Denumire": "Fabricarea parfumurilor și a produselor cosmetice (de toaletă)", + "CAENRev1": "2452 2451*", + "ISICRev4": "2023*" + } + ] + }, + { + "Grupa": "205", + "Denumire": "Fabricarea altor produse chimice", + "Clase": [ + { + "CAENRev2": "2051", + "Denumire": "Fabricarea explozivilor", + "CAENRev1": "2461 3663*", + "ISICRev4": "2029*" + }, + { + "CAENRev2": "2052", + "Denumire": "Fabricarea cleiurilor", + "CAENRev1": "2462*", + "ISICRev4": "2029*" + }, + { + "CAENRev2": "2053", + "Denumire": "Fabricarea uleiurilor esențiale", + "CAENRev1": "2463", + "ISICRev4": "2029*" + }, + { + "CAENRev2": "2059", + "Denumire": "Fabricarea altor produse chimice n.c.a.", + "CAENRev1": "2462*2464 2466*", + "ISICRev4": "2029*" + } + ] + }, + { + "Grupa": "206", + "Denumire": "Fabricarea fibrelor sintetice și artificiale", + "Clase": [ + { + "CAENRev2": "2060", + "Denumire": "Fabricarea fibrelor sintetice și artificiale", + "CAENRev1": "2470", + "ISICRev4": "2030" + } + ] + } + ] + }, + { + "Diviziune": "21", + "Denumire": "Fabricarea produselor farmaceutice de bază și a preparatelor farmaceutice", + "Grupe": [ + { + "Grupa": "211", + "Denumire": "Fabricarea produselor farmaceutice de bază", + "Clase": [ + { + "CAENRev2": "2110", + "Denumire": "Fabricarea produselor farmaceutice de bază", + "CAENRev1": "2441", + "ISICRev4": "2100*" + } + ] + }, + { + "Grupa": "212", + "Denumire": "Fabricarea preparatelor farmaceutice", + "Clase": [ + { + "CAENRev2": "2120", + "Denumire": "Fabricarea preparatelor farmaceutice", + "CAENRev1": "2442*2330*", + "ISICRev4": "2100*" + } + ] + } + ] + }, + { + "Diviziune": "22", + "Denumire": "Fabricarea produselor din cauciuc și mase plastice", + "Grupe": [ + { + "Grupa": "221", + "Denumire": "Fabricarea articolelor din cauciuc", + "Clase": [ + { + "CAENRev2": "2211", + "Denumire": "Fabricarea anvelopelor și a camerelor de aer; reșaparea și refacerea anvelopelor", + "CAENRev1": "2511 2512", + "ISICRev4": "2211" + }, + { + "CAENRev2": "2219", + "Denumire": "Fabricarea altor produse din cauciuc", + "CAENRev1": "2513*1930*3663*", + "ISICRev4": "2219" + } + ] + }, + { + "Grupa": "222", + "Denumire": "Fabricarea articolelor din material plastic", + "Clase": [ + { + "CAENRev2": "2221", + "Denumire": "Fabricarea plăcilor, foliilor, tuburilor și profilelor din material plastic", + "CAENRev1": "2521*", + "ISICRev4": "2220*" + }, + { + "CAENRev2": "2222", + "Denumire": "Fabricarea articolelor de ambalaj din materialplastic", + "CAENRev1": "2522", + "ISICRev4": "2220*" + }, + { + "CAENRev2": "2223", + "Denumire": "Fabricarea articolelor din material plastic pentru construcții", + "CAENRev1": "2523*3663*", + "ISICRev4": "2220*" + }, + { + "CAENRev2": "2229", + "Denumire": "Fabricarea altor produse din material plastic", + "CAENRev1": "2524*1930*3663*", + "ISICRev4": "2220*" + } + ] + } + ] + }, + { + "Diviziune": "23", + "Denumire": "Fabricarea altor produse din minerale nemetalice", + "Grupe": [ + { + "Grupa": "231", + "Denumire": "Fabricarea sticlei și a articolelor din, sticlă", + "Clase": [ + { + "CAENRev2": "2311", + "Denumire": "Fabricarea sticlei plate", + "CAENRev1": "2611", + "ISICRev4": "2310*" + }, + { + "CAENRev2": "2312", + "Denumire": "Prelucrarea și fasonarea sticlei plate", + "CAENRev1": "2612", + "ISICRev4": "2310*" + }, + { + "CAENRev2": "2313", + "Denumire": "Fabricarea articolelor din sticlă", + "CAENRev1": "2613", + "ISICRev4": "2310*" + }, + { + "CAENRev2": "2314", + "Denumire": "Fabricarea fibrelor din sticlă", + "CAENRev1": "2614", + "ISICRev4": "2310*" + }, + { + "CAENRev2": "2319", + "Denumire": "Fabricarea de sticlărie tehnică", + "CAENRev1": "2615*", + "ISICRev4": "2310*" + } + ] + }, + { + "Grupa": "232", + "Denumire": "Fabricarea de produse refractare", + "Clase": [ + { + "CAENRev2": "2320", + "Denumire": "Fabricarea de produse refractare", + "CAENRev1": "2626", + "ISICRev4": "2391" + } + ] + }, + { + "Grupa": "233", + "Denumire": "Fabricarea materialelor de constructii din argilă", + "Clase": [ + { + "CAENRev2": "2331", + "Denumire": "Fabricarea plăcilor și dalelor din ceramică", + "CAENRev1": "2630", + "ISICRev4": "2392*" + }, + { + "CAENRev2": "2332", + "Denumire": "Fabricarea cărămizilor, țiglelor și altor produse pentru construcții din argilă arsă", + "CAENRev1": "2640*", + "ISICRev4": "2392*" + } + ] + }, + { + "Grupa": "234", + "Denumire": "Fabricarea altor articole din ceramică și porțelan", + "Clase": [ + { + "CAENRev2": "2341", + "Denumire": "Fabricarea articolelor ceramice pentru uz gospodăresc și ornamental", + "CAENRev1": "2621", + "ISICRev4": "2393*" + }, + { + "CAENRev2": "2342", + "Denumire": "Fabricarea de obiecte sanitare din ceramica", + "CAENRev1": "2622", + "ISICRev4": "2393*" + }, + { + "CAENRev2": "2343", + "Denumire": "Fabricarea izolatorilor și pieselor izolante din ceramică", + "CAENRev1": "2623", + "ISICRev4": "2393*" + }, + { + "CAENRev2": "2344", + "Denumire": "Fabricarea altor produse tehnice din ceramică", + "CAENRev1": "2624 3162*", + "ISICRev4": "2393*" + }, + { + "CAENRev2": "2349", + "Denumire": "Fabricarea altor produse ceramice n.c.a.", + "CAENRev1": "2625", + "ISICRev4": "2393*" + } + ] + }, + { + "Grupa": "235", + "Denumire": "Fabricarea cimentului, varului și ipsosului", + "Clase": [ + { + "CAENRev2": "2351", + "Denumire": "Fabricarea cimentului", + "CAENRev1": "2651", + "ISICRev4": "2394*" + }, + { + "CAENRev2": "2352", + "Denumire": "Fabricarea varului și ipsosului", + "CAENRev1": "2652 2653", + "ISICRev4": "2394*" + } + ] + }, + { + "Grupa": "236", + "Denumire": "Fabricarea articolelor din beton,ciment și ipsos", + "Clase": [ + { + "CAENRev2": "2361", + "Denumire": "Fabricarea produselor din beton pentru construcții", + "CAENRev1": "2661", + "ISICRev4": "2395*" + }, + { + "CAENRev2": "2362", + "Denumire": "Fabricarea produselor din ipsos pentru construcții", + "CAENRev1": "2662", + "ISICRev4": "2395*" + }, + { + "CAENRev2": "2363", + "Denumire": "Fabricarea betonului", + "CAENRev1": "2663", + "ISICRev4": "2395*" + }, + { + "CAENRev2": "2364", + "Denumire": "Fabricarea mortarului", + "CAENRev1": "2664", + "ISICRev4": "2395*" + }, + { + "CAENRev2": "2365", + "Denumire": "Fabricarea produselor din azbociment", + "CAENRev1": "2665", + "ISICRev4": "2395*" + }, + { + "CAENRev2": "2369", + "Denumire": "Fabricarea altor articole din beton, ciment șiipsos", + "CAENRev1": "2666", + "ISICRev4": "2395*" + } + ] + }, + { + "Grupa": "237", + "Denumire": "Tăierea,fasonarea și finisarea pietrei", + "Clase": [ + { + "CAENRev2": "2370", + "Denumire": "Tăierea, fasonarea și finisarea pietrei", + "CAENRev1": "2670", + "ISICRev4": "2396" + } + ] + }, + { + "Grupa": "239", + "Denumire": "Fabricarea produselor abrazive și a altor produse din minerale nemetalice n.c.a.", + "Clase": [ + { + "CAENRev2": "2391", + "Denumire": "Fabricarea de produse abrazive", + "CAENRev1": "2681*", + "ISICRev4": "2399*" + }, + { + "CAENRev2": "2399", + "Denumire": "Fabricarea altor produse din minerale nemetalice, n.c.a.", + "CAENRev1": "2682", + "ISICRev4": "2399*" + } + ] + } + ] + }, + { + "Diviziune": "24", + "Denumire": "Industria metalurgica", + "Grupe": [ + { + "Grupa": "241", + "Denumire": "Producția de metale feroase sub forme primare și de feroaliaje", + "Clase": [ + { + "CAENRev2": "2410", + "Denumire": "Producția de metale feroase sub forme primare și de feroaliaje", + "CAENRev1": "2710", + "ISICRev4": "2410*" + } + ] + }, + { + "Grupa": "242", + "Denumire": "Producția de tuburi, țevi, profile tubulare și accesorii pentru acestea, din oțel", + "Clase": [ + { + "CAENRev2": "2420", + "Denumire": "Producția de tuburi, țevi, profile tubulare șiaccesorii pentru acestea, din otel", + "CAENRev1": "2722", + "ISICRev4": "2410*" + } + ] + }, + { + "Grupa": "243", + "Denumire": "Fabricarea altor produse prin prelucrarea primara a otelului", + "Clase": [ + { + "CAENRev2": "2431", + "Denumire": "Tragere la rece a barelor", + "CAENRev1": "2731", + "ISICRev4": "2410*" + }, + { + "CAENRev2": "2432", + "Denumire": "Laminare la rece a benzilor înguste", + "CAENRev1": "2732", + "ISICRev4": "2410*" + }, + { + "CAENRev2": "2433", + "Denumire": "Producția de profile obținute la rece", + "CAENRev1": "2733 2811*", + "ISICRev4": "2410*" + }, + { + "CAENRev2": "2434", + "Denumire": "Trefilarea firelor la rece", + "CAENRev1": "2734", + "ISICRev4": "2410*" + } + ] + }, + { + "Grupa": "244", + "Denumire": "Producția metalelor prețioase și a altor metale neferoase", + "Clase": [ + { + "CAENRev2": "2441", + "Denumire": "Producția metalelor prețioase", + "CAENRev1": "2741", + "ISICRev4": "2420*" + }, + { + "CAENRev2": "2442", + "Denumire": "Metalurgia aluminiului", + "CAENRev1": "2742", + "ISICRev4": "2420*" + }, + { + "CAENRev2": "2443", + "Denumire": "Producția plumbului, zincului și cositorului", + "CAENRev1": "2743", + "ISICRev4": "2420*" + }, + { + "CAENRev2": "2444", + "Denumire": "Metalurgia cuprului", + "CAENRev1": "2744", + "ISICRev4": "2420*" + }, + { + "CAENRev2": "2445", + "Denumire": "Producția altor metale neferoase", + "CAENRev1": "2745", + "ISICRev4": "2420*" + }, + { + "CAENRev2": "2446", + "Denumire": "Prelucrarea combustibililor nucleari", + "CAENRev1": "2330*", + "ISICRev4": "2420*" + } + ] + }, + { + "Grupa": "245", + "Denumire": "Turnarea metalelor", + "Clase": [ + { + "CAENRev2": "2451", + "Denumire": "Turnarea fontei", + "CAENRev1": "2721 2751", + "ISICRev4": "2431*" + }, + { + "CAENRev2": "2452", + "Denumire": "Turnarea oțelului", + "CAENRev1": "2752", + "ISICRev4": "2431*" + }, + { + "CAENRev2": "2453", + "Denumire": "Turnarea metalelor neferoase ușoare", + "CAENRev1": "2753", + "ISICRev4": "2432*" + }, + { + "CAENRev2": "2454", + "Denumire": "Turnarea altor metale neferoase", + "CAENRev1": "2754", + "ISICRev4": "2432*" + } + ] + } + ] + }, + { + "Diviziune": "25", + "Denumire": "Industria construcțiilor metalice și a produselor din metal, exclusiv mașini, utilaje și instalații", + "Grupe": [ + { + "Grupa": "251", + "Denumire": "Fabricarea de construcții metalice", + "Clase": [ + { + "CAENRev2": "2511", + "Denumire": "Fabricarea de construcții metalice și părți componente ale structurilor metalice", + "CAENRev1": "2811*", + "ISICRev4": "2511*" + }, + { + "CAENRev2": "2512", + "Denumire": "Fabricarea de uși și ferestre din metal", + "CAENRev1": "2812*", + "ISICRev4": "2511*" + } + ] + }, + { + "Grupa": "252", + "Denumire": "Producția de rezervoare, cisterne și containe-re metalice; producția de radiatoare și cazanepentru incalzire centrală", + "Clase": [ + { + "CAENRev2": "2521", + "Denumire": "Producția de radiatoare și cazane pentru încalzire centrală", + "CAENRev1": "2822*", + "ISICRev4": "2512*" + }, + { + "CAENRev2": "2529", + "Denumire": "Producția de rezervoare, cisterne și containere metalice", + "CAENRev1": "2821*", + "ISICRev4": "2512*" + } + ] + }, + { + "Grupa": "253", + "Denumire": "Producția generatoarelor de aburi (cu excepțiacazanelor pentru încălzire centrală)", + "Clase": [ + { + "CAENRev2": "2530", + "Denumire": "Producția generatoarelor de aburi (cu excepțiacazanelor pentru încălzire centrală)", + "CAENRev1": "2830*", + "ISICRev4": "2513" + } + ] + }, + { + "Grupa": "254", + "Denumire": "Fabricarea armamentului și munitiei", + "Clase": [ + { + "CAENRev2": "2540", + "Denumire": "Fabricarea armamentului și muniției", + "CAENRev1": "2960*", + "ISICRev4": "2520" + } + ] + }, + { + "Grupa": "255", + "Denumire": "Fabricarea produselor metalice obținute prin deformare plastică; metalurgia pulberilor", + "Clase": [ + { + "CAENRev2": "2550", + "Denumire": "Fabricarea produselor metalice obtinute prin deformare plastică; metalurgia pulberilor", + "CAENRev1": "2840", + "ISICRev4": "2591" + } + ] + }, + { + "Grupa": "256", + "Denumire": "Tratarea și acoperirea metalelor; operațiuni de mecanică generală pe bază de plată sau contract", + "Clase": [ + { + "CAENRev2": "2561", + "Denumire": "Tratarea și acoperirea metalelor", + "CAENRev1": "2851", + "ISICRev4": "2592*" + }, + { + "CAENRev2": "2562", + "Denumire": "Operațiuni de mecanică generală", + "CAENRev1": "2852", + "ISICRev4": "2592*" + } + ] + }, + { + "Grupa": "257", + "Denumire": "Producția de unelte și articole de fierărie", + "Clase": [ + { + "CAENRev2": "2571", + "Denumire": "Fabricarea produselor de tăiat", + "CAENRev1": "2861*2875*", + "ISICRev4": "2593*" + }, + { + "CAENRev2": "2572", + "Denumire": "Fabricarea articolelor de feronerie", + "CAENRev1": "2863*", + "ISICRev4": "2593*" + }, + { + "CAENRev2": "2573", + "Denumire": "Fabricarea uneltelor", + "CAENRev1": "2862*2956*", + "ISICRev4": "2593*" + } + ] + }, + { + "Grupa": "259", + "Denumire": "Fabricarea altor produse prelucrate din metal", + "Clase": [ + { + "CAENRev2": "2591", + "Denumire": "Fabricarea de recipienți, containere și alte produse similare din oțel", + "CAENRev1": "2871*", + "ISICRev4": "2599*" + }, + { + "CAENRev2": "2592", + "Denumire": "Fabricarea ambalajelor ușoare din metal", + "CAENRev1": "2872", + "ISICRev4": "2599*" + }, + { + "CAENRev2": "2593", + "Denumire": "Fabricarea articolelor din fire metalice; fabricarea de lanțuri și arcuri", + "CAENRev1": "2873 2874*", + "ISICRev4": "2599*" + }, + { + "CAENRev2": "2594", + "Denumire": "Fabricarea de șuruburi, bidoane și alte articole filetate; fabricarea de nituri și șaibe", + "CAENRev1": "2874*", + "ISICRev4": "2599*" + }, + { + "CAENRev2": "2599", + "Denumire": "Fabricarea altor articole din metal n.c.a.", + "CAENRev1": "2875*3162*3663*", + "ISICRev4": "2599*" + } + ] + } + ] + }, + { + "Diviziune": "26", + "Denumire": "Fabricarea calculatoarelor și a produselor electronice și optice", + "Grupe": [ + { + "Grupa": "261", + "Denumire": "Fabricarea componentelor electronice", + "Clase": [ + { + "CAENRev2": "2611", + "Denumire": "Fabricarea subansamblurilor electronice (module)", + "CAENRev1": "2466*3110*3120*3130*3210*3230*", + "ISICRev4": "2610*" + }, + { + "CAENRev2": "2612", + "Denumire": "Fabricarea altor componente electronice", + "CAENRev1": "3210*", + "ISICRev4": "2610*" + } + ] + }, + { + "Grupa": "262", + "Denumire": "Fabricarea calculatoarelor și a echipamentelorperiferice", + "Clase": [ + { + "CAENRev2": "2620", + "Denumire": "Fabricarea calculatoarelor și a echipamentelorperiferice", + "CAENRev1": "3002*3230*", + "ISICRev4": "2620" + } + ] + }, + { + "Grupa": "263", + "Denumire": "Fabricarea echipamentelor de comunicații", + "Clase": [ + { + "CAENRev2": "2630", + "Denumire": "Fabricarea echipamentelor de comunicatii", + "CAENRev1": "3220*3230*3162*3320*", + "ISICRev4": "2630" + } + ] + }, + { + "Grupa": "264", + "Denumire": "Fabricarea produselor electronice de larg consum", + "Clase": [ + { + "CAENRev2": "2640", + "Denumire": "Fabricarea produselor electronice de larg consum", + "CAENRev1": "3230*3650*", + "ISICRev4": "2640" + } + ] + }, + { + "Grupa": "265", + "Denumire": "Fabricarea de echipamente de măsura, verificare, control și navigație; producția de ceasuri", + "Clase": [ + { + "CAENRev2": "2651", + "Denumire": "Fabricarea de instrumente și dispozitive pentru măsura, verificare, control, navigatie", + "CAENRev1": "3162*3320*", + "ISICRev4": "2651*" + }, + { + "CAENRev2": "2652", + "Denumire": "Producția de ceasuri", + "CAENRev1": "3350*", + "ISICRev4": "2652" + } + ] + }, + { + "Grupa": "266", + "Denumire": "Fabricarea de echipamente pentru radiologie, electrodiagnostic și electroterapie", + "Clase": [ + { + "CAENRev2": "2660", + "Denumire": "Fabricarea de echipamente pentru radiologie, electrodiagnostic și electroterapie", + "CAENRev1": "3310*", + "ISICRev4": "2660" + } + ] + }, + { + "Grupa": "267", + "Denumire": "Fabricarea de instrumente optice și echipamen-te fotografice", + "Clase": [ + { + "CAENRev2": "2670", + "Denumire": "Fabricarea de instrumente optice și echipamen-te fotografice", + "CAENRev1": "3340*3320*3230*", + "ISICRev4": "2670" + } + ] + }, + { + "Grupa": "268", + "Denumire": "Fabricarea suporților magnetici și optici destinați înregistrărilor", + "Clase": [ + { + "CAENRev2": "2680", + "Denumire": "Fabricarea suporților magnetici și optici destinați înregistrărilor", + "CAENRev1": "2465", + "ISICRev4": "2680" + } + ] + } + ] + }, + { + "Diviziune": "27", + "Denumire": "Fabricarea echipamentelor electrice", + "Grupe": [ + { + "Grupa": "271", + "Denumire": "Fabricarea motoarelor electrice, generatoarelor și transformatoarelor electrice și a aparatelor de distribuție și control a electricității", + "Clase": [ + { + "CAENRev2": "2711", + "Denumire": "Fabricarea motoarelor, generatoarelor și transformatoarelor electrice", + "CAENRev1": "3110*3162*", + "ISICRev4": "2710*" + }, + { + "CAENRev2": "2712", + "Denumire": "Fabricarea aparatelor de distribuție și control a electricitatii", + "CAENRev1": "3120*", + "ISICRev4": "2710*" + } + ] + }, + { + "Grupa": "272", + "Denumire": "Fabricarea de acumulatori și baterii", + "Clase": [ + { + "CAENRev2": "2720", + "Denumire": "Fabricarea de acumulatori și baterii", + "CAENRev1": "3140", + "ISICRev4": "2720" + } + ] + }, + { + "Grupa": "273", + "Denumire": "Fabricarea de fire și cabluri; fabricarea dispozitivelor de conexiune pentru acestea", + "Clase": [ + { + "CAENRev2": "2731", + "Denumire": "Fabricarea de cabluri cu fibră optică", + "CAENRev1": "3130*3340*", + "ISICRev4": "2731" + }, + { + "CAENRev2": "2732", + "Denumire": "Fabricarea altor fire și cabluri electrice și electronice", + "CAENRev1": "3130*2523*", + "ISICRev4": "2732" + }, + { + "CAENRev2": "2733", + "Denumire": "Fabricarea dispozitivelor de conexiune pentru fire și cabluri electrice și electronice", + "CAENRev1": "3130*2524*3120*", + "ISICRev4": "2733" + } + ] + }, + { + "Grupa": "274", + "Denumire": "Fabricarea de echipamente electrice de iluminat", + "Clase": [ + { + "CAENRev2": "2740", + "Denumire": "Fabricarea de echipamente electrice de iluminat", + "CAENRev1": "3150 3161*3162*", + "ISICRev4": "2740" + } + ] + }, + { + "Grupa": "275", + "Denumire": "Fabricarea de echipamente casnice", + "Clase": [ + { + "CAENRev2": "2751", + "Denumire": "Fabricarea de aparate electrocasnice", + "CAENRev1": "2971*2956*", + "ISICRev4": "2750*" + }, + { + "CAENRev2": "2752", + "Denumire": "Fabricarea de echipamente casnice neelectrice", + "CAENRev1": "2972*", + "ISICRev4": "2750*" + } + ] + }, + { + "Grupa": "279", + "Denumire": "Fabricarea altor echipamente electrice", + "Clase": [ + { + "CAENRev2": "2790", + "Denumire": "Fabricarea altor echipamente electrice", + "CAENRev1": "2943*3162*3120*3130*3210*", + "ISICRev4": "2790" + } + ] + } + ] + }, + { + "Diviziune": "28", + "Denumire": "Fabricarea de mașini, utilaje și echipamente n.c.a.", + "Grupe": [ + { + "Grupa": "281", + "Denumire": "Fabricarea de mașini și utilaje de utilizare generală", + "Clase": [ + { + "CAENRev2": "2811", + "Denumire": "Fabricarea de motoare și turbine (cu excepția celor pentru avioane autovehicule și motociclete)", + "CAENRev1": "2911*3430*", + "ISICRev4": "2811" + }, + { + "CAENRev2": "2812", + "Denumire": "Fabricarea de motoare hidraulice", + "CAENRev1": "2912*2913*", + "ISICRev4": "2812" + }, + { + "CAENRev2": "2813", + "Denumire": "Fabricarea de pompe și compresoare", + "CAENRev1": "2912*", + "ISICRev4": "2813*" + }, + { + "CAENRev2": "2814", + "Denumire": "Fabricarea de articole de robinetărie", + "CAENRev1": "2913*", + "ISICRev4": "2813*" + }, + { + "CAENRev2": "2815", + "Denumire": "Fabricarea lagărelor angrenajelor, cutiilor deviteză și elementelor mecanice de transmisie", + "CAENRev1": "2914*", + "ISICRev4": "2814" + } + ] + }, + { + "Grupa": "282", + "Denumire": "Fabricarea altor masini și utilaje de utilizare generală", + "Clase": [ + { + "CAENRev2": "2821", + "Denumire": "Fabricarea cuptoarelor, furnalelor și arzătoarelor", + "CAENRev1": "2921*2971*2972*", + "ISICRev4": "2815" + }, + { + "CAENRev2": "2822", + "Denumire": "Fabricarea echipamentelor de ridicat și manipulat", + "CAENRev1": "2922*3550*", + "ISICRev4": "2816" + }, + { + "CAENRev2": "2823", + "Denumire": "Fabricarea mașinilor și echipamentelor de birou (exclusiv fabricarea calculatoarelor și a echipamentelor periferice)", + "CAENRev1": "3001 3230*3612*", + "ISICRev4": "2817" + }, + { + "CAENRev2": "2824", + "Denumire": "Fabricarea mașinilor-unelte portabile acționate electric", + "CAENRev1": "2941*", + "ISICRev4": "2818" + }, + { + "CAENRev2": "2825", + "Denumire": "Fabricarea echipamentelor de ventilație și frigorifice, exclusiv a echipamentelor de uz casnic", + "CAENRev1": "2923*2971*", + "ISICRev4": "2819*" + }, + { + "CAENRev2": "2829", + "Denumire": "Fabricarea altor mașini și utilaje de utilizare generală n.c.a.", + "CAENRev1": "2924*2943*3320*", + "ISICRev4": "2819*" + } + ] + }, + { + "Grupa": "283", + "Denumire": "Fabricarea masinilor și utilajelor pentru agricultură și exploatări forestiere", + "Clase": [ + { + "CAENRev2": "2830", + "Denumire": "Fabricarea mașinilor și utilajelor pentru agricultură și exploatări forestiere", + "CAENRev1": "2931*2932*2953*", + "ISICRev4": "2821" + } + ] + }, + { + "Grupa": "284", + "Denumire": "Fabricarea utilajelor pentru prelucrarea metalului și a mașinilor-unelte", + "Clase": [ + { + "CAENRev2": "2841", + "Denumire": "Fabricarea utilajelor și a mașinilor-unelte pentru prelucrarea metalului", + "CAENRev1": "2862*2942*3162*", + "ISICRev4": "2822*" + }, + { + "CAENRev2": "2849", + "Denumire": "Fabricarea altor mașini-unelte n.c.a.", + "CAENRev1": "2943*2862*", + "ISICRev4": "2822*" + } + ] + }, + { + "Grupa": "289", + "Denumire": "Fabricarea altor mașini și utilaje cu destinație specifică", + "Clase": [ + { + "CAENRev2": "2891", + "Denumire": "Fabricarea utilajelor pentru metalurgie", + "CAENRev1": "2951*", + "ISICRev4": "2823" + }, + { + "CAENRev2": "2892", + "Denumire": "Fabricarea utilajelor pentru extracție și construcții", + "CAENRev1": "2952*2862*3410*", + "ISICRev4": "2824" + }, + { + "CAENRev2": "2893", + "Denumire": "Fabricarea utilajelor pentru prelucrarea produselor alimentare, băuturilor și tutunului", + "CAENRev1": "2953*", + "ISICRev4": "2825" + }, + { + "CAENRev2": "2894", + "Denumire": "Fabricarea utilajelor pentru industria textilăa îmbrăcămintei și a pielăriei", + "CAENRev1": "2954*2956*", + "ISICRev4": "2826" + }, + { + "CAENRev2": "2895", + "Denumire": "Fabricarea utilajelor pentru industria hârtieiși cartonului", + "CAENRev1": "2955*", + "ISICRev4": "2829*" + }, + { + "CAENRev2": "2896", + "Denumire": "Fabricarea utilajelor pentru prelucrarea maselor plastice și a cauciucului", + "CAENRev1": "2956*", + "ISICRev4": "2829*" + }, + { + "CAENRev2": "2899", + "Denumire": "Fabricarea altor mașini și utilaje specifice n.c.a.", + "CAENRev1": "2956*3162*3320*3340*3530*3650*3663*", + "ISICRev4": "2829*" + } + ] + } + ] + }, + { + "Diviziune": "29", + "Denumire": "Fabricarea autovehiculelor de transport rutiera remorcilor și semiremorcilor", + "Grupe": [ + { + "Grupa": "291", + "Denumire": "Fabricarea autovehiculelor de transport rutier", + "Clase": [ + { + "CAENRev2": "2910", + "Denumire": "Fabricarea autovehiculelor de transport rutier", + "CAENRev1": "3410*", + "ISICRev4": "2910" + } + ] + }, + { + "Grupa": "292", + "Denumire": "Producția de caroserii pentru autovehicule; fabricarea de remorci și semiremorci", + "Clase": [ + { + "CAENRev2": "2920", + "Denumire": "Producția de caroserii pentru autovehicule; fabricarea de remorci și semiremorci", + "CAENRev1": "3420*", + "ISICRev4": "2920" + } + ] + }, + { + "Grupa": "293", + "Denumire": "Producția de piese și accesorii pentru autovehicule și pentru motoare de autovehicule", + "Clase": [ + { + "CAENRev2": "2931", + "Denumire": "Fabricarea de echipamente electrice și electronice pentru autovehicule și pentru motoare de autovehicule", + "CAENRev1": "3161*", + "ISICRev4": "2930*" + }, + { + "CAENRev2": "2932", + "Denumire": "Fabricarea altor piese și accesorii pentru autovehicule și pentru motoare de autovehicule", + "CAENRev1": "3430*3611*", + "ISICRev4": "2930*" + } + ] + } + ] + }, + { + "Diviziune": "30", + "Denumire": "Fabricarea altor mijloace de transport", + "Grupe": [ + { + "Grupa": "301", + "Denumire": "Construcția de nave și bărci", + "Clase": [ + { + "CAENRev2": "3011", + "Denumire": "Construcția de nave și structuri plutitoare", + "CAENRev1": "3511*3611*", + "ISICRev4": "3011" + }, + { + "CAENRev2": "3012", + "Denumire": "Construcția de ambarcatiuni sportive și de agrement", + "CAENRev1": "3512*", + "ISICRev4": "3012" + } + ] + }, + { + "Grupa": "302", + "Denumire": "Fabricarea materialului rulant", + "Clase": [ + { + "CAENRev2": "3020", + "Denumire": "Fabricarea materialului rulant", + "CAENRev1": "3162*3520*3611*", + "ISICRev4": "3020" + } + ] + }, + { + "Grupa": "303", + "Denumire": "Fabricarea de aeronave și nave spațiale", + "Clase": [ + { + "CAENRev2": "3030", + "Denumire": "Fabricarea de aeronave și nave spațiale", + "CAENRev1": "2960*3530*3611*", + "ISICRev4": "3030" + } + ] + }, + { + "Grupa": "304", + "Denumire": "Fabricarea vehiculelor militare de luptă", + "Clase": [ + { + "CAENRev2": "3040", + "Denumire": "Fabricarea vehiculelor militare de luptă", + "CAENRev1": "2960*", + "ISICRev4": "3040" + } + ] + }, + { + "Grupa": "309", + "Denumire": "Fabricarea altor echipamente de transport n.c.a.", + "Clase": [ + { + "CAENRev2": "3091", + "Denumire": "Fabricarea de motociclete", + "CAENRev1": "3541 3410*", + "ISICRev4": "3091" + }, + { + "CAENRev2": "3092", + "Denumire": "Fabricarea de biciclete și de vehicule pentru invalizi", + "CAENRev1": "3542 3543*3663*", + "ISICRev4": "3092" + }, + { + "CAENRev2": "3099", + "Denumire": "Fabricarea altor mijloace de transport n.c.a.", + "CAENRev1": "3550*", + "ISICRev4": "3099" + } + ] + } + ] + }, + { + "Diviziune": "31", + "Denumire": "Fabricarea de mobilă", + "Grupe": [ + { + "Grupa": "310", + "Denumire": "Fabricarea de mobilă", + "Clase": [ + { + "CAENRev2": "3101", + "Denumire": "Fabricarea de mobilă pentru birouri și magazine", + "CAENRev1": "3310*3550*3611*3612*", + "ISICRev4": "3100*" + }, + { + "CAENRev2": "3102", + "Denumire": "Fabricarea de mobilă pentru bucătării", + "CAENRev1": "3611*3613", + "ISICRev4": "3100*" + }, + { + "CAENRev2": "3103", + "Denumire": "Fabricarea de saltele și somiere", + "CAENRev1": "3615", + "ISICRev4": "3100*" + }, + { + "CAENRev2": "3109", + "Denumire": "Fabricarea de mobilă n.c.a.", + "CAENRev1": "3611*3614*", + "ISICRev4": "3100*" + } + ] + } + ] + }, + { + "Diviziune": "32", + "Denumire": "Alte activități industriale n.c.a.", + "Grupe": [ + { + "Grupa": "321", + "Denumire": "Fabricarea bijuteriilor imitațiilor de bijuterii și articolelor similare", + "Clase": [ + { + "CAENRev2": "3211", + "Denumire": "Baterea monedelor", + "CAENRev1": "3621", + "ISICRev4": "3211*" + }, + { + "CAENRev2": "3212", + "Denumire": "Fabricarea bijuteriilor și articolelor similare din metale și pietre prețioase", + "CAENRev1": "3622 3350*", + "ISICRev4": "3211*" + }, + { + "CAENRev2": "3213", + "Denumire": "Fabricarea imitațiilor de bijuterii și articole similare", + "CAENRev1": "3661 3350*", + "ISICRev4": "3212" + } + ] + }, + { + "Grupa": "322", + "Denumire": "Fabricarea instrumentelor muzicale", + "Clase": [ + { + "CAENRev2": "3220", + "Denumire": "Fabricarea instrumentelor muzicale", + "CAENRev1": "3630*", + "ISICRev4": "3220" + } + ] + }, + { + "Grupa": "323", + "Denumire": "Fabricarea articolelor pentru sport", + "Clase": [ + { + "CAENRev2": "3230", + "Denumire": "Fabricarea articolelor pentru sport", + "CAENRev1": "3640*", + "ISICRev4": "3230" + } + ] + }, + { + "Grupa": "324", + "Denumire": "Fabricarea jocurilor și jucăriilor", + "Clase": [ + { + "CAENRev2": "3240", + "Denumire": "Fabricarea jocurilor și jucariilor", + "CAENRev1": "3650*", + "ISICRev4": "3240" + } + ] + }, + { + "Grupa": "325", + "Denumire": "Fabricarea de dispozitive, aparate și instrumente medicale și stomatologice", + "Clase": [ + { + "CAENRev2": "3250", + "Denumire": "Fabricarea de dispozitive, aparate și instrumente medicale și stomatologice", + "CAENRev1": "2442*3310*3320*3340*1740*2924*", + "ISICRev4": "3250" + } + ] + }, + { + "Grupa": "329", + "Denumire": "Alte activități industriale", + "Clase": [ + { + "CAENRev2": "3291", + "Denumire": "Fabricarea maturilor și periilor", + "CAENRev1": "3662", + "ISICRev4": "3290*" + }, + { + "CAENRev2": "3299", + "Denumire": "Fabricarea altor produse manufacturiere n.c.a.", + "CAENRev1": "1810*1824*1920*2052*2211*2524*2875*3640*3663*3310*2051*", + "ISICRev4": "3290*" + } + ] + } + ] + }, + { + "Diviziune": "33", + "Denumire": "Repararea, întreținerea și instalarea mașinilor și echipamentelor", + "Grupe": [ + { + "Grupa": "331", + "Denumire": "Repararea articolelor fabricate din metal, repararea mașinilor și echipamentelor", + "Clase": [ + { + "CAENRev2": "3311", + "Denumire": "Repararea articolelor fabricate din metal", + "CAENRev1": "2811*2821*2822*2830*2861*2862*2863*3550*2871*2875*2960*3420*", + "ISICRev4": "3311" + }, + { + "CAENRev2": "3312", + "Denumire": "Repararea mașinilor", + "CAENRev1": "2911*2912*2913*2914*2921*2922*2923*2924*2932*2931*2941*2942*2943*2951*2952*2953*2954*2955*2956*7250*", + "ISICRev4": "3312" + }, + { + "CAENRev2": "3313", + "Denumire": "Repararea echipamentelor electronice și optice", + "CAENRev1": "2924*3110*3162*3210*3230*3310*3320*3340*3350*", + "ISICRev4": "3313" + }, + { + "CAENRev2": "3314", + "Denumire": "Repararea echipamentelor electrice", + "CAENRev1": "2971*3110*3120*3162*3310*3320*", + "ISICRev4": "3314" + }, + { + "CAENRev2": "3315", + "Denumire": "Repararea și întreținerea navelor și bărcilor", + "CAENRev1": "3511*3512*", + "ISICRev4": "3315*" + }, + { + "CAENRev2": "3316", + "Denumire": "Repararea și intreținerea aeronavelor și navelor spațiale", + "CAENRev1": "3530*", + "ISICRev4": "3315*" + }, + { + "CAENRev2": "3317", + "Denumire": "Repararea și intreținerea altor echipamente de transport n.c.a.", + "CAENRev1": "3520*3543*3550*", + "ISICRev4": "3315*" + }, + { + "CAENRev2": "3319", + "Denumire": "Repararea altor echipamente", + "CAENRev1": "1740*1752*2040*2051*2513*2521*2524*2615*2640*2681*3630*3650*", + "ISICRev4": "3319" + } + ] + }, + { + "Grupa": "332", + "Denumire": "Instalarea mașinilor și echipamentelor industriale", + "Clase": [ + { + "CAENRev2": "3320", + "Denumire": "Instalarea mașinilor și echipamentelor industriale", + "CAENRev1": "2521*2615*2640*2681*28* 29* 30* 31* 32* 33* 34* 35* 36* 3320*3330*", + "ISICRev4": "3320" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "D", + "Denumire": "SECȚIUNEA D - PRODUCȚIA ȘI FURNIZAREA DE ENERGIE ELECTRICA ȘI TERMICA, GAZE, APA CALDA ȘI AER CONDIȚIONAT", + "Diviziuni": [ + { + "Diviziune": "35", + "Denumire": "Producția și furnizarea de energie electrică și termică, gaze, apă caldă și aer condiționat", + "Grupe": [ + { + "Grupa": "351", + "Denumire": "Producția, transportul și distribuția energiei electrice", + "Clase": [ + { + "CAENRev2": "3511", + "Denumire": "Producția de energie electrica", + "CAENRev1": "4011*", + "ISICRev4": "3510*" + }, + { + "CAENRev2": "3512", + "Denumire": "Transportul energiei electrice", + "CAENRev1": "4012", + "ISICRev4": "3510*" + }, + { + "CAENRev2": "3513", + "Denumire": "Distribuția energiei electrice", + "CAENRev1": "4013*", + "ISICRev4": "3510*" + }, + { + "CAENRev2": "3514", + "Denumire": "Comercializarea energiei electrice", + "CAENRev1": "4013*", + "ISICRev4": "3510*" + } + ] + }, + { + "Grupa": "352", + "Denumire": "Producția gazelor; distribuția combustibililorgazoși prin conducte", + "Clase": [ + { + "CAENRev2": "3521", + "Denumire": "Producția gazelor", + "CAENRev1": "4021", + "ISICRev4": "3520*" + }, + { + "CAENRev2": "3522", + "Denumire": "Distribuția combustibililor gazoși, prin conducte", + "CAENRev1": "4022*", + "ISICRev4": "3520*" + }, + { + "CAENRev2": "3523", + "Denumire": "Comercializarea combustibililor gazoși, prin conducte", + "CAENRev1": "4022*", + "ISICRev4": "3520*" + } + ] + }, + { + "Grupa": "353", + "Denumire": "Furnizarea de abur și aer condiționat", + "Clase": [ + { + "CAENRev2": "3530", + "Denumire": "Furnizarea de abur și aer condiționat", + "CAENRev1": "4030*", + "ISICRev4": "3530" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "E", + "Denumire": "SECȚIUNEA E - DISTRIBUTIA APEI; SALUBRITATE, GESTIONAREA DESEURILOR, ACTIVITĂȚI DE DECONTAMINARE", + "Diviziuni": [ + { + "Diviziune": "36", + "Denumire": "Captarea, tratarea și distribuția apei", + "Grupe": [ + { + "Grupa": "360", + "Denumire": "Captarea tratarea și distribuția apei", + "Clase": [ + { + "CAENRev2": "3600", + "Denumire": "Captarea, tratarea și distribuția apei", + "CAENRev1": "4100", + "ISICRev4": "3600" + } + ] + } + ] + }, + { + "Diviziune": "37", + "Denumire": "Colectarea și epurarea apelor uzate", + "Grupe": [ + { + "Grupa": "370", + "Denumire": "Colectarea și epurarea apelor uzate", + "Clase": [ + { + "CAENRev2": "3700", + "Denumire": "Colectarea și epurarea apelor uzate", + "CAENRev1": "9001", + "ISICRev4": "3700" + } + ] + } + ] + }, + { + "Diviziune": "38", + "Denumire": "Colectarea, tratarea și eliminarea deșeurilor;activități de recuperare a materialelor reciclabile", + "Grupe": [ + { + "Grupa": "381", + "Denumire": "Colectarea deșeurilor", + "Clase": [ + { + "CAENRev2": "3811", + "Denumire": "Colectarea deșeurilor nepericuloase", + "CAENRev1": "9002*9003*", + "ISICRev4": "3811" + }, + { + "CAENRev2": "3812", + "Denumire": "Colectarea deșeurilor periculoase", + "CAENRev1": "4011*9002*2330*", + "ISICRev4": "3812" + } + ] + }, + { + "Grupa": "382", + "Denumire": "Tratarea și eliminarea deșeurilor", + "Clase": [ + { + "CAENRev2": "3821", + "Denumire": "Tratarea și eliminarea deșeurilor nepericuloase", + "CAENRev1": "1450*2415*9002*", + "ISICRev4": "3821" + }, + { + "CAENRev2": "3822", + "Denumire": "Tratarea și eliminarea deșeurilor periculoase", + "CAENRev1": "9002*2330*", + "ISICRev4": "3822" + } + ] + }, + { + "Grupa": "383", + "Denumire": "Recuperarea materialelor", + "Clase": [ + { + "CAENRev2": "3831", + "Denumire": "Demontarea (dezasamblarea) mașinilor și a echipamentelor scoase din uz pentru recuperarea materialelor", + "CAENRev1": "3710*", + "ISICRev4": "3830*" + }, + { + "CAENRev2": "3832", + "Denumire": "Recuperarea materialelor reciclabile sortate", + "CAENRev1": "3710*3720", + "ISICRev4": "3830*" + } + ] + } + ] + }, + { + "Diviziune": "39", + "Denumire": "Activități și servicii de decontaminare", + "Grupe": [ + { + "Grupa": "390", + "Denumire": "Activități și servicii de decontaminare", + "Clase": [ + { + "CAENRev2": "3900", + "Denumire": "Activități și servicii de decontaminare", + "CAENRev1": "9003*", + "ISICRev4": "3900" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "F", + "Denumire": "SECȚIUNEA F - CONSTRUCTII", + "Diviziuni": [ + { + "Diviziune": "41", + "Denumire": "Construcții de clădiri", + "Grupe": [ + { + "Grupa": "411", + "Denumire": "Dezvoltare (promovare) imobiliară", + "Clase": [ + { + "CAENRev2": "4110", + "Denumire": "Dezvoltare (promovare) imobiliară", + "CAENRev1": "7011*", + "ISICRev4": "4100*" + } + ] + }, + { + "Grupa": "412", + "Denumire": "Lucrări de construcții a clădirilor rezidențiale și nerezidentiale", + "Clase": [ + { + "CAENRev2": "4120", + "Denumire": "Lucrări de construcții a clădirilor rezidențiale și nerezidențiale", + "CAENRev1": "4521*4523*", + "ISICRev4": "4100*" + } + ] + } + ] + }, + { + "Diviziune": "42", + "Denumire": "Lucrări de geniu civil", + "Grupe": [ + { + "Grupa": "421", + "Denumire": "Lucrări de construcții a drumurilor și a căilor ferate", + "Clase": [ + { + "CAENRev2": "4211", + "Denumire": "Lucrari de construcții a drumurilor și autostrăzilor", + "CAENRev1": "4523*", + "ISICRev4": "4210*" + }, + { + "CAENRev2": "4212", + "Denumire": "Lucrări de construcții a căilor ferate de suprafață și subterane.", + "CAENRev1": "4523*4521*", + "ISICRev4": "4210*" + }, + { + "CAENRev2": "4213", + "Denumire": "Construcția de poduri și tuneluri", + "CAENRev1": "4521*", + "ISICRev4": "4210*" + } + ] + }, + { + "Grupa": "422", + "Denumire": "Lucrări de constructii a proiectelor utilitare", + "Clase": [ + { + "CAENRev2": "4221", + "Denumire": "Lucrări de constructii a proiectelor utilitarepentru fluide", + "CAENRev1": "4521*4524*4525*", + "ISICRev4": "4220*" + }, + { + "CAENRev2": "4222", + "Denumire": "Lucrări de construcții a proiectelor utilitarepentru electricitate și telecomunicații", + "CAENRev1": "4521*", + "ISICRev4": "4220*" + } + ] + }, + { + "Grupa": "429", + "Denumire": "Lucrări de construcții a altor proiecte inginerești", + "Clase": [ + { + "CAENRev2": "4291", + "Denumire": "Construcții hidrotehnice", + "CAENRev1": "4524*", + "ISICRev4": "4290*" + }, + { + "CAENRev2": "4299", + "Denumire": "Lucrări de construcții a altor proiecte inginerești n.c.a.", + "CAENRev1": "4521*4523*", + "ISICRev4": "4290*" + } + ] + } + ] + }, + { + "Diviziune": "43", + "Denumire": "Lucrări speciale de construcții", + "Grupe": [ + { + "Grupa": "431", + "Denumire": "Lucrări de demolare și de pregătire a terenului", + "Clase": [ + { + "CAENRev2": "4311", + "Denumire": "Lucrări de demolare a construcțiilor", + "CAENRev1": "4511*", + "ISICRev4": "4311" + }, + { + "CAENRev2": "4312", + "Denumire": "Lucrari de pregătire a terenului", + "CAENRev1": "4511*", + "ISICRev4": "4312*" + }, + { + "CAENRev2": "4313", + "Denumire": "Lucrări de foraj și sondaj pentru construcții", + "CAENRev1": "4512", + "ISICRev4": "4312*" + } + ] + }, + { + "Grupa": "432", + "Denumire": "Lucrări de instalații electrice și tehnicosanitare și alte lucrări de instalații pentru constructii", + "Clase": [ + { + "CAENRev2": "4321", + "Denumire": "Lucrări de instalații electrice", + "CAENRev1": "4531*4534*", + "ISICRev4": "4321" + }, + { + "CAENRev2": "4322", + "Denumire": "Lucrări de instalații sanitare, de încălzire și de aer condiționat", + "CAENRev1": "4531*4533", + "ISICRev4": "4322" + }, + { + "CAENRev2": "4329", + "Denumire": "Alte lucrări de instalații pentru construcții", + "CAENRev1": "2922*4532 4534*4531*", + "ISICRev4": "4329" + } + ] + }, + { + "Grupa": "433", + "Denumire": "Lucrări de finisare", + "Clase": [ + { + "CAENRev2": "4331", + "Denumire": "Lucrări de ipsoserie", + "CAENRev1": "4541", + "ISICRev4": "4330*" + }, + { + "CAENRev2": "4332", + "Denumire": "Lucrari de tâmplărie și dulgherie", + "CAENRev1": "2030*2523*2812*4542", + "ISICRev4": "4330*" + }, + { + "CAENRev2": "4333", + "Denumire": "Lucrări de pardosire și placare a pereților", + "CAENRev1": "4543", + "ISICRev4": "4330*" + }, + { + "CAENRev2": "4334", + "Denumire": "Lucrări de vopsitorie, zugrăveli și montări de geamuri", + "CAENRev1": "4544", + "ISICRev4": "4330*" + }, + { + "CAENRev2": "4339", + "Denumire": "Alte lucrări de finisare", + "CAENRev1": "4545*", + "ISICRev4": "4330*" + } + ] + }, + { + "Grupa": "439", + "Denumire": "Alte lucrări speciale de constructii", + "Clase": [ + { + "CAENRev2": "4391", + "Denumire": "Lucrări de învelitori, șarpante și terase la construcții", + "CAENRev1": "2030*4522*", + "ISICRev4": "4390*" + }, + { + "CAENRev2": "4399", + "Denumire": "Alte lucrări speciale de construcții n.c.a.", + "CAENRev1": "4521*4522*4524*4525*4545*4550", + "ISICRev4": "4390*" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "G", + "Denumire": "SECȚIUNEA G - COMERT CU RIDICATA ȘI CU AMANUNTUL; REPARAREA AUTOVEHICULELOR ȘI MOTOCICLETELOR", + "Diviziuni": [ + { + "Diviziune": "45", + "Denumire": "Comert cu ridicata și cu amănuntul, întretinerea și repararea autovehiculelor și a motocicletelor", + "Grupe": [ + { + "Grupa": "451", + "Denumire": "Comert cu autovehicule", + "Clase": [ + { + "CAENRev2": "4511", + "Denumire": "Comerț cu autoturisme și autovehicule ușoare (sub 3,5 tone)", + "CAENRev1": "5010*", + "ISICRev4": "4510*" + }, + { + "CAENRev2": "4519", + "Denumire": "Comerț cu alte autovehicule", + "CAENRev1": "5010*", + "ISICRev4": "4510*" + } + ] + }, + { + "Grupa": "452", + "Denumire": "Întretinerea și repararea autovehiculelor", + "Clase": [ + { + "CAENRev2": "4520", + "Denumire": "Întreținerea și repararea autovehiculelor", + "CAENRev1": "5020*", + "ISICRev4": "4520" + } + ] + }, + { + "Grupa": "453", + "Denumire": "Comerț cu piese și accesorii pentru autovehicule", + "Clase": [ + { + "CAENRev2": "4531", + "Denumire": "Comerț cu ridicata de piese și accesorii pentru autovehicule", + "CAENRev1": "5030*", + "ISICRev4": "4530*" + }, + { + "CAENRev2": "4532", + "Denumire": "Comerț cu amanuntul de piese și accesorii pentru autovehicule", + "CAENRev1": "5030*", + "ISICRev4": "4530*" + } + ] + }, + { + "Grupa": "454", + "Denumire": "Comerț cu motociclete, piese și accesorii aferente; întreținerea și repararea motocicletelor", + "Clase": [ + { + "CAENRev2": "4540", + "Denumire": "Comerț cu motociclete, piese și accesorii aferente; întreținerea și repararea motocicletelor", + "CAENRev1": "5040", + "ISICRev4": "4540" + } + ] + } + ] + }, + { + "Diviziune": "46", + "Denumire": "Comerț cu ridicata cu excepția comerțului cu autovehicule și motociclete", + "Grupe": [ + { + "Grupa": "461", + "Denumire": "Activități de intermediere în comerțul cu ridicata", + "Clase": [ + { + "CAENRev2": "4611", + "Denumire": "Intermedieri în comerțul cu materii prime agricole, animale vii, materii prime textile și cu semifabricate", + "CAENRev1": "5111", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4612", + "Denumire": "Intermedieri în comerțul cu combustibili, minereuri, metale și produse chimice pentru industrie", + "CAENRev1": "5112", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4613", + "Denumire": "Intermedieri în comerțul cu material lemnos și materiale de constructii", + "CAENRev1": "5113", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4614", + "Denumire": "Intermedieri în comertul cu mașini, echipamente industriale, nave și avioane", + "CAENRev1": "5114", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4615", + "Denumire": "Intermedieri în comerțul cu mobilă articole de menaj și de fierărie", + "CAENRev1": "5115", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4616", + "Denumire": "Intermedieri în comerțul cu textile, confecțiidin blană, încălțăminte și articole din piele", + "CAENRev1": "5116", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4617", + "Denumire": "Intermedieri în comerțul cu produse alimentarebăuturi și tutun", + "CAENRev1": "5117", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4618", + "Denumire": "Intermedieri în comerțul specializat în vânzarea produselor cu caracter specific, nca,", + "CAENRev1": "5118", + "ISICRev4": "4610*" + }, + { + "CAENRev2": "4619", + "Denumire": "Intermedieri în comerțul cu produse diverse", + "CAENRev1": "5119", + "ISICRev4": "4610*" + } + ] + }, + { + "Grupa": "462", + "Denumire": "Comert cu ridicata al produselor agricole brute și al animalelor vii", + "Clase": [ + { + "CAENRev2": "4621", + "Denumire": "Comerț cu ridicata al cerealelor, semințelor, furajelor și tutunului neprelucrat", + "CAENRev1": "5121 5125", + "ISICRev4": "4620*" + }, + { + "CAENRev2": "4622", + "Denumire": "Comerț cu ridicata al florilor și al plantelor", + "CAENRev1": "5122", + "ISICRev4": "4620*" + }, + { + "CAENRev2": "4623", + "Denumire": "Comerț cu ridicata al animalelor vii", + "CAENRev1": "5123", + "ISICRev4": "4620*" + }, + { + "CAENRev2": "4624", + "Denumire": "Comerț cu ridicata al blănurilor, pieilor brute și al pieilor prelucrate", + "CAENRev1": "5124", + "ISICRev4": "4620*" + } + ] + }, + { + "Grupa": "463", + "Denumire": "Comerț cu ridicata al produselor alimentare, al băuturilor și al tutunului", + "Clase": [ + { + "CAENRev2": "4631", + "Denumire": "Comerț cu ridicata al fructelor și legumelor", + "CAENRev1": "5131*5138*", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4632", + "Denumire": "Comerț cu ridicata al cărnii și produselor din carne", + "CAENRev1": "5132", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4633", + "Denumire": "Comerț cu ridicata al produselor lactate, ouălor, uleiurilor și grăsimilor comestibile", + "CAENRev1": "5133", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4634", + "Denumire": "Comerț cu ridicata al băuturilor", + "CAENRev1": "5134*", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4635", + "Denumire": "Comert cu ridicata al produselor din tutun", + "CAENRev1": "5135", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4636", + "Denumire": "Comerț cu ridicata al zahărului, ciocolatei și produselor zaharoase", + "CAENRev1": "5136", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4637", + "Denumire": "Comert cu ridicata cu cafea, ceai, cacao și condimente", + "CAENRev1": "5137", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4638", + "Denumire": "Comerț cu ridicata specializat al altor alimente inclusiv pește, crustacee și moluște", + "CAENRev1": "5138*", + "ISICRev4": "4630*" + }, + { + "CAENRev2": "4639", + "Denumire": "Comerț cu ridicata nespecializat de produse alimentare, băuturi și tutun", + "CAENRev1": "5139", + "ISICRev4": "4630*" + } + ] + }, + { + "Grupa": "464", + "Denumire": "Comerț cu ridicata al bunurilor de consum", + "Clase": [ + { + "CAENRev2": "4641", + "Denumire": "Comerț cu ridicata al produselor textile", + "CAENRev1": "5141", + "ISICRev4": "4641*" + }, + { + "CAENRev2": "4642", + "Denumire": "Comerț cu ridicata al imbrăcămintei și încălțămintei", + "CAENRev1": "5142", + "ISICRev4": "4641*" + }, + { + "CAENRev2": "4643", + "Denumire": "Comerț cu ridicata al aparatelor electrice de uz gospodăresc, al aparatelor de radio și televizoarelor", + "CAENRev1": "5143*5147*", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4644", + "Denumire": "Comerț cu ridicata al produselor din ceramică, sticlărie, și produse de întreținere", + "CAENRev1": "5144*", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4645", + "Denumire": "Comerț cu ridicata al produselor cosmetice și de parfumerie", + "CAENRev1": "5145", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4646", + "Denumire": "Comerț cu ridicata al produselor farmaceutice", + "CAENRev1": "5146", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4647", + "Denumire": "Comerț cu ridicata al mobilei, covoarelor și a articolelor de iluminat", + "CAENRev1": "5147*5143*", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4648", + "Denumire": "Comerț cu ridicata al ceasurilor și bijuteriilor", + "CAENRev1": "5147*", + "ISICRev4": "4649*" + }, + { + "CAENRev2": "4649", + "Denumire": "Comerț cu ridicata al altor bunuri de uz gospodăresc", + "CAENRev1": "5147*5144*", + "ISICRev4": "4649*" + } + ] + }, + { + "Grupa": "465", + "Denumire": "Comerț cu ridicata al echipamentului informatic și de telecomunicații", + "Clase": [ + { + "CAENRev2": "4651", + "Denumire": "Comerț cu ridicata al calculatoarelor, echipamentelor periferice și software-lui", + "CAENRev1": "5184", + "ISICRev4": "4651" + }, + { + "CAENRev2": "4652", + "Denumire": "Comerț cu ridicata de componente și echipamente electronice și de telecomunicatii", + "CAENRev1": "5143*5186", + "ISICRev4": "4652" + } + ] + }, + { + "Grupa": "466", + "Denumire": "Comerț cu ridicata al altor mașini, echipamente și furnituri", + "Clase": [ + { + "CAENRev2": "4661", + "Denumire": "Comerț cu ridicata al mașinilor agricole, echipamentelor și furniturilor", + "CAENRev1": "5188", + "ISICRev4": "4653" + }, + { + "CAENRev2": "4662", + "Denumire": "Comerț cu ridicata al mașinilor-unelte", + "CAENRev1": "5181", + "ISICRev4": "4659*" + }, + { + "CAENRev2": "4663", + "Denumire": "Comerț cu ridicata al mașinilor pentru industria minieră și construcții", + "CAENRev1": "5182", + "ISICRev4": "4659*" + }, + { + "CAENRev2": "4664", + "Denumire": "Comerț cu ridicata al mașinilor pentru industria textilă și al mașinilor de cusut și de tricotat", + "CAENRev1": "5183", + "ISICRev4": "4659*" + }, + { + "CAENRev2": "4665", + "Denumire": "Comerț cu ridicata al mobilei de birou", + "CAENRev1": "5185*", + "ISICRev4": "4659*" + }, + { + "CAENRev2": "4666", + "Denumire": "Comerț cu ridicata al altor mașini și echipamente de birou", + "CAENRev1": "5185*", + "ISICRev4": "4659*" + }, + { + "CAENRev2": "4669", + "Denumire": "Comerț cu ridicata al altor mașini și echipamente", + "CAENRev1": "5187", + "ISICRev4": "4659*" + } + ] + }, + { + "Grupa": "467", + "Denumire": "Comerț cu ridicata specializat al altor produse", + "Clase": [ + { + "CAENRev2": "4671", + "Denumire": "Comerț cu ridicata al combustibililor solizi, lichizi și gazoși al produselor derivate", + "CAENRev1": "5151", + "ISICRev4": "4661" + }, + { + "CAENRev2": "4672", + "Denumire": "Comerț cu ridicata al metalelor și minereurilor metalice", + "CAENRev1": "5152", + "ISICRev4": "4662" + }, + { + "CAENRev2": "4673", + "Denumire": "Comert cu ridicata al materialului lemnos și a materialelor de construcție și echipamentelor sanitare", + "CAENRev1": "5153 5144*5147*", + "ISICRev4": "4663*" + }, + { + "CAENRev2": "4674", + "Denumire": "Comerț cu ridicata al echipamentelor și furniturilor de fierărie pentru instalații sanitare și de incalzire", + "CAENRev1": "5154", + "ISICRev4": "4663*" + }, + { + "CAENRev2": "4675", + "Denumire": "Comerț cu ridicata al produselor chimice", + "CAENRev1": "5155*", + "ISICRev4": "4669*" + }, + { + "CAENRev2": "4676", + "Denumire": "Comerț cu ridicata al altor produse intermediare", + "CAENRev1": "5155*5156", + "ISICRev4": "4669*" + }, + { + "CAENRev2": "4677", + "Denumire": "Comerț cu ridicata al deșeurilor și resturilor", + "CAENRev1": "5157", + "ISICRev4": "4669*" + } + ] + }, + { + "Grupa": "469", + "Denumire": "Comerț cu ridicata nespecializat", + "Clase": [ + { + "CAENRev2": "4690", + "Denumire": "Comerț cu ridicata nespecializat", + "CAENRev1": "5190", + "ISICRev4": "4690" + } + ] + } + ] + }, + { + "Diviziune": "47", + "Denumire": "Comerț cu amănuntul cu excepția autovehiculelor și motocicletelor", + "Grupe": [ + { + "Grupa": "471", + "Denumire": "Comerț cu amănuntul în magazine nespecializate", + "Clase": [ + { + "CAENRev2": "4711", + "Denumire": "Comerț cu amănuntul în magazine nespecializatecu vânzare predominantă de produse alimentare,băuturi și tutun", + "CAENRev1": "5211", + "ISICRev4": "4711" + }, + { + "CAENRev2": "4719", + "Denumire": "Comerț cu amănuntul în magazine nespecializatecu vânzare predominantă de produse nealimentare", + "CAENRev1": "5212", + "ISICRev4": "4719" + } + ] + }, + { + "Grupa": "472", + "Denumire": "Comerț cu amănuntul al produselor alimentare, băuturilor și al produselor din tutun, în magazine specializate", + "Clase": [ + { + "CAENRev2": "4721", + "Denumire": "Comert cu amănuntul al fructelor și legumelor proaspete, în magazine specializate", + "CAENRev1": "5221 5227*", + "ISICRev4": "4721*" + }, + { + "CAENRev2": "4722", + "Denumire": "Comerț cu amănuntul al cărnii și al produselordin carne, în magazine specializate", + "CAENRev1": "5222", + "ISICRev4": "4721*" + }, + { + "CAENRev2": "4723", + "Denumire": "Comerț cu amănuntul al peștelui, crustaceelor și moluștelor, în magazine specializate", + "CAENRev1": "5223", + "ISICRev4": "4721*" + }, + { + "CAENRev2": "4724", + "Denumire": "Comerț cu amănuntul al pâinii, produselor de patiserie și produselor zaharoase, în magazine specializate", + "CAENRev1": "5224", + "ISICRev4": "4721*" + }, + { + "CAENRev2": "4725", + "Denumire": "Comerț cu amănuntul al băuturilor, în magazinespecializate", + "CAENRev1": "5225", + "ISICRev4": "4722" + }, + { + "CAENRev2": "4726", + "Denumire": "Comerț cu amănuntul al produselor din tutun, în magazine specializate", + "CAENRev1": "5226", + "ISICRev4": "4723" + }, + { + "CAENRev2": "4729", + "Denumire": "Comerț cu amănuntul al altor produse alimentare, în magazine specializate", + "CAENRev1": "5227*", + "ISICRev4": "4721*" + } + ] + }, + { + "Grupa": "473", + "Denumire": "Comerț cu amănuntul al carburanților pentru autovehicule în magazine specializate", + "Clase": [ + { + "CAENRev2": "4730", + "Denumire": "Comerț cu amănuntul al carburanților pentru autovehicule în magazine specializate", + "CAENRev1": "5050", + "ISICRev4": "4730" + } + ] + }, + { + "Grupa": "474", + "Denumire": "Comerț cu amănuntul al echipamentului informatic și de telecomunicatii în magazine specializate", + "Clase": [ + { + "CAENRev2": "4741", + "Denumire": "Comerț cu amănuntul al calculatoarelor, unităților periferice și software-lui în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4741*" + }, + { + "CAENRev2": "4742", + "Denumire": "Comerț cu amănuntul al echipamentului pentru telecomunicații în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4741*" + }, + { + "CAENRev2": "4743", + "Denumire": "Comerț cu amănuntul al echipamentelor audio/ video în magazine specializate", + "CAENRev1": "5245*", + "ISICRev4": "4742" + } + ] + }, + { + "Grupa": "475", + "Denumire": "Comerț cu amănuntul al altor produse casnice, în magazine specializate", + "Clase": [ + { + "CAENRev2": "4751", + "Denumire": "Comerț cu amănuntul al textilelor, în magazinespecializate", + "CAENRev1": "5241", + "ISICRev4": "4751" + }, + { + "CAENRev2": "4752", + "Denumire": "Comerț cu amănuntul al articolelor de fierărie, al articolelor din sticlă și a celor pentru vopsit, în magazine specializate", + "CAENRev1": "5246", + "ISICRev4": "4752" + }, + { + "CAENRev2": "4753", + "Denumire": "Comerț cu amănuntul al covoarelor, carpetelor,tapetelor și al altor acoperitoare de podea, în magazine specializate", + "CAENRev1": "5244*5248*", + "ISICRev4": "4753" + }, + { + "CAENRev2": "4754", + "Denumire": "Comerț cu amănuntul al articolelor și aparatelor electrocasnice, în magazine specializate", + "CAENRev1": "5245*", + "ISICRev4": "4759*" + }, + { + "CAENRev2": "4759", + "Denumire": "Comerț cu amănuntul al mobilei, al articolelorde iluminat și al articole de uz casnic n.c.a.în magazine specializate", + "CAENRev1": "5244*5245*5248*", + "ISICRev4": "4759*" + } + ] + }, + { + "Grupa": "476", + "Denumire": "Comerț, cu amănuntul de bunuri culturale și recreative, în magazine specializate", + "Clase": [ + { + "CAENRev2": "4761", + "Denumire": "Comerț cu amănuntul al cartilor, în magazine specializate", + "CAENRev1": "5247*", + "ISICRev4": "4761*" + }, + { + "CAENRev2": "4762", + "Denumire": "Comerț cu amănuntul al ziarelor și articolelorde papetărie, în magazine specializate", + "CAENRev1": "5247*", + "ISICRev4": "4761*" + }, + { + "CAENRev2": "4763", + "Denumire": "Comerț cu amănuntul al discurilor și benzilor magnetice cu sau fără înregistrări audio/videoîn magazine specializate", + "CAENRev1": "5245*", + "ISICRev4": "4762" + }, + { + "CAENRev2": "4764", + "Denumire": "Comerț cu amănuntul al echipamentelor sportive în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4763" + }, + { + "CAENRev2": "4765", + "Denumire": "Comerț cu amanuntul al jocurilor și jucăriilorîn magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4764" + } + ] + }, + { + "Grupa": "477", + "Denumire": "Comerț cu amănuntul al altor bunuri, în magazine specializate", + "Clase": [ + { + "CAENRev2": "4771", + "Denumire": "Comerț cu amănuntul al îmbrăcămintei, în magazine specializate", + "CAENRev1": "5242", + "ISICRev4": "4771*" + }, + { + "CAENRev2": "4772", + "Denumire": "Comerț cu amănuntul al încălțămintei și articolelor din piele, în magazine specializate", + "CAENRev1": "5243", + "ISICRev4": "4771*" + }, + { + "CAENRev2": "4773", + "Denumire": "Comerț cu amănuntul al produselor farmaceuticeîn magazine specializate", + "CAENRev1": "5231", + "ISICRev4": "4772*" + }, + { + "CAENRev2": "4774", + "Denumire": "Comerț cu amănuntul al articolelor medicale și ortopedice în magazine specializate", + "CAENRev1": "5232", + "ISICRev4": "4772*" + }, + { + "CAENRev2": "4775", + "Denumire": "Comerț cu amănuntul al produselor cosmetice șide parfumerie, în magazine specializate", + "CAENRev1": "5233", + "ISICRev4": "4772*" + }, + { + "CAENRev2": "4776", + "Denumire": "Comerț cu amănuntul al florilor, plantelor și semințelor; comerț cu amănuntul al animalelor de companie și a hranei pentru acestea, în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4773*" + }, + { + "CAENRev2": "4777", + "Denumire": "Comerț cu amănuntul al ceasurilor și bijuteriilor, în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4773*" + }, + { + "CAENRev2": "4778", + "Denumire": "Comerț cu amănuntul al altor bunuri noi, în magazine specializate", + "CAENRev1": "5248*", + "ISICRev4": "4773*" + }, + { + "CAENRev2": "4779", + "Denumire": "Comerț cu amănuntul al bunurilor de ocazie vândute prin magazine", + "CAENRev1": "5250 5263*", + "ISICRev4": "4774" + } + ] + }, + { + "Grupa": "478", + "Denumire": "Comerț cu amănuntul efectuat prin standuri, chioșcuri și piețe", + "Clase": [ + { + "CAENRev2": "4781", + "Denumire": "Comerț cu amănuntul al produselor alimentare, băuturilor și produselor din tutun efectuat prin standuri, chioșcuri și piețe", + "CAENRev1": "5262*", + "ISICRev4": "4781" + }, + { + "CAENRev2": "4782", + "Denumire": "Comerț cu amănuntul al textilelor, îmbracamintei și incălțămintei efectuat prin standuri, chioșcuri și piețe", + "CAENRev1": "5262*", + "ISICRev4": "4782" + }, + { + "CAENRev2": "4789", + "Denumire": "Comerț cu amănuntul prin standuri, chioșcuri și piețe al altor produse", + "CAENRev1": "5262*", + "ISICRev4": "4789" + } + ] + }, + { + "Grupa": "479", + "Denumire": "Comerț cu amănuntul care nu se efectuează prinmagazine, standuri, chioșcuri și piețe", + "Clase": [ + { + "CAENRev2": "4791", + "Denumire": "Comerț cu amănuntul prin intermediul caselor de comenzi sau prin Internet", + "CAENRev1": "5261 5263*", + "ISICRev4": "4791" + }, + { + "CAENRev2": "4799", + "Denumire": "Comert cu amănuntul efectuat în afara magazinelor, standurilor, chioșcurilor și piețelor", + "CAENRev1": "5263*", + "ISICRev4": "4799" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "H", + "Denumire": "SECȚIUNEA H - TRANSPORT ȘI DEPOZITARE", + "Diviziuni": [ + { + "Diviziune": "49", + "Denumire": "Transporturi terestre și transporturi prin conducte", + "Grupe": [ + { + "Grupa": "491", + "Denumire": "Transporturi interurbane de călători pe calea ferată", + "Clase": [ + { + "CAENRev2": "4910", + "Denumire": "Transporturi interurbane de călători pe calea ferată", + "CAENRev1": "6010*", + "ISICRev4": "4911" + } + ] + }, + { + "Grupa": "492", + "Denumire": "Transporturi de marfă pe calea ferată", + "Clase": [ + { + "CAENRev2": "4920", + "Denumire": "Transporturi de marfa pe calea ferata", + "CAENRev1": "6010*", + "ISICRev4": "4912" + } + ] + }, + { + "Grupa": "493", + "Denumire": "Alte transporturi terestre de călători", + "Clase": [ + { + "CAENRev2": "4931", + "Denumire": "Transporturi urbane, suburbane și metropolitane de calatori", + "CAENRev1": "6021*", + "ISICRev4": "4921" + }, + { + "CAENRev2": "4932", + "Denumire": "Transporturi cu taxiuri", + "CAENRev1": "6022", + "ISICRev4": "4922*" + }, + { + "CAENRev2": "4939", + "Denumire": "Alte transporturi terestre de călători n.c.a.", + "CAENRev1": "6021*6023", + "ISICRev4": "4922*" + } + ] + }, + { + "Grupa": "494", + "Denumire": "Transporturi rutiere de mărfuri și servicii de mutare", + "Clase": [ + { + "CAENRev2": "4941", + "Denumire": "Transporturi rutiere de mărfuri", + "CAENRev1": "6024*", + "ISICRev4": "4923*" + }, + { + "CAENRev2": "4942", + "Denumire": "Servicii de mutare", + "CAENRev1": "6024*", + "ISICRev4": "4923*" + } + ] + }, + { + "Grupa": "495", + "Denumire": "Transporturi prin conducte", + "Clase": [ + { + "CAENRev2": "4950", + "Denumire": "Transporturi prin conducte", + "CAENRev1": "6030", + "ISICRev4": "4930" + } + ] + } + ] + }, + { + "Diviziune": "50", + "Denumire": "Transporturi pe apă", + "Grupe": [ + { + "Grupa": "501", + "Denumire": "Transporturi maritime și costiere de pasageri", + "Clase": [ + { + "CAENRev2": "5010", + "Denumire": "Transporturi maritime și costiere de pasageri", + "CAENRev1": "6110*", + "ISICRev4": "5011" + } + ] + }, + { + "Grupa": "502", + "Denumire": "Transporturi maritime și costiere de marfa", + "Clase": [ + { + "CAENRev2": "5020", + "Denumire": "Transporturi maritime și costiere de marfa", + "CAENRev1": "6110*", + "ISICRev4": "5012" + } + ] + }, + { + "Grupa": "503", + "Denumire": "Transporturi de pasageri pe căi navigabile interioare", + "Clase": [ + { + "CAENRev2": "5030", + "Denumire": "Transportul de pasageri pe căi navigabile interioare", + "CAENRev1": "6120*", + "ISICRev4": "5021" + } + ] + }, + { + "Grupa": "504", + "Denumire": "Transportul de marfă pe cai navigabile interioare", + "Clase": [ + { + "CAENRev2": "5040", + "Denumire": "Transportul de marfa pe căi navigabile interioare", + "CAENRev1": "6120*", + "ISICRev4": "5022" + } + ] + } + ] + }, + { + "Diviziune": "51", + "Denumire": "Transporturi aeriene", + "Grupe": [ + { + "Grupa": "511", + "Denumire": "Transporturi aeriene de pasageri", + "Clase": [ + { + "CAENRev2": "5110", + "Denumire": "Transporturi aeriene de pasageri", + "CAENRev1": "6210*6220*", + "ISICRev4": "5110" + } + ] + }, + { + "Grupa": "512", + "Denumire": "Transporturi aeriene de marfa și transporturi spațiale", + "Clase": [ + { + "CAENRev2": "5121", + "Denumire": "Transporturi aeriene de marfă", + "CAENRev1": "6210*6220*", + "ISICRev4": "5120*" + }, + { + "CAENRev2": "5122", + "Denumire": "Tranporturi spațiale", + "CAENRev1": "6230*", + "ISICRev4": "5120*" + } + ] + } + ] + }, + { + "Diviziune": "52", + "Denumire": "Depozitare și activități auxiliare pentru transporturi", + "Grupe": [ + { + "Grupa": "521", + "Denumire": "Depozitări", + "Clase": [ + { + "CAENRev2": "5210", + "Denumire": "Depozitări", + "CAENRev1": "6312", + "ISICRev4": "5210" + } + ] + }, + { + "Grupa": "522", + "Denumire": "Activităti anexe pentru transporturi", + "Clase": [ + { + "CAENRev2": "5221", + "Denumire": "Activități de servicii anexe pentru transporturi terestre", + "CAENRev1": "1110*6321 5020*6010*", + "ISICRev4": "5221" + }, + { + "CAENRev2": "5222", + "Denumire": "Activități de servicii anexe transporturilor pe apă", + "CAENRev1": "1110*6110*6120*6322*", + "ISICRev4": "5222" + }, + { + "CAENRev2": "5223", + "Denumire": "Activități de servicii anexe transporturilor aeriene", + "CAENRev1": "6230*6323*", + "ISICRev4": "5223" + }, + { + "CAENRev2": "5224", + "Denumire": "Manipulari", + "CAENRev1": "6311", + "ISICRev4": "5224" + }, + { + "CAENRev2": "5229", + "Denumire": "Alte activități anexe transporturilor", + "CAENRev1": "6340*", + "ISICRev4": "5229" + } + ] + } + ] + }, + { + "Diviziune": "53", + "Denumire": "Activități de poștă și de curier", + "Grupe": [ + { + "Grupa": "531", + "Denumire": "Activități poștale desfășurate sub obligativitatea serviciului universal", + "Clase": [ + { + "CAENRev2": "5310", + "Denumire": "Activități poștale desfășurate sub obligativitatea serviciului universal", + "CAENRev1": "6411*", + "ISICRev4": "5310" + } + ] + }, + { + "Grupa": "532", + "Denumire": "Alte activităti poștale și de curier", + "Clase": [ + { + "CAENRev2": "5320", + "Denumire": "Alte activități poștale și de curier", + "CAENRev1": "6412", + "ISICRev4": "5320" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "I", + "Denumire": "SECȚIUNEA I - HOTELURI ȘI RESTAURANTE", + "Diviziuni": [ + { + "Diviziune": "55", + "Denumire": "Hoteluri și alte facilităti de cazare", + "Grupe": [ + { + "Grupa": "551", + "Denumire": "Hoteluri și alte facilități de cazare similare", + "Clase": [ + { + "CAENRev2": "5510", + "Denumire": "Hoteluri și alte facilitați de cazare similare", + "CAENRev1": "5510", + "ISICRev4": "5510*" + } + ] + }, + { + "Grupa": "552", + "Denumire": "Facilități de cazare pentru vacanțe și perioade de scurtă durată", + "Clase": [ + { + "CAENRev2": "5520", + "Denumire": "Facilități de cazare pentru vacanțe și perioade de scurtă durată", + "CAENRev1": "5521*5523*", + "ISICRev4": "5510*" + } + ] + }, + { + "Grupa": "553", + "Denumire": "Parcuri pentru rulote, campinguri și tabere", + "Clase": [ + { + "CAENRev2": "5530", + "Denumire": "Parcuri pentru rulote, campinguri și tabere", + "CAENRev1": "5521*5522", + "ISICRev4": "5520" + } + ] + }, + { + "Grupa": "559", + "Denumire": "Alte servicii de cazare", + "Clase": [ + { + "CAENRev2": "5590", + "Denumire": "Alte servicii de cazare", + "CAENRev1": "5523*", + "ISICRev4": "5590" + } + ] + } + ] + }, + { + "Diviziune": "56", + "Denumire": "Restaurante și alte activități de servicii, de alimentație", + "Grupe": [ + { + "Grupa": "561", + "Denumire": "Restaurante", + "Clase": [ + { + "CAENRev2": "5610", + "Denumire": "Restaurante", + "CAENRev1": "5530", + "ISICRev4": "5610" + } + ] + }, + { + "Grupa": "562", + "Denumire": "Activități de alimentație (catering) pentru evenimente și alte servicii de alimentație", + "Clase": [ + { + "CAENRev2": "5621", + "Denumire": "Activități de alimentație (catering) pentru evenimente", + "CAENRev1": "5552*", + "ISICRev4": "5621" + }, + { + "CAENRev2": "5629", + "Denumire": "Alte servicii de alimentatie n.c.a.", + "CAENRev1": "5551 5552*", + "ISICRev4": "5629" + } + ] + }, + { + "Grupa": "563", + "Denumire": "Baruri și alte activități de servire a băuturilor", + "Clase": [ + { + "CAENRev2": "5630", + "Denumire": "Baruri și alte activități de servire a băuturilor", + "CAENRev1": "5540", + "ISICRev4": "5630" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "J", + "Denumire": "SECȚIUNEA J - INFORMATII ȘI COMUNICATII", + "Diviziuni": [ + { + "Diviziune": "58", + "Denumire": "Activități de editare", + "Grupe": [ + { + "Grupa": "581", + "Denumire": "Activități de editare a cărților, ziarelor, revistelor și alte activități de editare", + "Clase": [ + { + "CAENRev2": "5811", + "Denumire": "Activități de editare a cărților", + "CAENRev1": "2211*7240*", + "ISICRev4": "5811" + }, + { + "CAENRev2": "5812", + "Denumire": "Activități de editarea de ghiduri, compendii, liste de adrese și similare", + "CAENRev1": "2211*7240*", + "ISICRev4": "5812" + }, + { + "CAENRev2": "5813", + "Denumire": "Activități de editare a ziarelor", + "CAENRev1": "2212 7240*", + "ISICRev4": "5813*" + }, + { + "CAENRev2": "5814", + "Denumire": "Activități de editare a revistelor și periodicelor", + "CAENRev1": "2213 7240", + "ISICRev4": "5813*" + }, + { + "CAENRev2": "5819", + "Denumire": "Alte activități de editare", + "CAENRev1": "2215 2222*7240*", + "ISICRev4": "5819" + } + ] + }, + { + "Grupa": "582", + "Denumire": "Activități de editare a produselor software", + "Clase": [ + { + "CAENRev2": "5821", + "Denumire": "Activități de editare a jocurilor de calculator", + "CAENRev1": "7221*7240*", + "ISICRev4": "5820*" + }, + { + "CAENRev2": "5829", + "Denumire": "Activități de editare a altor produse software", + "CAENRev1": "7221*7240*", + "ISICRev4": "5820*" + } + ] + } + ] + }, + { + "Diviziune": "59", + "Denumire": "Activități de producție cinematografică, video și de programe de televiziune; înregistrări audio și activități de editare muzicală", + "Grupe": [ + { + "Grupa": "591", + "Denumire": "Activități de producție cinematografică, video și de programe de televiziune", + "Clase": [ + { + "CAENRev2": "5911", + "Denumire": "Activități de producție cinematografică, video și de programe de televiziune", + "CAENRev1": "9211*9220*", + "ISICRev4": "5911" + }, + { + "CAENRev2": "5912", + "Denumire": "Activități post-producție cinematografică, video și de programe de televiziune", + "CAENRev1": "9211*", + "ISICRev4": "5912" + }, + { + "CAENRev2": "5913", + "Denumire": "Activități de distribuție a filmelor cinematografice, video și al programelor de televiziune", + "CAENRev1": "9212", + "ISICRev4": "5913" + }, + { + "CAENRev2": "5914", + "Denumire": "Proiecția de filme cinematografice", + "CAENRev1": "9213", + "ISICRev4": "5914" + } + ] + }, + { + "Grupa": "592", + "Denumire": "Activități de realizare a înregistrărilor audio și activități de editare muzicală", + "Clase": [ + { + "CAENRev2": "5920", + "Denumire": "Activități de realizare a înregistrărilor audio și activități de editare muzicală", + "CAENRev1": "2214 7240*7487*9211*9220*", + "ISICRev4": "5920" + } + ] + } + ] + }, + { + "Diviziune": "60", + "Denumire": "Activități de difuzare și transmitere de programe", + "Grupe": [ + { + "Grupa": "601", + "Denumire": "Activități de difuzare a programelor de radio", + "Clase": [ + { + "CAENRev2": "6010", + "Denumire": "Activități de difuzare a programelor de radio", + "CAENRev1": "6420*9220*7240*", + "ISICRev4": "6010" + } + ] + }, + { + "Grupa": "602", + "Denumire": "Activități de difuzare a programelor de televiziune", + "Clase": [ + { + "CAENRev2": "6020", + "Denumire": "Activități de difuzare a programelor de televiziune", + "CAENRev1": "9220*6420*7240*", + "ISICRev4": "6020" + } + ] + } + ] + }, + { + "Diviziune": "61", + "Denumire": "Telecomunicatii", + "Grupe": [ + { + "Grupa": "611", + "Denumire": "Activități de telecomunicații prin rețele cu cablu", + "Clase": [ + { + "CAENRev2": "6110", + "Denumire": "Activități de telecomunicații prin rețele cu cablu", + "CAENRev1": "6420*", + "ISICRev4": "6110" + } + ] + }, + { + "Grupa": "612", + "Denumire": "Activități de telecomunicații prin rețele fără cablu", + "Clase": [ + { + "CAENRev2": "6120", + "Denumire": "Activități de telecomunicații prin retele fără cablu (exclusiv prin satelit)", + "CAENRev1": "6420*", + "ISICRev4": "6120" + } + ] + }, + { + "Grupa": "613", + "Denumire": "Activități de telecomunicații prin satelit", + "Clase": [ + { + "CAENRev2": "6130", + "Denumire": "Activități de telecomunicatii prin satelit", + "CAENRev1": "6420*", + "ISICRev4": "6130" + } + ] + }, + { + "Grupa": "619", + "Denumire": "Alte activități de telecomunicatii", + "Clase": [ + { + "CAENRev2": "6190", + "Denumire": "Alte activități de telecomunicatii", + "CAENRev1": "6420*", + "ISICRev4": "6190" + } + ] + } + ] + }, + { + "Diviziune": "62", + "Denumire": "Activități de servicii în tehnologia informației", + "Grupe": [ + { + "Grupa": "620", + "Denumire": "Activități de servicii în tehnologia informației", + "Clase": [ + { + "CAENRev2": "6201", + "Denumire": "Activităti de realizare a soft-ului la comandă(software orientat client)", + "CAENRev1": "7221*7222*7240*", + "ISICRev4": "6201" + }, + { + "CAENRev2": "6202", + "Denumire": "Activități de consultanță în tehnologia informației", + "CAENRev1": "7210 7222*", + "ISICRev4": "6202*" + }, + { + "CAENRev2": "6203", + "Denumire": "Activități de management (gestiune și exploatare) a mijloacelor de calcul", + "CAENRev1": "7230*", + "ISICRev4": "6202*" + }, + { + "CAENRev2": "6209", + "Denumire": "Alte activități de servicii privind tehnologiainformației", + "CAENRev1": "3002*7222*7260", + "ISICRev4": "6209" + } + ] + } + ] + }, + { + "Diviziune": "63", + "Denumire": "Activități de servicii informatice", + "Grupe": [ + { + "Grupa": "631", + "Denumire": "Activități ale portalurilor web, prelucrarea datelor, administrarea paginilor web și activități conexe", + "Clase": [ + { + "CAENRev2": "6311", + "Denumire": "Prelucrarea datelor, administrarea paginilor web și activități conexe", + "CAENRev1": "7230*7240*", + "ISICRev4": "6311" + }, + { + "CAENRev2": "6312", + "Denumire": "Activități ale portalurilor web", + "CAENRev1": "7240*", + "ISICRev4": "6312" + } + ] + }, + { + "Grupa": "639", + "Denumire": "Alte activități de servicii informaționale", + "Clase": [ + { + "CAENRev2": "6391", + "Denumire": "Activități ale agențiilor de știri", + "CAENRev1": "9240*", + "ISICRev4": "6391" + }, + { + "CAENRev2": "6399", + "Denumire": "Alte activități de servicii informaționale nca", + "CAENRev1": "7487*", + "ISICRev4": "6399" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "K", + "Denumire": "SECȚIUNEA K - INTERMEDIERI FINANCIARE ȘI ASIGURĂRI", + "Diviziuni": [ + { + "Diviziune": "64", + "Denumire": "Intermedieri financiare, cu excepția activităților de asigurări și ale fondurilor de pensii", + "Grupe": [ + { + "Grupa": "641", + "Denumire": "Intermediere monetară", + "Clase": [ + { + "CAENRev2": "6411", + "Denumire": "Activități ale băncii centrale (naționale)", + "CAENRev1": "6511", + "ISICRev4": "6411" + }, + { + "CAENRev2": "6419", + "Denumire": "Alte activități de intermedieri monetare", + "CAENRev1": "6512", + "ISICRev4": "6419" + } + ] + }, + { + "Grupa": "642", + "Denumire": "Activități ale holdingurilor", + "Clase": [ + { + "CAENRev2": "6420", + "Denumire": "Activități ale holdingurilor", + "CAENRev1": "7415*6523*", + "ISICRev4": "6420" + } + ] + }, + { + "Grupa": "643", + "Denumire": "Fonduri mutuale și alte entități financiare similare", + "Clase": [ + { + "CAENRev2": "6430", + "Denumire": "Fonduri mutuale și alte entitați financiare similare", + "CAENRev1": "6523*", + "ISICRev4": "6430" + } + ] + }, + { + "Grupa": "649", + "Denumire": "Alte activități de intermedieri financiare exclusiv activități de asigurări și fonduri de pensii", + "Clase": [ + { + "CAENRev2": "6491", + "Denumire": "Leasing financiar", + "CAENRev1": "6521", + "ISICRev4": "6491" + }, + { + "CAENRev2": "6492", + "Denumire": "Alte activități de creditare", + "CAENRev1": "6522*", + "ISICRev4": "6492" + }, + { + "CAENRev2": "6499", + "Denumire": "Alte intermedieri financiare nca", + "CAENRev1": "6523*6522*", + "ISICRev4": "6499" + } + ] + } + ] + }, + { + "Diviziune": "65", + "Denumire": "Activități de asigurări, reasigurări și ale fondurilor de pensii (cu excepția celor din sistemul public de asigurări sociale)", + "Grupe": [ + { + "Grupa": "651", + "Denumire": "Activități de asigurări", + "Clase": [ + { + "CAENRev2": "6511", + "Denumire": "Activități de asigurări de viață", + "CAENRev1": "6601*", + "ISICRev4": "6511" + }, + { + "CAENRev2": "6512", + "Denumire": "Alte activități de asigurări (exceptând asigurările de viața)", + "CAENRev1": "6603*", + "ISICRev4": "6512" + } + ] + }, + { + "Grupa": "652", + "Denumire": "Activități de reasigurare", + "Clase": [ + { + "CAENRev2": "6520", + "Denumire": "Activități de reasigurare", + "CAENRev1": "6601*6602*6603*", + "ISICRev4": "6520" + } + ] + }, + { + "Grupa": "653", + "Denumire": "Activități ale fondurilor de pensii (cu excepția celor din sistemul public de asigurări sociale)", + "Clase": [ + { + "CAENRev2": "6530", + "Denumire": "Activități ale fondurilor de pensii (cu excepția celor din sistemul public de asigurări sociale)", + "CAENRev1": "6602*", + "ISICRev4": "6530" + } + ] + } + ] + }, + { + "Diviziune": "66", + "Denumire": "Activități auxiliare pentru intermedieri financiare, activități de asigurare și fonduri de pensii", + "Grupe": [ + { + "Grupa": "661", + "Denumire": "Activități auxiliare intermedierilor financiare, cu excepția activităților de asigurări și fonduri de pensii", + "Clase": [ + { + "CAENRev2": "6611", + "Denumire": "Administrarea piețelor financiare", + "CAENRev1": "6711", + "ISICRev4": "6611" + }, + { + "CAENRev2": "6612", + "Denumire": "Activităti de intermediere a tranzacțiilor financiare", + "CAENRev1": "6712*6713*", + "ISICRev4": "6612" + }, + { + "CAENRev2": "6619", + "Denumire": "Activități auxiliare intermedierilor financiare, exclusiv activități de asigurări și fonduri de pensii", + "CAENRev1": "6713*", + "ISICRev4": "6619" + } + ] + }, + { + "Grupa": "662", + "Denumire": "Activități auxiliare de asigurări și fonduri de pensii", + "Clase": [ + { + "CAENRev2": "6621", + "Denumire": "Activități de evaluare a riscului de asigurare și a pagubelor", + "CAENRev1": "6720*", + "ISICRev4": "6621" + }, + { + "CAENRev2": "6622", + "Denumire": "Activități ale agenților și broker-ilor de asigurări", + "CAENRev1": "6720*", + "ISICRev4": "6622" + }, + { + "CAENRev2": "6629", + "Denumire": "Alte activități auxiliare de asigurări și fonduri de\u0027c7pensii", + "CAENRev1": "6720*", + "ISICRev4": "6629" + } + ] + }, + { + "Grupa": "663", + "Denumire": "Activități de administrare a fondurilor", + "Clase": [ + { + "CAENRev2": "6630", + "Denumire": "Activități de administrare a fondurilor", + "CAENRev1": "6712*", + "ISICRev4": "6630" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "L", + "Denumire": "SECȚIUNEA L - TRANZACTII IMOBILIARE", + "Diviziuni": [ + { + "Diviziune": "68", + "Denumire": "Tranzacții imobiliare", + "Grupe": [ + { + "Grupa": "681", + "Denumire": "Cumpărarea și vânzarea de\u0027c7 bunuri imobiliareproprii", + "Clase": [ + { + "CAENRev2": "6810", + "Denumire": "Cumpararea și vânzarea de bunuri imobiliare proprii", + "CAENRev1": "7012", + "ISICRev4": "6810*" + } + ] + }, + { + "Grupa": "682", + "Denumire": "Închirierea și subînchirierea bunurilor imobiliare proprii sau închiriate", + "Clase": [ + { + "CAENRev2": "6820", + "Denumire": "Închirierea și subînchirierea bunurilor imobiliare proprii sau inchiriate", + "CAENRev1": "7020", + "ISICRev4": "6810*" + } + ] + }, + { + "Grupa": "683", + "Denumire": "Activități imobiliare pe bază de comision sau contract", + "Clase": [ + { + "CAENRev2": "6831", + "Denumire": "Agenții imobiliare", + "CAENRev1": "7031", + "ISICRev4": "6820*" + }, + { + "CAENRev2": "6832", + "Denumire": "Administrarea imobilelor pe bază de comision sau contract", + "CAENRev1": "7032*", + "ISICRev4": "6820*" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "M", + "Denumire": "SECȚIUNEA M - ACTIVITĂȚI PROFESIONALE, STIINTIFICE ȘI TEHNICE", + "Diviziuni": [ + { + "Diviziune": "69", + "Denumire": "Activităti juridice și de contabilitate", + "Grupe": [ + { + "Grupa": "691", + "Denumire": "Activități juridice", + "Clase": [ + { + "CAENRev2": "6910", + "Denumire": "Activități juridice", + "CAENRev1": "7411", + "ISICRev4": "6910" + } + ] + }, + { + "Grupa": "692", + "Denumire": "Activități de contabilitate și audit financiarconsultanță în domeniul fiscal", + "Clase": [ + { + "CAENRev2": "6920", + "Denumire": "Activităti de contabilitate și audit financiarconsultantă în domeniul fiscal", + "CAENRev1": "7412", + "ISICRev4": "6920" + } + ] + } + ] + }, + { + "Diviziune": "70", + "Denumire": "Activități ale direcțiilor (centralelor), birourilor administrative centralizate; activități de management și de consultanță în management", + "Grupe": [ + { + "Grupa": "701", + "Denumire": "Activități ale direcțiilor (centralelor), birourilor administrative centralizate", + "Clase": [ + { + "CAENRev2": "7010", + "Denumire": "Activități ale direcțiilor (centralelor) birourilor administrative centralizate", + "CAENRev1": "7415*", + "ISICRev4": "7010" + } + ] + }, + { + "Grupa": "702", + "Denumire": "Activități de consultantă în management", + "Clase": [ + { + "CAENRev2": "7021", + "Denumire": "Activități de consultanță în domeniul relațiilor publice și al comunicarii", + "CAENRev1": "7414*", + "ISICRev4": "7020*" + }, + { + "CAENRev2": "7022", + "Denumire": "Activități de consultanță pentru afaceri și management", + "CAENRev1": "7414*0501*", + "ISICRev4": "7020*" + } + ] + } + ] + }, + { + "Diviziune": "71", + "Denumire": "Activități de arhitectură și inginerie; activități de testări și analiză tehnică", + "Grupe": [ + { + "Grupa": "711", + "Denumire": "Activități de arhitectură, inginerie și servicii de consultanță tehnică legate de acestea", + "Clase": [ + { + "CAENRev2": "7111", + "Denumire": "Activități de arhitectură", + "CAENRev1": "7420*", + "ISICRev4": "7110*" + }, + { + "CAENRev2": "7112", + "Denumire": "Activităti de inginerie și consultanță tehnicălegate de acestea", + "CAENRev1": "7420*", + "ISICRev4": "7110*" + } + ] + }, + { + "Grupa": "712", + "Denumire": "Activități de testări și analize tehnice", + "Clase": [ + { + "CAENRev2": "7120", + "Denumire": "Activități de testări și analize tehnice", + "CAENRev1": "7430", + "ISICRev4": "7120" + } + ] + } + ] + }, + { + "Diviziune": "72", + "Denumire": "Cercetare-dezvoltare", + "Grupe": [ + { + "Grupa": "721", + "Denumire": "Cercetare-dezvoltare în științe naturale și inginerie", + "Clase": [ + { + "CAENRev2": "7211", + "Denumire": "Cercetare-dezvoltare în biotehnologie", + "CAENRev1": "7310*", + "ISICRev4": "7210*" + }, + { + "CAENRev2": "7219", + "Denumire": "Cercetare-dezvoltare în alte științe naturale și inginerie", + "CAENRev1": "7310*", + "ISICRev4": "7210*" + } + ] + }, + { + "Grupa": "722", + "Denumire": "Cercetare-dezvoltare în științe sociale și umaniste", + "Clase": [ + { + "CAENRev2": "7220", + "Denumire": "Cercetare-dezvoltare în științe sociale și umaniste", + "CAENRev1": "7320 7310*", + "ISICRev4": "7220" + } + ] + } + ] + }, + { + "Diviziune": "73", + "Denumire": "Publicitate și activități de studiere a pieței", + "Grupe": [ + { + "Grupa": "731", + "Denumire": "Publicitate", + "Clase": [ + { + "CAENRev2": "7311", + "Denumire": "Activități ale agențiilor de publicitate", + "CAENRev1": "7440*", + "ISICRev4": "7310*" + }, + { + "CAENRev2": "7312", + "Denumire": "Servicii de reprezentare media", + "CAENRev1": "7440*", + "ISICRev4": "7310*" + } + ] + }, + { + "Grupa": "732", + "Denumire": "Activități de studiere a pieței și de sondare a opiniei publice", + "Clase": [ + { + "CAENRev2": "7320", + "Denumire": "Activități de studiere a pieței și de sondare a opiniei publice", + "CAENRev1": "7413", + "ISICRev4": "7320" + } + ] + } + ] + }, + { + "Diviziune": "74", + "Denumire": "Alte activități profesionale, științifice și tehnice", + "Grupe": [ + { + "Grupa": "741", + "Denumire": "Activități de design specializat", + "Clase": [ + { + "CAENRev2": "7410", + "Denumire": "Activități de design specializat", + "CAENRev1": "7487*", + "ISICRev4": "7410" + } + ] + }, + { + "Grupa": "742", + "Denumire": "Activități fotografice", + "Clase": [ + { + "CAENRev2": "7420", + "Denumire": "Activități fotografice", + "CAENRev1": "7481 9240*", + "ISICRev4": "7420" + } + ] + }, + { + "Grupa": "743", + "Denumire": "Activități de traducere scrisă și orală (interpreți)", + "Clase": [ + { + "CAENRev2": "7430", + "Denumire": "Activități de traducere scrisa și orală (interpreți)", + "CAENRev1": "7485*", + "ISICRev4": "7490*" + } + ] + }, + { + "Grupa": "749", + "Denumire": "Alte activități profesionale științifice și tehnice n.c.a.", + "Clase": [ + { + "CAENRev2": "7490", + "Denumire": "Alte activități profesionale, științifice și tehnice nca", + "CAENRev1": "6340*7487*7414*7420*7460*", + "ISICRev4": "7490*" + } + ] + } + ] + }, + { + "Diviziune": "75", + "Denumire": "Activități veterinare", + "Grupe": [ + { + "Grupa": "750", + "Denumire": "Activități veterinare", + "Clase": [ + { + "CAENRev2": "7500", + "Denumire": "Activități veterinare", + "CAENRev1": "8520", + "ISICRev4": "7500" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "N", + "Denumire": "SECȚIUNEA N - ACTIVITĂȚI DE SERVICII ADMINISTRATIVE ȘI ACTIVITĂȚI DE SERVICII SUPORT", + "Diviziuni": [ + { + "Diviziune": "77", + "Denumire": "Activități de închiriere și leasing", + "Grupe": [ + { + "Grupa": "771", + "Denumire": "Activități de închiriere și leasing cu autovehicule", + "Clase": [ + { + "CAENRev2": "7711", + "Denumire": "Activități de închiriere și leasing cu autoturisme și autovehicule rutiere ușoare", + "CAENRev1": "7110", + "ISICRev4": "7710*" + }, + { + "CAENRev2": "7712", + "Denumire": "Activități de închiriere și leasing cu autovehicule rutiere grele", + "CAENRev1": "7121*", + "ISICRev4": "7710*" + } + ] + }, + { + "Grupa": "772", + "Denumire": "Activități de închiriere și leasing cu bunuri personale și gospodărești", + "Clase": [ + { + "CAENRev2": "7721", + "Denumire": "Activități de închiriere și leasing cu bunuri recreaționale și echipament sportiv", + "CAENRev1": "7140*", + "ISICRev4": "7721" + }, + { + "CAENRev2": "7722", + "Denumire": "Închirierea de casete video și discuri (CD-uriDVD-uri)", + "CAENRev1": "7140*", + "ISICRev4": "7722" + }, + { + "CAENRev2": "7729", + "Denumire": "Activități de închiriere și leasing cu alte bunuri personale și gospodărești n.c.a.", + "CAENRev1": "7140*", + "ISICRev4": "7729" + } + ] + }, + { + "Grupa": "773", + "Denumire": "Activități de închiriere și leasing cu alte mașini echipamente și bunuri tangibile", + "Clase": [ + { + "CAENRev2": "7731", + "Denumire": "Activităti de închiriere și leasing cu mașini și echipamente agricole", + "CAENRev1": "7131", + "ISICRev4": "7730*" + }, + { + "CAENRev2": "7732", + "Denumire": "Activități de închiriere și leasing cu mașini și echipamente pentru construcții", + "CAENRev1": "7132*", + "ISICRev4": "7730*" + }, + { + "CAENRev2": "7733", + "Denumire": "Activități de închiriere și leasing cu mașini și echipamente de birou (inclusiv calculatoare", + "CAENRev1": "7133", + "ISICRev4": "7730*" + }, + { + "CAENRev2": "7734", + "Denumire": "Activități de închiriere și leasing cu echipamente de transport pe apă", + "CAENRev1": "7122", + "ISICRev4": "7730*" + }, + { + "CAENRev2": "7735", + "Denumire": "Activități de închiriere și leasing cu echipamente de transport aerian", + "CAENRev1": "7123 7140*", + "ISICRev4": "7730*" + }, + { + "CAENRev2": "7739", + "Denumire": "Activități de închirierea și leasing cu alte mașini, echipamente și bunuri intangibile nca,", + "CAENRev1": "7121*7132*7134", + "ISICRev4": "7730*" + } + ] + }, + { + "Grupa": "774", + "Denumire": "Leasing cu bunuri intangibile (exclusiv financiare)", + "Clase": [ + { + "CAENRev2": "7740", + "Denumire": "Leasing cu bunuri intangibile (exclusiv financiare)", + "CAENRev1": "7487*", + "ISICRev4": "7740" + } + ] + } + ] + }, + { + "Diviziune": "78", + "Denumire": "Activități de servicii privind forța de muncă", + "Grupe": [ + { + "Grupa": "781", + "Denumire": "Activități ale agentiilor de plasare a forței de muncă", + "Clase": [ + { + "CAENRev2": "7810", + "Denumire": "Activități ale agențiilor de plasare a forței de muncă", + "CAENRev1": "7450*9272*", + "ISICRev4": "7810" + } + ] + }, + { + "Grupa": "782", + "Denumire": "Activități de contractare, pe baze temporare, a personalului", + "Clase": [ + { + "CAENRev2": "7820", + "Denumire": "Activități de contractare, pe baze temporare, a personalului", + "CAENRev1": "7450*", + "ISICRev4": "7820" + } + ] + }, + { + "Grupa": "783", + "Denumire": "Servicii de furnizare și management a forței de muncă", + "Clase": [ + { + "CAENRev2": "7830", + "Denumire": "Servicii de furnizare și management a forței de muncă", + "CAENRev1": "7450*", + "ISICRev4": "7830" + } + ] + } + ] + }, + { + "Diviziune": "79", + "Denumire": "Activități ale agențiilor turistice și a tur-operatorilor; alte servicii de rezervare și asistență turistică", + "Grupe": [ + { + "Grupa": "791", + "Denumire": "Activități ale agențiilor turistice și a tur-operatorilor", + "Clase": [ + { + "CAENRev2": "7911", + "Denumire": "Activități ale agențiilor turistice", + "CAENRev1": "6330*", + "ISICRev4": "7911" + }, + { + "CAENRev2": "7912", + "Denumire": "Activităti ale tur-operatorilor", + "CAENRev1": "6330*", + "ISICRev4": "7912" + } + ] + }, + { + "Grupa": "799", + "Denumire": "Alte servicii de rezervare și asistență turistică", + "Clase": [ + { + "CAENRev2": "7990", + "Denumire": "Alte servicii de rezervare și asistență turistică", + "CAENRev1": "6330*9232*9234*9262*9272*", + "ISICRev4": "7920" + } + ] + } + ] + }, + { + "Diviziune": "80", + "Denumire": "Activități de investigații și protecție", + "Grupe": [ + { + "Grupa": "801", + "Denumire": "Activități de protecție și gardă", + "Clase": [ + { + "CAENRev2": "8010", + "Denumire": "Activități de protecție și gardă", + "CAENRev1": "7460*", + "ISICRev4": "8010" + } + ] + }, + { + "Grupa": "802", + "Denumire": "Activități de servicii privind sistemele de securizare", + "Clase": [ + { + "CAENRev2": "8020", + "Denumire": "Activități de servicii privind sistemele de securizare", + "CAENRev1": "4531*7460*", + "ISICRev4": "8020" + } + ] + }, + { + "Grupa": "803", + "Denumire": "Activități de investigatii", + "Clase": [ + { + "CAENRev2": "8030", + "Denumire": "Activități de investigatii", + "CAENRev1": "7460*", + "ISICRev4": "8030" + } + ] + } + ] + }, + { + "Diviziune": "81", + "Denumire": "Activități de peisagistică și servicii pentru clădiri", + "Grupe": [ + { + "Grupa": "811", + "Denumire": "Activități de servicii suport combinate", + "Clase": [ + { + "CAENRev2": "8110", + "Denumire": "Activități de servicii suport combinate", + "CAENRev1": "7032*7514*", + "ISICRev4": "8110" + } + ] + }, + { + "Grupa": "812", + "Denumire": "Activități de curățenie", + "Clase": [ + { + "CAENRev2": "8121", + "Denumire": "Activități generale de curățenie a clădirilor", + "CAENRev1": "7470*", + "ISICRev4": "8121" + }, + { + "CAENRev2": "8122", + "Denumire": "Activități specializate de curățenie", + "CAENRev1": "7470*", + "ISICRev4": "8129*" + }, + { + "CAENRev2": "8129", + "Denumire": "Alte activități de curățenie", + "CAENRev1": "9003*7470*", + "ISICRev4": "8129*" + } + ] + }, + { + "Grupa": "813", + "Denumire": "Activități de întreținere peisagistica", + "Clase": [ + { + "CAENRev2": "8130", + "Denumire": "Activități de întretinere peisagistică", + "CAENRev1": "0141*", + "ISICRev4": "8130" + } + ] + } + ] + }, + { + "Diviziune": "82", + "Denumire": "Activități de secretariat, servicii suport și alte activităti de servicii prestate în principal întreprinderilor", + "Grupe": [ + { + "Grupa": "821", + "Denumire": "Activități de secretariat și servicii suport", + "Clase": [ + { + "CAENRev2": "8211", + "Denumire": "Activități combinate de secretariat", + "CAENRev1": "7485*", + "ISICRev4": "8211" + }, + { + "CAENRev2": "8219", + "Denumire": "Activități de fotocopiere, de pregătire a documentelor și alte activități specializate de secretariat", + "CAENRev1": "7485*6411*", + "ISICRev4": "8219" + } + ] + }, + { + "Grupa": "822", + "Denumire": "Activități ale centrelor de intermediere telefonică (call center)", + "Clase": [ + { + "CAENRev2": "8220", + "Denumire": "Activități ale centrelor de intermediere telefonică (call center)", + "CAENRev1": "7486", + "ISICRev4": "8220" + } + ] + }, + { + "Grupa": "823", + "Denumire": "Activități de organizare a expozițiilor, târgurilor și congreselor", + "Clase": [ + { + "CAENRev2": "8230", + "Denumire": "Activități de organizare a expozițiilor, târgurilor și congreselor", + "CAENRev1": "7487*", + "ISICRev4": "8230" + } + ] + }, + { + "Grupa": "829", + "Denumire": "Activități de servicii suport pentru întreprinderi nca", + "Clase": [ + { + "CAENRev2": "8291", + "Denumire": "Activități ale agențiilor de colectare și a birourilor (oficiilor) de raportare a creditului", + "CAENRev1": "7487*", + "ISICRev4": "8291" + }, + { + "CAENRev2": "8292", + "Denumire": "Activități de ambalare", + "CAENRev1": "7482", + "ISICRev4": "8292" + }, + { + "CAENRev2": "8299", + "Denumire": "Alte activități de servicii suport pentru întreprinderi nca", + "CAENRev1": "7485*7487*7513*", + "ISICRev4": "8299" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "O", + "Denumire": "SECȚIUNEA O - ADMINISTRATIE PUBLICA ȘI APARARE; ASIGURARI SOCIALE DIN SISTEMUL PUBLIC", + "Diviziuni": [ + { + "Diviziune": "84", + "Denumire": "Administrație publică și apărare; asigurări sociale din sistemul public", + "Grupe": [ + { + "Grupa": "841", + "Denumire": "Administratia publică generală economică și socială", + "Clase": [ + { + "CAENRev2": "8411", + "Denumire": "Servicii de administrație publică generală", + "CAENRev1": "7511 7514*", + "ISICRev4": "8411" + }, + { + "CAENRev2": "8412", + "Denumire": "Reglementarea activităților organismelor care prestează servicii în domeniul îngrijirii sănătății, invățământului, culturii și al altor activități sociale, exclusiv protecția socială", + "CAENRev1": "7512", + "ISICRev4": "8412" + }, + { + "CAENRev2": "8413", + "Denumire": "Reglementarea și eficientizarea activităților economice", + "CAENRev1": "7513*", + "ISICRev4": "8413" + } + ] + }, + { + "Grupa": "842", + "Denumire": "Activităti de servicii pentru societate", + "Clase": [ + { + "CAENRev2": "8421", + "Denumire": "Activităti de afaceri externe", + "CAENRev1": "7521*", + "ISICRev4": "8421" + }, + { + "CAENRev2": "8422", + "Denumire": "Activități de apărare națională", + "CAENRev1": "7522", + "ISICRev4": "8422" + }, + { + "CAENRev2": "8423", + "Denumire": "Activități de justiție", + "CAENRev1": "7523", + "ISICRev4": "8423*" + }, + { + "CAENRev2": "8424", + "Denumire": "Activităti de ordine publică și de protecție civilă", + "CAENRev1": "7524", + "ISICRev4": "8423*" + }, + { + "CAENRev2": "8425", + "Denumire": "Activităti de luptă împotriva incendiilor și de prevenire a acestora", + "CAENRev1": "7525", + "ISICRev4": "8423*" + } + ] + }, + { + "Grupa": "843", + "Denumire": "Activități de protecție socială obligatorie", + "Clase": [ + { + "CAENRev2": "8430", + "Denumire": "Activități de protecție socială obligatorie", + "CAENRev1": "7530", + "ISICRev4": "8430" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "P", + "Denumire": "SECȚIUNEA P - INVĂȚĂMÂNT", + "Diviziuni": [ + { + "Diviziune": "85", + "Denumire": "Învățământ", + "Grupe": [ + { + "Grupa": "851", + "Denumire": "Învățământ prescolar", + "Clase": [ + { + "CAENRev2": "8510", + "Denumire": "Invățământ preșcolar", + "CAENRev1": "8010*", + "ISICRev4": "8510*" + } + ] + }, + { + "Grupa": "852", + "Denumire": "Invatamant primar", + "Clase": [ + { + "CAENRev2": "8520", + "Denumire": "Invătământ primar", + "CAENRev1": "8010*", + "ISICRev4": "8510*" + } + ] + }, + { + "Grupa": "853", + "Denumire": "Invățământ secundar", + "Clase": [ + { + "CAENRev2": "8531", + "Denumire": "Invățământ secundar general", + "CAENRev1": "8021", + "ISICRev4": "8521" + }, + { + "CAENRev2": "8532", + "Denumire": "Invățământ secundar, tehnic sau profesional", + "CAENRev1": "8022 8042*6323*6322*", + "ISICRev4": "8522" + } + ] + }, + { + "Grupa": "854", + "Denumire": "Invatamant superior", + "Clase": [ + { + "CAENRev2": "8541", + "Denumire": "Invatamant superior non-universitar", + "CAENRev1": "8030*", + "ISICRev4": "8530*" + }, + { + "CAENRev2": "8542", + "Denumire": "Invățământ superior universitar", + "CAENRev1": "8030*", + "ISICRev4": "8530*" + } + ] + }, + { + "Grupa": "855", + "Denumire": "Alte forme de învățământ", + "Clase": [ + { + "CAENRev2": "8551", + "Denumire": "Invățământ în domeniul sportiv și recreațional", + "CAENRev1": "8042*9262*9305*", + "ISICRev4": "8541" + }, + { + "CAENRev2": "8552", + "Denumire": "Invatamant în domeniul cultural (limbi străinemuzică, teatru, dans și arte plastice)", + "CAENRev1": "8042*9234*", + "ISICRev4": "8542" + }, + { + "CAENRev2": "8553", + "Denumire": "Școli de conducere (pilotaj)", + "CAENRev1": "8041", + "ISICRev4": "8549*" + }, + { + "CAENRev2": "8559", + "Denumire": "Alte forme de învățământ n.c.a.", + "CAENRev1": "8042*", + "ISICRev4": "8549*" + } + ] + }, + { + "Grupa": "856", + "Denumire": "Activități de servicii suport pentru invățământ", + "Clase": [ + { + "CAENRev2": "8560", + "Denumire": "Activități de servicii suport pentru invatamant", + "CAENRev1": "7414*", + "ISICRev4": "8550" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "Q", + "Denumire": "SECȚIUNEA Q - SĂNĂTATE ȘI ASISTENȚA SOCIALA", + "Diviziuni": [ + { + "Diviziune": "86", + "Denumire": "Activități referitoare la sănătatea umană", + "Grupe": [ + { + "Grupa": "861", + "Denumire": "Activități de asistența spitalicească", + "Clase": [ + { + "CAENRev2": "8610", + "Denumire": "Activități de asistență spitalicească", + "CAENRev1": "8511*", + "ISICRev4": "8610" + } + ] + }, + { + "Grupa": "862", + "Denumire": "Activități de asistență medicală ambulatorie și stomatologică", + "Clase": [ + { + "CAENRev2": "8621", + "Denumire": "Activități de asistența medicală generală", + "CAENRev1": "8512*", + "ISICRev4": "8620*" + }, + { + "CAENRev2": "8622", + "Denumire": "Activități de asistență medicală specializata", + "CAENRev1": "8512*", + "ISICRev4": "8620*" + }, + { + "CAENRev2": "8623", + "Denumire": "Activități de asistența stomatologica", + "CAENRev1": "8513", + "ISICRev4": "8620*" + } + ] + }, + { + "Grupa": "869", + "Denumire": "Alte activități referitoare la sănătatea umana", + "Clase": [ + { + "CAENRev2": "8690", + "Denumire": "Alte activități referitoare la sănătatea umana", + "CAENRev1": "8514*", + "ISICRev4": "8690" + } + ] + } + ] + }, + { + "Diviziune": "87", + "Denumire": "Servicii combinate de îngrijire medicală și asistența sociala cu cazare", + "Grupe": [ + { + "Grupa": "871", + "Denumire": "Activități ale centrelor de îngrijire medicală", + "Clase": [ + { + "CAENRev2": "8710", + "Denumire": "Activități ale centrelor de îngrijire medicală", + "CAENRev1": "8514*", + "ISICRev4": "8710" + } + ] + }, + { + "Grupa": "872", + "Denumire": "Activități ale centrelor de recuperare publicăși de dezintoxicare exclusiv spitale", + "Clase": [ + { + "CAENRev2": "8720", + "Denumire": "Activități ale centrelor de recuperare psihica și de dezintoxicare, exclusiv spitale", + "CAENRev1": "8531*8511*8514", + "ISICRev4": "8720" + } + ] + }, + { + "Grupa": "873", + "Denumire": "Activități ale căminelor de bătrâni și ale căminelor pentru persoane aflate în incapacitate de a se îngriji singure", + "Clase": [ + { + "CAENRev2": "8730", + "Denumire": "Activități ale căminelor de bătrâni și ale căminelor pentru persoane aflate în incapacitate de a se ingriji singure", + "CAENRev1": "8531*8514*", + "ISICRev4": "8730" + } + ] + }, + { + "Grupa": "879", + "Denumire": "Alte activități de asistență socială, cu cazare n.c.a.", + "Clase": [ + { + "CAENRev2": "8790", + "Denumire": "Alte activități de asistență socială, cu cazare n.c.a.", + "CAENRev1": "8531*", + "ISICRev4": "8790" + } + ] + } + ] + }, + { + "Diviziune": "88", + "Denumire": "Activităti de asistență socială, fără cazare", + "Grupe": [ + { + "Grupa": "881", + "Denumire": "Activități de asistența socială, fără cazare, pentru bătrâni și pentru persoane aflate în incapacitate de a se îngriji singure", + "Clase": [ + { + "CAENRev2": "8810", + "Denumire": "Activități de asistență socială, fară cazare, pentru bătrâni și persoane aflate în incapacitate de a se îngriji singure", + "CAENRev1": "8532*", + "ISICRev4": "8810" + } + ] + }, + { + "Grupa": "889", + "Denumire": "Alte activități de asistența socială, fără cazare", + "Clase": [ + { + "CAENRev2": "8891", + "Denumire": "Activități de îngrijire zilnică pentru copii", + "CAENRev1": "8532*", + "ISICRev4": "8890*" + }, + { + "CAENRev2": "8899", + "Denumire": "Alte activități de asistență socială, fară cazare, n.c.a.", + "CAENRev1": "8532*7521*", + "ISICRev4": "8890*" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "R", + "Denumire": "SECȚIUNEA R - ACTIVITĂȚI DE SPECTACOLE, CULTURALE ȘI RECREATIVE", + "Diviziuni": [ + { + "Diviziune": "90", + "Denumire": "Activități de creație și interpretare artistică", + "Grupe": [ + { + "Grupa": "900", + "Denumire": "Activități de creație și interpretare artistică", + "Clase": [ + { + "CAENRev2": "9001", + "Denumire": "Activități de interpretare artistică (spectacole)", + "CAENRev1": "9231*9234*", + "ISICRev4": "9000*" + }, + { + "CAENRev2": "9002", + "Denumire": "Activităti suport pentru interpretarea artistică (spectacole)", + "CAENRev1": "9231*9232*9234*", + "ISICRev4": "9000*" + }, + { + "CAENRev2": "9003", + "Denumire": "Activități de creație artistică", + "CAENRev1": "9231*9240*", + "ISICRev4": "9000*" + }, + { + "CAENRev2": "9004", + "Denumire": "Activități de gestionare a salilor de spectacole", + "CAENRev1": "9232*", + "ISICRev4": "9000" + } + ] + } + ] + }, + { + "Diviziune": "91", + "Denumire": "Activități ale bibliotecilor, arhivelor, muzeelor și alte activități culturale", + "Grupe": [ + { + "Grupa": "910", + "Denumire": "Activități ale bibliotecilor, arhivelor, muzeelor și alte activități culturale", + "Clase": [ + { + "CAENRev2": "9101", + "Denumire": "Activități ale bibliotecilor și arhivelor", + "CAENRev1": "9251 7514*", + "ISICRev4": "9101" + }, + { + "CAENRev2": "9102", + "Denumire": "Activități ale muzeelor", + "CAENRev1": "9252*", + "ISICRev4": "9102*" + }, + { + "CAENRev2": "9103", + "Denumire": "Gestionarea monumentelor, clădirilor istorice și a altor obiective de interes turistic", + "CAENRev1": "9252*", + "ISICRev4": "9102*" + }, + { + "CAENRev2": "9104", + "Denumire": "Activități ale grădinilor zoologice, botanice și ale rezervațiilor naturale", + "CAENRev1": "9253", + "ISICRev4": "9103" + } + ] + } + ] + }, + { + "Diviziune": "92", + "Denumire": "Activități de jocuri de noroc și pariuri", + "Grupe": [ + { + "Grupa": "920", + "Denumire": "Activități de jocuri de noroc și pariuri", + "Clase": [ + { + "CAENRev2": "9200", + "Denumire": "Activități de jocuri de noroc și pariuri", + "CAENRev1": "9271", + "ISICRev4": "9200" + } + ] + } + ] + }, + { + "Diviziune": "93", + "Denumire": "Activități sportive, recreative și distractive", + "Grupe": [ + { + "Grupa": "931", + "Denumire": "Activități sportive", + "Clase": [ + { + "CAENRev2": "9311", + "Denumire": "Activități ale bazelor sportive", + "CAENRev1": "9261", + "ISICRev4": "9311*" + }, + { + "CAENRev2": "9312", + "Denumire": "Activități ale cluburilor sportive", + "CAENRev1": "9262*", + "ISICRev4": "9312" + }, + { + "CAENRev2": "9313", + "Denumire": "Activități ale centrelor de fitness", + "CAENRev1": "9304*", + "ISICRev4": "9311*" + }, + { + "CAENRev2": "9319", + "Denumire": "Alte activități sportive", + "CAENRev1": "9262*", + "ISICRev4": "9319" + } + ] + }, + { + "Grupa": "932", + "Denumire": "Alte activități recreative și distractive", + "Clase": [ + { + "CAENRev2": "9321", + "Denumire": "Bâlciuri și parcuri de distracții", + "CAENRev1": "9233", + "ISICRev4": "9321" + }, + { + "CAENRev2": "9329", + "Denumire": "Alte activități recreative și distractive n.c.a.", + "CAENRev1": "9234*9272*9262*", + "ISICRev4": "9329" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "S", + "Denumire": "SECȚIUNEA S - ALTE ACTIVITĂȚI DE SERVICII", + "Diviziuni": [ + { + "Diviziune": "94", + "Denumire": "Activități asociative diverse", + "Grupe": [ + { + "Grupa": "941", + "Denumire": "Activități ale organizațiilor economice patronale și profesionale", + "Clase": [ + { + "CAENRev2": "9411", + "Denumire": "Activități ale organizațiilor economice și patronale", + "CAENRev1": "9111", + "ISICRev4": "9411" + }, + { + "CAENRev2": "9412", + "Denumire": "Activități ale organizațiilor profesionale", + "CAENRev1": "9112", + "ISICRev4": "9412" + } + ] + }, + { + "Grupa": "942", + "Denumire": "Activități ale sindicatelor salariaților", + "Clase": [ + { + "CAENRev2": "9420", + "Denumire": "Activități ale sindicatelor salariaților", + "CAENRev1": "9120", + "ISICRev4": "9420" + } + ] + }, + { + "Grupa": "949", + "Denumire": "Alte activități asociative", + "Clase": [ + { + "CAENRev2": "9491", + "Denumire": "Activități ale organizațiilor religioase", + "CAENRev1": "9131", + "ISICRev4": "9491" + }, + { + "CAENRev2": "9492", + "Denumire": "Activități ale organizațiilor politice", + "CAENRev1": "9132", + "ISICRev4": "9492" + }, + { + "CAENRev2": "9499", + "Denumire": "Activități ale altor organizații n.c.a.", + "CAENRev1": "0150*9133", + "ISICRev4": "9499" + } + ] + } + ] + }, + { + "Diviziune": "95", + "Denumire": "Reparații de calculatoare, de articole personale și de uz gospodăresc", + "Grupe": [ + { + "Grupa": "951", + "Denumire": "Repararea calculatoarelor și a echipamentelor de comunicații", + "Clase": [ + { + "CAENRev2": "9511", + "Denumire": "Repararea calculatoarelor și a echipamentelor periferice", + "CAENRev1": "7250*", + "ISICRev4": "9511" + }, + { + "CAENRev2": "9512", + "Denumire": "Repararea echipamentelor de comunicatii", + "CAENRev1": "3220*5274*", + "ISICRev4": "9512" + } + ] + }, + { + "Grupa": "952", + "Denumire": "Reparații de articole personale și de uz gospodăresc", + "Clase": [ + { + "CAENRev2": "9521", + "Denumire": "Repararea aparatelor electronice de uz casnic", + "CAENRev1": "5272*", + "ISICRev4": "9521" + }, + { + "CAENRev2": "9522", + "Denumire": "Repararea dispozitivelor de uz gospodăresc și a echipamentelor pentru casa și gradina", + "CAENRev1": "2932*5272*", + "ISICRev4": "9522" + }, + { + "CAENRev2": "9523", + "Denumire": "Repararea încălțămintei și a articolelor din piele", + "CAENRev1": "5271 5274*", + "ISICRev4": "9523" + }, + { + "CAENRev2": "9524", + "Denumire": "Repararea mobilei și a furniturilor casnice", + "CAENRev1": "3611*3612*3614*", + "ISICRev4": "9524" + }, + { + "CAENRev2": "9525", + "Denumire": "Repararea ceasurilor și a bijuteriilor", + "CAENRev1": "5273", + "ISICRev4": "9529*" + }, + { + "CAENRev2": "9529", + "Denumire": "Repararea articolelor de uz personal și gospodăresc n.c.a.", + "CAENRev1": "1740*3630*3640*5274*", + "ISICRev4": "9529*" + } + ] + } + ] + }, + { + "Diviziune": "96", + "Denumire": "Alte activități de servicii", + "Grupe": [ + { + "Grupa": "960", + "Denumire": "Alte activități de servicii", + "Clase": [ + { + "CAENRev2": "9601", + "Denumire": "Spălarea și curățarea (uscată) articolelor textile și a produselor din blana", + "CAENRev1": "9301", + "ISICRev4": "9601" + }, + { + "CAENRev2": "9602", + "Denumire": "Coafură și alte activităti de infrumusețare", + "CAENRev1": "9302", + "ISICRev4": "9602" + }, + { + "CAENRev2": "9603", + "Denumire": "Activități de pompe funebre și similare", + "CAENRev1": "9303", + "ISICRev4": "9603" + }, + { + "CAENRev2": "9604", + "Denumire": "Activități de întreținere corporală", + "CAENRev1": "9304*", + "ISICRev4": "9609*" + }, + { + "CAENRev2": "9609", + "Denumire": "Alte activități de servicii n.c.a.", + "CAENRev1": "5274*9305*", + "ISICRev4": "9609*" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "T", + "Denumire": "SECȚIUNEA T - ACTIVITĂȚI ALE GOSPODARIILOR PRIVATE IN CALITATE DE ANGAJATOR DE PERSONAL CASNIC; ACTIVITĂȚI ALE GOSPODARIILOR PRIVATE DE PRODUCERE DE BUNURI ȘI SERVICII DESTINATE CONSUMULUI PROPRIU", + "Diviziuni": [ + { + "Diviziune": "97", + "Denumire": "Activități ale gospodăriilor private în calitate de angajator de personal casnic", + "Grupe": [ + { + "Grupa": "970", + "Denumire": "Activități ale gospodăriilor private în calitate de angajator de personal casnic", + "Clase": [ + { + "CAENRev2": "9700", + "Denumire": "Activităti ale gospodăriilor private în calitate de angajator de personal casnic", + "CAENRev1": "9500", + "ISICRev4": "9700" + } + ] + } + ] + }, + { + "Diviziune": "98", + "Denumire": "Activități ale gospodăriilor private de producere de bunuri și servicii destinate consumului propriu", + "Grupe": [ + { + "Grupa": "981", + "Denumire": "Activități ale gospodariilor private de producere de bunuri destinate consumului propriu", + "Clase": [ + { + "CAENRev2": "9810", + "Denumire": "Activităti ale gospodăriilor private de producere de bunuri destinate consumului propriu", + "CAENRev1": "9600", + "ISICRev4": "9810" + } + ] + }, + { + "Grupa": "982", + "Denumire": "Activități ale gospodăriilor private de producere de servicii pentru scopuri proprii", + "Clase": [ + { + "CAENRev2": "9820", + "Denumire": "Activități ale gospodăriilor private de producere de servicii pentru scopuri proprii", + "CAENRev1": "9700", + "ISICRev4": "9820" + } + ] + } + ] + } + ] + }, + { + "Sectiune": "U", + "Denumire": "SECȚIUNEA U - ACTIVITĂȚI ALE ORGANIZAȚIILOR ȘI ORGANISMELOR EXTRATERITORIALE", + "Diviziuni": [ + { + "Diviziune": "99", + "Denumire": "Activități ale organizațiilor și organismelor extrateritoriale", + "Grupe": [ + { + "Grupa": "990", + "Denumire": "Activități ale organizațiilor și organismelor extrateritoriale", + "Clase": [ + { + "CAENRev2": "9900", + "Denumire": "Activități ale organizațiilor și organismelor extrateritoriale", + "CAENRev1": "9900", + "ISICRev4": "9900" + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/src/CAEN.Api/appsettings.Development.json b/src/CAEN.Api/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/src/CAEN.Api/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/src/CAEN.Api/appsettings.json b/src/CAEN.Api/appsettings.json new file mode 100644 index 0000000..4de23fd --- /dev/null +++ b/src/CAEN.Api/appsettings.json @@ -0,0 +1,21 @@ +{ + "Serilog": { + "MinimumLevel": { + "Default": "Information", + "Override": { + "Microsoft": "Warning", + "Microsoft.Hosting.Lifetime": "Information" + } + }, + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "./logs/log-.txt", + "rollingInterval": "Day" + } + } + ] + }, + "AllowedHosts": "*" +} diff --git a/src/CAEN.Import/CAEN.Import.csproj b/src/CAEN.Import/CAEN.Import.csproj new file mode 100644 index 0000000..7dce7f4 --- /dev/null +++ b/src/CAEN.Import/CAEN.Import.csproj @@ -0,0 +1,20 @@ + + + + Exe + net6.0 + enable + enable + + + + + + + + + Always + + + + diff --git a/src/CAEN.Import/CaenDataImportService.cs b/src/CAEN.Import/CaenDataImportService.cs new file mode 100644 index 0000000..0513d48 --- /dev/null +++ b/src/CAEN.Import/CaenDataImportService.cs @@ -0,0 +1,155 @@ +// Copyright (c) Florin Bobis. All Rights Reserved. + +using System.Text; +using System.Text.Encodings.Web; +using System.Text.Json; +using System.Text.Unicode; +using ClosedXML.Excel; + +namespace CAEN.Import +{ + public class CaenDataImportService + { + public void ConvertXlsToJson(string fileName, string outputFileName) + { + var options = new JsonWriterOptions + { + Encoder = JavaScriptEncoder.Create(UnicodeRanges.All), + Indented = true + }; + + using var stream = new MemoryStream(); + using var writer = new Utf8JsonWriter(stream, options); + + XLWorkbook wb = new XLWorkbook(fileName); + var ws = wb.Worksheets.FirstOrDefault(); + bool sectionStarted = false; + bool divisionStarted = false; + bool groupStarted = false; + bool first = true; + + foreach (IXLRow row in ws.Rows().Skip(1)) + { + var col1 = row.Cell(1).Value.ToString().Trim(); + var col2 = row.Cell(2).Value.ToString().Trim(); + var col3 = row.Cell(3).Value.ToString().Trim(); + var col4 = row.Cell(4).Value.ToString().Trim(); + var col5 = row.Cell(5).Value.ToString().Trim(); + var col6 = row.Cell(6).Value.ToString().Trim(); + bool isSection = string.IsNullOrEmpty(col1) && string.IsNullOrEmpty(col2) && string.IsNullOrEmpty(col3) && !string.IsNullOrEmpty(col4); + bool isDivision = !string.IsNullOrEmpty(col1); + bool isGroup = !string.IsNullOrEmpty(col2); + bool isClass = !string.IsNullOrEmpty(col3); + if (isSection) + { + if (groupStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + groupStarted = false; + } + if (divisionStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + divisionStarted = false; + } + if (sectionStarted) + { + //divison array + writer.WriteEndArray(); + //section obj + writer.WriteEndObject(); + sectionStarted = false; + } + + sectionStarted = true; + //section array + if (first) + { + first = false; + writer.WriteStartArray(); + } + writer.WriteStartObject(); + var id = col4.Split(" - ")[0].Split(' ')[1]; + writer.WriteString("Sectiune", id); + writer.WriteString("Denumire", col4); + writer.WriteStartArray("Diviziuni"); + } + else if (isDivision) + { + if (groupStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + groupStarted = false; + } + if (divisionStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + divisionStarted = false; + } + + divisionStarted = true; + writer.WriteStartObject(); + writer.WriteString("Diviziune", col1); + writer.WriteString("Denumire", col4); + writer.WriteStartArray("Grupe"); + } + else if (isGroup) + { + if (groupStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + groupStarted = false; + } + + groupStarted = true; + writer.WriteStartObject(); + writer.WriteString("Grupa", col2); + writer.WriteString("Denumire", col4); + writer.WriteStartArray("Clase"); + } + else if (isClass) + { + writer.WriteStartObject(); + writer.WriteString("CAENRev2", col3); + writer.WriteString("Denumire", col4); + writer.WriteString("CAENRev1", col5); + writer.WriteString("ISICRev4", col6); + writer.WriteEndObject(); + } + } + + if (groupStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + groupStarted = false; + } + if (divisionStarted) + { + writer.WriteEndArray(); + writer.WriteEndObject(); + divisionStarted = false; + } + if (sectionStarted) + { + //divison array + writer.WriteEndArray(); + //section obj + writer.WriteEndObject(); + //section array + writer.WriteEndArray(); + sectionStarted = false; + } + + writer.Flush(); + + string json = Encoding.UTF8.GetString(stream.ToArray()); + File.WriteAllText(outputFileName, json); + } + } +} diff --git a/src/CAEN.Import/Program.cs b/src/CAEN.Import/Program.cs new file mode 100644 index 0000000..80fe399 --- /dev/null +++ b/src/CAEN.Import/Program.cs @@ -0,0 +1,15 @@ +// See https://aka.ms/new-console-template for more information +using System.Text.Json; +using CAEN.Import; + +Console.WriteLine("Press any key to start importing data..."); + +Console.ReadKey(); + +string outputFileName = "caen.json"; +string inputFileName = "data\\CoduriCAEN.xlsx"; +var dataImport = new CaenDataImportService(); +dataImport.ConvertXlsToJson(inputFileName, outputFileName); + +Console.WriteLine("Press any key to exit..."); +Console.ReadKey(); diff --git a/src/CAEN.Import/data/CoduriCAEN.xlsx b/src/CAEN.Import/data/CoduriCAEN.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..82d23a292a86d79f20941e3c7c3f41729caaf278 GIT binary patch literal 74048 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 bgdc6;<|Y7IS$!!rP6jfqY7|9i<-_nVA%8