<div class="card">
	<div class="card-header"><h5 class="card-title text-center">
		<?php if($renovar) echo "Renovar Recaudos"; else echo "Subir Recaudos"; ?>
	</h5></div>
	<div class="card-body">
		<div class="alert alert-secondary" role="alert">
			<h4 class="alert-heading"><i class="material-icons">info</i> ¡Importante!</h4>
  			<ul>
	  			<li>Cargar los recaudos en un archivo PDF con las siguientes especificaciones: las imágenes deben ser 72 dpi (puntos por pulgada) como mínimo y de 90 dpi (puntos por pulgada) como máximo</li>
	  			<li>El archivo PDF no puede ser mayor a 8 MB.</li>
	  			<li><span class="font-weight-bold">Recaudos Obligatorios:</span> <br>
	  				<?php if($renovar): ?>
	  					<!-- Declaración de ISLR -->
	  				<?php else: ?>
	  					Acta Constitutiva<br>
	  					Registro único de Información Fiscal<br>
						Declaración de ISLR
	  				<?php endif ?>
	  			</li>
  			</ul>	
  			<!-- <ul>
  				<li><b>NOTA: Una vez enviados los recaudos que son obligatorios, pasarán al proceso de verificación y se le notificará vía correo electrónico.</b></li>
  			</ul> -->
		</div>

