<?php 

	if($_POST['peticion']=='ajax'){

		require_once "../vista/lib/PHPExcel/Classes/PHPExcel/IOFactory.php";

		require_once "../controlador/gestion.formulario.controlador.php";		

	}else{

		require_once "./vista/lib/PHPExcel/Classes/PHPExcel/IOFactory.php";

	}

	$formulariocontrolador = new ControladorGestonFormulario();

	try {

		if (isset($_FILES['archivo']['name']) && trim($_FILES['archivo']['name']) != '' ){

			if(isset($_POST['id_formulario_carga_archivo'])){

				if(substr($_FILES['archivo']['name'], -4) == '.xls' || substr($_FILES['archivo']['name'], -4) == '.XLS' || substr($_FILES['archivo']['name'], -5) == '.xlsm' || substr($_FILES['archivo']['name'], -5) == '.xlsx' || substr($_FILES['archivo']['name'], -5) == '.XLSX'){

					$directorio = '../docs/formularios_excel/'.$_FILES['archivo']['name'];
				
					if (move_uploaded_file($_FILES['archivo']['tmp_name'], $directorio)) {
				    	
						$html = '';
						$registrosmalrelacionados = 0;

				    	if($_POST['id_formulario_carga_archivo'] == 1){

							$file = '../docs/formularios_excel/'.$_FILES['archivo']['name'];

							$objPHPExcel = PHPEXCEL_IOFactory::load($file);

							$objPHPExcel->setActiveSheetIndex(0);

							$numRows = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();

							for ($i=2; $i <= $numRows ; $i++) { 
								
								$idatencion               = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
								$fecharegistro            = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
								$tipoasesoria             = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
								$observacionasesoria      = $objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue();
								$observacioncapacitacion  = $objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue();
								$acuerdosproximavisita    = $objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue();
								$usuarioatiende           = $objPHPExcel->getActiveSheet()->getCell('G'.$i)->getCalculatedValue();
								$usuarioatendido          = $objPHPExcel->getActiveSheet()->getCell('H'.$i)->getCalculatedValue();

								if($idatencion != "" && $fecharegistro != "" && $tipoasesoria != "" && $observacionasesoria != "" && $observacioncapacitacion != "" && $acuerdosproximavisita != "" && $usuarioatiende != "" && $usuarioatendido != ""){

									//  Creamos arreglo para almacenar la información de productores.
									$array_atencion[$i] = array(

										'idatencion'              => $idatencion,
										'id_formulario'           => $_POST['id_formulario_carga_archivo'],
										'id_usuario'              => $_POST['id_usuario'],
										'fecha'                   => $fecharegistro,
										'id_tipoasesoria'         => $tipoasesoria,
										'desc_asesoria'           => $observacionasesoria,
										'desc_capacitacion'       => $observacioncapacitacion,
										'acuerdos_proxima_visita' => $acuerdosproximavisita,
										'firma_usuario_atiende'   => $usuarioatiende,
										'firma_usuario_atendido'  => $usuarioatendido,

									);

								}			

							}	

							// Hoja 1
							$objPHPExcel->setActiveSheetIndex(1);

							$numRows = $objPHPExcel->setActiveSheetIndex(1)->getHighestRow();

							for ($x=2; $x <= $numRows ; $x++) { 
								
								$idatencion     = $objPHPExcel->getActiveSheet()->getCell('A'.$x)->getCalculatedValue();
								$tipocapacitacion = $objPHPExcel->getActiveSheet()->getCell('B'.$x)->getCalculatedValue();
								$tema             = $objPHPExcel->getActiveSheet()->getCell('C'.$x)->getCalculatedValue();
								$genero           = $objPHPExcel->getActiveSheet()->getCell('D'.$x)->getCalculatedValue();
								$numeropersonas   = $objPHPExcel->getActiveSheet()->getCell('E'.$x)->getCalculatedValue();

								if($idatencion != "" && $tipocapacitacion != "" && $tema != "" && $genero != "" && $numeropersonas != ""){

									//  Creamos arreglo para almacenar capacitaciones relacionadas a la atención.
									$array_atencion_capacitacion[$x] = array(

										'idatencion'       => $idatencion,
										'tipocapacitacion'   => $tipocapacitacion,
										'temacapacitacion'   => $tema,
										'generocapacitacion' => $genero,
										'numeropersonas'     => $numeropersonas,

									);

								}			
										
							}	

							$html .= '<p class="h4">Atención a productores.</p>
									  <div class="table-responsive">
										<table class="table table-bordered table-hover">
											<tr>
												<th>Id atención</th>
												<th>Fecha registro</th>
												<th>Tipo de asesoría</th>
												<th>Observación asesoría</th>
												<th>Observación capacitación</th>
												<th>Acuerdos proxíma visita</th>
												<th>Usuario atiende</th>
												<th>Usuario atendido</th>
											</tr>';
									foreach ($array_atencion as $array_at){

											$fondo         = '';
											$atencion      = 0;
											$mensaje       = '';
											foreach ($array_atencion_capacitacion as $value4) {
											
												if($array_at['idatencion'] == $value4['idatencion']){
													$atencion++;
												}
											
											}

											if($atencion > 0){
												$fondo = 'bg-white';
											}else{

												$registrosmalrelacionados++;
												$fondo = 'bg-warning';

												if($atencion == 0){
													$mensaje = 'No se encontraron capacitaciones relacionadas a esta atención';
												}
											}

											$repetido = 0; 
											// Validar si el id asistencia está repetido.
											foreach ($array_atencion as $value_x) {
											
												if($array_at['idatencion'] == $value_x['idatencion']){
													$repetido++;
												}
											
											}

											if($repetido > 1){

												$registrosmalrelacionados++;
												$fondo = 'bg-warning';
												$mensaje = 'Identificador de atención repetido.';
											
											}

											$html .= '<tr class="'.$fondo.'">
												<td>'.$array_at['idatencion'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</p></td>
												<td>'.$array_at['fecha'].'</td>
												<td>'.$array_at['id_tipoasesoria'].'</td>
												<td>'.$array_at['desc_asesoria'].'</td>
												<td>'.$array_at['desc_capacitacion'].'</td> 
												<td>'.$array_at['acuerdos_proxima_visita'].'</td> 
												<td>'.$array_at['firma_usuario_atiende'].'</td> 
												<td>'.$array_at['firma_usuario_atendido'].'</td>
											</tr>';
									}
							$html .= '	</table>
									  </div>';

							$html .= '<p class="h4">Capacitación</p>
									  <table class="table table-bordered table-hover">
										<tr>
											<th>Id atención</th>
											<th>Tipo de capacitación </th>
											<th>Tema</th>
											<th>Genero</th>
											<th>Número de personas</th>
										</tr>';

								foreach ($array_atencion_capacitacion as $array_atencion_ca) {

												$fondo         = '';
												$atencion      = 0;
												$mensaje       = '';
												foreach ($array_atencion as $value5) {
												
													if($array_atencion_ca['idatencion'] == $value5['idatencion']){
														$atencion++;
													}
												
												}


												if($atencion > 0){
													$fondo = 'bg-white';
												}else{

													$registrosmalrelacionados++;
													$fondo = 'bg-warning';

													if($atencion == 0){
														$mensaje = 'Este registro no está relacionado con una atención.';
													}
												}

										$html .= '<tr class="'.$fondo.'">
												<td>'.$array_atencion_ca['idatencion'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</p></td>
												<td>'.$array_atencion_ca['tipocapacitacion'].'</td>
												<td>'.$array_atencion_ca['temacapacitacion'].'</td>
												<td>'.$array_atencion_ca['generocapacitacion'].'</td>
												<td>'.$array_atencion_ca['numeropersonas'].'</td> 
											</tr>';
								}	
										$html .= '</table>';	

						}else if($_POST['id_formulario_carga_archivo'] == 2){

							$file = '../docs/formularios_excel/'.$_FILES['archivo']['name'];

							$objPHPExcel = PHPEXCEL_IOFactory::load($file);


							$objPHPExcel->setActiveSheetIndex(0);

							$numRows = $objPHPExcel->setActiveSheetIndex(0)->getHighestRow();

							for ($i=2; $i <= $numRows ; $i++) { 
								
								// $usuarioregistra       = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
								$id_asistencia         = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getCalculatedValue();
								$fecharegistro         = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getCalculatedValue();
								$tipoatencion          = $objPHPExcel->getActiveSheet()->getCell('C'.$i)->getCalculatedValue();
								$pais                  = $objPHPExcel->getActiveSheet()->getCell('D'.$i)->getCalculatedValue();
								$departamento          = $objPHPExcel->getActiveSheet()->getCell('E'.$i)->getCalculatedValue();
								$municipio             = $objPHPExcel->getActiveSheet()->getCell('F'.$i)->getCalculatedValue();
								$vereda                = $objPHPExcel->getActiveSheet()->getCell('G'.$i)->getCalculatedValue();
								$nombreusuarioatiende  = $objPHPExcel->getActiveSheet()->getCell('H'.$i)->getCalculatedValue();
								$cargousuarioatiende   = $objPHPExcel->getActiveSheet()->getCell('I'.$i)->getCalculatedValue();
								$nombreusuarioatendido = $objPHPExcel->getActiveSheet()->getCell('J'.$i)->getCalculatedValue();
								$nombreorganizacion    = $objPHPExcel->getActiveSheet()->getCell('K'.$i)->getCalculatedValue();
								$tipopoblacion         = $objPHPExcel->getActiveSheet()->getCell('L'.$i)->getCalculatedValue();
								$numeroidentificacion  = $objPHPExcel->getActiveSheet()->getCell('M'.$i)->getCalculatedValue();
								$telefono              = $objPHPExcel->getActiveSheet()->getCell('N'.$i)->getCalculatedValue();
								$correo                = $objPHPExcel->getActiveSheet()->getCell('O'.$i)->getCalculatedValue();
								$lineasproductivas     = $objPHPExcel->getActiveSheet()->getCell('P'.$i)->getCalculatedValue();
								$numeroatenciones      = $objPHPExcel->getActiveSheet()->getCell('Q'.$i)->getCalculatedValue();
								$observacion           = $objPHPExcel->getActiveSheet()->getCell('R'.$i)->getCalculatedValue();

								if($id_asistencia != '' && $fecharegistro != '' && $tipoatencion != '' && $pais != '' && $departamento != '' && $municipio != '' && $vereda != '' && $nombreusuarioatiende != '' && $cargousuarioatiende != '' && $nombreusuarioatendido != '' && $nombreorganizacion !='' && $tipopoblacion != '' && $numeroidentificacion != '' && $telefono != '' && $correo != '' && $lineasproductivas != '' && $numeroatenciones != '' && $observacion != ''){

									// Consultamos país para obtener el código de este.
									$consultapais = $formulariocontrolador->ctrConsultaPaises('', 'unico', $pais);

									// Consultamos departamento para obtener el código de este
									$consultadepto = $formulariocontrolador->ctrConsultaDepartamentos('', '', $departamento);

									// Consultamos municipio para obtener el código de este
									$consultamunicipio = $formulariocontrolador->ctrConsultaMunicipio('', '', $municipio);

									// Consultamos vereda para obtener el identificador de esta.
									$consultavereda = $formulariocontrolador->ctrConsultaVereda('', '', $vereda);

									// Consultamos tipo de población
									$consultatipopoblacion = $formulariocontrolador->ctrConsultaPoblacion('', 'unico', utf8_decode($tipopoblacion));

									//  Creamos arreglo para almacenar la información de asistencia productores.
									$array_asistencia[$i] = array(

										'id_asistencia'              => $id_asistencia,
										'id_formulario'              => $_POST['id_formulario_carga_archivo'],
										'id_usuario'                 => $_POST['id_usuario'],
										'fecha'                      => $fecharegistro,
										'tipoatencion'               => $tipoatencion,
										'codigo_pais'                => $consultapais['codigo'],
										'descripcion_pais'           => $consultapais['descripcion'],
										'codigo_departamento'        => $consultadepto['codigo'],
										'descripcion_depto'          => $consultapais['descripcion'],
										'codigo_municipio'           => $consultamunicipio['codigo'],
										'descripcion_municipio'      => $consultamunicipio['descripcion'],
										'id_zona'                    => $consultavereda['id'],
										'descripcion_zona'           => $consultavereda['descripcion'],
										'nombre_usuario_atiende'     => $nombreusuarioatiende,
										'cargo_usuario_atiende'      => $cargousuarioatiende,
										'nombre_persona_atendida'    => $nombreusuarioatendido,
										'nombre_organizacion'        => $nombreorganizacion,
										'id_tipo_poblacion'          => $consultatipopoblacion['id'],
										'descripcion_tipo_poblacion' => utf8_encode($consultatipopoblacion['descripcion']),
										'numero_identificacion'      => $numeroidentificacion,
										'telefono'                   => $telefono,
										'correo'                     => $correo,
										'linea_productiva'           => $lineasproductivas,
										'numero_atenciones'          => $numeroatenciones,
										'observacion_asistencia'     => $observacion,

									);

								}
								
							}

							// Hoja 1
							$objPHPExcel->setActiveSheetIndex(1);

							$numRows = $objPHPExcel->setActiveSheetIndex(1)->getHighestRow();

							for ($x=2; $x <= $numRows ; $x++) { 
								
								$idasistencia          = $objPHPExcel->getActiveSheet()->getCell('A'.$x)->getCalculatedValue();
								$cultivo               = $objPHPExcel->getActiveSheet()->getCell('B'.$x)->getCalculatedValue();
								$edadcultivo           = $objPHPExcel->getActiveSheet()->getCell('C'.$x)->getCalculatedValue();
								$totalsembrado         = $objPHPExcel->getActiveSheet()->getCell('D'.$x)->getCalculatedValue();
								$totalproduccion       = $objPHPExcel->getActiveSheet()->getCell('E'.$x)->getCalculatedValue();
								$produccion            = $objPHPExcel->getActiveSheet()->getCell('F'.$x)->getCalculatedValue();
								$rendimiento           = $objPHPExcel->getActiveSheet()->getCell('G'.$x)->getCalculatedValue();
								$costosproduccion      = $objPHPExcel->getActiveSheet()->getCell('H'.$x)->getCalculatedValue();
								$canalcomercializacion = $objPHPExcel->getActiveSheet()->getCell('I'.$x)->getCalculatedValue();

								if($idasistencia != '' && $cultivo != '' && $edadcultivo != '' && $totalsembrado != '' && $totalproduccion != '' && $produccion != '' && $rendimiento != '' && $costosproduccion != '' && $canalcomercializacion != ''){

									//  Creamos arreglo para almacenar la información agricola.
									$array_agricola[$x] = array(

										'idasistencia'           => $idasistencia,
										'cultivo'                => $cultivo,
										'edad_cultivo'           => $edadcultivo,
										'total_sembrado'         => $totalsembrado,
										'total_produccion'       => $totalproduccion,
										'produccion_ton'         => $produccion,
										'rendimiento_ton'        => $rendimiento,
										'costos_produccion'      => $costosproduccion,
										'canal_comercializacion' => $canalcomercializacion,
									);	

								}

							}	

							// Hoja 2
							$objPHPExcel->setActiveSheetIndex(2);

							$numRows = $objPHPExcel->setActiveSheetIndex(2)->getHighestRow();

							for ($x=2; $x <= $numRows ; $x++) { 
								
								$idasistencia            = $objPHPExcel->getActiveSheet()->getCell('A'.$x)->getCalculatedValue();
								$especie                 = $objPHPExcel->getActiveSheet()->getCell('B'.$x)->getCalculatedValue();
								$raza                    = $objPHPExcel->getActiveSheet()->getCell('C'.$x)->getCalculatedValue();
								$edad                    = $objPHPExcel->getActiveSheet()->getCell('D'.$x)->getCalculatedValue();
								$produccionpredio        = $objPHPExcel->getActiveSheet()->getCell('E'.$x)->getCalculatedValue();
								$costoproduccion         = $objPHPExcel->getActiveSheet()->getCell('F'.$x)->getCalculatedValue();
								$canalescomercializacion = $objPHPExcel->getActiveSheet()->getCell('G'.$x)->getCalculatedValue();
								
								if($idasistencia != '' && $especie != '' && $raza != '' && $edad != '' && $produccionpredio != '' && $costoproduccion != '' && $canalescomercializacion != ''){

									//  Creamos arreglo para almacenar la información pecuaria.
									$array_pecuaria[$x] = array(

										'idasistencia'                    => $idasistencia,
										'especie'                         => $especie,
										'raza'                            => $raza,
										'edad'                            => $edad,
										'produccion_predio'               => $produccionpredio,
										'costos_produccion_pecuaria'      => $costoproduccion,
										'canal_comercializacion_pecuaria' => $canalescomercializacion,
									);

								}
										
							}	

							// Hoja 2
							$objPHPExcel->setActiveSheetIndex(3);

							$numRows = $objPHPExcel->setActiveSheetIndex(3)->getHighestRow();

							for ($x=2; $x <= $numRows ; $x++) { 
								
								$idasistencia     = $objPHPExcel->getActiveSheet()->getCell('A'.$x)->getCalculatedValue();
								$nombreproducto   = $objPHPExcel->getActiveSheet()->getCell('B'.$x)->getCalculatedValue();
								$dosisrecomendada = $objPHPExcel->getActiveSheet()->getCell('C'.$x)->getCalculatedValue();
								$metodoaplicacion = $objPHPExcel->getActiveSheet()->getCell('D'.$x)->getCalculatedValue();
								
								if($idasistencia !='' && $nombreproducto != '' && $dosisrecomendada != '' && $metodoaplicacion != ''){

									//  Creamos arreglo para almacenar la información recomendaciones.
									$array_recomendaciones[$x] = array(

										'idasistencia'     => $idasistencia,
										'nombre_producto'   => $nombreproducto,
										'dosisrecomendada' => $dosisrecomendada,
										'metodoaplicacion' => $metodoaplicacion,
									);	

								}	

							}	

							$html .= '<p class="h4">Asistencia</p>
									<div class="table-responsive">
										<table class="table table-bordered table-hover">
											<tr>
												<th>Id asistencia</th>
												<th>Fecha registro</th>
												<th>Tipo de atención</th>
												<th>País</th>
												<th>Departamento</th>
												<th>Municipio</th>
												<th>Vereda</th>
												<th>Nombre usuario atiende</th>
												<th>Cargo usuario atiende</th>
												<th>Nombre usuario atendido</th>
												<th>Nombre de organización</th>
												<th>Tipo de población</th>
												<th>Número de identificación</th>
												<th>Teléfono</th>
												<th>Correo</th>
												<th>Lineas productivas</th>
												<th>Número de atenciones</th>
												<th>Observación</th>
											</tr>';
								foreach ($array_asistencia as $key_as => $value_as){
									$fondo         = '';
									$agricola      = 0;
									$pecuaria      = 0; 
									$recomendacion = 0;
									$mensaje       = '';

									foreach ($array_agricola as $value1) {
									
										if($value_as['id_asistencia'] == $value1['idasistencia']){
											$agricola++;
										}
									
									}

									foreach ($array_pecuaria as $value2) {
									
										if($value_as['id_asistencia'] == $value2['idasistencia']){
											$pecuaria++;
										}
									
									}

									foreach ($array_recomendaciones as $value3) {
									
										if($value_as['id_asistencia'] == $value3['idasistencia']){
											$recomendacion++;
										}
									
									}

									if($agricola > 0 && $pecuaria > 0 && $recomendacion > 0){
										$fondo = 'bg-white';
										$onmouseover = '';
									}else{

										$registrosmalrelacionados++;
										$fondo = 'bg-warning';

										if($agricola == 0){
											$mensaje = 'No se encontró información agrícola relacionada con esta asistencia';
										}else if($pecuaria == 0){
											$mensaje = 'No se encontró información pecuaria relacionada con esta asistencia';
										}else if($recomendacion == 0){
											$mensaje = 'No se encontraron recomendaciones relacionadas con esta asistencia';
										}
									}

									$repetido = 0; 
									// Validar si el id asistencia está repetido.
									foreach ($array_asistencia as $value_x) {
									
										if($value_as['id_asistencia'] == $value_x['id_asistencia']){
											$repetido++;
										}
									
									}

									if($repetido > 1){

										$registrosmalrelacionados++;
										$fondo = 'bg-warning';
										$mensaje = 'Identificador de asistencia repetido';
									
									}

									$html .= '<tr class="'.$fondo.'">
												<td>'.$value_as['id_asistencia'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</p></td>
												<td>'.$value_as['fecha'].'</td>
												<td>'.$value_as['tipoatencion'].'</td>
												<td>'.$value_as['descripcion_pais'].'</td>
												<td>'.$value_as['descripcion_depto'].'</td>
												<td>'.$value_as['descripcion_municipio'].'</td>
												<td>'.$value_as['descripcion_zona'].'</td>
												<td>'.$value_as['nombre_usuario_atiende'].'</td>
												<td>'.$value_as['cargo_usuario_atiende'].'</td>
												<td>'.$value_as['nombre_persona_atendida'].'</td>
												<td>'.$value_as['nombre_organizacion'].'</td>
												<td>'.$value_as['descripcion_tipo_poblacion'].'</td>
												<td>'.$value_as['numero_identificacion'].'</td>
												<td>'.$value_as['telefono'].'</td>
												<td>'.$value_as['correo'].'</td>
												<td>'.$value_as['linea_productiva'].'</td>
												<td>'.$value_as['numero_atenciones'].'</td>
												<td>'.$value_as['observacion_asistencia'].'</td>';
											$html .='</tr>';
								}
								$html .= '		</table>
									  		</div>';

									 	$html .= '<p class="h4">Agrícola</p>
													<div class="table-responsive">
														<table class="table table-bordered table-hover">
															<tr>
																<th>Id asistencia</th>
																<th>Cultivo </th>
																<th>Eda cultivo</th>
																<th>Total sembrado</th>
																<th>Total producción</th>
																<th>Producción</th>
																<th>Rendimiento</th>
																<th>Costos producción</th>
																<th>Canal de comercialización</th>
															</tr>';

												foreach ($array_agricola as $value_ag) {	

														$fondo         = '';
														$agricola      = 0;
														$mensaje       = '';
														foreach ($array_asistencia as $value1) {
														
																if($value_ag['idasistencia'] == $value1['id_asistencia']){
																	$agricola++;
																}
															
															}

															if($agricola > 0){
																$fondo = 'bg-white';
																$onmouseover = '';
															}else{

																$registrosmalrelacionados++;
																$fondo = 'bg-warning';
																if($agricola == 0){
																	$mensaje = 'Este registro no está relacionado con una asistencia.';
																}
															}


															$html .= '<tr class="'.$fondo.'"> 
															<td>'.$value_ag['idasistencia'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</p></td>
															<td>'.$value_ag['cultivo'].'</td>
															<td>'.$value_ag['edad_cultivo'].'</td>
															<td>'.$value_ag['total_sembrado'].'</td>
															<td>'.$value_ag['total_produccion'].'</td>
															<td>'.$value_ag['produccion_ton'].'</td>
															<td>'.$value_ag['rendimiento_ton'].'</td>
															<td>'.$value_ag['costos_produccion'].'</td>
															<td>'.$value_ag['canal_comercializacion'].'</td>
														</tr>';
												}

										$html .= '	</table>
												  </div>';


										$html .= '<p class="h4">Pecuaria</p>
													<div class="table-responsive">	
														<table class="table table-bordered table-hover">
															<tr>
																<th>Id asistencia</th>
																<th>Especie</th>
																<th>Raza</th>
																<th>Edad</th>
																<th>Producción predio</th>
																<th>Costos producción</th>
																<th>Canal de comercialización</th>
															</tr>';
										foreach ($array_pecuaria as $value_pe) {

														$fondo         = '';
														$pecuaria      = 0;
														$mensaje       = '';
														foreach ($array_asistencia as $value1) {
														
																if($value_pe['idasistencia'] == $value1['id_asistencia']){
																	$pecuaria++;
																}
															
														}

														if($pecuaria > 0){
															$fondo = 'bg-white';
															$onmouseover = '';
														}else{

															$registrosmalrelacionados++;
															$fondo = 'bg-warning';
															if($pecuaria == 0){
																$mensaje = 'Este registro no está relacionado con una asistencia.';
															}
														}

											$html .= '<tr class="'.$fondo.'"> 
															<td>'.$value_pe['idasistencia'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</td>
															<td>'.$value_pe['especie'].'</td>
															<td>'.$value_pe['raza'].'</td>
															<td>'.$value_pe['edad'].'</td>
															<td>'.$value_pe['produccion_predio'].'</td>
															<td>'.$value_pe['costos_produccion_pecuaria'].'</td>
															<td>'.$value_pe['canal_comercializacion_pecuaria'].'</td>
														</tr>';		
										}		

										$html .= '  </table>
												  </div>';

										$html .= '<p class="h4">Recomendaciones</p>
													<div class="table-responsive">
														<table class="table table-bordered table-hover">
															<tr>
																<th>Id asistencia</th>
																<th>Nombre producto</th>
																<th>Dosis recomendada</th>
																<th>Método de aplicación</th>
															</tr>';
											foreach ($array_recomendaciones as $value_re) {
													
														$fondo         = '';
														$recomendacion      = 0;
														$mensaje       = '';
														foreach ($array_asistencia as $value1) {
														
																if($value_re['idasistencia'] == $value1['id_asistencia']){
																	$recomendacion++;
																}
															
														}

														if($recomendacion > 0){
															$fondo = 'bg-white';
															$onmouseover = '';
														}else{

															$registrosmalrelacionados++;
															$fondo = 'bg-warning';
															if($recomendacion == 0){
																$mensaje = 'Este registro no está relacionado con una asistencia.';
															}
														}

													$html .= '<tr class="'.$fondo.'"> 
																<td>'.$value_re['idasistencia'].'<p style="margin-top: 10px; color: #fff;">'.$mensaje.'</td>
																<td>'.$value_re['nombre_producto'].'</td>
																<td>'.$value_re['dosisrecomendada'].'</td>
																<td>'.$value_re['metodoaplicacion'].'</td>
															</tr>';				
											}
											$html .= '  </table>
													  </div>';	

						}

						if($_POST['accion']=='cargar_archivo_excel'){

							if($_POST['id_formulario_carga_archivo'] == 1){
								// Consultamos id del ultimo sie_formulario_atencion_capacitacion registrado.
								$conultaultimoidformulario = ModeloConexion::consultaSimple("SELECT MAX(id) AS ultimoid FROM sie_formulario_atencion");	
								$conultaultimoidformulario = $conultaultimoidformulario->fetch();
								$ultimoid = $conultaultimoidformulario['ultimoid'];

								echo json_encode(array('success' => 'El archivo es válido y fue subido con exito.', 'html'=>$html, 'accion'=>$_POST['accion'], 'ultimoid_registrado' => $ultimoid, 'registrosmalrelacionados'=>$registrosmalrelacionados));
								exit();

							}else if($_POST['id_formulario_carga_archivo'] == 2){

								$conultaultimoidformulario = ModeloConexion::consultaSimple("SELECT MAX(id) AS ultimoid FROM sie_formulario_asistencia");	
								$conultaultimoidformulario = $conultaultimoidformulario->fetch();
								$ultimoid = $conultaultimoidformulario['ultimoid'];

								echo json_encode(array('success' => 'El archivo es válido y fue subido con exito.', 'html'=>$html, 'accion'=>$_POST['accion'], 'ultimoid_registrado' => $ultimoid, 'registrosmalrelacionados'=>$registrosmalrelacionados));
								exit();

							}	

						}else if($_POST['accion']=='guardar_info'){

							if($_POST['id_formulario_carga_archivo'] == 1){

								$registroatencion = 0; // Variable utilizada para validar el resgistro de asistencia.
								// Recorremos asistencia.
								foreach ($array_atencion as $value_atencion){

									// Consultamos id del ultimo sie_formulario_atencion_capacitacion registrado.
									$conultaultimoidformulario = ModeloConexion::consultaSimple("SELECT MAX(id) AS cantidad FROM sie_formulario_atencion");	
									$conultaultimoidformulario = $conultaultimoidformulario->fetch();
									$id_formulario_atencion = $conultaultimoidformulario['cantidad']+1;

									// Reggistramos asistencia productores.
									$registraatencion = $formulariocontrolador->ctrRegistraAtencionProductoresCargueMasivo($id_formulario_atencion, array_map('utf8_decode', $value_atencion));
									if($registraatencion['resultado']=='success'){
										
										$registroatencion++;

										foreach ($array_atencion_capacitacion as $key => $value_order_capacitacion) {
					
											if($value_order_capacitacion['idatencion'] == $value_atencion['idatencion']){

												$value_order_capacitacion = array_replace($value_order_capacitacion, array('idatencion'=>$id_formulario_atencion));

												$nuevoarraycapacitacion[$key] = $value_order_capacitacion;

											}

										}

									}

								}

								if($registroatencion == count($array_atencion)){

									$registrocapacitacion = 0; // Variable utilizada para validar el resgistro de asistencia.
									// Recorremos asistencia.
									foreach ($nuevoarraycapacitacion as $value_recomendacion){
										
										// Reggistramos asistencia productores.
										$registraatencion = $formulariocontrolador->ctrRegistraCapacitacionProductoresCargueMasivo($value_recomendacion['idatencion'], array_map('utf8_decode', $value_recomendacion));
										if($registraatencion['resultado']=='success'){
											
											$registrocapacitacion++;

										}

									}

								}else{

									echo json_encode(array('error' => 'Ocurrió un error al intentar registrar la atención.'));
									exit();

								}

								if($registrocapacitacion == count($nuevoarraycapacitacion)){

									echo json_encode(array('register_success' => 'Proceso exitoso'));
									exit();

								}else{

									echo json_encode(array('error' => 'Ocurrió un error al intentar subir el archivo.'));
									exit();

								}


							}else if($_POST['id_formulario_carga_archivo'] == 2){
								
								$registros = 0; // Variable utilizada para validar el resgistro de asistencia.
								// Recorremos asistencia.
								foreach ($array_asistencia as $value_asistencia){

									// Consultamos id del ultimo sie_formulario_atencion_capacitacion registrado.
									$conultaultimoidformulario = ModeloConexion::consultaSimple("SELECT MAX(id) AS cantidad FROM sie_formulario_asistencia");	
									$conultaultimoidformulario = $conultaultimoidformulario->fetch();
									$id_formulario_atencion = $conultaultimoidformulario['cantidad']+1;

									// Reggistramos asistencia productores.
									$registraasistencia = $formulariocontrolador->ctrRegistraAsistenciaCargueMasivo($id_formulario_atencion, array_map('utf8_decode',$value_asistencia));
									if($registraasistencia['resultado']=='success'){
										
										$registros++;

										// Relacionamos id asistencia con id asistencia agrícola.
										foreach ($array_agricola as $key_order_agricola => $value_order_agricola){

											if($value_asistencia['id_asistencia'] == $value_order_agricola['idasistencia']){
											
												$registroagricola++;

												$value_order_agricola = array_replace($value_order_agricola, array('idasistencia' => $id_formulario_atencion));
												$nuevoarreglo_agricola[$key_order_agricola] = $value_order_agricola;

											}

										}

										// Relacionamos id asistencia con id asistencia pecuaria.
										foreach ($array_pecuaria as $key_order_pecuaria => $value_order_pecuaria){

											if($value_asistencia['id_asistencia'] == $value_order_pecuaria['idasistencia']){
											
												$registroagricola++;

												$value_order_pecuaria = array_replace($value_order_pecuaria, array('idasistencia' => $id_formulario_atencion));
												$nuevoarreglo_pecuaria[$key_order_pecuaria] = $value_order_pecuaria;

											}

										}

										// Relacionamos id asistencia con id asistencia recomendaciones.
										foreach ($array_recomendaciones as $key_order_recomendaciones => $value_order_recomendaciones){

											if($value_asistencia['id_asistencia'] == $value_order_recomendaciones['idasistencia']){
											
												$registroagricola++;

												$value_order_recomendaciones = array_replace($value_order_recomendaciones, array('idasistencia' => $id_formulario_atencion));
												$nuevoarreglo_recomendaciones[$key_order_recomendaciones] = $value_order_recomendaciones;

											}

										}

									}

								}

								// Validamos registro de asistencia.
								if($registros == count($array_asistencia)){	

									$registroagricola = 0; // Variable utilizada para validar registro agrícola.

									foreach ($nuevoarreglo_agricola as $value_agricola) {
										
										$resgistrainformacionagricola = $formulariocontrolador->ctrRegistraInformacionAgricolaCargueMasivo($value_agricola['idasistencia'], array_map('utf8_decode', $value_agricola));		

										if($resgistrainformacionagricola['resultado']=='success'){
										
											$registroagricola++;

										}

									}

								// echo json_encode(array('array_asistencia'=>$array_asistencia, 'array_agricola'=>$array_agricola, 'array_pecuaria'=>$array_pecuaria, 'array_recomendaciones'=>$array_recomendaciones, 'accion'=>$_POST['accion']));
								// exit();
								}else{
									
									echo json_encode(array('success'=> 'Ocurrió un error al intentar registrar asistencia.'));
									exit();									

								}


								// Validamos registro de información agrícola.
								if($registros == count($array_asistencia) && $registroagricola == count($array_agricola)){

									$registropecuario = 0; // Variable utilizada para validar registro agrícola.

									foreach ($nuevoarreglo_pecuaria as $value_pecuaria) {
										
										$resgistrainformacionpecuaria = $formulariocontrolador->ctrRegistraInformacionPecuariaCargueMasivo($value_pecuaria['idasistencia'], array_map('utf8_decode', $value_pecuaria));		

										if($resgistrainformacionpecuaria['resultado']=='success'){
										
											$registropecuario++;

										}

									}
									
								}else{

									echo json_encode(array('success'=> 'Ocurrió un error al intentar registrar información agrícola.'));
									exit();		
								
								}

								// Validamos registro de información pecuaria.
								if($registropecuario == count($array_pecuaria)){
									
									$registrorecomendaciones = 0; // Variable utilizada para validar registro agrícola.

									foreach ($nuevoarreglo_recomendaciones as $value_recomendaciones) {
										
										$resgistrarecomendaciones = $formulariocontrolador->ctrRegistraRecomendacionesCargueMasivo($value_recomendaciones['idasistencia'], array_map('utf8_decode', $value_recomendaciones));		

										if($resgistrarecomendaciones['resultado']=='success'){
										
											$registrorecomendaciones++;

										}

									}
									
								}else{

									echo json_encode(array('success'=> 'Ocurrió un error al intentar registrar información pecuaria.'));
									exit();		
								
								}

								if($registrorecomendaciones == count($array_recomendaciones)){

									echo json_encode(array('register_success'=> 'Proceso exitoso.'));
									exit();		

								}else{

									echo json_encode(array('error'=> 'Ocurrió un error al intentar registrar recomendaciones.'));
									exit();		

								}

							}

						}

					} else {

						echo json_encode(array('error' => 'Ocurrió un error al intentar subir el archivo.'));
						exit();

					}
				
				}else{

					echo json_encode(array('error' => '<p>Solo se permite cargar archivos con extensión .xls, .xlsm o xlsx</p><p><b>Archivo seleccionado: </b> '.$_FILES['archivo']['name'].'</p>', 'extension'=> substr($_FILES['archivo']['name'], -4)));
					exit();

				}

			}else{

				echo json_encode(array('error' => 'No se recibió un identificador de formulario.'));
				exit();

			}
		}else{

			echo json_encode(array('error' => 'Asegúrate de seleccionar uno de los archivos <b>xls</b> definidos para subir información al sistema.'));
			exit();

		}
	
	}catch (Throwable $t){
		
		echo json_encode(array('error' => 'Por favor verificar que el fomulario que seleccionaste en el campo <b>Formulario</b> coincida con el archivo seleccionado.'/*.$t*/));
		exit();
		
	}catch(Exception $e) {
		
		echo json_encode(array('error' => 'Error: '.$e));
		exit();
	
	}
	
?>