@extends('layouts.master')
@section('title', 'Stock Valuation Report')
@section('content')

<div class="container-fluid py-3">
    <div class="d-flex justify-content-end mb-3">
        <a href="{{ route('home') }}" class="btn-back">
            <i class="fas fa-arrow-left me-2"></i> Back to Dashboard
        </a>
    </div>

    <div class="card shadow-sm">
        <div class="card-header bg-primary text-white py-3">
            <h5 class="mb-0"><i class="fas fa-calculator me-2"></i> Stock Valuation Report</h5>
        </div>
        
        <div class="card-body">
            @if(session('success'))
                <div class="alert alert-success">{{ session('success') }}</div>
            @endif
            
            @if($errors->any())
                <div class="alert alert-danger">
                    <ul class="mb-0">
                        @foreach($errors->all() as $error)
                            <li>{{ $error }}</li>
                        @endforeach
                    </ul>
                </div>
            @endif
            
            <form action="{{ route('stockValuation.generate') }}" method="POST" id="valuationForm">
                @csrf
                <div class="row mb-3">
                    <div class="col-md-3">
                        <label class="form-label"><strong>Item From</strong></label>
                        <select class="form-control select2" name="item_from" id="item_from">
                            <option value="" selected>All Items</option>
                            @foreach($items as $item)
                                <option value="{{ $item->code }}" {{ (isset($itemFrom) && $itemFrom == $item->code) ? 'selected' : '' }}>
                                    {{ $item->code }} - {{ $item->description1 }}
                                </option>
                            @endforeach
                        </select>
                    </div>
                    <div class="col-md-3">
                        <label class="form-label"><strong>Item To</strong></label>
                        <select class="form-control select2" name="item_to" id="item_to">
                            <option value="" selected>All Items</option>
                            @foreach($items as $item)
                                <option value="{{ $item->code }}" {{ (isset($itemTo) && $itemTo == $item->code) ? 'selected' : '' }}>
                                    {{ $item->code }} - {{ $item->description1 }}
                                </option>
                            @endforeach
                        </select>
                    </div>
                    <div class="col-md-2">
                        <label class="form-label"><strong>Date From</strong></label>
                        <input type="date" class="form-control" name="date_from" id="date_from" value="{{ isset($dateFrom) ? $dateFrom : $currentDate }}" required>
                    </div>
                    <div class="col-md-2">
                        <label class="form-label"><strong>Date To</strong></label>
                        <input type="date" class="form-control" name="date_to" id="date_to" value="{{ isset($dateTo) ? $dateTo : $currentDate }}" required>
                    </div>
                    <div class="col-md-2">
                        <label class="form-label"><strong>Group</strong></label>
                        <select class="form-control select2" name="group_id" id="group_id">
                            <option value="" selected>All Groups</option>
                            @foreach($categories as $category)
                                <option value="{{ $category->id }}" {{ (isset($groupId) && $groupId == $category->id) ? 'selected' : '' }}>
                                    {{ $category->name }}
                                </option>
                            @endforeach
                        </select>
                    </div>
                    <div class="col-md-2">
                        <label class="form-label"><strong>Warehouse</strong></label>
                        <select class="form-control select2" name="warehouse_id" id="warehouse_id">
                            <option value="" selected>All Warehouses</option>
                            @foreach($warehouses as $warehouse)
                                <option value="{{ $warehouse->id }}" {{ (isset($warehouseId) && $warehouseId == $warehouse->id) ? 'selected' : '' }}>
                                    {{ $warehouse->description }}
                                </option>
                            @endforeach
                        </select>
                    </div>
                </div>
                
                <div class="d-flex justify-content-end">
                    <button type="submit" class="btn btn-primary me-2">Generate Report</button>
                    <button type="button" class="btn btn-secondary" onclick="resetForm()">Refresh</button>
                </div>
            </form>
        </div>
    </div>
    
    @if(isset($stockData) && count($stockData) > 0)
        <!-- PDF Download Button -->
        <div class="d-flex justify-content-end mt-4">
            <form action="{{ route('stockValuation.downloadPdf') }}" method="POST" class="d-inline">
                @csrf
                <input type="hidden" name="item_from" value="{{ $itemFrom }}">
                <input type="hidden" name="item_to" value="{{ $itemTo }}">
                <input type="hidden" name="date_from" value="{{ $dateFrom }}">
                <input type="hidden" name="date_to" value="{{ $dateTo }}">
                <input type="hidden" name="group_id" value="{{ $groupId }}">
                <input type="hidden" name="warehouse_id" value="{{ $warehouseId }}">
                <button type="submit" class="btn btn-process-all btn-sm">
                    <i class="fas fa-download me-1"></i> DOWNLOAD PDF
                </button>
            </form>
        </div>
        
        <!-- Display Stock Valuation Data -->
        <div class="card shadow-sm mt-4">
            <div class="card-body">
                <div class="table-responsive">
                    <table class="table table-bordered table-hover">
                        <thead class="table-light">
                            <tr>
                                <th>Item Code</th>
                                <th>Item Description</th>
                                <th>Warehouse</th>
                                <th>Group</th>
                                <th>Unit Cost</th>
                                <th>Qty on Hand</th>
                                <th>Total Value</th>
                            </tr>
                        </thead>
                        <tbody>
                            @foreach($stockData as $data)
                                <tr>
                                    <td>{{ $data['item']->code }}</td>
                                    <td>{{ $data['item']->description1 }}</td>
                                    <td>{{ $data['warehouse']->description ?? 'N/A' }}</td>
                                    <td>{{ $data['category']->name ?? 'N/A' }}</td>
                                    <td class="text-right">{{ number_format($data['unit_cost'], 2) }}</td>
                                    <td class="text-right">{{ number_format($data['available_quantity'], 2) }}</td>
                                    <td class="text-right">{{ number_format($data['total_value'], 2) }}</td>
                                </tr>
                            @endforeach
                            @if(isset($grandTotalValue))
                                <tr class="table-active">
                                    <td colspan="6" class="text-end fw-bold">Grand Total:</td>
                                    <td class="text-right fw-bold">{{ number_format($grandTotalValue, 2) }}</td>
                                </tr>
                            @endif
                        </tbody>
                    </table>
                </div>
            </div>
        </div>
        
        <div class="mt-4 text-center">
            <p class="text-muted">Copyright © Melsoft (Private) Limited</p>
        </div>
        
    @elseif(isset($stockData) && count($stockData) == 0)
        <div class="card shadow-sm mt-4">
            <div class="card-body">
                <div class="alert alert-info mt-3">
                    No inventory transactions found for the selected criteria.
                </div>
            </div>
        </div>
    @endif
