<?php

	include('../../php/conn.php');

	require_once 'dompdf/autoload.inc.php';

	use Dompdf\Dompdf;

	// Función para obtener el nombre de los meses
		function nombre_meses($num_mes){
	  		if ($num_mes == 1){
				return "ENERO";
			}
			if ($num_mes == 2){
				return "FEBRERO";
			}
			if ($num_mes == 3){
				return "MARZO";
			}
			if ($num_mes == 4){
				return "ABRIL";
			}
			if ($num_mes == 5){
				return "MAYO";
			}
			if ($num_mes == 6){
				return "JUNIO";
			}
			if ($num_mes == 7){
				return "JULIO";
			}
			if ($num_mes == 8){
				return "AGOSTO";
			}
			if ($num_mes == 9){
				return "SEPTIEMBRE";
			}
			if ($num_mes == 10){
				return "OCTUBRE";
			}
			if ($num_mes == 11){
				return "NOVIEMBRE";
			}
			if ($num_mes == 12){
				return "DICIEMBRE";
			}
	  	}

	// Verificando si es "-", "<" o ">"
	 	function f_VerificaSimbolo($_tipo, $_resultado){
	        $resultado = 0;

	        // Verifica si es: "-"
	            if ($_tipo == 1){
	                if ($_resultado == 99999.99999){
	                    $resultado = 1;
	                }
	            }

	        // Verifica si es: "<" ó ">"
	            if ($_tipo == 2){
	                $num_ceros = 0;

	                // Comprobando el total de nueves
	                    // $num_ceros = $_resultado.toString().substr($_resultado.toString().length - 10);
	                    $num_ceros = substr(trim($_resultado), strlen(trim($_resultado)) - 10);

	                    if ($num_ceros != '9999999999'){
	                        // $num_ceros = $_resultado.toString().substr($_resultado.toString().length - 9);
	                        $num_ceros = substr(trim($_resultado), strlen(trim($_resultado)) - 9);

	                        if ($num_ceros != '999999999'){
	                            // $num_ceros = $_resultado.toString().substr($_resultado.toString().length - 8);
	                            $num_ceros = substr(trim($_resultado), strlen(trim($_resultado)) - 8);

	                            if ($num_ceros != '99999999'){
	                                // $num_ceros = $_resultado.toString().substr($_resultado.toString().length - 7);
	                                $num_ceros = substr(trim($_resultado), strlen(trim($_resultado)) - 7);

	                                if ($num_ceros != '9999999'){
	                                    $num_ceros = 0;
	                                }
	                            }
	                        }
	                    }

	                // $resultado = $num_ceros.length;
					$resultado = strlen($num_ceros);
	            }

	        return $resultado;
	    };

	// Obtiene resultado final
	    function f_GetResultadoSimbolo($_num_ceros, $_resultado){
	        $simbolo = '';
	        $is_entero = 0;
	        $num_left = '';
	        $decimal = '';
	        $num_entero = '';
	        $c = 0;
	        $num_ceros = '';

	        // Determinando el símbolo
	            if ($_num_ceros >= 7 && $_num_ceros <= 8){
	                $simbolo = '<';
	                $is_entero = (($_num_ceros == 7) ? 1 : 0);
	            }

	            if ($_num_ceros >= 9 && $_num_ceros <= 10){
	                $simbolo = '>';
	                $is_entero = (($_num_ceros == 9) ? 1 : 0);
	            }

	        // Obteniendo resultados
	            // $num_left = $_resultado.toString().substr(0, $_resultado.toString().indexOf('.'));
	            $num_left = substr($_resultado, 0, strpos($_resultado, '.'));

	            if ($is_entero == 1){
	                // $_resultado = $simbolo + ' ' + (parseInt($num_left) + 1);
	                $_resultado = $simbolo.' '.($num_left + 1);
	            }
	            else{
	                // Obtiene la parte decimal
	                    // $decimal = $_resultado.toString().substr($_resultado.toString().indexOf('.') + 1);
						$decimal = substr($_resultado, strpos($_resultado, '.') + 1);

	                // Obteniene el número entero de los decimales
	                    $menos_un_cero = 0;

	                    // $num_entero = $decimal.substr(0, $decimal.length - $_num_ceros);
	                    $num_entero = substr($decimal, 0, strlen($decimal) - $_num_ceros);

	                    $menos_un_cero = ((intval($num_entero) == 0) ? 1 : 0);

	                    $num_entero = intval($num_entero) + 1;

	                // 2. Obteniendo la cantidad de CEROS de la parte decimal
	                    // while ($c < ($decimal.substr(0, $decimal.length - $_num_ceros).length - $menos_un_cero)){
	                    while ($c < (strlen(substr($decimal, 0, strlen($decimal) - $_num_ceros)) - $menos_un_cero)){
	                      // if ($decimal.substr($c, 1) == 0){
	                      if (substr($decimal, $c, 1) == 0){
	                        $num_ceros .= '0';
	                      }

	                      $c += 1;
	                    }

	                $_resultado = $simbolo.' '.$num_left.'.'.$num_ceros.$num_entero;
	            }

	        return $_resultado;
	    };

	// Actualiza a Onzas si es Au y/o Ag
	    function f_GetResultadoOnzas($_Resultado, $_Elemento){
	        $resultado = $_Resultado;
	        $elemento = $_Elemento;

	        $_resultado = '';
	        $factor = 34.285;

	        if ($elemento == 'au' || $elemento == 'ag'){
	            if (trim($resultado) == '-'){
	                $_resultado = '-';
	            }
	            else{
	                $simbolo = substr(trim($resultado), 0, 1);

	                if ($simbolo == '<' || $simbolo == '>'){
	                    if ($simbolo == '<'){
	                        $_resultado = '-';
	                    }
	                    else{
	                        // $_resultado = $resultado.trim().substr(1);
	                        $_resultado = substr(trim($resultado), 1);

	                        $_resultado = '> '.round(($_resultado / $factor), 2);
	                    }
	                }
	                else{
	                    // if ($resultado.trim().length == 0){
	                    if (strlen(trim($resultado)) == 0){
	                        $_resultado = '';
	                    }
	                    else{
	                        $_resultado = round(($resultado / $factor), 2);
	                    }
	                }
	            }

	            return $_resultado;
	        }
	    };

	// Parámetros principales
	  	$id_pedido = $_GET["Id"];
	  	$codigos_internos = $_GET["CI"];

	  	$codigos_internos = str_replace(']-[', "','", $codigos_internos);
	  	$codigos_internos = str_replace('[', "'", $codigos_internos);
	    $codigos_internos = str_replace(']', "'", $codigos_internos);
	    $codigos_internos = str_replace('*', "", $codigos_internos);

	// Obteniendo datos de cabecera
		$q_cabecera = "	SELECT	1 AS TIPO,
						        *,
						        COUNT(Id_Pedido) AS TOTAL_MUESTRAS
						  FROM	(SELECT	CP.Id_Pedido,
										_CP.cNombreCliente AS NOMBRE_EMPRESA,
										MC.cRazonSocial,
										CP.Documento_Cliente,
						                MC.cNumeroTelefono + CASE WHEN LEN(cSegundoNumeroTelefono) > 0 THEN ' - ' + cSegundoNumeroTelefono ELSE '' END AS TELEFONO_CLIENTE,
						                MC.cEmail,
						                CP.Observacion,
						                CP.Sucursal,
						                '' AS Cod_Interno,

						                (SELECT TOP 1 Correlativo
						                   FROM _max_labperu_CorrelativoInformeEnsayos
						                  WHERE Id_Pedido = CP.Id_Pedido
						                    AND Id_Detalle_Pedido IN (SELECT Id
																		FROM _max_labperu_DetallePedido X
																	   WHERE X.Id_Pedido = CP.Id_Pedido
																		 AND X.Cod_Interno IN (".$codigos_internos."))
										 ORDER BY Fecha_Creacion) AS CORRELATIVO,

										(SELECT TOP 1 CONVERT(VARCHAR, Fecha_PreCierre, 103)
										   FROM _max_labperu_DetalleAnalisisResultados
										  WHERE Id_Pedido = CP.Id_Pedido
											AND Id_Detalle_Pedido IN (SELECT Id
																		FROM _max_labperu_DetallePedido X
																	   WHERE X.Id_Pedido = CP.Id_Pedido
																		 AND X.Cod_Interno IN (".$codigos_internos."))
										 ORDER BY Fecha_PreCierre DESC) AS Fecha_PreCierre,

										COALESCE(
										(SELECT TOP 1 CONVERT(VARCHAR, Fecha_InicioEnsayo, 103)
										   FROM _max_labperu_DetalleAnalisisResultados
										  WHERE Id_Pedido = CP.Id_Pedido
											AND Id_Detalle_Pedido IN (SELECT Id
																		FROM _max_labperu_DetallePedido X
																	   WHERE X.Id_Pedido = CP.Id_Pedido
																		 AND X.Cod_Interno IN (".$codigos_internos."))
										 ORDER BY Fecha_InicioEnsayo), CONVERT(VARCHAR, CP.FechaHora_Recepcion, 103)) AS Fecha_InicioEnsayo,

										CONVERT(VARCHAR, CP.FechaHora_Recepcion, 103) + ' ' + SUBSTRING(CONVERT(VARCHAR, CP.FechaHora_Recepcion, 108), 1, 5) AS FechaHora_Recepcion,
										CONVERT(VARCHAR, CP.FechaHora_Entrega, 103) + ' ' + SUBSTRING(CONVERT(VARCHAR, CP.FechaHora_Entrega, 108), 1, 5) AS FechaHora_Entrega,
										CONVERT(VARCHAR, CP.FechaHora_Recepcion, 103) AS Fecha_Recepcion,
										CP.Mostrar_Contacto
						            FROM  _max_labperu_CabeceraPedido CP
						                 LEFT JOIN _max_labperu_DetallePedido DP ON CP.Id_Pedido = DP.Id_Pedido
						                 INNER JOIN Cabecera_Pedido _CP ON CP.Id_Pedido = _CP.iId_Cabecera_Pedido
						                 INNER JOIN maestroCliente MC ON CP.iIdCliente = MC.iIdCliente
						           WHERE  CP.es_anulada = 0
						             AND CP.Id_Pedido = ".$id_pedido."
						             AND DP.Cod_Interno IN (".$codigos_internos.")) AS DATOS
						GROUP BY Id_Pedido, Sucursal, Cod_Interno, CORRELATIVO, FechaHora_Recepcion, FechaHora_Entrega, NOMBRE_EMPRESA,
								 cRazonSocial, Documento_Cliente, TELEFONO_CLIENTE, cEmail, Observacion, Sucursal, Fecha_PreCierre, Fecha_InicioEnsayo, Fecha_Recepcion
						ORDER BY FechaHora_Recepcion";

		if ($res_cabecera = sqlsrv_query($enlacehost, $q_cabecera)) {
			while($row_cabecera = sqlsrv_fetch_array($res_cabecera)) {
				$correlativo = $row_cabecera["CORRELATIVO"];
				$sucursal = $row_cabecera["Sucursal"];
				$nombre_empresa = $row_cabecera["NOMBRE_EMPRESA"];
				$cliente = $row_cabecera["cRazonSocial"];
				$cliente_documento = $row_cabecera["Documento_Cliente"];
				$cliente_telefono = $row_cabecera["TELEFONO_CLIENTE"];
				$cliente_email = $row_cabecera["cEmail"];
				$referencia_cliente = $row_cabecera["Observacion"];
				$total_muestras = $row_cabecera["TOTAL_MUESTRAS"];
				$fecha_recepcion = $row_cabecera["Fecha_Recepcion"];
				$fecha_inicioensayo = $row_cabecera["Fecha_InicioEnsayo"];
				$fecha_cierreinforme = $row_cabecera["Fecha_PreCierre"];
				$mostrar_contacto = $row_cabecera["Mostrar_Contacto"];
			}
		}

	$html = '<!DOCTYPE html>
			 <html lang="es">
				<head>
					<title>Informe de Ensayo - '.$correlativo.'</title>
			    </head>

				<div>
					<img src="images/logos/logo_nuevo.png" width="140px"/>
				</div>

				<div style="margin-left: 20px">
					<div style="margin-top: -20px; text-align: center; font-weight: 900; font-size: 20px">
						INFORME DE ENSAYO N° '.(($sucursal == 2) ? 'SU ' : '').$correlativo.'
					</div>

					<table style="margin-top: 15px">
						<tr style="font-size: 11px">
							<td style="width: 180px">
								Cliente
							</td>

							<td>
								<b>: '.strtoupper($nombre_empresa).'</b>
							</td>
						</tr>';

						if ($mostrar_contacto == 1){
							$html .= '	<tr style="font-size: 11px">
											<td style="width: 180px">
												Contacto
											</td>

											<td>
												: '.strtoupper($cliente)."&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;DNI / RUC:".$cliente_documento."&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Teléfono: ".$cliente_telefono.'&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;EMail: '.((strlen($cliente_email) == 0) ? '-' : $cliente_email).'</b>
											</td>
										</tr>';
						}

	$html .= '			<tr style="font-size: 11px">
							<td style="width: 180px">
								Referencia del Cliente
							</td>

							<td>
								<b>: '.$referencia_cliente.'</b>
							</td>
						</tr>

						<tr style="font-size: 11px">
							<td style="width: 180px">
								Cantidad de Muestras
							</td>

							<td>
								<b>: '.$total_muestras.'</b>
							</td>
						</tr>

						<tr style="font-size: 11px">
							<td style="width: 180px">
								Fecha de Recepción
							</td>

							<td>
								<b>: '.$fecha_recepcion.'</b>
							</td>
						</tr>

						<tr style="font-size: 11px">
							<td style="width: 180px">
								Fecha de Inicio de Ensayo
							</td>

							<td>
								<b>: '.$fecha_inicioensayo.'</b>
							</td>
						</tr>

						<tr style="font-size: 11px">
							<td style="width: 180px">
								Fecha de Término de Ensayo
							</td>

							<td>
								<b>: '.$fecha_cierreinforme.'</b>
							</td>
						</tr>

						<tr style="font-size: 11px">
							<td style="width: 180px">
								Lugar de ejecución del ensayo
							</td>

							<td>
								<b>: Lab Perú Minerals S.R.L., Mz. N19, Lote 1C, Parque Industrial, La Esperanza, La Libertad, Perú</b>
							</td>
						</tr>
					</table>

					<table style="margin-top: 15px; border-spacing: 0px;">
						<tr style="font-size: 11px;">
							<td style="width: 180px; text-align: center; border: solid; border-width: 0.5px; border-color: #000000">
								Código de Método
							</td>
							<td style="width: 100%; text-align: center; border: solid; border-width: 0.5px; border-color: #000000">
								Descripción
							</td>
						</tr>';

	// Determinando Métodos de Ensayo y resultados por elemento
		$arr_metodos = '';
		$arr_metodo_exists = '';
		$q_resultados = '';
		$q_resultados_x = '';

		// $q_metodos = "	SELECT	DP.Elemento_Analisis,
		// 						DP.Tipo_Muestra,
		// 						CASE WHEN DAR.Ley_Au_gt = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Ley_Au_gt) END AS augt,
		// 						DAR.Ley_Au_ot AS auot,
		// 						CASE WHEN DAR.Ley_Ag_gt = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Ley_Ag_gt) END AS aggt,
		// 						DAR.Ley_Ag_ot AS agot,
		// 						CASE WHEN DAR.Porc_CU = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_CU) END AS cu,
		// 						CASE WHEN DAR.Porc_PB = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_PB) END AS pb,
		// 						CASE WHEN DAR.Porc_ZN = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_ZN) END AS zn,
		// 						CASE WHEN DAR.Porc_AS = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_AS) END AS _as,
		// 						CASE WHEN DAR.Porc_SB = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_SB) END AS sb,
		// 						CASE WHEN DAR.Porc_S = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_S) END AS s,
		// 						CASE WHEN DAR.Porc_FE = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_FE) END AS fe,
		// 						CASE WHEN DAR.Porc_H2O = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_H2O) END AS ho
		// 				  FROM	_max_labperu_CabeceraPedido CP
		// 						LEFT JOIN _max_labperu_DetallePedido DP ON CP.Id_Pedido = DP.Id_Pedido
		// 						LEFT JOIN _max_labperu_DetalleAnalisisResultados DAR ON DP.Id_Pedido = DAR.Id_Pedido
		// 						  AND DP.Id = DAR.Id_Detalle_Pedido
		// 				 WHERE	CP.es_anulada = 0
		// 				   AND	CP.Id_Pedido = ".$id_pedido."
		// 				   AND  DP.Cod_Interno IN (".$codigos_internos.")
		// 				ORDER BY FechaHora_Recepcion";

		$q_metodos = "	SELECT	DP.Id,
								DP.Elemento_Analisis,
								DP.Tipo_Muestra,
								DAR.Ley_Au_gt AS augt,
								DAR.Ley_Au_ot AS auot,
								DAR.Ley_Ag_gt AS aggt,
								DAR.Ley_Ag_ot AS agot,
								DAR.Porc_CU AS cu,
								DAR.Porc_PB AS pb,
								DAR.Porc_ZN AS zn,
								DAR.Porc_AS AS _as,
								DAR.Porc_SB AS sb,
								DAR.Porc_S AS s,
								DAR.Porc_FE AS fe,
								DAR.Porc_H2O AS ho
						  FROM	_max_labperu_CabeceraPedido CP
								LEFT JOIN _max_labperu_DetallePedido DP ON CP.Id_Pedido = DP.Id_Pedido
								LEFT JOIN _max_labperu_DetalleAnalisisResultados DAR ON DP.Id_Pedido = DAR.Id_Pedido
								  AND DP.Id = DAR.Id_Detalle_Pedido
						 WHERE	CP.es_anulada = 0
						   AND	CP.Id_Pedido = ".$id_pedido."
						   AND  DP.Cod_Interno IN (".$codigos_internos.")
						ORDER BY FechaHora_Recepcion";

		if ($res_metodos = sqlsrv_query($enlacehost, $q_metodos)) {
			while($row_metodos = sqlsrv_fetch_array($res_metodos)) {
				$id_detalle = $row_metodos["Id"];
				$elemento_analisis = $row_metodos["Elemento_Analisis"];
				$tipo_muestra = $row_metodos["Tipo_Muestra"];

				$augt = $row_metodos["augt"];
				$auot =$row_metodos["auot"];
				$aggt =$row_metodos["aggt"];
				$agot =$row_metodos["agot"];
				$cu =$row_metodos["cu"];
				$pb =$row_metodos["pb"];
				$zn = $row_metodos["zn"];
				$as =$row_metodos["_as"];
				$sb =$row_metodos["sb"];
				$s =$row_metodos["s"];
				$fe =$row_metodos["fe"];
				$ho = $row_metodos["ho"];

				$e = 0;
				$elementos = explode('-', $elemento_analisis);

				while ($e < count($elementos)){
					$elemento = trim(strtolower($elementos[$e]));

					if ($elemento != 'carbon act. (au)' && $elemento != 'carbon act. (au-ag)' && $elemento != 'metalurgica' && $elemento != 'newmont (au - ag)' && $elemento != 'newmont (au)'){

						// Obteniendo resultados por cada elemento
							if ($elemento == 'au'){
								$resultado = $augt;
							}

							if ($elemento == 'ag'){
								$resultado = $aggt;
							}

							if ($elemento == 'cu'){
								$resultado = $cu;
							}

							if ($elemento == 'pb'){
								$resultado = $pb;
							}

							if ($elemento == 'zn'){
								$resultado = $zn;
							}

							if ($elemento == 'as'){
								$resultado = $as;
							}

							if ($elemento == 'sb'){
								$resultado = $sb;
							}

							if ($elemento == 's'){
								$resultado = $s;
							}

							if ($elemento == 'fe'){
								$resultado = $fe;
							}

							if ($elemento == 'h2o'){
								$resultado = $ho;
							}

						// Determina el método
							// $q_metodos = "	SELECT	CONVERT(VARCHAR, ME.orden_metodo) + '**' +
							// 						ME.cod_metodo + '**' +
							// 						ME.nom_metodo + '**' + C.version + '**' + '".$elemento."' + '**' + D.unidad_elemento AS METODOS,
							// 						ME.orden_metodo,
							// 						ME.cod_metodo, D.cod_elemento, D.unidad_elemento, D.cant_decimales,
							// 						'".$resultado."' AS RESULTADO,
							// 						CONVERT(VARCHAR, ME.orden_metodo) + D.cod_elemento AS _EXISTS,
							// 						".$id_detalle." AS Id_Detalle
							// 				  FROM	_max_labperu_MetodosEnsayo_Detalle D
							// 						INNER JOIN _max_labperu_MetodosEnsayo_Cabecera C ON D.metodo_cabecera = C.Id
							// 						INNER JOIN _max_labperu_MetodosEnsayo ME ON D.cod_metodo = ME.Id
							// 				 WHERE	LOWER(D.cod_elemento) = '".$elemento."'
							// 				   AND	CONVERT(FLOAT, ".$resultado.") BETWEEN D.resultado_minimo AND D.resultado_maximo
							// 				   AND 	$resultado <> 99999.99999
							// 				   AND	ME.tipo_muestra = ".$tipo_muestra."
							// 				   AND	D.estado_metodo = 'A'

							// 				UNION

							// 				SELECT	CONVERT(VARCHAR, ME.orden_metodo) + '**' +
							// 						ME.cod_metodo + '**' +
							// 						ME.nom_metodo + '**' + C.version + '**' + '".$elemento."' + '**' + D.unidad_elemento AS METODOS,
							// 						ME.orden_metodo,
							// 						ME.cod_metodo, D.cod_elemento, D.unidad_elemento, D.cant_decimales,
							// 						'> ' + CONVERT(VARCHAR, D.resultado_maximo) AS RESULTADO,
							// 						CONVERT(VARCHAR, ME.orden_metodo) + D.cod_elemento AS _EXISTS,
							// 						".$id_detalle." AS Id_Detalle
							// 				  FROM	_max_labperu_MetodosEnsayo_Detalle D
							// 						INNER JOIN _max_labperu_MetodosEnsayo_Cabecera C ON D.metodo_cabecera = C.Id
							// 						INNER JOIN _max_labperu_MetodosEnsayo ME ON D.cod_metodo = ME.Id
							// 				 WHERE	LOWER(D.cod_elemento) = '".$elemento."'
							// 				   AND	CONVERT(FLOAT, ".$resultado.") > D.resultado_maximo
							// 				   AND 	$resultado <> 99999.99999
							// 				   AND	ME.tipo_muestra = ".$tipo_muestra."
							// 				   AND	D.estado_metodo = 'A'";

							$q_metodos = "	SELECT	CONVERT(VARCHAR, ME.orden_metodo) + '**' +
													ME.cod_metodo + '**' +
													ME.nom_metodo + '**' + C.version + '**' + '".$elemento."' + '**' + D.unidad_elemento AS METODOS,
													ME.orden_metodo,
													ME.cod_metodo, D.cod_elemento, D.unidad_elemento, D.cant_decimales,
													'".$resultado."' AS RESULTADO,
													CONVERT(VARCHAR, ME.orden_metodo) + D.cod_elemento AS _EXISTS,
													".$id_detalle." AS Id_Detalle
											  FROM	_max_labperu_MetodosEnsayo_Detalle D
													INNER JOIN _max_labperu_MetodosEnsayo_Cabecera C ON D.metodo_cabecera = C.Id
													INNER JOIN _max_labperu_MetodosEnsayo ME ON D.cod_metodo = ME.Id
											 WHERE	LOWER(D.cod_elemento) = '".$elemento."'
											   AND	CONVERT(FLOAT, ".$resultado.") BETWEEN D.resultado_minimo AND D.resultado_maximo
											   AND 	$resultado <> 99999.99999
											   AND	ME.tipo_muestra = ".$tipo_muestra."
											   AND	D.estado_metodo = 'A'";

							$q_resultados_x .= $q_metodos.' UNION ';

							if ($res_metodos_a = sqlsrv_query($enlacehost, $q_metodos)) {
		    					$num_rows = 0;

			    				while($row_metodos_a = sqlsrv_fetch_array($res_metodos_a)) {
			    					// if (strpos($arr_metodos, $row_metodos_a["orden_metodo"].'**') === false){
			    					// 	$arr_metodos .= $row_metodos_a["METODOS"].'|';

			    					// 	// $q_resultados .= $q_metodos.' UNION ';
			    					// }

			    					if (strpos($arr_metodo_exists, $row_metodos_a["_EXISTS"]) === false){
			    						$arr_metodos .= $row_metodos_a["METODOS"].'|';
			    						$arr_metodo_exists .= $row_metodos_a["_EXISTS"].'|';

			    						$q_resultados .= $q_metodos.' UNION ';
			    					}

			    					$num_rows += 1;
			    				}

			    				if ($num_rows == 0){
			    					$q_metodos = "	SELECT	CONVERT(VARCHAR, ME.orden_metodo) + '**' +
													ME.cod_metodo + '**' +
													ME.nom_metodo + '**' + C.version + '**' + '".$elemento."' + '**' + D.unidad_elemento AS METODOS,
													ME.orden_metodo,
													ME.cod_metodo, D.cod_elemento, D.unidad_elemento, D.cant_decimales,
													'< ' + CONVERT(VARCHAR, D.resultado_minimo) AS RESULTADO,
													CONVERT(VARCHAR, ME.orden_metodo) + D.cod_elemento AS _EXISTS,
													".$id_detalle." AS Id_Detalle
											  FROM	_max_labperu_MetodosEnsayo_Detalle D
													INNER JOIN _max_labperu_MetodosEnsayo_Cabecera C ON D.metodo_cabecera = C.Id
													INNER JOIN _max_labperu_MetodosEnsayo ME ON D.cod_metodo = ME.Id
											 WHERE	LOWER(D.cod_elemento) = '".$elemento."'
											   AND	CONVERT(FLOAT, ".$resultado.") < D.resultado_minimo
											   AND 	$resultado <> 99999.99999
											   AND	ME.tipo_muestra = ".$tipo_muestra."
											   AND	D.estado_metodo = 'A'";

									$q_resultados_x .= $q_metodos.' UNION ';

									if ($res_metodos_b = sqlsrv_query($enlacehost, $q_metodos)) {
					    				while($row_metodos_b = sqlsrv_fetch_array($res_metodos_b)) {
					    					if (strpos($arr_metodos, $row_metodos_b["orden_metodo"].'**') === false){
					    						$arr_metodos .= $row_metodos_b["METODOS"].'|';
					    						$arr_metodo_exists .= $row_metodos_b["_EXISTS"].'|';

					    						$q_resultados .= $q_metodos.' UNION ';
					    					}
					    				}
					    			}
			    				}
			    			}

			    	}

					$e += 1;
				}
			}
		}

		$arr_metodos = substr($arr_metodos, 0, -1);
		$metodos = explode('|', $arr_metodos);
		sort($metodos);

		// Colocando Métodos
			$m = 0;
			$metodo_exists = '';

			while($m < count($metodos)){
				$detalle = explode('**', $metodos[$m]);

				if (strpos($metodo_exists, '['.$detalle[1].']') === false){
					$html .= '		<tr style="font-size: 11px;">';

					$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center">';
					$html .= '					'.$detalle[1]. ' / Ver. '.$detalle[3];
					$html .= '				</td>';

					$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000">';
					$html .= '					'.$detalle[2];
					$html .= '				</td>';

					$html .= '			</tr>';
				}

				$m += 1;

				$metodo_exists .= '['.$detalle[1].']';
			}

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

	// Recuperando los resultados con cabeceras
		$r = array();
		$q_resultados = substr($q_resultados, 0, -6);

		if ($res_resultados = sqlsrv_query($enlacehost, $q_resultados)) {
			while($row_resultados = sqlsrv_fetch_array($res_resultados)) {
				array_push($r, $row_resultados);
			}
		}

	// Recuperando los resultados para detalles
		$r_x = array();
		$q_resultados_x = substr($q_resultados_x, 0, -6);

		if ($res_resultados_x = sqlsrv_query($enlacehost, $q_resultados_x)) {
			while($row_resultados_x = sqlsrv_fetch_array($res_resultados_x)) {
				array_push($r_x, $row_resultados_x);
			}
		}

		$html .= '		<table style="margin_top: 20px; margin-left: -10px; border-spacing: 0px; width: 100%">';

	// Cabeceras Fijas
		$html .= '			<tr style="font-size: 11px;">';

		$html .= '				<td colspan=5>';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle">';
		$html .= '					Método Elemento';
		$html .= '				</td>';

	// Cabeceras Dinámicas (Fijas) - Primeras Cabeceras
		$m = 0;

		while($m < count($r)){
			$html .= '				<td rowspan="2" style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
			$html .= '					<p><font style="font-size: 12px">'.$r[$m][2].'</p></font><p>'.strtoupper($r[$m][3]).'</p>'.'<p>'.strtolower($r[$m][4]).'<p>';
			$html .= '				</td>';

			// Determinando si es MLP-003 y Au o Ag
				if (($r[$m][2] == 'MLP-003' || $r[$m][2] == 'MLP-001' || $r[$m][2] == 'MLP-010') && (trim(strtolower(strtoupper($r[$m][3]))) == 'au' || trim(strtolower(strtoupper($r[$m][3]))) == 'ag')){
					$html .= '				<td rowspan="2" style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
					$html .= '					<p><font style="font-size: 12px">'.$r[$m][2].'</p></font><p>'.strtoupper($r[$m][3]).'</p>'.'<p>oz/tc<p>';
					$html .= '				</td>';
				}

			$m += 1;
		}

		$html .= '			</tr>';

	// Segundas Cabeceras
		$html .= '			<tr style="font-size: 10px;">';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 10%">';
		$html .= '					N°';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 15%">';
		$html .= '					Código Cliente';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle">';
		$html .= '					Tipo de Ensayo';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle">';
		$html .= '					Tipo de Muestra';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle">';
		$html .= '					Presentación de la Muestra';
		$html .= '				</td>';

		$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle">';
		$html .= '					Código Laboratorio';
		$html .= '				</td>';

		$html .= '			</tr>';

	// Agregando resultados
		// $q_resultados = "SELECT	CP.Id_Pedido,
		// 						DP.Id AS Id_Detalle,
		// 						DP.Elemento_Analisis,
		// 						DP.Nom_Muestra,
		// 						TA.Des_TipoAnalisis,
		// 						TM.Nombre_TipoMuestra,
		// 						DE.Nombre_DetalleEnvase,
		// 						CONVERT(VARCHAR, CP.FechaHora_Recepcion, 103) AS FechaHora_Recepcion,
		// 						CONVERT(VARCHAR, COALESCE(DAR.Fecha_InicioEnsayo, CP.FechaHora_Recepcion), 103) AS Fecha_InicioEnsayo,
		// 						CONVERT(VARCHAR, DAR.Fecha_PreCierre, 103) AS Fecha_CierreInforme,
		// 						DP.Cod_Interno,
		// 						CASE WHEN DAR.Ley_Au_gt = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Ley_Au_gt) END AS Ley_Au_gt,
		// 						DAR.Ley_Au_ot,
		// 						CASE WHEN DAR.Ley_Ag_gt = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Ley_Ag_gt) END AS Ley_Ag_gt,
		// 						DAR.Ley_Ag_ot,
		// 						CASE WHEN DAR.Porc_CU = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_CU) END AS Porc_CU,
		// 						CASE WHEN DAR.Porc_PB = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_PB) END AS Porc_PB,
		// 						CASE WHEN DAR.Porc_ZN = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_ZN) END AS Porc_ZN,
		// 						CASE WHEN DAR.Porc_AS = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_AS) END AS Porc_AS,
		// 						CASE WHEN DAR.Porc_SB = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_SB) END AS Porc_SB,
		// 						CASE WHEN DAR.Porc_S = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_S) END AS Porc_S,
		// 						CASE WHEN DAR.Porc_FE = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_FE) END AS Porc_FE,
		// 						CASE WHEN DAR.Porc_H2O = 99999.99999 THEN '-' ELSE CONVERT(VARCHAR, DAR.Porc_H2O) END AS Porc_H2O
		// 				  FROM  _max_labperu_CabeceraPedido CP
		// 						LEFT JOIN _max_labperu_DetallePedido DP ON CP.Id_Pedido = DP.Id_Pedido
		// 						LEFT JOIN _max_labperu_DetalleAnalisisResultados DAR ON DP.Id_Pedido = DAR.Id_Pedido
		// 						  AND DP.Id = DAR.Id_Detalle_Pedido
		// 						INNER JOIN _max_labperu_TiposMuestra TM ON DP.Tipo_Muestra = TM.Id
		// 						INNER JOIN _max_labperu_DetalleEnvase DE ON DP.Detalle_Envase = DE.Id
		// 						INNER JOIN _max_labperu_TipoAnalisis TA ON DP.Tipo_Analisis = TA.Id
		// 				 WHERE  CP.es_anulada = 0
		// 				   AND	CP.Id_Pedido = ".$id_pedido."
		// 				   AND DP.Cod_Interno IN (".$codigos_internos.")
		// 				ORDER BY CP.FechaHora_Recepcion DESC, DP.Id";

		$q_resultados = "SELECT	CP.Id_Pedido,
								DP.Id AS Id_Detalle,
								DP.Elemento_Analisis,
								DP.Nom_Muestra,
								TA.Des_TipoAnalisis,
								TM.Nombre_TipoMuestra,
								DE.Nombre_DetalleEnvase,
								CONVERT(VARCHAR, CP.FechaHora_Recepcion, 103) AS FechaHora_Recepcion,
								CONVERT(VARCHAR, COALESCE(DAR.Fecha_InicioEnsayo, CP.FechaHora_Recepcion), 103) AS Fecha_InicioEnsayo,
								CONVERT(VARCHAR, DAR.Fecha_PreCierre, 103) AS Fecha_CierreInforme,
								DP.Cod_Interno,
								DAR.Ley_Au_gt,
								DAR.Ley_Au_ot,
								DAR.Ley_Ag_gt,
								DAR.Ley_Ag_ot,
								DAR.Porc_CU,
								DAR.Porc_PB,
								DAR.Porc_ZN,
								DAR.Porc_AS,
								DAR.Porc_SB,
								DAR.Porc_S,
								DAR.Porc_FE,
								DAR.Porc_H2O
						  FROM  _max_labperu_CabeceraPedido CP
								LEFT JOIN _max_labperu_DetallePedido DP ON CP.Id_Pedido = DP.Id_Pedido
								LEFT JOIN _max_labperu_DetalleAnalisisResultados DAR ON DP.Id_Pedido = DAR.Id_Pedido
								  AND DP.Id = DAR.Id_Detalle_Pedido
								INNER JOIN _max_labperu_TiposMuestra TM ON DP.Tipo_Muestra = TM.Id
								INNER JOIN _max_labperu_DetalleEnvase DE ON DP.Detalle_Envase = DE.Id
								INNER JOIN _max_labperu_TipoAnalisis TA ON DP.Tipo_Analisis = TA.Id
						 WHERE  CP.es_anulada = 0
						   AND	CP.Id_Pedido = ".$id_pedido."
						   AND DP.Cod_Interno IN (".$codigos_internos.")
						ORDER BY CP.FechaHora_Recepcion DESC, DP.Id";

		if ($res_resultados = sqlsrv_query($enlacehost, $q_resultados)) {
			while($row_resultados = sqlsrv_fetch_array($res_resultados)) {
				$html .= '			<tr style="font-size: 10px;">';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 20px">';
				$html .= '					1';
				$html .= '				</td>';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 70px">';
				$html .= '					'.$row_resultados["Nom_Muestra"];
				$html .= '				</td>';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
				$html .= '					'.$row_resultados["Des_TipoAnalisis"];
				$html .= '				</td>';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
				$html .= '					'.$row_resultados["Nombre_TipoMuestra"];
				$html .= '				</td>';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
				$html .= '					'.$row_resultados["Nombre_DetalleEnvase"];
				$html .= '				</td>';

				$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 40px">';
				$html .= '					'.$row_resultados["Cod_Interno"];
				$html .= '				</td>';

				// Agregando resultados por elemento
					$m = 0;

					while($m < count($r)){
						$metodo = strtolower($r[$m][2]);
						$elemento = strtolower($r[$m][3]);
						$decimales = $r[$m][5];

						// // Modo anterior para obtener el resultado
						// 	if ($elemento == 'au'){
						// 		$resultado = $row_resultados["Ley_Au_gt"];
						// 	}

						// 	if ($elemento == 'ag'){
						// 		$resultado = $row_resultados["Ley_Ag_gt"];
						// 	}

						// 	if ($elemento == 'cu'){
						// 		$resultado = $row_resultados["Porc_CU"];
						// 	}

						// 	if ($elemento == 'pb'){
						// 		$resultado = $row_resultados["Porc_PB"];
						// 	}

						// 	if ($elemento == 'zn'){
						// 		$resultado = $row_resultados["Porc_ZN"];
						// 	}

						// 	if ($elemento == 'as'){
						// 		$resultado = $row_resultados["Porc_AS"];
						// 	}

						// 	if ($elemento == 'sb'){
						// 		$resultado = $row_resultados["Porc_SB"];
						// 	}

						// 	if ($elemento == 's'){
						// 		$resultado = $row_resultados["Porc_S"];
						// 	}

						// 	if ($elemento == 'fe'){
						// 		$resultado = $row_resultados["Porc_FE"];
						// 	}

						// 	if ($elemento == 'h2o'){
						// 		$resultado = $row_resultados["Porc_H2O"];
						// 	}

						// Obteniendo resultados (nuevo)
							$x = 0;

							$simbolo_1 = 0;
		                    $simbolo_2 = 0;
		                    $menor_que = 0;
// echo "</br>";
// echo "------------------------ CABECERA";
// echo "</br>";
// echo '$row_resultados["Id_Detalle"]: '.$row_resultados["Id_Detalle"];
// echo "</br>";
// echo '$metodo: '.$metodo;
// echo "</br>";
// echo '$elemento: '.$elemento;
// echo "</br>";
// echo '$decimales: '.$decimales;
// echo "</br>";
// echo "------------------------";
// echo "</br>";
							while($x < count($r_x)){
								$metodo_x = $r_x[$x][2];
								$elemento_x = $r_x[$x][3];
								$decimales_x = $r_x[$x][5];
								$resultado_x = $r_x[$x][6];
								$id_detalle_x = $r_x[$x][8];
// echo "</br>";
// echo "------------------------ DETALLE";
// echo "</br>";
// echo '$metodo_x: '.$metodo_x;
// echo "</br>";
// echo '$elemento_x: '.$elemento_x;
// echo "</br>";
// echo '$decimales_x: '.$decimales_x;
// echo "</br>";
// echo '$resultado_x: '.$resultado_x;
// echo "</br>";
// echo '$id_detalle_x: '.$id_detalle_x;
// echo "</br>";
								if (strtolower($id_detalle_x) == strtolower($row_resultados["Id_Detalle"]) &&
									strtolower($elemento_x) == strtolower($elemento) &&
									strtolower($metodo_x) == strtolower($metodo)){
									$resultado = $resultado_x;
									$_resultado = $resultado;

									// Verifica si es: "-"
				                        if (f_VerificaSimbolo(1, $resultado) == 1){
				                            $simbolo_1 = 1;
				                        }

				                        if (substr(trim($resultado), 0, 1) == '<' || substr(trim($resultado), 0, 1) == '>'){
				                            $simbolo_2 = 1;

				                            if (substr(trim($resultado), 0, 1) == '<'){
				                            	$menor_que = 1;
				                            }

				                            $resultado = str_replace('<', '&lt;', $resultado);
				                        }
				                        else{
				                        	$resultado = (($resultado == null) ? '' : $resultado);
											$resultado = (($simbolo_1 == 1) ? '-' : (($simbolo_2 == 1) ? $resultado : number_format($_resultado, $r[$m][5], '.', ',')));
				                        }

									// Pintando resultado
										$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
										$html .= '					'.$resultado;
										$html .= '				</td>';

									// Determinando si es MLP-003 y Au o Ag
										if (($r[$m][2] == 'MLP-003' || $r[$m][2] == 'MLP-001' || $r[$m][2] == 'MLP-010') && (trim(strtolower(strtoupper($r[$m][3]))) == 'au' || trim(strtolower(strtoupper($r[$m][3]))) == 'ag')){

											if ($menor_que == 1){
												$resultado = '--';
											}
											else{
												$resultado = (($resultado == null) ? '' : f_GetResultadoOnzas($resultado, trim(strtolower(strtoupper($r[$m][3])))));
												// $resultado = (($simbolo_1 == 1) ? '-' : (($simbolo_2 == 1) ? $resultado : number_format(($_resultado / 34.285), $r[$m][5], '.', ',')));
												$resultado = (($simbolo_1 == 1) ? '-' : (($simbolo_2 == 1) ? $resultado : number_format(($_resultado / 34.285), 2, '.', ',')));
											}

											$html .= '				<td style="border: solid; border-width: 0.5px; border-color: #000000; text-align: center; vertical-align: middle; width: 60px">';
											$html .= '					'.$resultado;
											$html .= '				</td>';
										}
								}
								else{

								}

								$x += 1;
							}

							

						$m += 1;
					}

				$html .= '			</tr>';
			}
		}

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

	// Agregando Pie de Página
		$html .= '	<div style="vertical-align: bottom; font-size: 11px; position: absolute; margin-top: 40px">';

		$html .= '		<b>Notas de almacenaje: </b>Las muestras podrán ser retiradas por los interesados transcurrido el tiempo de almacenamiento que es de 20 días calendario para Contramuestras y 30 días para rechazos o gruesos, caso contrario se procederá a desecharlas.';

		$html .= '	</div>';
		
	// Obteniendo fecha de emisión
		$fecha = explode('/', $fecha_cierreinforme);

		$html .= '	<div style="vertical-align: bottom; font-size: 11px; position: absolute; margin-top: 50px">';

		$html .= '		Emitido en Trujillo - Perú, '.$fecha[0].' de '.strtolower(nombre_meses($fecha[1])). ' del '.$fecha[2];

		$html .= '	</div>';

	// Firma
		$html .= '	<div style="vertical-align: bottom; font-size: 11px; position: absolute; margin-top: 90px; text-align: right">';

		$html .= '		<div style="position: absolute; margin-left: 900px; margin-top: -50px">';
		$html .= '			<img src="images/firmas/diana.jpg"></img><font color="#ffffff">................</font>';
		$html .= '		</div>';
		$html .= '		<div>';
		$html .= '		--------------------------------------------------';
		$html .= '		</div>';
		$html .= '		<div>';
		$html .= '			Ing. Diana Silvestre<font color="#ffffff">.............</font>';
		$html .= '		</div>';
		$html .= '		<div>';
		$html .= '			Jefe de Laboratorio Químico<font color="#ffffff">.......</font>';
		$html .= '		</div>';
		$html .= '		<div>';
		$html .= '			CIP : 108896<font color="#ffffff">..................</font>';
		$html .= '		</div>';

		$html .= '	</div>';

	// Finalizando html
		$html .= '</html>';

	$document = new Dompdf();

	$document -> loadHtml($html,'UTF-8');
	$document -> setPaper('A4', 'landscape');
	$document -> render();
	$document -> stream("Informe de Ensayos - ".$correlativo, array('Attachment' => 0));

?>
