<?php
require_once('Spreadsheet/Excel/Reader.php');

class uimportuser
{
    var $userid;
    var $kundennummer;
    var $artikelnr;
    var $anrede;
    var $name;
    var $vorname;
    var $strasse;
    var $hausnummer;
    var $plz;
    var $ort;
    var $untersuchung;
    var $datum;
    var $neueintrag;
    var $massnahmegebucht;
    var $praemiegebucht;

    function __construct()
    {
        return $this;
    }

    function findmitglied() {
        $sql = "SELECT * FROM users
            WHERE name LIKE '" . $this->name . "'
            AND   vorname LIKE '" . $this->vorname . "'
            AND   ort LIKE '" . $this->ort . "'
            AND   plz LIKE '" . $this->plz . "';";
        $result = dbQuery($sql) or error("Cannot select '$sql'");
        $numresults = dbNumRows($result);
        if ($numresults > 1) {
            return 2;
        }

        if ($numresults < 1) {
            return 0;
        }
        $row = dbFetchRow($result);
        $versnummer = $row['versnummer'];
        $rechtskreis = $row['rechtskreis'];
        $user = new user($versnummer, 0 , 0, $rechtskreis);
        return $user;
    }

 
}

class uimport {
    var $filename;
    function __construct() {
    }
   function readfile($filename) {
        $uimportusers = array();
        $anredearten = array(1=>'Herr',2=>'Frau');
        /* Extract Sheet */
        $xls = new Spreadsheet_Excel_Reader();
        $xls->setOutputEncoding("CP12522");
        $xls->read($filename);
        $sheet=$xls->sheets[0];
        $cols=$sheet['numCols'];
        $rows=$sheet['numRows'];
        $celldata=$sheet['cells'];
        /* Read Celldata */
        for ($row = 1;  $row <= $rows;$row++) {
            $data = trim($celldata[$row][1]);
            if ($data == 'Kundennummer') {
                continue;
            }
            if ($data == '') {
                continue;
            }
            $kundennr = trim($celldata[$row][1]);
            $artikelid = trim($celldata[$row][2]);
            $anrede = $anredearten[trim($celldata[$row][3])];
            $vorname = trim($celldata[$row][4]);
            $name = trim($celldata[$row][5]);
            $adresszusatz = trim($celldata[$row][6]);
            $strasse = trim($celldata[$row][7]);
            $hausnummer = trim($celldata[$row][8]);
            $hausnummer_zusatz = trim($celldata[$row][9]);
            $land = trim($celldata[$row][10]);
            $plz = trim($celldata[$row][11]);
            $ort = trim($celldata[$row][12]);
            $massnahme = trim($celldata[$row][13]);
            $datum = trim($celldata[$row][14]);

            $uimportuser = new uimportuser();
            $uimportuser->vorname = $vorname;
            $uimportuser->name = $name;
            $uimportuser->plz = $plz;
            $uimportuser->ort = $ort;
            $user = $uimportuser->findmitglied();
            if ($user == 2) {
                print "Mehrere Treffer!\n";
            }
            if ($user == 0) {
                print "Kein Treffer!\n";
                print $uimportuser->vorname . ", " . $uimportuser->name . "\n";
            }
            if ($user != null) {
                $this->checkmassnahme($user->userId, $massnahme, $datum);
                array_push($uimportusers, $uimportuser);
                print "Treffer: " . $user->versnummer . ", " .
                    $user->vorname . ", ".
                    $user->name . ", ".
                    $user->geburtsdatum . ", ".
                    "\n";
            }
        }
    }


    function checkmassnahme($userId,$massnahme) {
        $prefix = 'Kindervorsorgeuntersuchung';
        print "Looking for Massnahme: $prefix $massnahme\n";
        $konto = new konto($userId);
        foreach ($konto->kontoBewegungen as $kontobewegung) {
            if ($kontobewegung->unterkategorie) {
                $unterkategorie = new unterkategorie();
                $unterkategorie = $unterkategorie->getUnterkategorieById($kontobewegung->unterkategorie);

                if ($unterkategorie->beschreibung == 
                        $prefix .  ' ' . strtoupper($massnahme)) {
                    print "Gebucht: " . $kontobewegung->datumerwerb . "\n";
                }
            }
        }
    }
}
