🐛 Récupère le bon taux versement transport pour les communes avec arrondissement
parent
57c1530475
commit
b5c1f0b1fa
|
@ -27,14 +27,29 @@ type Commune = {
|
|||
}
|
||||
|
||||
async function tauxVersementTransport(
|
||||
codeCommune: Commune['code']
|
||||
commune: Commune
|
||||
): Promise<number | null> {
|
||||
const response = await fetch('/data/versement-transport.json')
|
||||
if (!response.ok) {
|
||||
return null
|
||||
let codeCommune = commune.code
|
||||
// 1. Si c'est une commune à arrondissement, on récupère le bon code correspondant à l'arrondissement.
|
||||
// Comme il n'y a pas d'API facile pour faire ça, on le fait à la mano
|
||||
|
||||
// 1. a : PARIS
|
||||
if (codeCommune === '75056') {
|
||||
codeCommune = '751' + commune.codePostal.slice(-2)
|
||||
}
|
||||
// 1. b : LYON
|
||||
if (codeCommune === '69123') {
|
||||
codeCommune = '6938' + commune.codePostal.slice(-1)
|
||||
}
|
||||
// 1. c : MARSEILLE
|
||||
if (codeCommune === '13055') {
|
||||
codeCommune = '132' + commune.codePostal.slice(-2)
|
||||
}
|
||||
// 2. On récupère le versement transport associé
|
||||
const response = await fetch('/data/versement-transport.json')
|
||||
const json = await response.json()
|
||||
return json[codeCommune] ?? null
|
||||
|
||||
return json[codeCommune] ?? 0
|
||||
}
|
||||
function formatCommune(value: Commune) {
|
||||
return value && `${value.nom} (${value.codePostal})`
|
||||
|
@ -90,7 +105,7 @@ export default function Select({ onChange, value, id, missing }: InputProps) {
|
|||
setName(formatCommune(commune))
|
||||
let taux: number | null = null
|
||||
try {
|
||||
taux = await tauxVersementTransport(commune.code)
|
||||
taux = await tauxVersementTransport(commune)
|
||||
} catch (error) {
|
||||
console.warn(
|
||||
'Erreur dans la récupération du taux de versement transport à partir du code commune',
|
||||
|
|
Loading…
Reference in New Issue