@extends('layouts.app')

@section('title', 'إنشاء مرتجع مشتريات من فاتورة')

@section('content')
<div class="container-fluid">
    <div class="row">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header">
                    <h3 class="card-title">إنشاء مرتجع مشتريات من فاتورة #{{ $purchaseInvoice->invoice_number }}</h3>
                    <div class="card-tools">
                        <a href="{{ route('inventory.purchase-invoices.show', $purchaseInvoice->id) }}" class="btn btn-default">
                            <i class="fas fa-arrow-right"></i> العودة للفاتورة
                        </a>
                    </div>
                </div>
                <form action="{{ route('inventory.purchase-returns.store') }}" method="POST" enctype="multipart/form-data">
                    @csrf
                    <div class="card-body">
                        @if(session('error'))
                            <div class="alert alert-danger">
                                {{ session('error') }}
                            </div>
                        @endif

                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group">
                                    <label for="supplier_id">المورد <span class="text-danger">*</span></label>
                                    <select name="supplier_id" id="supplier_id" class="form-control @error('supplier_id') is-invalid @enderror" required>
                                        <option value="">-- اختر المورد --</option>
                                        @foreach($suppliers as $supplier)
                                            <option value="{{ $supplier->id }}" {{ old('supplier_id', $purchaseInvoice->supplier_id) == $supplier->id ? 'selected' : '' }}>
                                                {{ $supplier->name }}
                                            </option>
                                        @endforeach
                                    </select>
                                    @error('supplier_id')
                                        <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group">
                                    <label for="warehouse_id">المستودع <span class="text-danger">*</span></label>
                                    <select name="warehouse_id" id="warehouse_id" class="form-control @error('warehouse_id') is-invalid @enderror" required>
                                        <option value="">-- اختر المستودع --</option>
                                        @foreach($warehouses as $warehouse)
                                            <option value="{{ $warehouse->id }}" {{ old('warehouse_id', $purchaseInvoice->warehouse_id) == $warehouse->id ? 'selected' : '' }}>
                                                {{ $warehouse->name }}
                                            </option>
                                        @endforeach
                                    </select>
                                    @error('warehouse_id')
                                        <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group">
                                    <label for="purchase_invoice_id">فاتورة المشتريات</label>
                                    <input type="text" class="form-control" value="{{ $purchaseInvoice->invoice_number }}" readonly>
                                    <input type="hidden" name="purchase_invoice_id" value="{{ $purchaseInvoice->id }}">
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group">
                                    <label for="return_date">تاريخ المرتجع <span class="text-danger">*</span></label>
                                    <input type="date" name="return_date" id="return_date" class="form-control @error('return_date') is-invalid @enderror" value="{{ old('return_date', date('Y-m-d')) }}" required>
                                    @error('return_date')
                                        <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                            <div class="col-md-8">
                                <div class="form-group">
                                    <label for="notes">ملاحظات</label>
                                    <textarea name="notes" id="notes" class="form-control @error('notes') is-invalid @enderror" rows="1">{{ old('notes', 'مرتجع من فاتورة رقم ' . $purchaseInvoice->invoice_number) }}</textarea>
                                    @error('notes')
                                        <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="attachment">مرفق</label>
                                    <input type="file" name="attachment" id="attachment" class="form-control @error('attachment') is-invalid @enderror">
                                    @error('attachment')
                                        <span class="invalid-feedback">{{ $message }}</span>
                                    @enderror
                                </div>
                            </div>
                        </div>

                        <hr>
                        <h4>عناصر المرتجع</h4>
                        <p class="text-muted">حدد الأصناف والكميات التي ترغب في إرجاعها من الفاتورة</p>

                        <div class="table-responsive">
                            <table class="table table-bordered" id="items-table">
                                <thead>
                                    <tr>
                                        <th>الصنف <span class="text-danger">*</span></th>
                                        <th>الكمية المشتراة</th>
                                        <th>الكمية المرتجعة <span class="text-danger">*</span></th>
                                        <th>سعر الوحدة <span class="text-danger">*</span></th>
                                        <th>نسبة الضريبة %</th>
                                        <th>مبلغ الخصم</th>
                                        <th>الإجمالي</th>
                                        <th>ملاحظات</th>
                                        <th>الإجراءات</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    @foreach($purchaseInvoice->items as $index => $item)
                                        <tr>
                                            <td>
                                                <input type="hidden" name="items[{{ $index }}][inventory_item_id]" value="{{ $item->inventory_item_id }}">
                                                <input type="hidden" name="items[{{ $index }}][purchase_invoice_item_id]" value="{{ $item->id }}">
                                                {{ $item->inventoryItem->name }} - {{ $item->inventoryItem->code }}
                                            </td>
                                            <td>
                                                <input type="text" class="form-control" value="{{ $item->quantity }}" readonly>
                                            </td>
                                            <td>
                                                <input type="number" name="items[{{ $index }}][quantity]" class="form-control item-quantity" min="0.01" step="0.01" max="{{ $item->quantity }}" value="0" required>
                                            </td>
                                            <td>
                                                <input type="number" name="items[{{ $index }}][unit_price]" class="form-control item-price" min="0" step="0.01" value="{{ $item->unit_price }}" required>
                                            </td>
                                            <td>
                                                <input type="number" name="items[{{ $index }}][tax_rate]" class="form-control item-tax" min="0" step="0.01" value="{{ $item->tax_rate }}">
                                            </td>
                                            <td>
                                                <input type="number" name="items[{{ $index }}][discount_amount]" class="form-control item-discount" min="0" step="0.01" value="{{ $item->discount_amount }}">
                                            </td>
                                            <td>
                                                <input type="text" class="form-control item-total" readonly>
                                            </td>
                                            <td>
                                                <input type="text" name="items[{{ $index }}][notes]" class="form-control" value="مرتجع من فاتورة {{ $purchaseInvoice->invoice_number }}">
                                            </td>
                                            <td>
                                                <button type="button" class="btn btn-danger btn-sm remove-item">
                                                    <i class="fas fa-trash"></i>
                                                </button>
                                            </td>
                                        </tr>
                                    @endforeach
                                </tbody>
                            </table>
                        </div>

                        <div class="row mt-4">
                            <div class="col-md-6 offset-md-6">
                                <table class="table table-bordered">
                                    <tr>
                                        <th>المجموع الفرعي</th>
                                        <td><span id="subtotal">0.00</span></td>
                                    </tr>
                                    <tr>
                                        <th>مجموع الضريبة</th>
                                        <td><span id="tax-total">0.00</span></td>
                                    </tr>
                                    <tr>
                                        <th>مجموع الخصم</th>
                                        <td><span id="discount-total">0.00</span></td>
                                    </tr>
                                    <tr>
                                        <th>الإجمالي النهائي</th>
                                        <td><span id="final-total">0.00</span></td>
                                    </tr>
                                </table>
                            </div>
                        </div>
                    </div>
                    <div class="card-footer">
                        <button type="submit" class="btn btn-primary">
                            <i class="fas fa-save"></i> حفظ
                        </button>
                        <a href="{{ route('inventory.purchase-invoices.show', $purchaseInvoice->id) }}" class="btn btn-default">
                            <i class="fas fa-times"></i> إلغاء
                        </a>
                    </div>
                </form>
            </div>
        </div>
    </div>
