save employeehours with uuid

This commit is contained in:
2022-02-01 15:57:17 +01:00
parent 32fb520739
commit a43450556d
7 changed files with 91 additions and 73 deletions
+6 -5
View File
@@ -41,19 +41,20 @@ class Employeehour extends BaseModel {
return $results;
}
public static function saveEmployeehour( $employeehourID, $data )
public static function saveEmployeehour( $data )
{
if ( $employeehourID == 0 )
$record = Employeehour::whereUuid( $data['uuid'])->first();
if ( ! $record )
{
$employeehour = Employeehour::create( $data );
$employeehourID = $employeehour->id;
}
else
{
Employeehour::whereId( $employeehourID )->update( $data );
Employeehour::whereUuid( $data['uuid'] )->update( $data );
$employeehourID = FALSE;
}
return $employeehourID;
}
}
}
+55 -53
View File
@@ -8,74 +8,76 @@
class Projecthour extends BaseModel {
protected $table = "projecthours";
protected $table = "projecthours";
public function projectemployee()
{
$this->belongsTo( 'Projectemployee' );
}
public function projectemployee()
{
$this->belongsTo( 'Projectemployee' );
}
public static function getUsedYears()
{
$years = Projecthour::selectRaw( "YEAR(hourdate) AS year" )
->distinct()
->orderByRaw( 'YEAR( hourdate )' )
->get();
public static function getUsedYears()
{
$years = Projecthour::selectRaw( "YEAR(hourdate) AS year" )
->distinct()
->orderByRaw( 'YEAR( hourdate )' )
->get();
return $years;
}
return $years;
}
public static function getMonthlyEmployeeHoursPerProject( $employeeID, $year )
{
$projectHours = ProjecthoursPerEmployeePerMonth::fire( $employeeID, $year );
public static function getMonthlyEmployeeHoursPerProject( $employeeID, $year )
{
$projectHours = ProjecthoursPerEmployeePerMonth::fire( $employeeID, $year );
return $projectHours;
}
return $projectHours;
}
public static function recapProjects()
{
$recaps = QRecapProjects::fire();
public static function recapProjects()
{
$recaps = QRecapProjects::fire();
return $recaps;
}
return $recaps;
}
public static function saveProjecthour( $projecthourID, $projecthour )
{
$projecthour = (array) $projecthour;
public static function saveProjecthour( $projecthour )
{
$projecthour = (array) $projecthour;
$record = Projecthour::whereUuid( $projecthour['uuid'] )->first();
if ( $projecthourID == 0 )
{
$projecthour = Projecthour::create( $projecthour );
$projecthourID = $projecthour['id'];
}
else
{
Projecthour::whereId( $projecthourID )->update( $projecthour );
}
if ( ! $record )
{
$projecthour = Projecthour::create( $projecthour );
$projecthourID = $projecthour['id'];
}
else
{
Projecthour::whereUuid( $projecthour['uuid'] )->update( $projecthour );
$projecthourID = FALSE;
}
return $projecthourID;
}
return $projecthourID;
}
public static function removeProjecthour( $projecthourID )
{
Projecthour::whereId( $projecthourID )->delete();
}
public static function removeProjecthour( $projecthourID )
{
Projecthour::whereId( $projecthourID )->delete();
}
public static function getTotalHoursPerProject( $projectID )
{
$totalProjecthours =
self::selectRaw( "CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
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();
->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;
}
return $totalProjecthours;
}
}
}
@@ -17,6 +17,7 @@ class EmployeehoursMonthly {
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
hourtype_id,
EMH.id,
EMH.uuid,
USR.id AS employee_id,
hours,
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,
@@ -35,6 +36,7 @@ class EmployeehoursMonthly {
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
(hourtype_id + 8) AS hourtype_id,
PRH.id,
PRH.uuid,
USR.id AS employee_id,
hours,
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,
@@ -58,6 +60,7 @@ class EmployeehoursMonthly {
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
(hourtype_id + 8) AS hourtype_id,
PRH.id,
PRH.uuid,
USR.id AS employee_id,
hours,
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,