@extends('layouts.app') @section('breadcrumb') @stop @section('css') @endsection @section('content')
@if(config('config.payroll_include_day_summary') && $user_salary->type != "fixed")
@include('payroll.user_attendance')
@endif @if(config('config.payroll_include_day_summary'))
@else
@endif

@if($payroll->status == 0) {{trans('messages.unverified')}} @elseif($payroll->status == 1) {{trans('messages.verified')}} @elseif($payroll->status == 2) {{trans('messages.cpf').' '.trans('messages.generated_status')}} @endif @if ($payroll->type == 0) {{trans('messages.payroll')}} - {{$user->name_with_designation_and_department}} @elseif ($payroll->type == 1) {{trans('messages.one_time').' '.trans('messages.payment')}} @elseif ($payroll->type == 2) {{trans('messages.daily').' '.trans('messages.payment')}} - {{$user->name_with_designation_and_department}} @endif

{{-- --}} {{-- --}} @if (Laratrust::isAbleTo('edit-payroll')) @if (Laratrust::isAbleTo('verify-payroll')) @if($payroll->status == 0) @elseif($payroll->status == 1 || $payroll->status == 2) @endif @endif @endif @if (Laratrust::isAbleTo('delete-payroll')) {!! delete_form(['payroll.destroy',$payroll->id], ['redirect'=>'/payroll']) !!} @endif
@if(env('COMPANY_ID') == 101) @else @endif @if($payroll->category != 'daily') @endif {{-- --}} {{-- @if(config('config.payroll_include_salary_summary')) --}} @if($user_salary->type != "fixed") @endif {{-- @endif --}} @if($user->Profile->nationality != "Foreigner") @endif @if ($user_salary->type == "monthly") @else @endif
{!! trans('messages.card').' '.trans('messages.id') !!} {!! $user->card_id ?? '' !!}{!! trans('messages.employee').' '.trans('messages.code') !!} {!! $user->Profile->employee_code !!}{!! trans('messages.date_of').' '.trans('messages.payment') !!} {!! showDate($payroll->date_of_payroll) !!}
{!! trans('messages.actual_work_from_date') !!} {!! $payroll->actual_work_from_date !!} {!! trans('messages.actual_work_to_date') !!} {!! $payroll->actual_work_to_date !!}
{!! trans('messages.name') !!} {!! $user->full_name !!} {!! trans('messages.contract').' '.trans('messages.type') !!} {!! ($user->userContract->last()) ? $user->userContract->last()->contractType->name : 'NO CONTRACT' !!}
{!! trans('messages.department') !!} {!! (isset($user->department_name)) ? $user->department_name : 'Nil'!!} {!! trans('messages.designation') !!} {!! (isset($user->designation_name)) ? $user->designation_name : 'Nil'!!}
{!! trans('messages.total').' '.trans('messages.work').' '.trans('messages.days').' '.trans('messages.this').' '.trans('messages.month') !!} {!! $days_to_work.' '.trans('messages.days') !!} {!! trans('messages.payroll').' '.trans('messages.type').' '.trans('messages.and').' '.trans('messages.work').' '.trans('messages.days') !!} {!! $user_salary->payroll_type.'hrs per day and '.$user_salary->payroll_workday.' '.trans('messages.work').' '.trans('messages.days') !!}
{!! trans('messages.ethnic_group') !!} {!! (!empty($user->Profile->ethnic_group)) ? $user->Profile->ethnic_group : 'Nil' !!} {!! trans('messages.age') !!}{!! getAge($user->Profile->date_of_birth) !!}{!! floor((Carbon::parse($user->Profile->date_of_birth)->diffInMonths($to_date)) / 12) !!}
{!! trans('messages.date').' '.trans('messages.joined') !!} {!! (isset($user->UserEmployment('desc')->first()->date_of_joining)) ? $user->UserEmployment('desc')->first()->date_of_joining : 'Nil' !!} {!! trans('messages.payment').' '.trans('messages.method') !!} {!! (isset($payroll->payment_method)) ? ucfirst($payroll->payment_method) : 'Nil' !!}
 
