ibnu
1 year ago
7 changed files with 188 additions and 98 deletions
@ -1,61 +1,63 @@
|
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
use App\Models\Activity; |
||||
|
||||
class UserToActivity extends Model |
||||
{ |
||||
protected $table = 'assign_hr_to_activity'; |
||||
|
||||
const CREATED_AT = 'created_at'; |
||||
const UPDATED_AT = 'updated_at'; |
||||
|
||||
protected $fillable = [ |
||||
'user_id', |
||||
'proyek_id', |
||||
'version_gantt_id', |
||||
'role_proyek_id', |
||||
'activity_id', |
||||
'created_at', |
||||
'created_by', |
||||
'updated_at', |
||||
'updated_by' |
||||
]; |
||||
|
||||
public static function boot() { |
||||
parent::boot(); |
||||
|
||||
static::created(function($data) { |
||||
$activity = Activity::find($data->activity_id); |
||||
$getWorkingHours = UserToProyek::where('user_id', $data->user_id)->where('proyek_id', $activity->proyek_id)->first(); |
||||
|
||||
$salary = ($getWorkingHours->standart_rate * $activity->duration) * ($getWorkingHours->max_used / 100); |
||||
|
||||
if($getWorkingHours->uom_standart_rate == "Hour") |
||||
$salary = ($getWorkingHours->standart_rate * 8) * $activity->duration * ($getWorkingHours->max_used / 100); |
||||
|
||||
$activity->rencana_biaya += $salary; |
||||
$activity->save(); |
||||
}); |
||||
|
||||
static::deleted(function($data) { |
||||
$activity = Activity::find($data->activity_id); |
||||
|
||||
$getWorkingHours = UserToProyek::where('user_id', $data->user_id)->where('proyek_id', $activity->proyek_id)->first(); |
||||
$salary = ($getWorkingHours->standart_rate * $activity->duration) * ($getWorkingHours->max_used / 100); |
||||
if($getWorkingHours->uom_standart_rate == "Hour"){ |
||||
$salary = ($getWorkingHours->standart_rate * 8) * $activity->duration * ($getWorkingHours->max_used / 100); |
||||
} |
||||
|
||||
$activity->rencana_biaya -= $salary; |
||||
if ($activity->rencana_biaya < 0) { |
||||
$activity->rencana_biaya = 0; |
||||
} |
||||
$activity->save(); |
||||
}); |
||||
|
||||
} |
||||
|
||||
} |
||||
<?php |
||||
|
||||
namespace App\Models; |
||||
|
||||
use Illuminate\Database\Eloquent\Model; |
||||
use App\Models\Activity; |
||||
|
||||
class UserToActivity extends Model |
||||
{ |
||||
protected $table = 'assign_hr_to_activity'; |
||||
|
||||
const CREATED_AT = 'created_at'; |
||||
const UPDATED_AT = 'updated_at'; |
||||
|
||||
protected $fillable = [ |
||||
'user_id', |
||||
'proyek_id', |
||||
'version_gantt_id', |
||||
'role_proyek_id', |
||||
'activity_id', |
||||
'start_date', |
||||
'end_date', |
||||
'created_at', |
||||
'created_by', |
||||
'updated_at', |
||||
'updated_by' |
||||
]; |
||||
|
||||
public static function boot() { |
||||
parent::boot(); |
||||
|
||||
static::created(function($data) { |
||||
$activity = Activity::find($data->activity_id); |
||||
$getWorkingHours = UserToProyek::where('user_id', $data->user_id)->where('proyek_id', $activity->proyek_id)->first(); |
||||
|
||||
$salary = ($getWorkingHours->standart_rate * $activity->duration) * ($getWorkingHours->max_used / 100); |
||||
|
||||
if($getWorkingHours->uom_standart_rate == "Hour") |
||||
$salary = ($getWorkingHours->standart_rate * 8) * $activity->duration * ($getWorkingHours->max_used / 100); |
||||
|
||||
$activity->rencana_biaya += $salary; |
||||
$activity->save(); |
||||
}); |
||||
|
||||
static::deleted(function($data) { |
||||
$activity = Activity::find($data->activity_id); |
||||
|
||||
$getWorkingHours = UserToProyek::where('user_id', $data->user_id)->where('proyek_id', $activity->proyek_id)->first(); |
||||
$salary = ($getWorkingHours->standart_rate * $activity->duration) * ($getWorkingHours->max_used / 100); |
||||
if($getWorkingHours->uom_standart_rate == "Hour"){ |
||||
$salary = ($getWorkingHours->standart_rate * 8) * $activity->duration * ($getWorkingHours->max_used / 100); |
||||
} |
||||
|
||||
$activity->rencana_biaya -= $salary; |
||||
if ($activity->rencana_biaya < 0) { |
||||
$activity->rencana_biaya = 0; |
||||
} |
||||
$activity->save(); |
||||
}); |
||||
|
||||
} |
||||
|
||||
} |
||||
|
Loading…
Reference in new issue