Sitze und Rechtsformen aus Zefix API

This commit is contained in:
schrom01
2023-08-21 20:37:59 +02:00
parent 3c47b7ba97
commit bd05621843
5 changed files with 249 additions and 88 deletions
+49 -43
View File
@@ -51,21 +51,21 @@
<p>Diese Webseite wird gerade neu entwickelt und steht demnächst zur Verfügung.</p>
<form action="submit.php" method="post">
<label for="firmenname">Firmenname:</label>
<label for="firma">Firmenname:</label>
<p>* kann als Platzhalter verwendet werden</p>
<input type="text" id="firmenname" name="firmenname"><br><br>
<input type="text" id="firma" name="firma"><br><br>
<label for="kanton">Kanton:</label>
<div id="kantonauswahl" class="scrollWindow" onclick="filterFunction()">
</div><br><br>
<label for="sitz">Sitz (Postleitzahl / Ort):</label><br>
<label for="sitz">Sitz (Ort):</label><br>
<div class="dropdown">
<div id="gemeindeDropdown" class="dropdown-content">
<table style="width: 100%">
<td>
<input type="text" placeholder="suchen (PLZ oder Ort)" id="sitzInput" onkeyup="filterFunction()" onchange="filterFunction()" name="sitzfilter" autocomplete="off">
<input type="text" placeholder="suchen (Ort)" id="sitzInput" onkeyup="filterFunction()" onchange="filterFunction()" name="sitzfilter" autocomplete="off">
</td>
<td>
<button type="button" class="button-small" onclick="gefundeneGemeindenAuswählen()">Alle Ergebnise auswählen</button>
@@ -94,7 +94,7 @@
filterFunction()
}
function gefundeneGemeindenAuswählen() {
function gefundeneGemeindenAuswählen() { // TODO diese Funktion aufrufen wenn keine Gemeinde ausgewählt und gesucht wird.
sitzauswahl.querySelectorAll('input[type="checkbox"]').forEach(function(checkbox) {
if(checkbox.parentNode.parentNode.style.display !== "none")
checkbox.checked = true;
@@ -112,41 +112,25 @@
</div>
</div><br><br><br><br>
<label for="rechtsform">Rechtsform:</label><br>
<div class="scrollWindow">
<label><input type="checkbox" name="rechtsform[]" value="Einzelunternehmen"> Einzelunternehmen</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Kollektivgesellschaft"> Kollektivgesellschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Aktiengesellschaft"> Aktiengesellschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Gesellschaft mit beschränkter Haftung"> Gesellschaft mit beschränkter Haftung</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Genossenschaft"> Genossenschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Verein"> Verein</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Stiftung"> Stiftung</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Institut des öffentlichen Rechts"> Institut des öffentlichen Rechts</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Zweigniederlassung"> Zweigniederlassung</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Kommanditgesellschaft"> Kommanditgesellschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Zweigniederlassung einer ausl. Gesellschaft"> Zweigniederlassung einer ausl. Gesellschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Kommanditaktiengesellschaft"> Kommanditaktiengesellschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Besondere Rechtsform"> Besondere Rechtsform</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Gemeinderschaft"> Gemeinderschaft</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Investmentgesellschaft mit festem Kapital"> Investmentgesellschaft mit festem Kapital</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Investmentgesellschaft mit variablem Kapital"> Investmentgesellschaft mit variablem Kapital</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Kommanditgesellschaft für kollektive Kapitalanlagen"> Kommanditgesellschaft für kollektive Kapitalanlagen</label><br>
<label><input type="checkbox" name="rechtsform[]" value="Nichtkaufmännische Prokura"> Nichtkaufmännische Prokura</label><br>
<label><input type="checkbox" name="rechtsform[]" value="(unbekannt)"> (unbekannt)</label><br>
<div id = "rechtsformenauswahl" class="scrollWindow">
</div>
<br><br>
<input type="checkbox" id="exakteSuche" name="exakteSuche">
<label for="exakteSuche">Exakte Suche</label><br>
<input type="checkbox" id="exakteSuche" name="exakteSuche" disabled>
<label for="exakteSuche">Exakte Suche (noch in Entwicklung)</label><br>
<input type="checkbox" id="geloeschteRechtseinheiten" name="geloeschteRechtseinheiten">
<label for="geloeschteRechtseinheiten">Gelöschte Rechtseinheiten suchen</label><br>
<input type="checkbox" id="inBisherigenFirmen" name="inBisherigenFirmen">
<label for="inBisherigenFirmen">In bisherigen Firmen/Namen suchen</label><br>
<input type="checkbox" id="inBisherigenFirmen" name="inBisherigenFirmen" disabled>
<label for="inBisherigenFirmen">In bisherigen Firmen/Namen suchen (noch in Entwicklung)</label><br>
<input type="checkbox" id="phonetischeSuche" name="phonetischeSuche">
<label for="phonetischeSuche">Phonetische Suche</label><br><br>
<input type="checkbox" id="phonetischeSuche" name="phonetischeSuche" disabled>
<label for="phonetischeSuche">Phonetische Suche (noch in Entwicklung)</label><br><br>
<input type="submit" value="Suchergebnisse exportieren">
</form>
@@ -154,36 +138,58 @@
<script>
// Parse CSV-Daten und fülle das Dropdown-Feld
let csvData;
let communityCsvData;
let legalFormsCsvData;
<?php
include 'api/zefixAPI.php';
include 'gemeinden.php';
include 'legalForms.php';
?>
csvData = csvData.slice(1);
// csvData = "PLZ,ORTBEZ,KANTON
// 1000,Lausanne Dépôt,VD
// 1001,Lausanne,VD
// 1002,Lausanne,VD"
const legalFormslines = legalFormsCsvData.trim().split('\n');
const legalFormsheaders = legalFormslines[0].split(',');
const legalformIdIndex = legalFormsheaders.indexOf('id');
const legalformNameIndex = legalFormsheaders.indexOf('name');
for (let i = 1; i < legalFormslines.length; i++) {
const cells = legalFormslines[i].split(',');
const id = cells[legalformIdIndex].trim();
const name = cells[legalformNameIndex].trim();
const label = document.createElement('label');
const rechtsformenauswahl = document.getElementById("rechtsformenauswahl")
rechtsformenauswahl.appendChild(label);
const input = document.createElement('input');
input.type = "checkbox";
input.name = "rechtsformen[]";
input.value = id;
label.textContent = " " + name;
label.style.marginBottom = '0';
label.prepend(input);
rechtsformenauswahl.appendChild(document.createElement("br"))
}
const lines = csvData.trim().split('\n');
const lines = communityCsvData.trim().split('\n');
const headers = lines[0].split(',');
const gemeindeNameIndex = headers.indexOf('Gemeindename');
const plzIndex = headers.indexOf('PLZ');
const bfsIdIndex = headers.indexOf('bfsId');
const kantonIndex = headers.indexOf('Kanton');
const registryOfCommerceIdIndex = headers.indexOf('registryOfCommerceId');
const sitze = [];
const kantone = []
for (let i = 1; i < lines.length; i++) {
const cells = lines[i].split(',');
const plz = cells[plzIndex].trim();
const bfsId = cells[bfsIdIndex].trim();
const gemeindeName = cells[gemeindeNameIndex].trim();
const kanton = cells[kantonIndex].trim();
const registryOfCommerceId = cells[registryOfCommerceIdIndex].trim();
// Falls Kanton noch nicht vorhanden -> hinzufügen
if (!kantone.includes(kanton)) {
@@ -203,7 +209,7 @@
// Sitz hinzufügen
sitze.push(cells)
const sitzString = plz + " " + gemeindeName
const sitzString = gemeindeName
const gemeindeEintrag = document.createElement("div");
gemeindeEintrag.classList.add("gemeindeeintrag");
const label = document.createElement('label');
@@ -213,7 +219,7 @@
const input = document.createElement('input');
input.type = "checkbox";
input.name = "sitze[]";
input.value = plz;
input.value = bfsId;
label.textContent = " " + sitzString;
label.style.marginBottom = '0';
label.prepend(input);