@foreach($earning_salary_heads->whereNotIn('slug',['rest_day_overtime_x20','public_holiday_overtime_x20'])->chunk(2) as $earning_salary_head) @foreach($earning_salary_head as $salary_head) @if($user_salary->type != 'daily' && $salary_head->slug != 'basic_pay_daily') @if(env('COMPANY_ID') == 79 && $salary_head->slug == 'overtime') @elseif(env('COMPANY_ID') == 79 && $salary_head->slug == 'public_holiday_allowance') @else @endif @if ($salary_head->slug == 'overtime') @elseif ($salary_head->slug == 'rest_day_work') @elseif ($salary_head->slug == 'public_holiday_allowance') @elseif ($salary_head->slug == 'leave_pay') @else {{-- --}} {{-- If the salary head has no amount, put it as 0 --}} @endif @elseif($user_salary->type == 'daily' && $salary_head->slug == 'basic_salary_daily') @endif @endforeach @endforeach
{!! trans('messages.user').' '.trans('messages.salary').' '.trans('messages.detail') !!}
{!! trans('messages.salary').' '.trans('messages.head') !!} {!! trans('messages.amount') !!} {!! trans('messages.salary').' '.trans('messages.head') !!} {!! trans('messages.amount') !!}
{!! trans('messages.overtime').' '.trans('messages.per_hour') !!}Public Holiday Extra Per Day{!! $salary_head->name !!}{!! currency($user_salary->overtimeHourlyRate,1,$user_salary->currency_id) !!}{!! currency($user_salary->restDayRate,1,$user_salary->currency_id) !!}{!! currency($user_salary->publicDayRate,1,$user_salary->currency_id) !!}{!! currency($user_salary->leaveDayRate,1,$user_salary->currency_id) !!}{!! currency($user_salary->UserSalaryDetail->where('slug',$salary_head->slug)->first()->amount,1,$user_salary->currency_id) !!}{!! currency(isset($user_salary->UserSalaryDetail->where('slug',$salary_head->slug)->first()->amount) ? $user_salary->UserSalaryDetail->where('slug',$salary_head->slug)->first()->amount : 0,1,$user_salary->currency_id) !!}{!! $salary_head->name !!} {!! currency(isset($user_salary->UserSalaryDetail->where('slug',$salary_head->slug)->first()->amount) ? $user_salary->UserSalaryDetail->where('slug',$salary_head->slug)->first()->amount : 0,1,$user_salary->currency_id) !!}
 
