Created import scripts for Liezen
This commit is contained in:
@@ -9,7 +9,6 @@ class ADBGemeinde extends mfBaseModel {
|
||||
$this->table = "Gemeinde";
|
||||
}
|
||||
|
||||
|
||||
public function loadByGemeindeCode($code) {
|
||||
$res = $this->db->select("Gemeinde","*","code=$code");
|
||||
if($this->db->num_rows($res)) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
|
||||
class ADBHausnummerModel {
|
||||
public $adrcd;
|
||||
public $netzgebiet_id;
|
||||
public $extref;
|
||||
public $ortschaft_id;
|
||||
@@ -11,6 +12,8 @@ class ADBHausnummerModel {
|
||||
public $gps_lat;
|
||||
public $gps_long;
|
||||
public $rollout;
|
||||
public $rollout_info;
|
||||
public $freigabe;
|
||||
|
||||
public $create_by = null;
|
||||
public $edit_by = null;
|
||||
@@ -123,6 +126,13 @@ class ADBHausnummerModel {
|
||||
private static function getSqlFilter($filter) {
|
||||
$where = "1=1 ";
|
||||
|
||||
if(array_key_exists("adrcd", $filter)) {
|
||||
$adrcd = FronkDB::singleton()->escape($filter['adrcd']);
|
||||
if($adrcd) {
|
||||
$where .= " AND Hausnummer.`adrcd` = '$adrcd'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("extref", $filter)) {
|
||||
$extref = FronkDB::singleton()->escape($filter['extref']);
|
||||
if($extref) {
|
||||
|
||||
@@ -90,9 +90,7 @@ class ADBNetzgebietModel {
|
||||
|
||||
$where = self::getSqlFilter($filter);
|
||||
$sql = "SELECT Netzgebiet.* FROM Netzgebiet
|
||||
LEFT JOIN Plz ON (Plz.netzgebiet_id = Netzgebiet.id)
|
||||
WHERE $where
|
||||
GROUP BY Netzgebiet.id
|
||||
ORDER BY name";
|
||||
|
||||
mfLoghandler::singleton()->debug($sql);
|
||||
@@ -123,6 +121,13 @@ class ADBNetzgebietModel {
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name%", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name%']);
|
||||
if($name) {
|
||||
$where .= " AND Netzgebiet.`name` LIKE '$name%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("extref", $filter)) {
|
||||
$extref = FronkDB::singleton()->escape($filter['extref']);
|
||||
if($extref) {
|
||||
|
||||
@@ -99,6 +99,21 @@ class NetworkModel {
|
||||
$where = "1=1 ";
|
||||
|
||||
//var_dump($filter);exit;
|
||||
|
||||
if(array_key_exists("name", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name']);
|
||||
if($name) {
|
||||
$where .= " AND Network.`name` = '$name'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("name%", $filter)) {
|
||||
$name = FronkDB::singleton()->escape($filter['name%']);
|
||||
if($name) {
|
||||
$where .= " AND Network.`name` LIKE '$name%'";
|
||||
}
|
||||
}
|
||||
|
||||
if(array_key_exists("owner_id", $filter)) {
|
||||
$ownerid= $filter['owner_id'];
|
||||
if(is_numeric($ownerid)) {
|
||||
|
||||
@@ -74,6 +74,9 @@ class Preorder extends mfBaseModel {
|
||||
return $this->adb_wohneinheit;
|
||||
}
|
||||
|
||||
if($name == "addon_services") {
|
||||
|
||||
}
|
||||
|
||||
if($name == "creator") {
|
||||
$user = mfValuecache::singleton()->get("Worker-id-".$this->create_by);
|
||||
|
||||
217
scripts/addressdb/liezen/addressdb_update.php
Normal file
217
scripts/addressdb/liezen/addressdb_update.php
Normal file
@@ -0,0 +1,217 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
//require 'vendor/autoload.php';
|
||||
require("../../../config/config.php");
|
||||
|
||||
define('FRONKDB_SQLDEBUG',false);
|
||||
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
||||
|
||||
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
||||
|
||||
|
||||
$netzgebiet_name_main = "Liezen";
|
||||
$freigabe_default = json_encode(["order", "reorder"]);
|
||||
|
||||
|
||||
$me = new User(1);
|
||||
|
||||
$folder = __DIR__."/import/";
|
||||
$csvname = "Adressendatensatz_Draft01_20221118_UTF8.csv";
|
||||
$filename = $folder.$csvname;
|
||||
|
||||
$db = FronkDB::singleton(ADDRESSDB_DBHOST, ADDRESSDB_DBUSER, ADDRESSDB_DBPASS, ADDRESSDB_DBNAME);
|
||||
$log = mfLoghandler::singleton();
|
||||
|
||||
$input = fopen($filename, "r");
|
||||
|
||||
$h_extrefs = [];
|
||||
|
||||
$i = 0;
|
||||
$c = 0;
|
||||
$u = 0;
|
||||
while($csv = fgetcsv($input, 0, ";")) {
|
||||
$i++;
|
||||
if($i == 1) continue;
|
||||
|
||||
|
||||
$hausnummer = false;
|
||||
|
||||
if(!trim($csv[0])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$adrcd = trim($csv[0]);
|
||||
$gem_kz = trim($csv[2]);
|
||||
$gem_name = trim($csv[3]);
|
||||
$ort_kz = trim($csv[5]);
|
||||
$plz_string = trim($csv[4]);
|
||||
$ort_name = trim($csv[6]);
|
||||
$skz = trim($csv[7]);
|
||||
$strasse_name = trim($csv[8]);
|
||||
$hausnummer_string = trim($csv[9]);
|
||||
$hausnummer_extref = trim($csv[0]);
|
||||
if(in_array($hausnummer_extref, $h_extrefs)) {
|
||||
die("Hausnummer extref doppelt! $hausnummer_extref\n");
|
||||
}
|
||||
$h_extrefs[] = $hausnummer_extref;
|
||||
|
||||
//$lat = str_replace(",",".",trim($csv[7]));
|
||||
//$long = str_replace(",",".",trim($csv[8]));
|
||||
|
||||
$rollout_time = trim($csv[12]);
|
||||
|
||||
$netzgebiet_extref = trim($csv[11]);
|
||||
if(!$netzgebiet_extref) continue;
|
||||
|
||||
// get code and name
|
||||
$netzgebiet_name_parts = explode(", ",$netzgebiet_extref);
|
||||
if(count($netzgebiet_name_parts) < 2) {
|
||||
die("Netzgebiet Code und Subname können nicht extrahiert werden.\n");
|
||||
}
|
||||
|
||||
$netzgebiet_code = $netzgebiet_name_parts[0];
|
||||
$netzgebiet_subname = $netzgebiet_name_parts[1];
|
||||
|
||||
// find netzgebiet
|
||||
$netzgebiet = new ADBNetzgebiet();
|
||||
$netzgebiet->loadByExtref($netzgebiet_code);
|
||||
if(!$netzgebiet->id) {
|
||||
// create Netzgebiet
|
||||
$netzgebiet_data = [
|
||||
'name' => "$netzgebiet_name_main - $netzgebiet_subname",
|
||||
'extref' => $netzgebiet_code,
|
||||
'source' => "csv",
|
||||
'source_id' => $csvname
|
||||
];
|
||||
$netzgebiet = ADBNetzgebietModel::create($netzgebiet_data);
|
||||
$netzgebiet_id = $netzgebiet->save();
|
||||
if(!$netzgebiet_id) {
|
||||
die("Error creating Netzgebiet!\n");
|
||||
}
|
||||
}
|
||||
//var_dump($netzgebiet);exit;
|
||||
|
||||
$nutzung = trim($csv[10]);
|
||||
|
||||
//$unit_count = $csv[10];
|
||||
//if(!$unit_count) $unit_count = 1;
|
||||
|
||||
//if(!$strasse_hausnummer) continue;
|
||||
|
||||
if(!strlen($hausnummer_string) || !strlen($strasse_name)) {
|
||||
die("!! Hausnummer oder Strasse leer (adrcd $adrcd)\n");
|
||||
}
|
||||
|
||||
if(!$gem_name || !$plz_string || !$ort_name || !$strasse_name) {
|
||||
die("!! Konnte Adresse nicht parsen\n");
|
||||
}
|
||||
|
||||
if(!$hausnummer_extref) {
|
||||
die("!!! Keine Hausnummer Extref\n");
|
||||
}
|
||||
|
||||
if(!$netzgebiet_extref) {
|
||||
die("!!! Keine Netzgebiet Extref\n");
|
||||
}
|
||||
|
||||
$gemeinde = ADBGemeindeModel::getFirst(['kennziffer' => $gem_kz]);
|
||||
if(!$gemeinde) {
|
||||
die("Gemeinde ($gem_kz, $gem_name) nicht in addressdb gefunden\n");
|
||||
}
|
||||
$strasse = ADBStrasseModel::getFirst(['kennziffer' => $skz]);
|
||||
if(!$strasse) {
|
||||
die("Strasse ($skz, $strasse_name) nicht in addressdb gefunden\n");
|
||||
}
|
||||
/*$ortschaft = ADBOrtschaftModel::getFirst(['kennziffer' => $ort_kz]);
|
||||
if(!$ortschaft) {
|
||||
die("Ortschaft ($ort_kz, $ort_name) nicht in addressdb gefunden\n");
|
||||
}*/
|
||||
|
||||
$ortschaft = ADBOrtschaftModel::getFirst(['gemeinde_id' => $gemeinde->id, 'name' => $ort_name]);
|
||||
if(!$ortschaft) {
|
||||
die("Ortschaft (gemeinde $gem_name ($gem_kz), $ort_name) nicht in addressdb gefunden\n");
|
||||
}
|
||||
|
||||
$plz = ADBPlzModel::getFirst(['gemeinde_id' => $gemeinde->id, 'plz' => $plz_string]);
|
||||
if(!$plz) {
|
||||
echo "PLZ $plz_string in Gemeinde $gemeinde_name nicht gefunden. Wird angelegt.\n";
|
||||
$plz_data = [
|
||||
'gemeinde_id' => $gemeinde->id,
|
||||
'plz' => $plz_string,
|
||||
'plz_string' => $plz_string
|
||||
];
|
||||
$plz = ADBPlzModel::create($plz_data);
|
||||
$plz_id = $plz->save();
|
||||
if(!$plz_id) {
|
||||
var_dump($plz);
|
||||
die("Error creating PLZ\n");
|
||||
}
|
||||
}
|
||||
|
||||
if(is_numeric($rollout_time)) {
|
||||
$rollout = $rollout_time;
|
||||
$rollout_info = null;
|
||||
$freigabe = $freigabe_default;
|
||||
} elseif($rollout_time == "2024/2025") {
|
||||
$rollout = null;
|
||||
$rollout_info = "Bauprogramm 2024/2025";
|
||||
$freigabe = json_encode(['reorder']);
|
||||
} else {
|
||||
$rollout = null;
|
||||
$rollout_info = $rollout_time;
|
||||
$freigabe = json_encode([]);
|
||||
}
|
||||
|
||||
//$hausnummer = ADBHausnummerModel::getFirst(['gemeind_id' => $gemeinde->id, 'strasse_id' => $strasse->id, 'hausnummer' => $hausnummer_string]);
|
||||
$hausnummer = ADBHausnummerModel::getFirst(['adrcd' => $adrcd]);
|
||||
if(!$hausnummer) {
|
||||
if(is_numeric($rollout_time)) {
|
||||
$rollout = $rollout_time;
|
||||
$freigabe = $freigabe_default;
|
||||
} elseif($rollout_time == "2024/2025") {
|
||||
$rollout = null;
|
||||
$rollout_info = "Bauprogramm 2024/2025";
|
||||
$freigabe = json_encode(['reorder']);
|
||||
} else {
|
||||
$rollout = null;
|
||||
$rollout_info = $rollout_time;
|
||||
$freigabe = json_encode([]);
|
||||
}
|
||||
|
||||
$hausnummer_data = [
|
||||
'adrcd' => $adrcd,
|
||||
'netzgebiet_id' => $netzgebiet->id,
|
||||
'extref' => $adrcd,
|
||||
'ortschaft_id' => $ortschaft->id,
|
||||
'plz_id' => $plz->id,
|
||||
'strasse_id' => $strasse->id,
|
||||
'hausnummer' => $hausnummer_string,
|
||||
'rollout' => $rollout,
|
||||
'rollout_info' => $rollout_info,
|
||||
'freigabe' => $freigabe
|
||||
];
|
||||
$hausnummer = ADBHausnummerModel::create($hausnummer_data);
|
||||
if(!$hausnummer->save()) {
|
||||
var_dump($hausnummer_data);
|
||||
die("Konnte Hausnummer nicht anlegen\n");
|
||||
}
|
||||
$c++;
|
||||
} else {
|
||||
$hausnummer->netzgebiet_id = $netzgebiet->id;
|
||||
$hausnummer->extref = $adrcd;
|
||||
$hausnummer->rollout = $rollout;
|
||||
$hausnummer->rollout_info = $rollout_info;
|
||||
$hausnummer->freigabe = $freigabe;
|
||||
if(!$hausnummer->save()) {
|
||||
var_dump($hausnummer);
|
||||
die("Konnte Hausnummer nicht speichern\n");
|
||||
}
|
||||
$u++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo "$i lines processed, $c created, $u updated\n";
|
||||
50
scripts/addressdb/liezen/create_thetool_netzgebiete.php
Normal file
50
scripts/addressdb/liezen/create_thetool_netzgebiete.php
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
//require 'vendor/autoload.php';
|
||||
require("../../../config/config.php");
|
||||
|
||||
define('FRONKDB_SQLDEBUG',false);
|
||||
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
||||
|
||||
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
||||
|
||||
$me = new User(1);
|
||||
|
||||
foreach(ADBNetzgebietModel::search(['name%' => '%liezen%']) as $adb_netzgebiet) {
|
||||
$owner_id = 1;
|
||||
$name = $adb_netzgebiet->name;
|
||||
$note = "Salescluster ".$adb_netzgebiet->extref;
|
||||
|
||||
if(NetworkModel::search(['name' => $name])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$network = NetworkModel::create([
|
||||
'owner_id' => $owner_id,
|
||||
'name' => $name,
|
||||
'note' => $note,
|
||||
'sytemowner_action_status' => "term_connected",
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
]);
|
||||
|
||||
$network_id = $network->save();
|
||||
if(!$network_id) {
|
||||
var_dump($network);
|
||||
die("error saving Network\n");
|
||||
}
|
||||
|
||||
$netaddress = NetworkAddressModel::create([
|
||||
'network_id' => $network->id,
|
||||
'address_id' => $network->owner_id,
|
||||
'type' => "netowner",
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
]);
|
||||
//var_dump($netaddress);exit;
|
||||
$netaddress->save();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
#!/usr/bin/php
|
||||
<?php
|
||||
|
||||
//require 'vendor/autoload.php';
|
||||
require("../../../config/config.php");
|
||||
|
||||
define('FRONKDB_SQLDEBUG',false);
|
||||
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
||||
|
||||
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
||||
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
||||
|
||||
$me = new User(1);
|
||||
|
||||
foreach(NetworkModel::search(['name%' => 'liezen%']) as $network) {
|
||||
$owner_id = 1;
|
||||
$name = $network->name;
|
||||
|
||||
$netzgebiet = ADBNetzgebietModel::getFirst(['name' => $network->name]);
|
||||
if(!$netzgebiet) {
|
||||
die("Netzgebiet ".$network->name." not found\n");
|
||||
}
|
||||
|
||||
if(PreordercampaignModel::search(['name%' => $network->name])) {
|
||||
echo "Campaign ".$network->name." gibts schon\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
$campaign_data = [
|
||||
'network_id' => $network->id,
|
||||
'homes_total' => 0,
|
||||
'fulfillment' => 'thirdparty',
|
||||
'product_type' => 'setup_only',
|
||||
'name' => $network->name,
|
||||
'description' => "",
|
||||
'area' => $network->name,
|
||||
'from' => 1667260800,
|
||||
'to' => 1988150399,
|
||||
'required_preorder_fields' => json_encode(["contact_type"]),
|
||||
'district_is_city' => 0,
|
||||
'note' => "",
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
];
|
||||
$campaign = PreordercampaignModel::create($campaign_data);
|
||||
$campaign_id = $campaign->save();
|
||||
|
||||
if(!$campaign_id) {
|
||||
var_dump($campaign);
|
||||
die("Error creating campaign\n");
|
||||
}
|
||||
/*
|
||||
* Create PreordercampaignSalescluster
|
||||
*/
|
||||
$salescluster_link = PreordercampaignSalesclusterModel::create([
|
||||
"preordercampaign_id" => $campaign->id,
|
||||
"salescluster_id" => $netzgebiet->id,
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
]);
|
||||
|
||||
if(!$salescluster_link->save()) {
|
||||
var_dump($salescluster_link);
|
||||
die("Error creating Preordercampaign Salescluster\n");
|
||||
}
|
||||
|
||||
/*
|
||||
* Create PreordercampaignType
|
||||
*/
|
||||
$ctype = PreordercampaignTypeModel::create([
|
||||
"preordercampaign_id" => $campaign->id,
|
||||
"type" => "order",
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
]);
|
||||
if(!$ctype->save()) {
|
||||
var_dump($ctype);
|
||||
die("Error saving PreordercampaignType");
|
||||
}
|
||||
|
||||
/*
|
||||
* Create PreordercampaignApiuser
|
||||
*/
|
||||
|
||||
$apiuser = PreordercampaignApiuserModel::create([
|
||||
"preordercampaign_id" => $campaign->id,
|
||||
"worker_id" => 75,
|
||||
'create_by' => 1,
|
||||
'edit_by' => 1
|
||||
]);
|
||||
if(!$apiuser->save()) {
|
||||
var_dump($apiuser);
|
||||
die("Error saving PreordercampaignType");
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user