<?php
session_start();

require("clases/Gasto.class.php");
require("clases/Desembolso.class.php");
require("clases/TipoGasto.class.php");
require("clases/ComprobanteTipo.class.php");
require("clases/Beneficiario.class.php");
require("clases/Proyecto.class.php");

$objG = new Gasto();
$objD = new Desembolso();
$objTG = new TipoGasto();
$objTC = new ComprobanteTipo();
$objB = new Beneficiario();
$objp = new Proyecto();

$accion = "R";
$titulo = "Registrar Gasto";

// Obtener id de desembolso desde GET
$iddesembolso = isset($_GET['iddesembolso']) ? intval($_GET['iddesembolso']) : 0;

// Obtener datos del desembolso
$desembolso = null;
if($iddesembolso>0){
 if($objD->BuscarPorCodigo($iddesembolso)){
   $fecha = $objD->getFecha();
   $monto = $objD->getMonto();
   $obs = $objD->getObservaciones();
   if($objp->BuscarPorCodigo($objD->getProyectoId()))
   {
      $proyecto = $objp->getNombre();
	  $costo_total = $objp->getCostoTotal();
   }
   if($objB->BuscarPorCodigo($objD->getBeneficiarioId()))
   {
      $beneficiario = $objB->getNombre();
   }   
 }
  /*  $listaD = $objD->Listar("");
    if($listaD != null){
        foreach($listaD as $d){
            if($d['id'] == $iddesembolso){
                $desembolso = $d;
                break;
            }
        }
    }*/
}

// Detectar si viene id de gasto para editar
$idgasto = isset($_GET['id']) ? intval($_GET['id']) : 0;

if ($idgasto > 0) {
    if ($objG->BuscarPorCodigo($idgasto)) {
        // Cambiar a modo modificar
        $accion = "M";
        $titulo = "Modificar Gasto";
        // Cargar datos del gasto
        $idtipogasto = $objG->getIdtipogasto();
        $fecha = $objG->getFecha();
        $proveedor = $objG->getProveedor();
        $idtipodoc = $objG->getIdtipodoc();
        
        $num_doc = $objG->getNumDoc();
        $concepto = $objG->getConcepto();
        $monto = $objG->getMonto();

        // Cargar id del desembolso asociado al gasto
        $iddesembolso = $objG->getIddesembolso();
    }
}


