add_action('rest_api_init', function () { register_rest_route('accountant/v1', '/add_row_sanad_copy', array( 'methods' => 'POST', 'callback' => 'actnt_copy_sanad_row', 'permission_callback' => '__return_true' )); }); function actnt_copy_sanad_row($request) { global $wpdb; $table = $wpdb->prefix . 'accountant_transactions'; $data = json_decode($request->get_body(), true); // التحقق من الحقول الأساسية if ( empty($data['sanad_type']) || empty($data['sanad_number']) || empty($data['sanad_date']) || empty($data['sanad_year']) || empty($data['copy_from_serial_number']) ) { return new WP_REST_Response([ 'success' => false, 'message' => 'Missing required fields.' ], 400); } $sanad_type = sanitize_text_field($data['sanad_type']); $sanad_number = sanitize_text_field($data['sanad_number']); $sanad_date = sanitize_text_field($data['sanad_date']); $sanad_year = sanitize_text_field($data['sanad_year']); $copy_serial = intval($data['copy_from_serial_number']); // البحث عن الصف المراد نسخه $original_row = $wpdb->get_row($wpdb->prepare(" SELECT * FROM $table WHERE sanad_type = %s AND sanad_number = %s AND sanad_date = %s AND serial_number = %d LIMIT 1 ", $sanad_type, $sanad_number, $sanad_date, $copy_serial), ARRAY_A); if (!$original_row) { return new WP_REST_Response([ 'success' => false, 'message' => 'Original row not found.' ], 404); } // إزالة الـ ID من الصف الأصلي لأنه مفتاح تلقائي unset($original_row['id']); // تعديل التاريخ والرقم ونوع السند (تأكيد فقط) $original_row['sanad_type'] = $sanad_type; $original_row['sanad_number'] = $sanad_number; $original_row['sanad_date'] = $sanad_date; $original_row['sanad_year'] = $sanad_year; // احتساب رقم serial الجديد $max_serial = $wpdb->get_var($wpdb->prepare(" SELECT MAX(serial_number) FROM $table WHERE sanad_type = %s AND sanad_number = %s AND sanad_date = %s ", $sanad_type, $sanad_number, $sanad_date)); $original_row['serial_number'] = intval($max_serial) + 1; // إضافة تاريخ التحميل الحالي $original_row['uploaded_at'] = current_time('mysql'); // تنفيذ الإدخال الجديد $result = $wpdb->insert($table, $original_row); if ($result === false) { return new WP_REST_Response([ 'success' => false, 'message' => 'Database insert failed.', 'error' => $wpdb->last_error ], 500); } return new WP_REST_Response([ 'success' => true, 'message' => "تم نسخ السطر رقم $copy_serial إلى سجل جديد بالسند.", 'new_serial_number' => $original_row['serial_number'] ], 200); } ستائر قماشية - مؤسسة العبقري الصغير
القائمة الرئيسية المعرض الرئيسي قسم العروض الاكثر مبيعا التطبيقات التقيمات شركائنا فريق العمل الفئات

ستائر قماشية

Ad Image
Communication Icon هل تحتاج للمساعدة؟؟

اختار الطريقة المناسبة للتواصل

Scroll to Top