Skip to content
Snippets Groups Projects
Verified Commit fbefcc80 authored by BITARD Michaël's avatar BITARD Michaël Committed by BITARD Michaël
Browse files

feat(fiscalite): ajoute les fiscalités autres que l'or guyanais (#134)

parent 62ba141a
No related branches found
No related tags found
No related merge requests found
import { userGet } from '../../database/queries/utilisateurs' import { userGet } from '../../database/queries/utilisateurs'
import express from 'express' import express from 'express'
import { IEntreprise, IUser } from '../../types' import { IContenuValeur, IEntreprise, IUser } from '../../types'
import { import {
Fiscalite, Fiscalite,
FiscaliteFrance, FiscaliteFrance,
...@@ -12,7 +12,11 @@ import { constants } from 'http2' ...@@ -12,7 +12,11 @@ import { constants } from 'http2'
import { import {
apiOpenfiscaFetch, apiOpenfiscaFetch,
OpenfiscaRequest, OpenfiscaRequest,
OpenfiscaResponse OpenfiscaResponse,
redevanceCommunale,
redevanceDepartementale,
substanceFiscaleToInput,
substanceFiscaleToPair
} from '../../tools/api-openfisca' } from '../../tools/api-openfisca'
import { titresGet } from '../../database/queries/titres' import { titresGet } from '../../database/queries/titres'
import { titresActivitesGet } from '../../database/queries/titres-activites' import { titresActivitesGet } from '../../database/queries/titres-activites'
...@@ -20,11 +24,25 @@ import { entrepriseGet } from '../../database/queries/entreprises' ...@@ -20,11 +24,25 @@ import { entrepriseGet } from '../../database/queries/entreprises'
import TitresActivites from '../../database/models/titres-activites' import TitresActivites from '../../database/models/titres-activites'
import Titres from '../../database/models/titres' import Titres from '../../database/models/titres'
import { CustomResponse } from './express-type' import { CustomResponse } from './express-type'
import { SubstancesFiscales } from 'camino-common/src/static/substance' import {
SubstanceFiscale,
SubstancesFiscales
} from 'camino-common/src/static/substance'
import { Departements } from 'camino-common/src/static/departement' import { Departements } from 'camino-common/src/static/departement'
import { isNotNullNorUndefined } from 'camino-common/src/typescript-tools' import { isNotNullNorUndefined } from 'camino-common/src/typescript-tools'
import { Regions } from 'camino-common/src/static/region' import { Regions } from 'camino-common/src/static/region'
const conversion = (
substanceFiscale: SubstanceFiscale,
quantite: IContenuValeur
): number => {
if (typeof quantite !== 'number') {
return 0
}
const { unite } = substanceFiscaleToPair(substanceFiscale)
return quantite / (unite.referenceUniteRatio ?? 1)
}
// VisibleForTesting // VisibleForTesting
export const bodyBuilder = ( export const bodyBuilder = (
activitesAnnuelles: Pick<TitresActivites, 'titreId' | 'contenu'>[], activitesAnnuelles: Pick<TitresActivites, 'titreId' | 'contenu'>[],
...@@ -101,10 +119,12 @@ export const bodyBuilder = ( ...@@ -101,10 +119,12 @@ export const bodyBuilder = (
) )
for (const substancesFiscale of substancesFiscales) { for (const substancesFiscale of substancesFiscales) {
const production = const production = conversion(
substancesFiscale,
activite.contenu.substancesFiscales[substancesFiscale.id] activite.contenu.substancesFiscales[substancesFiscale.id]
)
if (typeof production === 'number' && production > 0) { if (production > 0) {
if (!titre.communes) { if (!titre.communes) {
throw new Error( throw new Error(
`les communes du titre ${titre.id} ne sont pas chargées` `les communes du titre ${titre.id} ne sont pas chargées`
...@@ -121,11 +141,13 @@ export const bodyBuilder = ( ...@@ -121,11 +141,13 @@ export const bodyBuilder = (
body.articles[articleId] = { body.articles[articleId] = {
surface_communale: { [anneePrecedente]: commune.surface ?? 0 }, surface_communale: { [anneePrecedente]: commune.surface ?? 0 },
quantite_aurifere_kg: { [anneePrecedente]: production }, [substanceFiscaleToInput(substancesFiscale)]: {
redevance_communale_des_mines_aurifere_kg: { [anneePrecedente]: production
},
[redevanceCommunale(substancesFiscale)]: {
[annee]: null [annee]: null
}, },
redevance_departementale_des_mines_aurifere_kg: { [redevanceDepartementale(substancesFiscale)]: {
[annee]: null [annee]: null
} }
} }
...@@ -199,11 +221,20 @@ export const responseExtractor = ( ...@@ -199,11 +221,20 @@ export const responseExtractor = (
): Fiscalite => { ): Fiscalite => {
const redevances: Reduced = Object.values(result.articles).reduce<Reduced>( const redevances: Reduced = Object.values(result.articles).reduce<Reduced>(
(acc, article) => { (acc, article) => {
const communes = Object.keys(article).filter(key =>
key.startsWith('redevance_communale')
)
const departements = Object.keys(article).filter(key =>
key.startsWith('redevance_departementale')
)
// TODO 2022_07_25 gérer les substances autre que l'or -> redevance_communale_des_mines_substance_unite // TODO 2022_07_25 gérer les substances autre que l'or -> redevance_communale_des_mines_substance_unite
acc.fiscalite.redevanceCommunale += for (const commune of communes) {
article.redevance_communale_des_mines_aurifere_kg?.[annee] ?? 0 acc.fiscalite.redevanceCommunale += article[commune]?.[annee] ?? 0
acc.fiscalite.redevanceDepartementale += }
article.redevance_departementale_des_mines_aurifere_kg?.[annee] ?? 0 for (const departement of departements) {
acc.fiscalite.redevanceDepartementale +=
article[departement]?.[annee] ?? 0
}
if (!acc.guyane && 'taxe_guyane_brute' in article) { if (!acc.guyane && 'taxe_guyane_brute' in article) {
acc = { acc = {
...@@ -304,8 +335,10 @@ export const fiscalite = async ( ...@@ -304,8 +335,10 @@ export const fiscalite = async (
annee, annee,
entreprise entreprise
) )
console.info('body', JSON.stringify(body))
if (Object.keys(body.articles).length > 0) { if (Object.keys(body.articles).length > 0) {
const result = await apiOpenfiscaFetch(body) const result = await apiOpenfiscaFetch(body)
console.info('result', JSON.stringify(result))
const redevances = responseExtractor(result, annee) const redevances = responseExtractor(result, annee)
......
const {
SUBSTANCES_FISCALES_IDS,
SubstancesFiscale
} = require('camino-common/src/static/substance')
const { Unites } = require('camino-common/src/static/unites')
exports.up = async knex => {
const activites = await knex('titres_activites')
for (let i = 0; i < activites.length; i++) {
const activite = activites[i]
let updated = false
const substancesNeedFix = [
SUBSTANCES_FISCALES_IDS['pyrite de fer'],
SUBSTANCES_FISCALES_IDS['minerais de fer'],
SUBSTANCES_FISCALES_IDS['schistes carbobitumineux et schistes bitumineux']
]
const sectionSubstancesFiscales = activite.sections?.find(
section => section.id === 'substancesFiscales'
)
if (sectionSubstancesFiscales) {
for (const element of sectionSubstancesFiscales.elements) {
if (substancesNeedFix.includes(element.id)) {
const sf = SubstancesFiscale[element.id]
element.uniteId = sf.uniteId
const unite = Unites[element.uniteId]
element.referenceUniteRatio = unite.referenceUniteRatio
element.description = `<b>${unite.symbole} (${unite.nom})</b> ${sf.description}`
updated = true
}
}
}
if (updated) {
await knex('titres_activites').where('id', activite.id).update(activite)
}
}
}
exports.down = () => ({})
import fetch from 'node-fetch' import fetch from 'node-fetch'
import { SubstanceFiscale } from 'camino-common/src/static/substance'
type InputAttribute = 'quantite_aurifere_kg' | 'surface_communale' import { Unite, Unites } from 'camino-common/src/static/unites'
type OutputAttribute = type Attribute =
| 'redevance_communale_des_mines_aurifere_kg' | 'surface_communale'
| 'redevance_departementale_des_mines_aurifere_kg'
| 'taxe_guyane_brute' | 'taxe_guyane_brute'
| 'taxe_guyane_deduction' | 'taxe_guyane_deduction'
| 'taxe_guyane' | 'taxe_guyane'
| string
export const substanceFiscaleToPair = (
substanceFiscale: SubstanceFiscale
): { nom: string; unite: Unite } => {
const nom = substanceFiscale.openFisca?.nom ?? substanceFiscale.nom
const unite = substanceFiscale.openFisca?.unite
? Unites[substanceFiscale.openFisca.unite]
: Unites[substanceFiscale.uniteId]
if (!unite.openfiscaId) {
throw new Error(
`l'unité ${unite.id} pour la substance ${substanceFiscale.id} n'est pas connue par openFisca`
)
}
return { nom, unite }
}
export const substanceFiscaleToInput = (
substanceFiscale: SubstanceFiscale
): string => {
const { nom, unite } = substanceFiscaleToPair(substanceFiscale)
type Entries = Partial< return `quantite_${nom}_${unite.openfiscaId}`
Record<InputAttribute, { [annee: string]: number | null }> }
>
type Request = Partial<Record<OutputAttribute, { [annee: string]: null }>> export const redevanceCommunale = (
substanceFiscale: SubstanceFiscale
): string => {
const { nom, unite } = substanceFiscaleToPair(substanceFiscale)
// FIXME 2022-07-26: en attente de https://github.com/openfisca/openfisca-france-fiscalite-miniere/pull/29
if (['auru', 'nacc'].includes(substanceFiscale.id)) {
return `redevance_communale_des_mines_${nom}_${unite.openfiscaId}`
}
return `redevance_communale_des_mines_${nom}`
}
export const redevanceDepartementale = (
substanceFiscale: SubstanceFiscale
): string => {
const { nom, unite } = substanceFiscaleToPair(substanceFiscale)
// FIXME 2022-07-26: en attente de https://github.com/openfisca/openfisca-france-fiscalite-miniere/pull/29
if (['auru', 'nacc'].includes(substanceFiscale.id)) {
return `redevance_departementale_des_mines_${nom}_${unite.openfiscaId}`
}
return `redevance_departementale_des_mines_${nom}`
}
type Article = Entries & Request type Article = Record<Attribute, { [annee: string]: number | null }>
export interface OpenfiscaRequest { export interface OpenfiscaRequest {
articles: { articles: {
...@@ -49,7 +91,7 @@ export interface OpenfiscaRequest { ...@@ -49,7 +91,7 @@ export interface OpenfiscaRequest {
export interface OpenfiscaResponse { export interface OpenfiscaResponse {
articles: { articles: {
[titreId_substance_commune: string]: Partial< [titreId_substance_commune: string]: Partial<
Record<OutputAttribute, { [annee: string]: number }> Record<Attribute, { [annee: string]: number }>
> >
} }
} }
......
...@@ -46,6 +46,11 @@ export interface SubstanceFiscale<T = SubstanceFiscaleId> { ...@@ -46,6 +46,11 @@ export interface SubstanceFiscale<T = SubstanceFiscaleId> {
substanceLegaleId: string substanceLegaleId: string
uniteId: UniteId uniteId: UniteId
description: string description: string
openFisca?: {
nom: string
// TODO 2022-07-26 : sauvegarder l'or en kg et le saisir en gramme dans l’ihm, ce champ pourra être supprimé
unite?: UniteId
}
} }
export const isSubstanceFiscale = ( export const isSubstanceFiscale = (
...@@ -75,7 +80,10 @@ export const SubstancesFiscale: { ...@@ -75,7 +80,10 @@ export const SubstancesFiscale: {
substanceLegaleId: 'arge', substanceLegaleId: 'arge',
uniteId: 'mkc', uniteId: 'mkc',
nom: 'argent', nom: 'argent',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'argentifere'
}
}, },
arse: { arse: {
id: 'arse', id: 'arse',
...@@ -89,7 +97,11 @@ export const SubstancesFiscale: { ...@@ -89,7 +97,11 @@ export const SubstancesFiscale: {
substanceLegaleId: 'auru', substanceLegaleId: 'auru',
uniteId: 'mgr', uniteId: 'mgr',
nom: 'or', nom: 'or',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'aurifere',
unite: 'mkg'
}
}, },
bism: { bism: {
id: 'bism', id: 'bism',
...@@ -111,7 +123,10 @@ export const SubstancesFiscale: { ...@@ -111,7 +123,10 @@ export const SubstancesFiscale: {
uniteId: 'mtk', uniteId: 'mtk',
nom: 'lignites', nom: 'lignites',
description: description:
"net livré pour les lignites d'un pouvoir calorifique égal ou supérieur à 13 MJ/kg" "net livré pour les lignites d'un pouvoir calorifique égal ou supérieur à 13 MJ/kg",
openFisca: {
nom: 'lignites_ge_13'
}
}, },
cfxc: { cfxc: {
id: 'cfxc', id: 'cfxc',
...@@ -119,14 +134,20 @@ export const SubstancesFiscale: { ...@@ -119,14 +134,20 @@ export const SubstancesFiscale: {
uniteId: 'mtk', uniteId: 'mtk',
nom: 'lignites', nom: 'lignites',
description: description:
"net livré pour les lignites d'un pouvoir calorifique inférieur à 13 MJ/kg" "net livré pour les lignites d'un pouvoir calorifique inférieur à 13 MJ/kg",
openFisca: {
nom: 'lignites_lt_13'
}
}, },
coox: { coox: {
id: 'coox', id: 'coox',
substanceLegaleId: 'coox', substanceLegaleId: 'coox',
uniteId: 'vmd', uniteId: 'vmd',
nom: 'gaz carbonique', nom: 'gaz carbonique',
description: 'extrait à 1 bar et 15 °C' description: 'extrait à 1 bar et 15 °C',
openFisca: {
nom: 'gaz_carbonique'
}
}, },
cuiv: { cuiv: {
id: 'cuiv', id: 'cuiv',
...@@ -140,21 +161,30 @@ export const SubstancesFiscale: { ...@@ -140,21 +161,30 @@ export const SubstancesFiscale: {
substanceLegaleId: 'etai', substanceLegaleId: 'etai',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'étain', nom: 'étain',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'etain'
}
}, },
fera: { fera: {
id: 'fera', id: 'fera',
substanceLegaleId: 'ferx', substanceLegaleId: 'ferx',
uniteId: 'mtt', uniteId: 'mtk',
nom: 'pyrite de fer', nom: 'pyrite de fer',
description: 'net livré' description: 'net livré',
openFisca: {
nom: 'fer_pyrite'
}
}, },
ferb: { ferb: {
id: 'ferb', id: 'ferb',
substanceLegaleId: 'ferx', substanceLegaleId: 'ferx',
uniteId: 'mtt', uniteId: 'mtk',
nom: 'minerais de fer', nom: 'minerais de fer',
description: 'net livré' description: 'net livré',
openFisca: {
nom: 'fer'
}
}, },
fluo: { fluo: {
id: 'fluo', id: 'fluo',
...@@ -169,92 +199,131 @@ export const SubstancesFiscale: { ...@@ -169,92 +199,131 @@ export const SubstancesFiscale: {
uniteId: 'mtk', uniteId: 'mtk',
nom: 'calcaires et grès bitumineux ou asphaltiques', nom: 'calcaires et grès bitumineux ou asphaltiques',
description: description:
"net livré (non destinés à la distillation pour production d'huiles ou d'essences)" "net livré (non destinés à la distillation pour production d'huiles ou d'essences)",
openFisca: {
nom: 'bitume_non_distillation'
}
}, },
hydb: { hydb: {
id: 'hydb', id: 'hydb',
substanceLegaleId: 'hydm', substanceLegaleId: 'hydm',
uniteId: 'mtt', uniteId: 'mtk',
nom: 'schistes carbobitumineux et schistes bitumineux', nom: 'schistes carbobitumineux et schistes bitumineux',
description: description:
'net livré (à traiter par distillation pour en extraire des huiles et des essences)' 'net livré (à traiter par distillation pour en extraire des huiles et des essences)',
openFisca: {
nom: 'bitume_distillation'
}
}, },
hydc: { hydc: {
id: 'hydc', id: 'hydc',
substanceLegaleId: 'hydx', substanceLegaleId: 'hydx',
uniteId: 'mtc', uniteId: 'mtc',
nom: 'pétrole brut', nom: 'pétrole brut',
description: 'net extrait' description: 'net extrait',
openFisca: {
nom: 'petrole_brut'
}
}, },
hydd: { hydd: {
id: 'hydd', id: 'hydd',
substanceLegaleId: 'hydx', substanceLegaleId: 'hydx',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'propane et le butane', nom: 'propane et le butane',
description: 'net livré' description: 'net livré',
openFisca: {
nom: 'propane'
}
}, },
hyde: { hyde: {
id: 'hyde', id: 'hyde',
substanceLegaleId: 'hydx', substanceLegaleId: 'hydx',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'essence de dégazolinage', nom: 'essence de dégazolinage',
description: 'net livré' description: 'net livré',
openFisca: {
nom: 'degazolinage'
}
}, },
hydf: { hydf: {
id: 'hydf', id: 'hydf',
substanceLegaleId: 'hydx', substanceLegaleId: 'hydx',
uniteId: 'vmd', uniteId: 'vmd',
nom: 'gaz naturel', nom: 'gaz naturel',
description: 'extrait des gisements' description: 'extrait des gisements',
openFisca: {
nom: 'gaz_naturel'
}
}, },
kclx: { kclx: {
id: 'kclx', id: 'kclx',
substanceLegaleId: 'kclx', substanceLegaleId: 'kclx',
uniteId: 'mtc', uniteId: 'mtc',
nom: 'oxyde de potassium', nom: 'oxyde de potassium',
description: 'K2O contenu dans les sels de potassium' description: 'K2O contenu dans les sels de potassium',
openFisca: {
nom: 'potassium'
}
}, },
lith: { lith: {
id: 'lith', id: 'lith',
substanceLegaleId: 'lith', substanceLegaleId: 'lith',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'oxyde de lithium', nom: 'oxyde de lithium',
description: 'Li2O contenu dans les minerais de lithium' description: 'Li2O contenu dans les minerais de lithium',
openFisca: {
nom: 'lithium_li20'
}
}, },
mang: { mang: {
id: 'mang', id: 'mang',
substanceLegaleId: 'mang', substanceLegaleId: 'mang',
uniteId: 'mtc', uniteId: 'mtc',
nom: 'manganèse', nom: 'manganèse',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'manganese'
}
}, },
moly: { moly: {
id: 'moly', id: 'moly',
substanceLegaleId: 'moly', substanceLegaleId: 'moly',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'molybdène', nom: 'molybdène',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'molybdene'
}
}, },
naca: { naca: {
id: 'naca', id: 'naca',
substanceLegaleId: 'nacl', substanceLegaleId: 'nacl',
uniteId: 'mtk', uniteId: 'mtk',
nom: 'sel (chlorure de sodium)', nom: 'sel (chlorure de sodium)',
description: 'extrait par abattage net livré' description: 'extrait par abattage net livré',
openFisca: {
nom: 'sel_abattage'
}
}, },
nacb: { nacb: {
id: 'nacb', id: 'nacb',
substanceLegaleId: 'nacl', substanceLegaleId: 'nacl',
uniteId: 'mtk', uniteId: 'mtk',
nom: 'sel (chlorure de sodium)', nom: 'sel (chlorure de sodium)',
description: 'extrait en dissolution par sondage et livré raffiné' description: 'extrait en dissolution par sondage et livré raffiné',
openFisca: {
nom: 'sel_raffine'
}
}, },
nacc: { nacc: {
id: 'nacc', id: 'nacc',
substanceLegaleId: 'nacl', substanceLegaleId: 'nacl',
uniteId: 'mtk', uniteId: 'mtk',
nom: 'sel (chlorure de sodium contenu)', nom: 'sel (chlorure de sodium contenu)',
description: 'extrait en dissolution par sondage et livré en dissolution' description: 'extrait en dissolution par sondage et livré en dissolution',
openFisca: {
nom: 'sel_dissolution'
}
}, },
plom: { plom: {
id: 'plom', id: 'plom',
...@@ -283,7 +352,10 @@ export const SubstancesFiscale: { ...@@ -283,7 +352,10 @@ export const SubstancesFiscale: {
substanceLegaleId: 'wolf', substanceLegaleId: 'wolf',
uniteId: 'mtt', uniteId: 'mtt',
nom: 'oxyde de tungstène (WO3)', nom: 'oxyde de tungstène (WO3)',
description: 'contenu dans les minerais' description: 'contenu dans les minerais',
openFisca: {
nom: 'tungstene'
}
}, },
zinc: { zinc: {
id: 'zinc', id: 'zinc',
......
...@@ -21,8 +21,11 @@ export interface Unite<T = UniteId> { ...@@ -21,8 +21,11 @@ export interface Unite<T = UniteId> {
symbole: string symbole: string
referenceUniteId: null | UniteId referenceUniteId: null | UniteId
referenceUniteRatio: null | number referenceUniteRatio: null | number
openfiscaId?: UniteOpenfiscaId
} }
export type UniteOpenfiscaId = 'kg' | '100kg' | 't' | '100t' | 'kt' | '100km3'
export type UniteId = typeof UNITE_IDS[keyof typeof UNITE_IDS] export type UniteId = typeof UNITE_IDS[keyof typeof UNITE_IDS]
export const Unites: { [key in UniteId]: Unite<key> } = { export const Unites: { [key in UniteId]: Unite<key> } = {
...@@ -80,35 +83,40 @@ export const Unites: { [key in UniteId]: Unite<key> } = { ...@@ -80,35 +83,40 @@ export const Unites: { [key in UniteId]: Unite<key> } = {
nom: 'quintal', nom: 'quintal',
symbole: 'x 100 kg', symbole: 'x 100 kg',
referenceUniteId: 'mkg', referenceUniteId: 'mkg',
referenceUniteRatio: 100 referenceUniteRatio: 100,
openfiscaId: '100kg'
}, },
mkg: { mkg: {
id: 'mkg', id: 'mkg',
nom: 'kilogramme', nom: 'kilogramme',
symbole: 'kg', symbole: 'kg',
referenceUniteId: null, referenceUniteId: null,
referenceUniteRatio: null referenceUniteRatio: null,
openfiscaId: 'kg'
}, },
mtc: { mtc: {
id: 'mtc', id: 'mtc',
nom: 'centaine de tonnes', nom: 'centaine de tonnes',
symbole: 'x 100 t', symbole: 'x 100 t',
referenceUniteId: 'mkg', referenceUniteId: 'mkg',
referenceUniteRatio: 100000 referenceUniteRatio: 100000,
openfiscaId: '100t'
}, },
mtk: { mtk: {
id: 'mtk', id: 'mtk',
nom: 'millier de tonnes', nom: 'millier de tonnes',
symbole: 'x 1000 t', symbole: 'x 1000 t',
referenceUniteId: 'mkg', referenceUniteId: 'mkg',
referenceUniteRatio: 1000000 referenceUniteRatio: 1000000,
openfiscaId: 'kt'
}, },
mtt: { mtt: {
id: 'mtt', id: 'mtt',
nom: 'tonne', nom: 'tonne',
symbole: 't', symbole: 't',
referenceUniteId: 'mkg', referenceUniteId: 'mkg',
referenceUniteRatio: 1000 referenceUniteRatio: 1000,
openfiscaId: 't'
}, },
txa: { txa: {
id: 'txa', id: 'txa',
...@@ -122,7 +130,8 @@ export const Unites: { [key in UniteId]: Unite<key> } = { ...@@ -122,7 +130,8 @@ export const Unites: { [key in UniteId]: Unite<key> } = {
nom: '100 000 mètres cubes', nom: '100 000 mètres cubes',
symbole: 'x 100 000 m³', symbole: 'x 100 000 m³',
referenceUniteId: 'm3x', referenceUniteId: 'm3x',
referenceUniteRatio: 100000 referenceUniteRatio: 100000,
openfiscaId: '100km3'
} }
} }
......
...@@ -2,12 +2,12 @@ ...@@ -2,12 +2,12 @@
exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane 1`] = ` exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane 1`] = `
<div> <div>
Cotisations: Cotisations
<div <div
class="fiscalite-table" class="fiscalite-table"
> >
<div> <div>
a. Redevance communale: a. Redevance communale
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -59,7 +59,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane ...@@ -59,7 +59,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane
</div> </div>
<div> <div>
f. Frais de gestion de fiscalité directe locale (a+b+e)X 8% f. Frais de gestion de fiscalité directe locale (a+b+e)X 8%
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -84,12 +84,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane ...@@ -84,12 +84,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Guyane
exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loading 1`] = ` exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loading 1`] = `
<div> <div>
Cotisations: Cotisations
<div <div
class="fiscalite-table" class="fiscalite-table"
> >
<div> <div>
a. Redevance communale: a. Redevance communale
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -110,7 +110,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loadin ...@@ -110,7 +110,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loadin
</div> </div>
<!--v-if--> <!--v-if-->
<div> <div>
f. Frais de gestion de fiscalité directe locale (a+b+e)X 8% f. Frais de gestion de fiscalité directe locale (a+b)X 8%
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -135,12 +135,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loadin ...@@ -135,12 +135,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Loadin
exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`] = ` exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`] = `
<div> <div>
Cotisations: Cotisations
<div <div
class="fiscalite-table" class="fiscalite-table"
> >
<div> <div>
a. Redevance communale: a. Redevance communale
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -161,7 +161,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`] ...@@ -161,7 +161,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`]
</div> </div>
<!--v-if--> <!--v-if-->
<div> <div>
f. Frais de gestion de fiscalité directe locale (a+b+e)X 8% f. Frais de gestion de fiscalité directe locale (a+b)X 8%
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -186,12 +186,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`] ...@@ -186,12 +186,12 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite Ok 1`]
exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite With Error 1`] = ` exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite With Error 1`] = `
<div> <div>
Cotisations: Cotisations
<div <div
class="fiscalite-table" class="fiscalite-table"
> >
<div> <div>
a. Redevance communale: a. Redevance communale
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
...@@ -940,7 +940,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite With E ...@@ -940,7 +940,7 @@ exports[`Automated Storybook Snapshots Components/PureEntrepriseFiscalite With E
</div> </div>
<!--v-if--> <!--v-if-->
<div> <div>
f. Frais de gestion de fiscalité directe locale (a+b+e)X 8% f. Frais de gestion de fiscalité directe locale (a+b)X 8%
</div> </div>
<div <div
class="top-level fiscalite-value" class="top-level fiscalite-value"
......
<template> <template>
<div> <div>
Cotisations: Cotisations
<div class="fiscalite-table"> <div class="fiscalite-table">
<div>a. Redevance communale:</div> <div>a. Redevance communale</div>
<LoadingElement v-slot="{ item }" :data="data" class="fiscalite-value">{{ <LoadingElement v-slot="{ item }" :data="data" class="fiscalite-value">{{
currencyFormat(item.redevanceCommunale) currencyFormat(item.redevanceCommunale)
}}</LoadingElement> }}</LoadingElement>
...@@ -40,7 +40,11 @@ ...@@ -40,7 +40,11 @@
>{{ currencyFormat(montantNetTaxeAurifere(item)) }}</LoadingElement >{{ currencyFormat(montantNetTaxeAurifere(item)) }}</LoadingElement
> >
</template> </template>
<div>f. Frais de gestion de fiscalité directe locale (a+b+e)X 8%</div> <div>
f. Frais de gestion de fiscalité directe locale (a+b{{
data.status === 'LOADED' && isFiscaliteGuyane(data.value) ? '+e' : ''
}})X 8%
</div>
<LoadingElement v-slot="{ item }" :data="data" class="fiscalite-value">{{ <LoadingElement v-slot="{ item }" :data="data" class="fiscalite-value">{{
currencyFormat(fraisGestion(item)) currencyFormat(fraisGestion(item))
}}</LoadingElement> }}</LoadingElement>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment