diff --git a/services/targo-hub/lib/legacy-dispatch-sync.js b/services/targo-hub/lib/legacy-dispatch-sync.js index 1210bb5..5fd1077 100644 --- a/services/targo-hub/lib/legacy-dispatch-sync.js +++ b/services/targo-hub/lib/legacy-dispatch-sync.js @@ -657,6 +657,12 @@ async function buildJob (t, { dryRun = false } = {}) { const tc = await townCenterFromSubject(t.subject) if (tc) { payload.latitude = tc.lat; payload.longitude = tc.lon; coordSrc = 'ville_centre'; if (!payload.address) payload.address = tc.ville + ' (secteur — adresse à confirmer)' } } + // FILET ADRESSE : des coords résolues mais AUCUNE adresse texte (compte/delivery/facturation vides) → géocodage INVERSE + // sur le pin fibre le plus proche → adresse APPROXIMATIVE (marquée) pour que le dispatch ne soit jamais aveugle. + if (!payload.address && payload.latitude != null && payload.longitude != null) { + const rev = await reverseNearestFibre(payload.latitude, payload.longitude) + if (rev && rev.address) payload.address = ('≈ ' + rev.address + ' (approx. GPS)').slice(0, 140) + } return { legacy_id: String(t.id), payload, matched: { customer: !!cust, service_location: !!sl, customer_name: cname, coords: !!coordSrc, coord_src: coordSrc, delivery_id: t.delivery_id || null, parent: Number(t.parent) || 0 }, dept: t.dept, addr } }