104 lines
2.6 KiB
PHP
104 lines
2.6 KiB
PHP
<?php
|
|
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 31/01/2018
|
|
* Time: 20:08
|
|
*/
|
|
|
|
class EmployeeHoursController extends MY_Controller {
|
|
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
if ( AUTHENTICATED == FALSE ) die( 'NO ACCESS' );
|
|
|
|
$models = [];
|
|
$libraries = [];
|
|
|
|
$this->load->model( $models );
|
|
$this->load->library( $libraries );
|
|
}
|
|
|
|
public function getEmployeehours( $month, $year, $employeeID )
|
|
{
|
|
$sql = EmployeehoursMonthly::fire( $month, $year, $employeeID );
|
|
|
|
$query = $this->db->query( $sql );
|
|
|
|
$result = $query->result();
|
|
|
|
$this->json( $result );
|
|
}
|
|
|
|
public function getHourtypes()
|
|
{
|
|
$hourtypes = Hourtype::all();
|
|
|
|
$this->json( $hourtypes );
|
|
}
|
|
|
|
public function saveEmployeehour()
|
|
{
|
|
//TODO: validatie inbouwen
|
|
$data = $this->input->post();
|
|
|
|
$employeehourID = $data['id'];
|
|
$hourType = $data['hourType'];
|
|
$projectID = $data['project_id'];
|
|
unset( $data['id'] );
|
|
unset( $data['hourType'] );
|
|
unset( $data['project_id'] );
|
|
if ( $hourType == 'OFFERS' ) $data['offer_id'] = $projectID;
|
|
|
|
$data['hourdate'] = date2mysql( $data['hourdate'] );
|
|
|
|
if ( $hourType == 'PROJECTS' )
|
|
{
|
|
$projectemployee = Projectemployee::select( 'id' )
|
|
->whereUserId( $data['employee_id'] )
|
|
->whereprojectId( $projectID )
|
|
->first();
|
|
$data['projectemployee_id'] = $projectemployee->id;
|
|
unset( $data['employee_id'] );
|
|
|
|
$data['hourtype_id'] = $data['hourtype_id'] - 8;
|
|
|
|
$employeehourID = Projecthour::saveProjecthour( $data );
|
|
}
|
|
elseif ( $hourType == 'OFFERS' )
|
|
{
|
|
$data['projectemployee_id'] = $data['employee_id'];
|
|
unset( $data['employee_id'] );
|
|
$data['hourtype_id'] = $data['hourtype_id'] - 8;
|
|
|
|
$employeehourID = Projecthour::saveProjecthour( $data );
|
|
}
|
|
else
|
|
{
|
|
$employeehourID = Employeehour::saveEmployeehour( $data );
|
|
}
|
|
|
|
$this->json( ['employeehourID' => $employeehourID] );
|
|
}
|
|
|
|
public function removeEmployeehour( $employeehourID, $hourType )
|
|
{
|
|
//TODO:check op delete
|
|
if ( $hourType == 'OVERHEAD' )
|
|
{
|
|
Employeehour::whereId( $employeehourID )->delete();
|
|
}
|
|
else
|
|
{
|
|
Projecthour::whereId( $employeehourID )->delete();
|
|
}
|
|
|
|
|
|
$this->json( ['result' => TRUE] );
|
|
}
|
|
|
|
}
|