JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrhasMany('App\Models\EmployeeDocument', 'employee_id', 'employee_id')->get(); } public function salary_type() { return $this->hasOne('App\Models\PayslipType', 'id', 'salary_type')->pluck('name')->first(); } public function account_type() { return $this->hasOne('App\Models\AccountList', 'id', 'account_type')->pluck('account_name')->first(); } public function get_net_salary() { $allowances = Allowance::where('employee_id', '=', $this->id)->get(); $total_allowance = 0; foreach ($allowances as $allowance) { if ($allowance->type == 'percentage') { $employee = Employee::find($allowance->employee_id); $total_allowance = $allowance->amount * $employee->salary / 100 + $total_allowance; } else { $total_allowance = $allowance->amount + $total_allowance; } } //commission $commissions = Commission::where('employee_id', '=', $this->id)->get(); $total_commission = 0; foreach ($commissions as $commission) { if ($commission->type == 'percentage') { $employee = Employee::find($commission->employee_id); $total_commission = $commission->amount * $employee->salary / 100 + $total_commission; } else { $total_commission = $commission->amount + $total_commission; } } //Loan $loans = Loan::where('employee_id', '=', $this->id)->get(); $total_loan = 0; foreach ($loans as $loan) { if ($loan->type == 'percentage') { $employee = Employee::find($loan->employee_id); $total_loan = $loan->amount * $employee->salary / 100 + $total_loan; } else { $total_loan = $loan->amount + $total_loan; } } //Saturation Deduction $saturation_deductions = SaturationDeduction::where('employee_id', '=', $this->id)->get(); $total_saturation_deduction = 0; foreach ($saturation_deductions as $saturation_deduction) { if ($saturation_deduction->type == 'percentage') { $employee = Employee::find($saturation_deduction->employee_id); $total_saturation_deduction = $saturation_deduction->amount * $employee->salary / 100 + $total_saturation_deduction; } else { $total_saturation_deduction = $saturation_deduction->amount + $total_saturation_deduction; } } //OtherPayment $other_payments = OtherPayment::where('employee_id', '=', $this->id)->get(); $total_other_payment = 0; foreach ($other_payments as $other_payment) { if ($other_payment->type == 'percentage') { $employee = Employee::find($other_payment->employee_id); $total_other_payment = $other_payment->amount * $employee->salary / 100 + $total_other_payment; } else { $total_other_payment = $other_payment->amount + $total_other_payment; } } //Overtime $over_times = Overtime::where('employee_id', '=', $this->id)->get(); $total_over_time = 0; foreach ($over_times as $over_time) { $total_work = $over_time->number_of_days * $over_time->hours; $amount = $total_work * $over_time->rate; $total_over_time = $amount + $total_over_time; } //Net Salary Calculate $advance_salary = $total_allowance + $total_commission - $total_loan - $total_saturation_deduction + $total_other_payment + $total_over_time; $employee = Employee::where('id', '=', $this->id)->first(); $net_salary = (!empty($employee->salary) ? $employee->salary : 0) + $advance_salary; return $net_salary; } public static function allowance($id) { //allowance $allowances = Allowance::where('employee_id', '=', $id)->get(); $total_allowance = 0; foreach ($allowances as $allowance) { $total_allowance = $allowance->amount + $total_allowance; } $allowance_json = json_encode($allowances); return $allowance_json; } public static function commission($id) { //commission $commissions = Commission::where('employee_id', '=', $id)->get(); $total_commission = 0; foreach ($commissions as $commission) { $total_commission = $commission->amount + $total_commission; } $commission_json = json_encode($commissions); return $commission_json; } public static function loan($id) { //Loan $loans = Loan::where('employee_id', '=', $id)->get(); $total_loan = 0; foreach ($loans as $loan) { $total_loan = $loan->amount + $total_loan; } $loan_json = json_encode($loans); return $loan_json; } public static function saturation_deduction($id) { //Saturation Deduction $saturation_deductions = SaturationDeduction::where('employee_id', '=', $id)->get(); $total_saturation_deduction = 0; foreach ($saturation_deductions as $saturation_deduction) { $total_saturation_deduction = $saturation_deduction->amount + $total_saturation_deduction; } $saturation_deduction_json = json_encode($saturation_deductions); return $saturation_deduction_json; } public static function other_payment($id) { //OtherPayment $other_payments = OtherPayment::where('employee_id', '=', $id)->get(); $total_other_payment = 0; foreach ($other_payments as $other_payment) { $total_other_payment = $other_payment->amount + $total_other_payment; } $other_payment_json = json_encode($other_payments); return $other_payment_json; } public static function overtime($id) { //Overtime $over_times = Overtime::where('employee_id', '=', $id)->get(); $total_over_time = 0; foreach ($over_times as $over_time) { $total_work = $over_time->number_of_days * $over_time->hours; $amount = $total_work * $over_time->rate; $total_over_time = $amount + $total_over_time; } $over_time_json = json_encode($over_times); return $over_time_json; } public static function employee_id() { $employee = Employee::latest()->first(); return !empty($employee) ? $employee->id + 1 : 1; } public function branch() { return $this->hasOne('App\Models\Branch', 'id', 'branch_id'); } public function phone() { return $this->hasOne('App\Models\Employee', 'id', 'phone'); } public function department() { return $this->hasOne('App\Models\Department', 'id', 'department_id'); } public function designation() { return $this->hasOne('App\Models\Designation', 'id', 'designation_id'); } public function salaryType() { return $this->hasOne('App\Models\PayslipType', 'id', 'salary_type'); } public function user() { return $this->hasOne('App\Models\User', 'id', 'user_id'); } public function paySlip() { return $this->hasOne('App\Models\PaySlip', 'id', 'employee_id'); } public function present_status($employee_id, $data) { return AttendanceEmployee::where('employee_id', $employee_id)->where('date', $data)->first(); } public static function employee_name($name) { $employee = Employee::where('id', $name)->first(); if (!empty($employee)) { return $employee->name; } } public static function login_user($name) { $user = User::where('id', $name)->first(); return $user->name; } public static function employee_salary($salary) { $employee = Employee::where("salary", $salary)->first(); if ($employee->salary == '0' || $employee->salary == '0.0') { return "-"; } else { return $employee->salary; } } }