<?php
	// requiere fumigacion, tempminima,metroscuadrados
	// opcional mid_term=1  indica que se ingreso una dupla incompleta (solo el ingreso inicial del balon y no el final)
	// regresa :inyeccionfaltante (actual sumando y restando lo ingresado),inyeccionrequerida (inicial), inyeccionotorgada (lo que ya se inyecto)
	// regresa : $dosistemp,$ultimopeso (solo ingreso),contadorbalon.
	session_start();
	
	$noregistrado=0;
	
	if (!session_is_registered('xbalonini')) {
		session_register('xbalonini');
		$noregistrado=1;
	}
	if 	($xbalonini[$camara]=="") {
		$noregistrado=1;
	}	
	if (!session_is_registered('xbalonfin')) {
		session_register('xbalonfin');
		$noregistrado=1;
	}	
	if (!session_is_registered('xcontadorbalon')) {
		session_register('xcontadorbalon');
		$noregistrado=1;
	}	
	if (!session_is_registered('xreinyeccion')) {
		session_register('xreinyeccion');
		$noregistrado=1;
	}	
	
	if ($forzarlectura==1 || $noregistrado==1) {
		// buscando cuando (si sucedio) se mostro el "inyectado adicional", esto es util para saber si es o no una reinyeccion.
		$sql="select * from fum_historial where id_fumigacion=$fumigacion and eventid=120 order by fecha"; 
		$resultado4 = mssql_query($sql,$conn) or die("No puede leer fum_historial<br>".$sql);
		$filas = rows_affected();
		if ($filas>0) { 
			$xreinyeccion[$camara]=1;
			$fechareinyeccion = mssql_result($resultado4, 0, "fecha");
		} else {
			$xreinyeccion[$camara]=0;
			$fechareinyeccion=0;			
		}
	
		$sql="select * from fum_historial where id_fumigacion=$fumigacion and (eventid=102 or eventid=103) order by fecha";
		$resultado4 = mssql_query($sql,$conn) or die("No puede leer fumigacion<br>".$sql);
		$ultimopeso=0;
		for ($i4=0;$i4<4;$i4++) {
			$xbalonini[$i4][$camara]=0;
			$xbalonfin[$i4][$camara]=0;
			$fechaini[$i4]=0;
			$fechafin[$i4]=0;
		}
		if (!$resultado4) {
			echo "<b>Error de busqueda</b>";
			exit;
		}
		$contadorbalon=0;
		$filas = rows_affected();
		for ($i4=0;$i4<$filas;$i4++) {		
			$eventid = mssql_result($resultado4, $i4, "eventid");
			$pesoinyeccion = mssql_result($resultado4, $i4, "pesoinyeccion");
			$fecha = mssql_result($resultado4, $i4, "fecha");			
			$contadorbalon=mssql_result($resultado4, $i4, $analogos[1]);
			
			if ($eventid==102) {
				$fechaini[$contadorbalon]=$fecha; // solo para pdf
				$xbalonini[$contadorbalon][$camara]=$pesoinyeccion;				
				$ultimopeso=$pesoinyeccion;
			} else {
				$fechafin[$contadorbalon]=$fecha; // solo para pdf
				$xbalonfin[$contadorbalon][$camara]=$pesoinyeccion;						
			}		
		}
		$xcontadorbalon[$camara]=$contadorbalon;
		mssql_free_result($resultado4);
	}
	$inyeccionotorgada=0;
	for ($i4=0;$i4<=$xcontadorbalon[$camara];$i4++) {
		$inyeccionotorgada+=$xbalonini[$i4][$camara]-$xbalonfin[$i4][$camara];
	}
	if ($mid_term==1) {
		$inyeccionotorgada=$inyeccionotorgada-$ultimopeso;
	}
	// nota:si solo se ingreso el dato del balon inicial entonces la cantidad otorgada es igual al peso del balon, lo cual
	// no es necesariamente cierto. Aun asi, cuando solo se ingreso el peso inicial, los datos no necesariamente deben tener
	// sentido, cobra sentido cuando se ingresa el peso final.
	$dosistemp=0;
	$rangodosis=0;
	$rangodosis=$xrangotemperatura[$camara];

	if ($rangodosis>$xrangotemperaturaold[$camara]) {
		$rangodosis=$xrangotemperaturaold[$camara];
	}	
	
	$dosistemp=$rangos[$rangodosis];
	
	$inyeccionrequerida=ceil(($dosistemp/1000*10)*$metroscuadrados)/10;	
	$inyeccionfaltante=round(($inyeccionrequerida-$inyeccionotorgada),1);
	

?>