/** * Apply policy in existing employee * * @since 0.1 * * @param integer $policy_id * @param array $args * * @return void */ function erp_hr_apply_policy_existance_employee($policy_id, $args) { if ($args['instant_apply'] !== true) { return; } if ($args['activate'] == 2) { erp_hr_apply_policy_schedule(); } if ($args['activate'] == 1) { $active_employes = \WeDevs\ERP\HRM\Models\Employee::select('user_id')->where('status', 'active')->get()->toArray(); foreach ($active_employes as $key => $employee) { erp_hr_apply_new_employee_policy(intval($employee['user_id'])); } } }
/** * Get next seven days birthday * * @since 0.1 * * @return object [user_id, date_of_birth] */ function erp_hr_get_next_seven_days_birthday() { $db = new \WeDevs\ORM\Eloquent\Database(); return erp_array_to_object(\WeDevs\ERP\HRM\Models\Employee::select(array('user_id', 'date_of_birth'))->where($db->raw("DATE_FORMAT( `date_of_birth`, '%m %d' )"), '>', \Carbon\Carbon::today()->format('m d'))->where($db->raw("DATE_FORMAT( `date_of_birth`, '%m %d' )"), '<=', \Carbon\Carbon::tomorrow()->addWeek()->format('m d'))->get()->toArray()); }
/** * Employee Status Update * * @since 0.1 * * @return void */ public function handle_employee_status_update() { if (!isset($_POST['employee_update_status'])) { return; } if (!wp_verify_nonce($_POST['_wpnonce'], 'wp-erp-hr-employee-update-nonce')) { return; } \WeDevs\ERP\HRM\Models\Employee::where('user_id', '=', $_POST['user_id'])->update(['status' => $_POST['employee_status']]); wp_redirect($_POST['_wp_http_referer']); exit; }
/** * Reactive terminate employees * * @since 0.1 * * @return json */ public function employee_termination_reactive() { $this->verify_nonce('wp-erp-hr-nonce'); $id = isset($_POST['id']) ? intval($_POST['id']) : 0; if (!$id) { $this->send_error(__('Something wrong', 'wp-erp')); } \WeDevs\ERP\HRM\Models\Employee::where('user_id', $id)->update(['status' => 'active']); delete_user_meta($id, '_erp_hr_termination'); $this->send_success(); }
/** * Get number of employee belongs to this department * * @return int */ public function num_of_employees() { return \WeDevs\ERP\HRM\Models\Employee::where(array('status' => 'active', 'designation' => $this->id))->count(); }