@foreach($earning_salary_heads as $earning_salary_head) @if (!in_array($earning_salary_head->slug,['rest_day_overtime_x20','public_holiday_overtime_x20']) && isset($payroll_details[$earning_salary_head->slug])) @if ($earning_salary_head->slug == 'basic_salary') {{-- @if(env('COMPANY_ID') != 172 && env('COMPANY_ID') != 101 && env('COMPANY_ID') != 205 && env('COMPANY_ID') != 123) @else --}} {{-- @endif --}} @elseif ($earning_salary_head->slug == 'basic_salary_fixed') @elseif ($earning_salary_head->slug == 'overtime') @if(env('COMPANY_ID') == 79) @if(Carbon::parse($payroll->actual_work_from_date) != Carbon::parse($payroll->actual_work_from_date)->firstOfMonth() || Carbon::parse($payroll->actual_work_to_date) != Carbon::parse($payroll->actual_work_to_date)->firstOfMonth()) @else @endif @else @endif {{-- @endif --}} @elseif ($earning_salary_head->slug == 'public_holiday_allowance') {{-- @if(env('COMPANY_ID') != 172 && env('COMPANY_ID') != 101 && env('COMPANY_ID') != 205 && env('COMPANY_ID') != 123) @else --}} {{-- @endif --}} @elseif ($earning_salary_head->slug == 'leave_pay') {{-- @foreach($leave_heads as $leave_head) @endforeach --}} @else @if(array_key_exists($earning_salary_head->slug, $payroll_details)) @if($payroll_details[$earning_salary_head->slug] >= 0) @else @endif @else @endif @endif @endif @if($earning_salary_head->slug != 'leave_pay') @endif @endforeach {{-- To show custom salary heads --}} @if ($custom_earning_heads != null) @foreach($custom_earning_heads as $custom_earning_head) @endforeach @endif
{!! trans('messages.earning').' '.trans('messages.salary') !!} {!! trans('messages.amount') !!}
{!! $earning_salary_head->name.' (Days: '.($attendance['P'] + $attendance['H'] + $attendance['HB']).')' !!} {!! $earning_salary_head->name.' (Days: '.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug],2) : 0).')' !!} @if(env('COMPANY_ID') != 77)
  • {!! 'Days Present (Days: '.((isset($attendance)) ? $attendance['P'] + $attendance['H'] : 0).')' !!}
  • @endif
  • {!! 'Leaves (Days: '.((isset($payroll_detail_quantities['leave_pay'])) ? round($payroll_detail_quantities['leave_pay'],2) : 0).')' !!} @foreach($leave_heads as $leave_head)

    {!! $leave_head->name.' (Days: '.round($leave_payroll_detail_quantities[$leave_head->name],2).')' !!}

    @endforeach
  • @if(env('COMPANY_ID') != 77)
  • {!! 'Public Holidays (Days: '.((isset($attendance)) ? $attendance['HB'] : 0).')' !!}
  • @endif
    {!! array_key_exists($earning_salary_head->slug, $payroll_details) ? currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $earning_salary_head->name !!}
  • {!! 'Leaves (Days: '.((isset($payroll_detail_quantities['leave_pay'])) ? round($payroll_detail_quantities['leave_pay'],2) : 0).')' !!} @foreach($leave_heads as $leave_head)

    {!! $leave_head->name.' (Days: '.round($leave_payroll_detail_quantities[$leave_head->name],2).')' !!}

    @endforeach
  • @if(env('COMPANY_ID') != 77)
  • {!! 'Public Holidays (Days: '.((isset($attendance)) ? $attendance['H'] + $attendance['HB'] : 0).')' !!}
  • @endif
    {!! array_key_exists($earning_salary_head->slug, $payroll_details) ? currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $earning_salary_head->name.' ('.$payroll->actual_work_from_date.' to '.$payroll->actual_work_to_date.') ('.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug],2) : 0).'hrs)' !!}{!! $earning_salary_head->name.' ('.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug],2) : 0).'hrs)' !!}{!! $earning_salary_head->name.' ('.currency($user_salary->hourlyRate,1,$payroll->currency_id).' x 1.5 x '.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug],2) : 0).'hrs)' !!}{!! array_key_exists($earning_salary_head->slug, $payroll_details) ? currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $earning_salary_head->name.' (Days: '.((env('COMPANY_ID') == 123) ? $attendance['H'] + $attendance['HB'] : $attendance['H']).')' !!}{!! $earning_salary_head->name.' (Days: '.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug],2) : 0).')' !!}{!! array_key_exists($earning_salary_head->slug, $payroll_details) ? currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $earning_salary_head->name.' (Days: '.((isset($payroll_detail_quantities[$earning_salary_head->slug])) ? round($payroll_detail_quantities[$earning_salary_head->slug]) : 0).')' !!} {!! array_key_exists($earning_salary_head->slug, $payroll_details) ? currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $leave_head->name.' (Days: '.round($leave_payroll_detail_quantities[$leave_head->name]).')' !!} {!! array_key_exists($leave_head->name, $leave_payroll_details) ? currency($leave_payroll_details[$leave_head->name],1,$payroll->currency_id) : 0 !!}
    {!! $earning_salary_head->name !!}{!! currency($payroll_details[$earning_salary_head->slug],1,$payroll->currency_id) !!}{!! '('.currency(($payroll_details[$earning_salary_head->slug] * (-1)),1,$payroll->currency_id).')' !!}0
    {!! trans('messages.custom').' '.trans('messages.earning').' '.trans('messages.head') !!}
    {!! $custom_earning_head->name !!} {!! array_key_exists($custom_earning_head->id, $earning_custom_payroll_details) ? currency($earning_custom_payroll_details[$custom_earning_head->id][$custom_earning_head->name],1,$payroll->currency_id) : 0 !!}
    @foreach($deduction_salary_heads as $deduction_salary_head) @if(isset($payroll_details[$deduction_salary_head->slug])) @if($deduction_salary_head->slug == 'shg_fund_donation' || $deduction_salary_head->slug == 'employee_cpf' || $deduction_salary_head->slug == 'mbmf') @if($user->Profile->nationality != "Foreigner") @if ($deduction_salary_head->slug == 'shg_fund_donation') @else @if($deduction_salary_head->slug != 'mbmf' || ($deduction_salary_head->slug == 'mbmf' && isset($payroll_details[$deduction_salary_head->slug]) && $payroll_details[$deduction_salary_head->slug] > 0)) @endif @endif @endif @else @if($deduction_salary_head->slug == 'advance_payment') @if(isset($advance_payments)) @foreach($advance_payments as $advance_payment) @endforeach @endif @else {{-- @if(env('COMPANY_ID') != 172 && env('COMPANY_ID') != 101 && env('COMPANY_ID') != 205 && env('COMPANY_ID') != 123) @else --}} {{-- @endif --}} @endif @endif @endif @endforeach {{-- To show custom salary heads --}} @if ($custom_deduction_heads != null) @foreach($custom_deduction_heads as $custom_deduction_head) @endforeach @endif
    {!! trans('messages.deduction').' '.trans('messages.salary') !!} {!! trans('messages.amount') !!}
    {!! $deduction_salary_head->name.' ('.$user->Profile->shg_fund.')' !!} {!! array_key_exists($deduction_salary_head->slug, $payroll_details) ? currency($payroll_details[$deduction_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $deduction_salary_head->name !!} {!! array_key_exists($deduction_salary_head->slug, $payroll_details) ? currency($payroll_details[$deduction_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! $deduction_salary_head->name !!} {!! array_key_exists($deduction_salary_head->slug, $payroll_details) ? currency($payroll_details[$deduction_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! trans('messages.advance').' '.trans('messages.payment').' ('.$advance_payment['date'].')' !!} {!! currency($advance_payment['amount'],1,$payroll->currency_id)!!}
    {!! ($deduction_salary_head->slug == 'incomplete_month_of_work' && env('COMPANY_ID') != 123) ? ((isset($attendance)) ? $deduction_salary_head->name.' (Days: '.$incomplete_days_amount.')' : $deduction_salary_head->name.' (Days: 0)') : $deduction_salary_head->name !!} {!! ($deduction_salary_head->slug == 'incomplete_month_of_work' && env('COMPANY_ID') != 123) ? ((isset($attendance)) ? $deduction_salary_head->name.' (Days: '.((isset($payroll_detail_quantities[$deduction_salary_head->slug])) ? round($payroll_detail_quantities[$deduction_salary_head->slug],2) : 0).')' : $deduction_salary_head->name.' (Days: 0)') : $deduction_salary_head->name !!} @if(($user_salary->type == 'fixed' || $user_salary->type == 'monthly') && isset($unpaid_leave_used_this_month) && $unpaid_leave_used_this_month > 0 && $deduction_salary_head->slug == 'incomplete_month_of_work')
  • {!! 'Unpaid Leaves (Days: '.round($unpaid_leave_used_this_month).')' !!}
  • {!! 'Others (Days: '.round((isset($payroll_detail_quantities[$deduction_salary_head->slug]) && $payroll_detail_quantities[$deduction_salary_head->slug] - $unpaid_leave_used_this_month > 0) ? $payroll_detail_quantities[$deduction_salary_head->slug] - $unpaid_leave_used_this_month : 0).')' !!}
  • @endif
    {!! array_key_exists($deduction_salary_head->slug, $payroll_details) ? currency($payroll_details[$deduction_salary_head->slug],1,$payroll->currency_id) : 0 !!}
    {!! trans('messages.custom').' '.trans('messages.deduction').' '.trans('messages.head') !!}
    {!! $custom_deduction_head->name !!} {!! array_key_exists($custom_deduction_head->id, $deduction_custom_payroll_details) ? currency($deduction_custom_payroll_details[$custom_deduction_head->id][$custom_deduction_head->name],1,$payroll->currency_id) : 0 !!}
    @if(env('COMPANY_ID') == 888 || env('COMPANY_ID') == 101 || $user->Profile->nationality == 'Foreigner') @else @endif
    {!! trans('messages.total').' '.trans('messages.earning') !!} {!! currency($total_earning,1,$payroll->currency_id) !!}{!! trans('messages.total').' '.trans('messages.earning').'
    ('.trans('messages.cpf').' '.trans('messages.payable').' '.trans('messages.amount').')' !!}
    {!! currency($total_earning,1,$payroll->currency_id).'
    ('.currency(($ordinary_cpf_amount + $additional_cpf_amount),1,$payroll->currency_id).')' !!}
    {!! trans('messages.total').' '.trans('messages.deduction') !!} {!! currency($total_deduction,1,$payroll->currency_id) !!}
     
    Employee CPF ({!! round($user->calculateCPF($ordinary_cpf_amount, $additional_cpf_amount, $payroll->currency_id, $payroll->to_date, (($payroll->type == 2 || $payroll->type == 3) ? true : false))['employee_cpf_percentage'], 2) !!}%) {!! currency((isset($payroll_details['employee_cpf']) ? $payroll_details['employee_cpf'] : 0),1,$payroll->currency_id) !!}
    Employer CPF ({!! round($user->calculateCPF($ordinary_cpf_amount, $additional_cpf_amount, $payroll->currency_id, $payroll->to_date)['employer_cpf_percentage'], 2) !!}%) {!! currency($user->calculateCPF($ordinary_cpf_amount, $additional_cpf_amount, $payroll->currency_id, $payroll->to_date)['employer_cpf'],1,$payroll->currency_id) !!}
    {!! trans('messages.gross').' '.trans('messages.salary') !!} {!! currency(($total_earning),1,$payroll->currency_id) !!}
    {!! trans('messages.net').' '.trans('messages.salary').'
    for Working Days ('.($attendance['P'] + $attendance['H'] + $attendance['HB'] + $attendance['L']).')' !!}
    {!! trans('messages.net').' '.trans('messages.salary') !!}{!! currency(($total_earning-$total_deduction),1,$payroll->currency_id)."
    (".ucwords(numberToWord(currency(($total_earning-$total_deduction),0,$payroll->currency_id))).")" !!}
     
    Remarks {{ $payroll->description }}
    @if(config('config.payroll_include_leave_summary') && !empty($user_leave_data))

    {{ trans('messages.leave') }} {{ trans('messages.summary').' ('.trans('messages.leave_up_to').' '.$to_date.')' }}

    @foreach($leave_types as $leave_type) @if(isset($user_leave_data[$leave_type->slug]['leave_assigned']) && $user_leave_data[$leave_type->slug]['leave_assigned'] != 0) {{-- @if($leave_type->slug != 'unpaid_leave' && env('COMPANY_ID') == 101 && env('COMPANY_ID') != 205 && env('COMPANY_ID') != 123) @else --}} {{-- @endif --}} @endif @endforeach @foreach($leave_types as $leave_type) @if(isset($user_leave_data[$leave_type->slug]['leave_assigned']) && $user_leave_data[$leave_type->slug]['leave_assigned'] != 0) {{-- @if($leave_type->slug != 'unpaid_leave' && env('COMPANY_ID') == 101 && env('COMPANY_ID') != 205 && env('COMPANY_ID') != 123) @else --}} {{-- @endif --}} @endif @endforeach
    {!!$leave_type->name!!}{!!$leave_type->name!!}
    {!!((isset($user_leave_data[$leave_type->slug]['leave_used'])) ? $user_leave_data[$leave_type->slug]['leave_used'] : '0').'/'. ((isset($user_leave_data[$leave_type->slug]['leave_assigned'])) ? $user_leave_data[$leave_type->slug]['leave_assigned'] : '0')!!}{!!((isset($user_leave_data[$leave_type->slug]['leave_used'])) ? $user_leave_data[$leave_type->slug]['leave_used'] : '0').'/'. ((isset($user_leave_data[$leave_type->slug]['leave_assigned'])) ? $user_leave_data[$leave_type->slug]['leave_assigned'] : '0')!!}
    @endif
    @stop