Add excluded content to content with code ape
parent
2bd690a512
commit
66e8fffd12
|
@ -0,0 +1,249 @@
|
|||
/**
|
||||
* Liste des quelques cas qui ont plus d'un "cf." dans la même phrase.
|
||||
* Cela permet de réécrire les phrases qui seront ajouter pour chaque code APE.
|
||||
*/
|
||||
export const multipleCf = {
|
||||
'le conditionnement de viandes de volailles, pour compte propre (cf. 46.32A) ou pour compte de tiers (cf. 82.92Z)':
|
||||
{
|
||||
'46.32A': {
|
||||
contenuCentral: [
|
||||
'le conditionnement de viandes de volailles pour compte propre',
|
||||
],
|
||||
},
|
||||
'82.92Z': {
|
||||
contenuCentral: [
|
||||
'le conditionnement de viandes de volailles pour compte de tiers',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'le conditionnement de viandes, pour compte propre (cf. 46.32A) ou pour compte de tiers (cf. 82.92Z)':
|
||||
{
|
||||
'46.32A': {
|
||||
contenuCentral: ['le conditionnement de viandes pour compte propre'],
|
||||
},
|
||||
'82.92Z': {
|
||||
contenuCentral: ['le conditionnement de viandes pour compte de tiers'],
|
||||
},
|
||||
},
|
||||
|
||||
'la fabrication de pâtes à tartiner laitières (cf. 10.51B) ou à base de cacao (cf. 10.82Z)':
|
||||
{
|
||||
'10.51B': {
|
||||
contenuCentral: ['la fabrication de pâtes à tartiner laitières'],
|
||||
},
|
||||
'10.82Z': {
|
||||
contenuCentral: ['la fabrication de pâtes à tartiner à base de cacao'],
|
||||
},
|
||||
},
|
||||
|
||||
'la fabrication de quiches, tartes salées, tourtes et pizzas surgelées (cf. 10.85Z), de pizzas fraîches (cf. 10.89Z)':
|
||||
{
|
||||
'10.85Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de quiches, tartes salées, tourtes et pizzas surgelées',
|
||||
],
|
||||
},
|
||||
'10.89Z': { contenuCentral: ['la fabrication de pizzas fraîches'] },
|
||||
},
|
||||
|
||||
'la fabrication de glucose, de sirop de glucose, de maltose (cf. 10.62Z) et de lactose (cf. 10.51D)':
|
||||
{
|
||||
'10.62Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de glucose, de sirop de glucose, de maltose',
|
||||
],
|
||||
},
|
||||
'10.51D': { contenuCentral: ['la fabrication de lactose'] },
|
||||
},
|
||||
|
||||
"la production de farines de viandes (cf. 10.13A) ou de poissons destinées à l'alimentation des animaux (cf. 10.20Z)":
|
||||
{
|
||||
'10.13A': { contenuCentral: ['la production de farines de viandes'] },
|
||||
'10.20Z': {
|
||||
contenuCentral: [
|
||||
"la production de farines de poissons destinées à l'alimentation des animaux",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'les activités produisant des sous-produits pouvant être utilisés comme aliments pour animaux sans subir de traitement particulier, comme les oléagineux (cf. 10.41), les résidus de la minoterie (cf. 10.61)':
|
||||
{
|
||||
'10.41': {
|
||||
contenuCentral: [
|
||||
'les activités produisant des sous-produits pouvant être utilisés comme aliments pour animaux sans subir de traitement particulier comme les oléagineux',
|
||||
],
|
||||
},
|
||||
'10.61': {
|
||||
contenuCentral: [
|
||||
'les activités produisant des sous-produits pouvant être utilisés comme aliments pour animaux sans subir de traitement particulier comme les résidus de la minoterie',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
"la fabrication d'apéritifs à base de vins (cf. 11.02B) et de vermouths (cf. 11.04Z)":
|
||||
{
|
||||
'11.02B': {
|
||||
contenuCentral: ["la fabrication d'apéritifs à base de vins"],
|
||||
},
|
||||
'11.04Z': {
|
||||
contenuCentral: ["la fabrication d'apéritifs à base de vermouths"],
|
||||
},
|
||||
},
|
||||
|
||||
"l'embouteillage et l'étiquetage simples dans le cadre du commerce de gros (cf. 46.34Z) et pour compte de tiers (cf. 82.92Z)":
|
||||
{
|
||||
'46.34Z': {
|
||||
contenuCentral: [
|
||||
"l'embouteillage et l'étiquetage simples dans le cadre du commerce de gros",
|
||||
],
|
||||
},
|
||||
'82.92Z': {
|
||||
contenuCentral: [
|
||||
"l'embouteillage et l'étiquetage simples pour compte de tiers",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
"la fabrication d'apéritifs à base de vins (cf. 11.02B) et de vins aromatisés (cf. 11.04Z)":
|
||||
{
|
||||
'11.02B': {
|
||||
contenuCentral: ["la fabrication d'apéritifs à base de vins"],
|
||||
},
|
||||
'11.04Z': {
|
||||
contenuCentral: [
|
||||
"la fabrication d'apéritifs à base de vins aromatisés",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'la fabrication de levures (cf. 10.89Z) ou de malt (cf. 11.06Z)': {
|
||||
'10.89Z': { contenuCentral: ['la fabrication de levures'] },
|
||||
'11.06Z': { contenuCentral: ['la fabrication de malt'] },
|
||||
},
|
||||
|
||||
'la fabrication de vêtements en cuir (cf. 14.11Z), de gants en cuir (cf. 14.19Z) ou de chaussures en cuir (cf. 15.20Z)':
|
||||
{
|
||||
'14.11Z': { contenuCentral: ['la fabrication de vêtements en cuir'] },
|
||||
'14.19Z': { contenuCentral: ['la fabrication de gants en cuir'] },
|
||||
'15.20Z': { contenuCentral: ['la fabrication de chaussures en cuir'] },
|
||||
},
|
||||
|
||||
'la fabrication de bracelets de montre en métaux précieux (cf. 32.12Z) ou ordinaires (cf. 32.13Z)':
|
||||
{
|
||||
'32.12Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de bracelets de montre en métaux précieux',
|
||||
],
|
||||
},
|
||||
'32.13Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de bracelets de montre en métaux ordinaires',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'la fabrication de parties de chaussures en bois (cf. 16.29Z), en caoutchouc (cf. 22.19Z) ou en plastique (cf. 22.29B)':
|
||||
{
|
||||
'16.29Z': {
|
||||
contenuCentral: ['la fabrication de parties de chaussures en bois'],
|
||||
},
|
||||
'22.19Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de parties de chaussures en caoutchouc',
|
||||
],
|
||||
},
|
||||
'22.29B': {
|
||||
contenuCentral: [
|
||||
'la fabrication de parties de chaussures en plastique',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
"la fabrication d'isolateurs et pièces isolantes en verre (cf. 23.19Z) ou en autres matières (cf. 27.90Z)":
|
||||
{
|
||||
'23.19Z': {
|
||||
contenuCentral: [
|
||||
"la fabrication d'isolateurs et pièces isolantes en verre",
|
||||
],
|
||||
},
|
||||
'27.90Z': {
|
||||
contenuCentral: [
|
||||
"la fabrication d'isolateurs et pièces isolantes en matières autres que le verre",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'la fabrication de chauffe-eau électriques (cf. 27.51Z) ou à gaz (cf. 27.52Z)':
|
||||
{
|
||||
'27.51Z': {
|
||||
contenuCentral: ['la fabrication de chauffe-eau électriques'],
|
||||
},
|
||||
'27.52Z': { contenuCentral: ['la fabrication de chauffe-eau à gaz'] },
|
||||
},
|
||||
|
||||
"l'implantation des armements sur bâtiments de guerre (cf. 30.11Z) et avions de combat (cf. 30.30Z)":
|
||||
{
|
||||
'30.11Z': {
|
||||
contenuCentral: [
|
||||
"l'implantation des armements sur bâtiments de guerre",
|
||||
],
|
||||
},
|
||||
'30.30Z': {
|
||||
contenuCentral: ["l'implantation des armements sur avions de combat"],
|
||||
},
|
||||
},
|
||||
|
||||
"la fabrication de voiles (cf. 13.92Z) la fabrication d'ancres en fonte ou en acier (cf. 25.99B) la fabrication de moteurs pour navires et bateaux (cf. 28.11Z) la fabrication de planches à voile et de planches de surf (cf. 32.30Z)":
|
||||
{
|
||||
'13.92Z': { contenuCentral: ['la fabrication de voiles'] },
|
||||
'25.99B': {
|
||||
contenuCentral: ["la fabrication d'ancres en fonte ou en acier"],
|
||||
},
|
||||
'28.11Z': {
|
||||
contenuCentral: ['la fabrication de moteurs pour navires et bateaux'],
|
||||
},
|
||||
'32.30Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de planches à voile et de planches de surf',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
"la promotion immobilière de logements collectifs (cf. 41.10A), de bureaux (cf. 41.10B) et d'autres bâtiments (cf. 41.10C)":
|
||||
{
|
||||
'41.10A': {
|
||||
contenuCentral: ['la promotion immobilière de logements collectifs'],
|
||||
},
|
||||
'41.10B': { contenuCentral: ['la promotion immobilière de bureaux'] },
|
||||
'41.10C': {
|
||||
contenuCentral: [
|
||||
'la promotion immobilière de bâtiments autres que logements collectifs ou bureaux',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
'la transformation du sang (cf. 21.10Z) et la fabrication de sérums thérapeutiques et autres constituants du sang (cf. 21.20Z)':
|
||||
{
|
||||
'21.10Z': { contenuCentral: ['la transformation du sang'] },
|
||||
'21.20Z': {
|
||||
contenuCentral: [
|
||||
'la fabrication de sérums thérapeutiques et autres constituants du sang',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
"l'accueil de jour de jeunes enfants par des crèches et garderies d'enfants (cf. 88.91A) ou des centres de jour pour enfants et jeunes handicapés (cf. 88.91B)":
|
||||
{
|
||||
'88.91A': {
|
||||
contenuCentral: [
|
||||
"l'accueil de jour de jeunes enfants par des crèches et garderies d'enfants",
|
||||
],
|
||||
},
|
||||
'88.91B': {
|
||||
contenuCentral: [
|
||||
"l'accueil par des centres de jour pour enfants et jeunes handicapés",
|
||||
],
|
||||
},
|
||||
},
|
||||
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -7,6 +7,7 @@ import rawApeData from '../données-NAF-CPF-APE/output.json' assert { type: 'jso
|
|||
import rawApeTags from '../données-NomenclatureGuichet/ape_tags.json' assert { type: 'json' }
|
||||
import { Out as EtablissementsData } from '../nombre-etablissements-par-code-ape-et-departement/convert-json.js'
|
||||
import rawEtablissementsData from '../nombre-etablissements-par-code-ape-et-departement/output.json' assert { type: 'json' }
|
||||
import { multipleCf } from './custom.js'
|
||||
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
|
||||
|
@ -68,9 +69,18 @@ const output: Output = {
|
|||
i
|
||||
) => {
|
||||
contenuExclu.forEach((exclu, j) => {
|
||||
const match = exclu.match(/\(cf\. (?:([0-9A-Z.]+)(?:, )?)+\)/)
|
||||
if (match) {
|
||||
const codes = [...match]
|
||||
const matchs = Array.from(
|
||||
exclu.matchAll(/\(cf\. (?:([0-9A-Z.]+)(?:, )?)+\)/g)
|
||||
)
|
||||
if (matchs.length > 1 && !(exclu in multipleCf)) {
|
||||
console.error(
|
||||
'Une phrase contenant plusieurs "cf." est manquante dans le fichier custom.ts:',
|
||||
exclu
|
||||
)
|
||||
}
|
||||
|
||||
if (matchs.length === 1) {
|
||||
const codes = [...matchs[0]]
|
||||
codes.shift()
|
||||
codes
|
||||
.map((k) => index?.[k])
|
||||
|
@ -99,7 +109,24 @@ const output: Output = {
|
|||
}
|
||||
|
||||
addContenuExcluToContenuCentral.forEach(([i, j, index]) => {
|
||||
output.apeData[index].contenuCentral.push(output.apeData[i].contenuExclu[j])
|
||||
output.apeData[index].contenuCentral.push(
|
||||
output.apeData[i].contenuExclu[j].replace(/\s+\(cf\. [0-9A-Z,. ]+\)/, '')
|
||||
)
|
||||
output.apeData[index].contenuCentral = Array.from(
|
||||
new Set(output.apeData[index].contenuCentral)
|
||||
)
|
||||
})
|
||||
|
||||
Object.values(multipleCf).forEach((obj) => {
|
||||
Object.entries(obj).forEach(([code, { contenuCentral }]) => {
|
||||
if (index[code]) {
|
||||
output.apeData[index[code]].contenuCentral.push(...contenuCentral)
|
||||
|
||||
output.apeData[index[code]].contenuCentral = Array.from(
|
||||
new Set(output.apeData[index[code]].contenuCentral)
|
||||
)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
writeFileSync(OUTPUT_JSON_PATH, JSON.stringify(output, null, 2))
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
"include": [
|
||||
"données-code-APE/reduce-json.ts",
|
||||
"données-NAF-CPF-APE/convert.ts",
|
||||
"nombre-etablissements-par-code-ape-et-departement/convert-json.ts",
|
||||
"nombre-etablissements-par-code-ape-et-departement/*.ts",
|
||||
"données-NomenclatureGuichet/convert.ts"
|
||||
],
|
||||
"exclude": ["**/node_modules"]
|
||||
|
|
Loading…
Reference in New Issue