</div>
@endsection

@push('scripts')
<script>
    $(document).ready(function() {
        // تحديث الإجماليات عند تغيير أي قيمة
        function updateTotals() {
            let subtotal = 0;
            let taxTotal = 0;
            let discountTotal = 0;
            let finalTotal = 0;

            $('#items-table tbody tr').each(function() {
                const quantity = parseFloat($(this).find('.item-quantity').val()) || 0;
                const price = parseFloat($(this).find('.item-price').val()) || 0;
                const taxRate = parseFloat($(this).find('.item-tax').val()) || 0;
                const discount = parseFloat($(this).find('.item-discount').val()) || 0;

                const rowSubtotal = quantity * price;
                const rowTax = rowSubtotal * (taxRate / 100);
                const rowTotal = rowSubtotal + rowTax - discount;

                $(this).find('.item-total').val(rowTotal.toFixed(2));

                subtotal += rowSubtotal;
                taxTotal += rowTax;
                discountTotal += discount;
            });

            finalTotal = subtotal + taxTotal - discountTotal;

            $('#subtotal').text(subtotal.toFixed(2));
            $('#tax-total').text(taxTotal.toFixed(2));
            $('#discount-total').text(discountTotal.toFixed(2));
            $('#final-total').text(finalTotal.toFixed(2));
        }

        // تحديث الإجماليات عند تغيير أي قيمة
        $(document).on('change', '.item-quantity, .item-price, .item-tax, .item-discount', function() {
            updateTotals();
        });

        // حذف صنف
        $(document).on('click', '.remove-item', function() {
            $(this).closest('tr').find('.item-quantity').val(0);
            updateTotals();
        });

        // تحديث الإجماليات عند تحميل الصفحة
        updateTotals();
    });
</script>
@endpush