Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 19/01/2018
|
||||
* Time: 15:51
|
||||
*/
|
||||
|
||||
class Projecthour extends BaseModel {
|
||||
|
||||
protected $table = "projecthours";
|
||||
|
||||
public function projectemployee()
|
||||
{
|
||||
$this->belongsTo( 'Projectemployee' );
|
||||
}
|
||||
|
||||
public static function getUsedYears()
|
||||
{
|
||||
$years = Projecthour::selectRaw( "YEAR(hourdate) AS year" )
|
||||
->distinct()
|
||||
->orderByRaw( 'YEAR( hourdate )' )
|
||||
->get();
|
||||
|
||||
return $years;
|
||||
}
|
||||
|
||||
public static function getMonthlyEmployeeHoursPerProject( $employeeID, $year )
|
||||
{
|
||||
$projectHours = ProjecthoursPerEmployeePerMonth::fire( $employeeID, $year );
|
||||
|
||||
return $projectHours;
|
||||
}
|
||||
|
||||
public static function recapProjects()
|
||||
{
|
||||
$recaps = QRecapProjects::fire();
|
||||
|
||||
return $recaps;
|
||||
}
|
||||
|
||||
public static function saveProjecthour( $projecthour )
|
||||
{
|
||||
$projecthour = (array) $projecthour;
|
||||
$record = Projecthour::whereUuid( $projecthour['uuid'] )->first();
|
||||
|
||||
if ( ! $record )
|
||||
{
|
||||
$projecthour = Projecthour::create( $projecthour );
|
||||
$projecthourID = $projecthour['id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
Projecthour::whereUuid( $projecthour['uuid'] )->update( $projecthour );
|
||||
$projecthourID = FALSE;
|
||||
}
|
||||
|
||||
return $projecthourID;
|
||||
}
|
||||
|
||||
public static function removeProjecthour( $projecthourID )
|
||||
{
|
||||
Projecthour::whereId( $projecthourID )->delete();
|
||||
}
|
||||
|
||||
public static function getTotalHoursPerProject( $projectID )
|
||||
{
|
||||
$totalProjecthours =
|
||||
self::selectRaw( "CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
||||
SUM(IF(hourtype_id = 1, hours, 0)) AS declarable,
|
||||
SUM(IF(hourtype_id = 1, hours * tarif, 0)) AS revenues,
|
||||
SUM(IF(hourtype_id != 1, hours, 0)) AS nondeclarable" )
|
||||
->join( 'projectemployees AS PRE', 'PRE.id', '=', 'projecthours.projectemployee_id' )
|
||||
->join( 'users AS USR', 'USR.id', '=', 'PRE.user_id' )
|
||||
->groupBy( 'USR.id' )
|
||||
->where( 'PRE.project_id', '=', $projectID )
|
||||
->get();
|
||||
|
||||
return $totalProjecthours;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user