// صفحه مدیریت حقوق هر ماه add_action('admin_menu', function () { add_submenu_page('gf-accounting', '📅 حقوق ماهانه', '📅 حقوق ماهانه', 'manage_options', 'gf-monthly-payroll', 'gf_monthly_payroll_page'); }); function gf_monthly_payroll_page() { global $wpdb; $user_tbl = $wpdb->prefix . 'users'; $profile_tbl = $wpdb->prefix . 'gf_employee_profiles'; $edu_tbl = $wpdb->prefix . 'gf_education_levels'; $pay_tbl = $wpdb->prefix . 'gf_payrolls'; $year = $_POST['year'] ?? date('Y'); $month = $_POST['month'] ?? date('n'); // مدیریت ارسال if (isset($_POST['calculate_payroll']) && isset($_POST['user_id'])) { $uid = intval($_POST['user_id']); $extra_hours = floatval($_POST['extra_hours']); $quality_percent = floatval($_POST['quality_percent']); $student_bonus = floatval($_POST['student_bonus']); $manager_percent = floatval($_POST['manager_percent']); $work_hours = floatval($_POST['work_hours']); $p = $wpdb->get_row("SELECT * FROM $profile_tbl WHERE user_id = $uid"); if (!$p) { echo '

⚠️ پروفایل یافت نشد.

'; return; } $edu = $wpdb->get_row("SELECT * FROM $edu_tbl WHERE id = " . intval($p->education_level_id)); $edu_percent = $edu ? floatval($edu->percentage) : 0; $exp_percent = floatval($wpdb->get_var("SELECT percent FROM {$wpdb->prefix}gf_experience_levels WHERE years = " . intval($p->experience_years))) ?: 0; $base = floatval($p->base_salary); $education_bonus = $base * $edu_percent / 100; $experience_bonus = $base * $exp_percent / 100; $base_pay = $base + $education_bonus + $experience_bonus; $hourly = $base_pay / ($p->assigned_hours ?: 160); $quality_bonus = $base * $quality_percent / 100; $extra_bonus = $extra_hours * $hourly; $manager_bonus = $base * $manager_percent / 100; $work_pay = $hourly * $work_hours; $total = $work_pay + $student_bonus + $quality_bonus + $extra_bonus + $manager_bonus; // ذخیره $wpdb->insert($pay_tbl, [ 'user_id' => $uid, 'year' => $year, 'month' => $month, 'base_salary' => $base, 'education_bonus' => $education_bonus, 'experience_bonus' => $experience_bonus, 'base_pay' => $base_pay, 'hourly_wage' => $hourly, 'work_hours' => $work_hours, 'student_bonus' => $student_bonus, 'quality_percent' => $quality_percent, 'quality_bonus' => $quality_bonus, 'extra_hours' => $extra_hours, 'extra_bonus' => $extra_bonus, 'manager_percent' => $manager_percent, 'manager_bonus' => $manager_bonus, 'total_pay' => $total, ]); echo '

✅ حقوق ماهانه ثبت شد.

'; } $users = get_users(['role__not_in' => ['Administrator']]); echo '

📅 محاسبه حقوق ماهانه

'; echo '
'; echo ""; echo ""; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo '
سال:
ماه:
کارمند:
ساعات کار واقعی:
تعداد دانش‌آموز مازاد (تومان):
درصد کیفیت و کارایی:
اضافه‌کار کمی (ساعت):
درصد رضایت مدیر:

'; echo '
'; }