<?php
require_once __DIR__.'/../../config/auth.php';require_once __DIR__.'/_tareas.php';$admin=tareas_es_admin($conn);$colaborador=tareas_colaborador_id($conn);$desde=$_GET['desde']??date('Y-m-01');$hasta=$_GET['hasta']??date('Y-m-t');$estado=$_GET['estado']??'';$responsable=(int)($_GET['responsable_id']??0);$cliente=(int)($_GET['cliente_id']??0);$cond=["DATE(t.creado_en) BETWEEN '".$conn->real_escape_string($desde)."' AND '".$conn->real_escape_string($hasta)."'",$admin?'1=1':'t.responsable_id='.(int)$colaborador];if($estado==='vencidas')$cond[]="t.estado IN ('Pendiente','En Proceso') AND t.fecha_vencimiento<CURDATE()";elseif(in_array($estado,['Pendiente','En Proceso','Finalizado'],true))$cond[]="t.estado='".$conn->real_escape_string($estado)."'";if($admin&&$responsable)$cond[]="t.responsable_id=$responsable";if($cliente)$cond[]="t.cliente_id=$cliente";$lista=$conn->query("SELECT t.*,cl.nombre cliente,CONCAT(co.nombres,' ',co.apellidos) responsable,(SELECT COUNT(*) FROM tarea_seguimientos s WHERE s.tarea_id=t.id) seguimientos FROM tareas t JOIN clientes cl ON cl.id=t.cliente_id JOIN colaboradores co ON co.id=t.responsable_id WHERE ".implode(' AND ',$cond)." ORDER BY t.fecha_vencimiento,t.id");$clientes=$conn->query("SELECT id,nombre FROM clientes ORDER BY nombre");$responsables=$conn->query("SELECT id,CONCAT(nombres,' ',apellidos) nombre FROM colaboradores WHERE estado='Activo' ORDER BY nombres,apellidos");include __DIR__.'/../../includes/header.php';include __DIR__.'/../../includes/sidebar.php';?>
<main class="main"><?php include __DIR__.'/../../includes/topbar.php';?><div class="content"><div class="d-flex justify-content-between"><div><h3 class="page-title">Reportes de Tareas</h3><p class="text-muted">Cumplimiento, vencimientos, responsables y seguimiento.</p></div><a class="btn btn-outline-secondary align-self-start no-print" href="index.php">Volver al tablero</a></div><form class="card card-body mb-3 no-print"><div class="row g-2"><div class="col-md-2"><label>Desde</label><input class="form-control" type="date" name="desde" value="<?=e($desde)?>"></div><div class="col-md-2"><label>Hasta</label><input class="form-control" type="date" name="hasta" value="<?=e($hasta)?>"></div><div class="col-md-2"><label>Estado</label><select class="form-select" name="estado"><option value="">Todos</option><option value="vencidas" <?=$estado==='vencidas'?'selected':''?>>Vencidas</option><?php foreach(['Pendiente','En Proceso','Finalizado'] as $o):?><option <?=$estado===$o?'selected':''?>><?=$o?></option><?php endforeach;?></select></div><div class="col-md-2"><label>Cliente</label><select class="form-select" name="cliente_id"><option value="0">Todos</option><?php while($c=$clientes->fetch_assoc()):?><option value="<?=$c['id']?>" <?=$cliente==$c['id']?'selected':''?>><?=e($c['nombre'])?></option><?php endwhile;?></select></div><?php if($admin):?><div class="col-md-3"><label>Responsable</label><select class="form-select" name="responsable_id"><option value="0">Todos</option><?php while($r=$responsables->fetch_assoc()):?><option value="<?=$r['id']?>" <?=$responsable==$r['id']?'selected':''?>><?=e($r['nombre'])?></option><?php endwhile;?></select></div><?php endif;?><div class="col-md-1 d-flex align-items-end"><button class="btn btn-hm">Filtrar</button></div></div></form><div class="card card-hm"><div class="card-body table-responsive"><table class="table"><thead><tr><th>Creación</th><th>Vencimiento</th><th>Cliente</th><th>Responsable</th><th>Tarea</th><th>Estado</th><th>Avance</th><th class="text-end">Seguimientos</th></tr></thead><tbody><?php $cant=0;while($t=$lista->fetch_assoc()):$cant++;?><tr><td><?=e(date('d/m/Y',strtotime($t['creado_en'])))?></td><td><?=e(date('d/m/Y',strtotime($t['fecha_vencimiento'])))?></td><td><?=e($t['cliente'])?></td><td><?=e($t['responsable'])?></td><td><a href="tareas.php?accion=ver&id=<?=$t['id']?>"><?=e($t['titulo'])?></a></td><td><?=e($t['estado'])?></td><td><?=(int)$t['avance']?>%</td><td class="text-end"><?=numero_py($t['seguimientos'])?></td></tr><?php endwhile;?></tbody><tfoot><tr><th colspan="8">Cantidad de tareas: <?=numero_py($cant)?></th></tr></tfoot></table></div></div></div></main><?php include __DIR__.'/../../includes/footer.php';?>