// Listar gastos del desembolso
$listaG = $objG->ListarPorDesembolso($iddesembolso); // Necesitas implementar este método en Gasto.class.php
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Mantenimiento de Gastos</title>
	
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <style>
        body { background: #f2f2f2; }
        .panel { border-radius: 10px; }
        .panel-heading { font-size: 18px; font-weight: bold; }
        .table th { background: #000; color: #fff; }
        .btn { border-radius: 20px; }
    </style>
	
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-12 text-center">
            <h2 style="margin-top:20px;">Gesti&oacute;n de Gastos</h2>
            <hr>
        </div>
    </div>

    <?php if($iddesembolso): ?>
    <!-- Datos del Desembolso -->
    <div class="row">
        <div class="col-md-12">
            <div class="panel panel-info">
                <div class="panel-heading">Datos del Desembolso</div>
                <div class="panel-body">
                    <p><strong>Proyecto:</strong> <?= $proyecto ?> (S/. <?= number_format($costo_total,2) ?>)</p>
                    <p><strong>Beneficiario:</strong> <?=$beneficiario;?></p>
                    <p><strong>Desembolso Realizado:</strong>
                    <?= $monto ?></p>
                    <p><strong>Observaciones:</strong> S/. <?=$obs; ?></p>
                </div>
            </div>
        </div>
    </div>

    <!-- FORMULARIO GASTO -->

    <div class="row">
        <div class="col-md-5">
            <div class="panel panel-success">
                <div class="panel-heading"><?= $titulo ?></div>
                <div class="panel-body">
                    <form method="POST" action="controladores/GastoController.php" enctype="multipart/form-data">
                        <input type="hidden" name="text" value="<?= $accion ?>">
                        <input type="hidden" name="iddesembolso" value="<?= $iddesembolso ?>">
						<input type="hidden" name="idgasto" value="<?= isset($idgasto)?$idgasto:'' ?>">
						
					<div class="row">
					    <div class="col-md-6">
                            <div class="form-group">
                                <label>Tipo de Gasto</label>
                                <select class="form-control" name="idtipogasto" required>
    								<option value="">Seleccione...</option>
    								<?php
    								$listaTG = $objTG->Listar("");
    								if($listaTG!=null){
    									foreach($listaTG as $t){
    										$sel = ($accion=='M' && $idtipogasto==$t["id"]) ? "selected" : "";
    										echo "<option value='".$t["id"]."' $sel>".$t["descripcion"]."</option>";
    									}
    								}
    								?>
    							</select>
                            </div>
                        </div>
                        <div class="col-md-6">
                            <div class="form-group">
                                <label>Fecha</label>
                                <input type="date" class="form-control" name="fecha" required value="<?= ($accion=='M') ? $fecha : date('Y-m-d') ?>">
                            </div>
                        </div>
                     </div>

                    
                            <div class="form-group">
                                <label>Proveedor</label>
                                <input type="text" class="form-control" name="proveedor" required value="<?= ($accion=='M') ? $proveedor : '' ?>">
                            </div>
                        
                    <div class="row">
					    <div class="col-md-4">
                                <div class="form-group">
                                    <label>Tipo Doc.</label>
                                    <select class="form-control" name="idtipodoc" required>
        								<option value="">Seleccione...</option>
        								<?php
        								$listaTC = $objTC->Listar("");
        								if($listaTC!=null){
        									foreach($listaTC as $tc){
        										$sel = ($accion=='M' && $idtipodoc==$tc["id"]) ? "selected" : "";
        										echo "<option value='".$tc["id"]."' $sel>".$tc["nombre"]."</option>";
        									}
        								}
        								?>
        							</select>
                                </div>
                        </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>N&deg; Documento</label>
                               <input type="text" class="form-control" name="num_doc" value="<?= ($accion=='M') ? $num_doc : '' ?>">
    
                            </div>
                        </div>
                        <div class="col-md-4">
                               <div class="form-group">
                                <label>Monto (S/.)</label>
                                <input type="number" class="form-control" step="0.01" name="monto" required value="<?= ($accion=='M') ? $monto : '' ?>">
    
                            </div> 
                        </div>
                    </div>

                                              
                            <div class="form-group">
								<label>Concepto</label>
								<textarea id="concepto" name="concepto" ><?=($accion=='M') ? $concepto : ''?></textarea>
							</div>
                       

                        
                        
                        <div class="form-group">
                            <label>Adjuntar archivo (imagen o PDF)</label>
                            <input type="file" class="form-control" name="archivo" accept="image/*,.pdf">
                        </div>

                        <button class="btn btn-success btn-block"> <?= ($accion=="M")?"Actualizar Gasto":"Guardar Gasto" ?></button>
                    </form>
					<script src="https://cdn.ckeditor.com/ckeditor5/36.0.1/classic/ckeditor.js"></script>
<script>
    ClassicEditor
        .create(document.querySelector('#concepto'), {
            toolbar: [
                'heading', '|',
                'bold', 'italic', 'underline', 'strikethrough', '|',
                'bulletedList', 'numberedList', '|',
                'link', 'blockQuote', '|',
                'undo', 'redo'
            ]
        })
        .catch(error => {
            console.error(error);
        });
</script>
                </div>
            </div>
        </div>


        <!-- LISTADO GASTOS -->
        <div class="col-md-7">
            <div class="panel panel-default">
                <div class="panel-heading">Gastos del Desembolso</div>
                <div class="panel-body">
                    <div class="table-responsive hidden-xs">
                        <table class="table table-bordered table-hover">
                            <thead>
                                <tr>
                                    
                                    <th>Fecha</th>
                                    <th>Proveedor</th>
                                    <th>Tipo Doc.</th>
                                    <th>Num. Doc.</th>
                                    <th>Concepto</th>
                                    <th>Monto</th>
                                    <th colspan='3'>Opciones</th>
                                </tr>
                            </thead>
                            <tbody>
                                <?php
                                if($listaG!=null){
                                    foreach($listaG as $g){
                                        echo "<tr>";
                                        
                                        echo "<td>".$g['fecha']."</td>";
                                        echo "<td>".$g['proveedor']."</td>";
                                        echo "<td>".$g['nombre']."</td>";
                                        echo "<td>".$g['num_doc']."</td>";
                                        echo "<td>".$g['concepto']."</td>";
                                        echo "<td>S/. ".$g['monto']."</td>";
                                        $archivoHTML = "";
                                                if(!empty($g['archivo'])){
                                                    $archivoHTML = "<a href='uploads/gastos/".$g['archivo']."' target='_blank' class='btn btn-info btn-xs'>Ver archivo</a> ";
                                                }
                                                
                                                echo "<td>
                                                        $archivoHTML
                                                        </td>
                                                        <td>
                                                        <a href='mangasto.php?id=".$g['idgasto']."' class='btn btn-warning btn-xs'>Editar</a>
                                                      </td>
                                                      <td>
                                                        <a href='controladores/GastoController.php?id=".$g['idgasto']."&text=E&idd=".$g['iddesembolso']."'
                                                           class='btn btn-danger btn-xs'
                                                           onclick=\"return confirm('¿Eliminar gasto?');\">
                                                           Eliminar
                                                        </a>
                                                      </td>";

                                        echo "</tr>";
                                        $sg = $sg+$g['monto'];
                                    }
                                    echo "<tr>
                                            <td colspan='5'>
                                              Total Gastado:
                                            </td>
                                            <td colspan='2'>
                                              ".$sg."
                                            </td>
                                         </tr>
                                    ";
                                }
                                ?>
                            </tbody>
                        </table>
                    </div>

                   <!-- Móvil -->
<div class="visible-xs">
    <div class="panel-group" id="accGasto">
        <?php
        if($listaG!=null){
            foreach($listaG as $g){
                $idAcc = "g".$g['idgasto'];
                echo "
                <div class='panel panel-default'>
                    <div class='panel-heading'>
                        <h4 class='panel-title'>
                            <a data-toggle='collapse' data-parent='#accGasto' href='#$idAcc'>
                                ".$g['proveedor']." - S/. ".$g['monto']."
                            </a>
                        </h4>
                    </div>
                    <div id='$idAcc' class='panel-collapse collapse'>
                        <div class='panel-body'>
                            
                            <p><b>Fecha:</b> ".$g['fecha']."</p>
                            <p><b>Proveedor:</b> ".$g['proveedor']."</p>
                            <p><b>Tipo Doc.:</b> ".$g['nombre']."</p>
                            <p><b>Num. Doc:</b> ".$g['num_doc']."</p>
                            <p><b>Concepto:</b> ".$g['concepto']."</p>";
                            
                            // 🔽 AGREGADO: Mostrar archivo si existe
                            if(!empty($g['archivo'])){
                                echo "<p><b>Archivo:</b> 
                                        <a href='uploads/gastos/".$g['archivo']."' target='_blank'>
                                            Ver archivo
                                        </a>
                                      </p>";
                            }

                            echo "
                            <div class='text-center'>
                                <a href='mangasto.php?id=".$g['idgasto']."' class='btn btn-warning btn-sm'>Editar</a>
                                <a href='controladores/GastoController.php?id=".$g['idgasto']."&text=E&idd=".$g['iddesembolso']."'
                                   class='btn btn-danger btn-sm'
                                   onclick=\"return confirm('¿Eliminar gasto?');\">
                                   Eliminar
                                </a>
                            </div>
                        </div>
                    </div>
                </div>";
            }
            /////
            echo "Total Gastaso: ".$sg;
        }
        ?>
    </div>
</div>


                </div>
            </div>
        </div>

    </div>
    <?php else: ?>
        <div class="alert alert-warning text-center">Desembolso no encontrado.</div>
    <?php endif; ?>

</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</body>
</html>
