Ejemplo n.º 1
0
$startdate = date('Y') . '-01-01';
$enddate = date('Y') . '-12-31';
//Connect to the REST API
$api = new JoraniAPI('http://localhost/jorani/', 'testclient', 'testpass');
//Get the list of employees
$employees = $api->getEmployeesList();
//echo "Employees  = " . var_dump($employees) . PHP_EOL;
//Iterate on the employees list (datehired > $condition)
$last_year = new DateTime(date('Y-m-d', strtotime(date("Y-m-d", time()) . $condition)));
//TODO : get the label of Seniority Leave ?
foreach ($employees as $employee) {
    $datehired = new DateTime($employee->datehired);
    if ($datehired < $last_year) {
        echo "senior employee  = " . $employee->id . PHP_EOL;
        //Check if we already credited seniority entitled days for the current period
        $entitled_days = $api->getEntitledDaysEmployeeList($employee->id);
        echo "entitled days  = " . var_dump($entitled_days) . PHP_EOL;
        $found = FALSE;
        foreach ($entitled_days as $credit) {
            echo "Test 1  = " . ($credit->startdate == $startdate) . PHP_EOL;
            echo "Test 2  = " . ($credit->enddate == $enddate) . PHP_EOL;
            echo "Test 3  = " . ($credit->type == $leave_type) . PHP_EOL;
            //TODO :Return of API is a string for leave type and not a number !
            if ($credit->startdate == $startdate && $credit->enddate == $enddate && $credit->type == $leave_type) {
                echo "The employee already has seniority bonus." . PHP_EOL;
                $found = TRUE;
            }
        }
        if (!$found) {
            $description = "Inserted by Seniority Robot";
            $result = $api->addEntitledDaysEmployee($employee->id, $startdate, $enddate, $nb_of_days, $leave_type, $description);