</div>

@endsection

@section('styles')
<style>
.btn-back {
    text-decoration: none;
    color: #1AB9D9;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    padding: 5px 15px;
    border-radius: 4px;
    transition: all 0.3s;
}
.btn-back:hover {
    background-color: rgba(26, 185, 217, 0.1);
    text-decoration: none;
}
.card {
    border-radius: 8px;
    overflow: hidden;
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.1);
}
.card-header {
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding: 12px 20px;
}
.table th {
    background-color: #f8f9fa;
}
.table-responsive {
    overflow-x: auto;
}
.table-active {
    background-color: rgba(0,0,0,.05) !important;
}
.btn-process-all {
    background-color: #ffffff !important;
    color: #1AB9D9 !important;
    border: 1px solid rgba(26,185,217,0.35) !important;
    font-weight: 600 !important;
    padding: 7px 14px !important;
    box-shadow: none !important;
    line-height: 1 !important;
}
.btn-process-all:hover {
    background-color: #f5fbfc !important;
    color: #1498b0 !important;
    border-color: rgba(20,152,176,0.45) !important;
}
.text-right {
    text-align: right;
}

@media print {
    .btn-back, .card-header .btn, form {
        display: none !important;
    }
    .card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
    .table-responsive {
        overflow-x: visible;
    }
}
</style>
@endsection

@section('scripts')
<script>
    // Initialize Select2 for dropdowns
    $(document).ready(function() {
        $('.select2').select2({
            placeholder: "Select Option",
            allowClear: true
        });
        
        // Set today's date as default if not already set
        var today = new Date().toISOString().split('T')[0];
        if (!$('#date_from').val()) {
            $('#date_from').val(today);
        }
        if (!$('#date_to').val()) {
            $('#date_to').val(today);
        }
    });

    function resetForm() {
        // Reset the select2 dropdowns
        $('#item_from').val(null).trigger('change');
        $('#item_to').val(null).trigger('change');
        $('#group_id').val(null).trigger('change');
        $('#warehouse_id').val(null).trigger('change');
        
        // Set the date inputs to today
        var today = new Date().toISOString().split('T')[0];
        $('#date_from').val(today);
        $('#date_to').val(today);
    }
</script>
@endsection