#!/usr/bin/php id); define("INTERNAL_USER_USERNAME", $me->username); die("country auf country_id umbauen!"); $folder = __DIR__."/import/"; $csvname = "kunden_ohne_fibunr.csv"; $filename = $folder.$csvname; $name_to_id = [ "Autohaus Lang GmbH" => 1493, "Camyno GmbH" => 6925, "Dr. Smetan Martin" => 715, "EDGBL Ltd." => 6645, "List Sascha" => 5467, "Technopark Raaba Holding GmbH" => 4755 ]; $db = FronkDB::singleton(); $log = mfLoghandler::singleton(); $input = fopen($filename, "r"); $header_line = ""; $l = 0; $c = 0; while($csv = fgetcsv($input, 0, ";")) { $l++; if($l == 1) { $header_line = $csv; continue; } if(!trim($csv[3])) { continue; } //var_dump($csv);exit; $customer_number = trim($csv[0]); $supplier_number = trim($csv[2]); $company = trim($csv[3]); $street = trim($csv[4]); $zip = trim($csv[5]); $city = trim($csv[6]); $country = trim($csv[7]); if(!$company) continue; $address = false; if(!$customer_number) $customer_number = null; if(array_key_exists($company, $name_to_id)) { $address = new Address($name_to_id[$company]); } if(!$address) { if($customer_number) { $address = AddressModel::getFirst(["customer_number" => $customer_number]); if(!$address) { echo "customer number not found $company - $customer_number: to create\n"; $address = AddressModel::create([ 'customer_number' => $customer_number, 'company' => $company, 'street' => $street, 'zip' => $zip, 'city' => $city, 'country' => $country, 'firstname' => '', 'lastname' => '', 'phone' => '', 'fax' => '', 'mobile' => '', 'email' => '', 'note' => '', 'create_by' => $me->id, 'edit_by' => $me->id ]); if(!$address->save()) { die("Cannot save $company $fibu_supplier_number\n"); } } } else { $address = AddressModel::getFirst([ "company" => $company, "street" => $street, "zip" => $zip ]); if(!$address) { echo "Adresse nicht gefunden $company, $street, $zip\n"; } } } if($address && !$address->customer_number) { $address->customer_number = $customer_number; } if(!$address || ($address->customer_number && $customer_number && $address->customer_number != $customer_number)) { echo "creating new ($company, $customer_number)\n"; $address = AddressModel::create([ 'customer_number' => $customer_number, 'company' => $company, 'street' => $street, 'zip' => $zip, 'city' => $city, 'country' => $country, 'firstname' => '', 'lastname' => '', 'phone' => '', 'fax' => '', 'mobile' => '', 'email' => '', 'note' => '', 'create_by' => $me->id, 'edit_by' => $me->id ]); if(!$address->save()) { die("Cannot save $company $fibu_supplier_number\n"); } } $address->save(); if(!$address->customer_number) { $address->getNewCustomerNumber(); //echo "==================\nbefore customerNum save:\n"; //var_dump($address); $address->save(); //echo "==================\nafter customerNum save:\n"; //var_dump($address);exit; } $csv_out[] = $address->fibu_account_number.";".implode(";", $csv); } $out = "fibu_account_number;".implode(";",$header_line)."\n"; $out .= implode("\n",$csv_out); echo $out."\n";