<div class="row">
	<div class="col-md-10 offset-md-1">
				<?php  
				$form = $this->beginWidget('bootstrap.widgets.TbActiveForm',
					array(
						'layout' => TbHtml::FORM_LAYOUT_VERTICAL,
						'id' => 'subir-recaudos-form',
						'enableAjaxValidation' => true,
						'enableClientValidation' => true,
						'clientOptions' => array(
							'validateOnChange' => true,
						),
						'htmlOptions' => array('enctype' => 'multipart/form-data'),
 					)
				);
				/******
				Códigos de recaudos

				1. Acta Constitutiva
				2. RIF
				3. Declaración del ISLR
				4. Estados Financieros
				5. Actividad Económica -- BORRADO
				6. Patente de Industria y Comercio.
				7. Acta de Asamblea.
				*******/

				// Se debe de colocar la llave primaria de los recaudos que son de renovación.
				$documentos_renovacion = [
					2, // RIF
					//3, // Declaracion del ISLR
					4, // Estados Financieros
					//7, // Acta de Asamblea
				];

				// Se debe de colocar la llave primaria de los recaudos que son de primera vez.
				$documentos_primera_vez = [
					1, // Acta Constitutiva
					2, // RIF
					//3, // Declaracion del ISLR //COMENTAR LM 07-10-2025
					4, // Estados Financieros
					//5, // Actividad Económica -- BORRADO
					6, // Patente de Industria y Comercio.
				];

				/*********
					$recaudo->reca_estado == 1 => El archivo ha sido subido
					$recaudo->reca_estado == 2 => El archivo ha sido rechazado
					$recaudo->reca_estado == 3 => El archivo ha sido aceptado
					$recaudo->reca_estado == 4 => El archivo ha sido eliminado
				*********/
				$array_recaudos = array();

				foreach($recaudos as $r){
					$array_recaudos[$r->tipo_codigo_fk] = [
						'tipo_codigo_fk' => $r->tipo_codigo_fk, 
						'estado' => $r->reca_estado, 
						'error' => $r->erro_codigo_fk
					];
				}

				$rechazados = "";
				$mostrar_mensaje = false;

				foreach($array_recaudos as $key => $value){
					if($array_recaudos[$key]['estado'] == 2)
						$mostrar_mensaje = true;

					if($array_recaudos[$key]['error'] != null){
						$motivo = SidcaiRecaudoError::model()->findByPk($array_recaudos[$key]['error']);

						if($motivo != null)
							$motivo = $motivo->erro_descripcion;
						else
							$motivo = "";

					}

					if($array_recaudos[$key]['estado'] == 2){
						$nombre_recaudo = SidcaiTiporecaudo::model()->findByPk($array_recaudos[$key]['tipo_codigo_fk']);
						$rechazados .= "<p><strong>". $nombre_recaudo->tipo_nombre .": </strong>" .$motivo."</p>";
					}
				}

				if($mostrar_mensaje){
					echo '<div class="alert alert-danger alert-dismissible" role="alert">';
					echo '  <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>';
					echo 'Los siguientes recaudos fueron rechazados:<br><br>' .$rechazados. '<hr>Por favor vuelva a subir los recaudos rechazados.';
					echo '</div>';
				}			
				?>

				<h3 class="text-center">Recaudos Cargados</h3><br>
				
				<div class="table-responsive redondear-tablas-top">
				<table class="table table-striped text-center">
					<thead>
						<tr class="bg-secondary text-white text-center">
							<th class="text-center">Recaudos</th>
							<th class="text-center">En Revisión</th>
							<th class="text-center">Rechazados</th>
							<th class="text-center">Aceptados</th>
						</tr>
					</thead>
					<tbody id='tbl-recaudos'>
						<?php AportanteController::actionMostrarRecaudos(); ?>
						<?php
						// $tabla_body = "";

						// foreach($array_recaudos as $key => $value){
						// 	$tabla_body .= "<tr>";
							
						// 	$nombre_recaudo = SidcaiTiporecaudo::model()->findByPk($array_recaudos[$key]['tipo_codigo_fk']);
						// 	$tabla_body .= "<td><b>" .$nombre_recaudo->tipo_nombre. "</b></td>";

						//  	$tabla_body .= ($array_recaudos[$key]['estado'] == 1) ? "<td class='text-center'><i class='material-icons'>done</i></td>"  : "<td></td>";
						//    	$tabla_body .= ($array_recaudos[$key]['estado'] == 2) ? "<td class='text-center'><i class='fas fa-times'></i></td>" 			: "<td></td>";
						//    	$tabla_body .= ($array_recaudos[$key]['estado'] == 3) ? "<td class='text-center'><i class='material-icons'>done</i></td>"  : "<td></td>";	

						// 	$tabla_body .= "</tr>";
						// }

						// if($tabla_body == "")
						// 	echo "<tr><td colspan='4'><center>No hay recaudos subidos.</center></td></tr>";
						// else
						// 	echo $tabla_body;
						?>
					</tbody>
				</table>
				</div>					
					
				<?php
				/**
				Mostrará el input file del recaudo si no se ha subido o haya sido rechazado

				- EL nombre debe de ser el mismo que del Input -> este se coloca en  "models/SidcaiRecaudo" y el id de "$id_recaudos" debe ser el mismo que tipo_codigo_pk de la tabla "SidcaiTiporecaudo".

				- Para deshabilitar un recaudo se debe de colocar FALSE en la BD y se tiene que quitar/comentar el recaudo en el array $id_recaudos

				**/
				$id_recaudos = [
					1 => 'acta_constitutiva',
					2 => 'rif',
					3 => 'declaracion_islr',//TODO: se agrego esta linea para pedir el ISLR en la vista de pago mensual
				];


				foreach($id_recaudos as $key => $value){
					if(!isset($array_recaudos[$key]['tipo_codigo_fk']) || $array_recaudos[$key]['estado'] == 2){
						$opcional = "";
					
						// Documentos Opcionales.
						if($renovar){
							if($key == 2 || $key == 4)
								$opcional = " (Opcional)";
						}else{
							if($key == 4 || $key == 6)
								$opcional = " (Opcional)";
						}

						if (empty($periodo)) {
							$periodo=false;
						}

						// Mostrar input si es recaudo rechazado o aún no ha sido cargado
$recaudoItem = isset($array_recaudos[$key]) ? $array_recaudos[$key] : ['estado' => null, 'tipo_codigo_fk' => null];

// Mostrar input si es recaudo rechazado o aún no ha sido cargado
if (!isset($recaudoItem['tipo_codigo_fk']) || $recaudoItem['estado'] == 2) {

    // Permitir recarga de recaudos rechazados sin importar el modo
    if (
        $recaudoItem['estado'] == 2 || 
        ($renovar && in_array($key, $documentos_renovacion)) ||
        (!$renovar && in_array($key, $documentos_primera_vez))
    ) {
        $this->renderPartial('_file-recaudo', [
            'form' => $form, 
            'model' => $model, 
            'renovar' => $renovar, 
            'recaudo' => $value, 
            'tipo_codigo_fk' => $key,
            'opcional' => $opcional,
            'periodo_fiscal' => $periodo,
        ]);
    }
}


					}
				}

				$this->endWidget(); ?>
			</div>
		</div>

		 <?php 
		 echo TbHtml::linkButton('Regresar',
		 	[
		 		'url' => Yii::app()->homeUrl ,
		 		'color' => TbHtml::BUTTON_COLOR_SECONDARY, 
		 		'class' => 'btn-lg ml-4 mt-4',
		 	]); 
		 ?> 
	</div>
</div>
<?php  
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl . '/assets/js/input-file.js', CClientScript::POS_END);
?>