mirror of
https://forge.chapril.org/tykayn/osm-commerces
synced 2025-10-09 17:02:46 +02:00
critères de followup plus amples
This commit is contained in:
parent
b5b2880637
commit
a5cd69961f
3 changed files with 250 additions and 85 deletions
|
@ -96,47 +96,93 @@ class FollowUpService
|
|||
$completed = [];
|
||||
if ($type === 'fire_hydrant') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['ref'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
// Considérer comme complet si au moins un critère supplémentaire est rempli
|
||||
return !empty($tags['ref'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null)
|
||||
|| !empty($tags['colour'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'charging_station') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['charging_station:output'] ?? null) && !empty($el['tags']['capacity'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['charging_station:output'] ?? null)
|
||||
|| !empty($tags['capacity'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'toilets') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return ($el['tags']['wheelchair'] ?? null) === 'yes';
|
||||
$tags = $el['tags'] ?? [];
|
||||
return ($tags['wheelchair'] ?? null) === 'yes'
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null)
|
||||
|| !empty($tags['access'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'bus_stop') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['shelter'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
// Considérer comme complet si au moins un de ces critères est rempli
|
||||
return !empty($tags['shelter'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null)
|
||||
|| !empty($tags['network'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'defibrillator') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['indoor'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
// Considérer comme complet si au moins un de ces critères est rempli
|
||||
return !empty($tags['indoor'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null)
|
||||
|| !empty($tags['access'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'camera') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['surveillance:type'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['surveillance:type'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'recycling') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['recycling_type'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['recycling_type'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'substation') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['substation'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['substation'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'laboratory') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['website'] ?? null) || !empty($el['tags']['contact:website'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['website'] ?? null)
|
||||
|| !empty($tags['contact:website'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['phone'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'school') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['ref:UAI'] ?? null) && !empty($el['tags']['isced:level'] ?? null) && !empty($el['tags']['school:FR'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
// Considérer comme complet si au moins un de ces critères est rempli
|
||||
return !empty($tags['ref:UAI'] ?? null)
|
||||
|| !empty($tags['isced:level'] ?? null)
|
||||
|| !empty($tags['school:FR'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'police') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['phone'] ?? null) || !empty($el['tags']['website'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['phone'] ?? null)
|
||||
|| !empty($tags['website'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'healthcare') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
|
@ -145,40 +191,69 @@ class FollowUpService
|
|||
|| !empty($tags['contact:phone'] ?? null)
|
||||
|| !empty($tags['phone'] ?? null)
|
||||
|| !empty($tags['email'] ?? null)
|
||||
|| !empty($tags['contact:email'] ?? null);
|
||||
|| !empty($tags['contact:email'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'bicycle_parking') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['capacity'] ?? null) || !empty($el['tags']['covered'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['capacity'] ?? null)
|
||||
|| !empty($tags['covered'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'advertising_board') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['operator'] ?? null) || !empty($el['tags']['contact:phone'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['operator'] ?? null)
|
||||
|| !empty($tags['contact:phone'] ?? null)
|
||||
|| !empty($tags['name'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'building') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['name'] ?? null) || !empty($el['tags']['ref'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['ref'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'email') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['name'] ?? null) || !empty($el['tags']['phone'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['phone'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'bench') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['material'] ?? null) || !empty($el['tags']['backrest'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['material'] ?? null)
|
||||
|| !empty($tags['backrest'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'waste_basket') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['waste'] ?? null) || !empty($el['tags']['recycling_type'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['waste'] ?? null)
|
||||
|| !empty($tags['recycling_type'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'street_lamp') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
return !empty($el['tags']['lamp_type'] ?? null) || !empty($el['tags']['height'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['lamp_type'] ?? null)
|
||||
|| !empty($tags['height'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'drinking_water') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
// Complet si le tag "covered" ou "ref" est présent
|
||||
return !empty($el['tags']['covered'] ?? null) || !empty($el['tags']['ref'] ?? null);
|
||||
$tags = $el['tags'] ?? [];
|
||||
return !empty($tags['covered'] ?? null)
|
||||
|| !empty($tags['ref'] ?? null)
|
||||
|| !empty($tags['name'] ?? null)
|
||||
|| !empty($tags['operator'] ?? null);
|
||||
});
|
||||
} elseif ($type === 'tree') {
|
||||
$completed = array_filter($data['objects'], function($el) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue