2016-01-27 15:48:27 +01:00
|
|
|
class ModuleApiCartoService
|
2018-03-20 17:47:37 +01:00
|
|
|
def self.save_qp!(dossier, json_latlngs)
|
2016-01-27 15:48:27 +01:00
|
|
|
if dossier.procedure.module_api_carto.quartiers_prioritaires?
|
2018-10-15 15:48:01 +02:00
|
|
|
qp_list = generate_qp(JSON.parse(json_latlngs))
|
2016-01-27 15:48:27 +01:00
|
|
|
|
2018-10-15 16:07:15 +02:00
|
|
|
qp_list.each do |qp|
|
2017-11-20 18:55:59 +01:00
|
|
|
qp[:dossier_id] = dossier.id
|
2016-01-27 15:48:27 +01:00
|
|
|
qp[:geometry] = qp[:geometry].to_json
|
|
|
|
QuartierPrioritaire.create(qp)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-03-20 17:47:37 +01:00
|
|
|
def self.save_cadastre!(dossier, json_latlngs)
|
2016-01-27 15:48:27 +01:00
|
|
|
if dossier.procedure.module_api_carto.cadastre?
|
|
|
|
cadastre_list = generate_cadastre JSON.parse(json_latlngs)
|
|
|
|
|
|
|
|
cadastre_list.each do |cadastre|
|
2017-11-20 18:55:59 +01:00
|
|
|
cadastre[:dossier_id] = dossier.id
|
2016-01-27 15:48:27 +01:00
|
|
|
cadastre[:geometry] = cadastre[:geometry].to_json
|
|
|
|
Cadastre.create(cadastre)
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2018-03-20 17:47:37 +01:00
|
|
|
def self.generate_qp(coordinates)
|
2018-10-15 16:07:15 +02:00
|
|
|
coordinates.flat_map do |coordinate|
|
2018-10-15 16:54:38 +02:00
|
|
|
ApiCarto::QuartiersPrioritaires::Adapter.new(
|
2018-01-15 19:29:44 +01:00
|
|
|
coordinate.map { |element| [element['lng'], element['lat']] }
|
2018-10-15 16:25:16 +02:00
|
|
|
).results
|
2018-10-15 16:07:15 +02:00
|
|
|
end
|
2016-01-27 15:48:27 +01:00
|
|
|
end
|
|
|
|
|
2018-03-20 17:47:37 +01:00
|
|
|
def self.generate_cadastre(coordinates)
|
2018-01-15 21:33:29 +01:00
|
|
|
coordinates.flat_map do |coordinate|
|
2018-10-15 16:54:38 +02:00
|
|
|
ApiCarto::Cadastre::Adapter.new(
|
2018-01-15 19:29:44 +01:00
|
|
|
coordinate.map { |element| [element['lng'], element['lat']] }
|
2018-10-15 16:25:16 +02:00
|
|
|
).results
|
2018-01-15 21:33:29 +01:00
|
|
|
end
|
2016-01-27 15:48:27 +01:00
|
|
|
end
|
|
|
|
end
|